diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..e69de29 diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..9aa65bf --- /dev/null +++ b/.gitignore @@ -0,0 +1,125 @@ +*.exe +*.o +*.lo +*.log +*.pyc +*.patch +.deps +.libs +.memdump +COPYING +CVE-* +INSTALL +Makefile +Makefile.in +aclocal.m4 +autom4te.cache +bissect* +compile +config.guess +config.h.in +config.h.in~ +config.log +config.status +config.sub +configure +dba100000.xml +depcomp +doc/Makefile +doc/Makefile.in +doc/devhelp/Makefile +doc/devhelp/Makefile.in +doc/examples/.deps +doc/examples/Makefile +doc/examples/Makefile.in +doc/examples/io1 +doc/examples/io2 +doc/examples/parse1 +doc/examples/parse2 +doc/examples/parse3 +doc/examples/parse4 +doc/examples/reader1 +doc/examples/reader2 +doc/examples/reader3 +doc/examples/reader4 +doc/examples/testWriter +doc/examples/tree1 +doc/examples/tree2 +doc/examples/xpath1 +doc/examples/xpath2 +example/.deps +example/Makefile +example/Makefile.in +example/gjobread +include/Makefile +include/Makefile.in +include/libxml/Makefile +include/libxml/Makefile.in +install-sh +libtool +libxml-2.0-uninstalled.pc +libxml-2.0.pc +libxml2-config.cmake +libxml2.la +libxml2.spec +list +ltmain.sh +log +missing +missing.lst +m4 +python/.deps +python/.libs +python/Makefile +python/Makefile.in +python/gen_prog +python/libxml2-export.c +python/libxml2-py.c +python/libxml2-py.h +python/libxml2.py +python/libxml2class.py +python/libxml2class.txt +python/libxml2mod.la +python/setup.py +python/tests/Makefile +python/tests/Makefile.in +python/tests/tmp.xml +runsuite +runtest +runxmlconf +runxmlconf.log +stamp-h1 +tags +test.out +testAutomata +testC14N +testHTML +testModule +testReader +testRegexp +testRelax +testSAX +testSchemas +testThreads +testURI +testXPath +testapi +testapi.c.new +testchar +testdict +testdso.la +testlimits +testrecurse +tmp +tst.c +tst +xml2-config +xml2Conf.sh +xmlcatalog +xmlconf +xmllint +xstc/*-test.py +xstc/Makefile +xstc/Makefile.in +xstc/Tests +xstc/xsts-*.tar.gz diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100755 index 0000000..78784fb --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,44 @@ +default: + # The image was generated with the following Dockerfile. It is also used + # for libxslt, that's why we need git and libgcrypt-dev. + # + # FROM ubuntu:19.04 + # RUN apt-get update && \ + # apt-get upgrade -y && \ + # apt-get install -y --no-install-recommends \ + # curl git ca-certificates \ + # autoconf automake libtool pkg-config \ + # make gcc clang llvm \ + # python-dev zlib1g-dev liblzma-dev libgcrypt-dev + # WORKDIR /tests + # RUN curl https://www.w3.org/XML/Test/xmlts20080827.tar.gz |tar xz + image: registry.gitlab.gnome.org/gnome/libxml2 + +.test: + script: + - | + ln -s /tests/xmlconf + sh autogen.sh $CONFIG + make -j$(nproc) V=1 CFLAGS="$CFLAGS -Werror" + make check + +gcc: + extends: .test + variables: + CFLAGS: "-O2 -std=c89 -D_XOPEN_SOURCE=700" + +clang:asan: + extends: .test + variables: + CONFIG: "--without-python" + CC: clang + CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize=pointer-overflow -fno-sanitize-recover=all -Wno-error=cast-align" + UBSAN_OPTIONS: "print_stacktrace=1" + +clang:msan: + extends: .test + variables: + CONFIG: "--without-python --without-zlib --without-lzma" + CC: clang + CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=memory -Wno-error=cast-align" + diff --git a/.travis.yml b/.travis.yml new file mode 100755 index 0000000..68fe5ab --- /dev/null +++ b/.travis.yml @@ -0,0 +1,23 @@ +language: c +sudo: false +addons: + apt: + packages: + # Some tests require the DTDs. + w3c-sgml-lib +matrix: + include: + # Try to emulate a C89 compiler on a POSIX system by disabling as many + # GNU extensions as possible. + - compiler: gcc + env: CFLAGS="-O2 -std=c89 -D_XOPEN_SOURCE=700 -Werror -Wno-error=array-bounds" + # clang with AddressSanitizer and UndefinedBehaviorSanitizer. + - compiler: clang + sudo: required + dist: trusty + env: CONFIG="--without-python" + CFLAGS="-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize=float-divide-by-zero,pointer-overflow -fno-sanitize-recover=all -Werror -Wno-error=cast-align" + UBSAN_OPTIONS=print_stacktrace=1 +script: sh autogen.sh $CONFIG && make -j2 V=1 && make check +git: + depth: 10 diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..cf2e9a6 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,5 @@ +Daniel Veillard +Bjorn Reese +William Brack +Igor Zlatkovic for the Windows port +Aleksey Sanin diff --git a/BUILD.gn b/BUILD.gn new file mode 100755 index 0000000..3994319 --- /dev/null +++ b/BUILD.gn @@ -0,0 +1,161 @@ +# Copyright (c) 2021 Huawei Device Co., Ltd. +# # 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. +import("//build/ohos.gni") + +# This is the configuration needed to use libxml2. +config("libxml2_config") { + include_dirs = [ + "include" + ] +} + +# This is the configuration used to build libxml2 itself. It should not be needed outside of this +# library. +# +# This has to be a config instead of flags directly specified on the libxml2 target so the -Wno-* +# flags are ordered after the -Werror flags from the default configs. +config("libxml2_private_config") { + visibility = [ ":*" ] + cflags = [ + "-Wno-empty-body", + "-Wno-incompatible-pointer-types", + "-Wno-missing-field-initializers", + "-Wno-self-assign", + "-Wno-sign-compare", + "-Wno-tautological-pointer-compare", + "-Wno-unused-function", + "-Wno-enum-compare", + ] + defines = [ + "HAVE_CONFIG_H", + "_REENTRANT", + ] + if (is_linux) { + defines += [ "_GNU_SOURCE" ] + } +} + +group("libxml2") { + public_deps = [ ":xml2" ] +} + +ohos_shared_library("xml2") { + sources = [ + "DOCBparser.c", + "HTMLparser.c", + "HTMLtree.c", + "SAX.c", + "SAX2.c", + "buf.c", + "c14n.c", + "catalog.c", + "chvalid.c", + "debugXML.c", + "dict.c", + "encoding.c", + "entities.c", + "error.c", + "globals.c", + "hash.c", + "include/libxml/DOCBparser.h", + "include/libxml/HTMLparser.h", + "include/libxml/HTMLtree.h", + "include/libxml/SAX.h", + "include/libxml/SAX2.h", + "include/libxml/c14n.h", + "include/libxml/catalog.h", + "include/libxml/chvalid.h", + "include/libxml/debugXML.h", + "include/libxml/dict.h", + "include/libxml/encoding.h", + "include/libxml/entities.h", + "include/libxml/globals.h", + "include/libxml/hash.h", + "include/libxml/list.h", + "include/libxml/nanoftp.h", + "include/libxml/nanohttp.h", + "include/libxml/parser.h", + "include/libxml/parserInternals.h", + "include/libxml/pattern.h", + "include/libxml/relaxng.h", + "include/libxml/schemasInternals.h", + "include/libxml/schematron.h", + "include/libxml/threads.h", + "include/libxml/tree.h", + "include/libxml/uri.h", + "include/libxml/valid.h", + "include/libxml/xinclude.h", + "include/libxml/xlink.h", + "include/libxml/xmlIO.h", + "include/libxml/xmlautomata.h", + "include/libxml/xmlerror.h", + "include/libxml/xmlexports.h", + "include/libxml/xmlmemory.h", + "include/libxml/xmlmodule.h", + "include/libxml/xmlreader.h", + "include/libxml/xmlregexp.h", + "include/libxml/xmlsave.h", + "include/libxml/xmlschemas.h", + "include/libxml/xmlschemastypes.h", + "include/libxml/xmlstring.h", + "include/libxml/xmlunicode.h", + "include/libxml/xmlversion.h", + "include/libxml/xmlwriter.h", + "include/libxml/xpath.h", + "include/libxml/xpathInternals.h", + "include/libxml/xpointer.h", + "legacy.c", + "list.c", + "nanoftp.c", + "nanohttp.c", + "parser.c", + "parserInternals.c", + "pattern.c", + "relaxng.c", + "schematron.c", + "threads.c", + "tree.c", + "uri.c", + "valid.c", + "xinclude.c", + "xlink.c", + "xmlIO.c", + "xmlmemory.c", + "xmlmodule.c", + "xmlreader.c", + "xmlregexp.c", + "xmlsave.c", + "xmlschemas.c", + "xmlschemastypes.c", + "xmlstring.c", + "xmlunicode.c", + "xmlwriter.c", + "xpath.c", + "xpointer.c", + "xzlib.c", + ] + + public_configs = [ ":libxml2_config" ] + + configs = [ ":libxml2_private_config" ] + + if (is_linux) { + libs = [ "dl" ] + } + + deps = [ + "//third_party/zlib:libz", + ] + part_name = "samgr_L2" + subsystem_name = "distributedschedule" +} diff --git a/CONTRIBUTING b/CONTRIBUTING new file mode 100644 index 0000000..dad4567 --- /dev/null +++ b/CONTRIBUTING @@ -0,0 +1,20 @@ +The current version of the code can be found in the GNOME Git Repository: + + https://gitlab.gnome.org/GNOME/libxml2 + +There's mirror on GitHub: + + https://github.com/GNOME/libxml2 + +Start discussions and send patches to the mailing list, or file a bug and +add a patch as attachment. + + https://mail.gnome.org/mailman/listinfo/xml + https://gitlab.gnome.org/GNOME/libxml2/issues + +Format patches with git-format-patch and use plain text attachments +if possible. + +All code must conform to C89 and pass the "make check" tests. Avoid +compiler warnings and add regression tests if possible. + diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..b3f3fc1 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,19678 @@ +Fri Jul 10 16:11:34 CEST 2009 Daniel Veillard + + * parser.c: fix a regression in entity parsing when using the reader + introduced because we were not reusing _private on entities parsing + context + +Thu Jul 9 10:21:00 CEST 2009 Daniel Veillard + + Aleksey Sanin support for c14n 1.1 + * c14n.c include/libxml/c14n.h: adds support for C14N 1.1, + new flags at the API level + * runtest.c Makefile.am testC14N.c xmllint.c: add support in CLI + tools and test binaries + * result/c14n/1-1-without-comments/* test/c14n/1-1-without-comments/*: + add a new batch of tests + +Thu Jul 9 08:52:35 CEST 2009 Daniel Veillard + + * config.h.in: update of libtool seems to have modified it + * python/libxml2class.txt: python update modified the order + of classes apparently + +Thu Jul 9 08:43:06 CEST 2009 Daniel Veillard + + * tree.c: avoid calling xmlAddID with NULL values + * parser.c: add a few xmlInitParser in some entry points + +Fri Jun 19 19:51:08 CEST 2009 Rob Richards + + * parser.c: use options from current parser context when creating + a parser context within xmlParseCtxtExternalEntity + * xmlwriter.c: fix error message when unable to create output file + +Thu Jun 4 11:17:23 CEST 2009 Daniel Veillard + + * c14n.c debugXML.c doc/examples/io2.c parser.c schematron.c + valid.c xmlschemas.c xmlwriter.c xpath.c: use %s to printf string + patch by Christian Persch, fixes #581612 + +Thu Jun 4 11:06:07 CEST 2009 Daniel Veillard + + * parser.c threads.c: change the threading initialization sequence + as suggested by Igor Novoseltsev to avoid crash if xmlInitParser() + is called from a thread which is not the main one, should fix + #584605 + +Fri May 15 17:54:48 CEST 2009 Daniel Veillard + + * HTMLparser.c: make sure we keep line numbers fixes #580705 + based Aaron Patterson patch + +Tue May 12 09:13:58 CEST 2009 Daniel Veillard + + * HTMLparser.c: a broken HTML table attributes initialization, + fixes #581803, by Roland Steiner + +Tue May 12 08:54:20 CEST 2009 Daniel Veillard + + * libxml2.doap: adding RDF dope file. + +Tue May 12 08:42:52 CEST 2009 Daniel Veillard + + * configure.in: adapt the extra version detection code to git + +Wed Apr 29 16:09:38 CEST 2009 Rob Richards + + * parser.c: do not set error code in xmlNsWarn + +Wed Apr 15 11:18:24 CEST 2009 Daniel Veillard + + * include/libxml/parser.h include/libxml/xmlwriter.h + include/libxml/relaxng.h include/libxml/xmlversion.h.in + include/libxml/xmlwin32version.h.in include/libxml/valid.h + include/libxml/xmlschemas.h include/libxml/xmlerror.h: change + ATTRIBUTE_PRINTF into LIBXML_ATTR_FORMAT to avoid macro name + collisions with other packages and headers as reported by + Belgabor and Mike Hommey + +Thu Apr 2 13:57:15 CEST 2009 Daniel Veillard + + * error.c: fix structured error handling problems #564217 + +Thu Mar 26 19:08:08 CET 2009 Rob Richards + + * parser.c: use options from current parser context when creating + an entity parser context + +Wed Mar 25 11:40:34 CET 2009 Daniel Veillard + + * doc/*: updated SVN URL for GNOME as pointed by Vincent Lefevre + and regenerated docs + +Wed Mar 25 11:21:26 CET 2009 Daniel Veillard + + * parser.c: hide the nbParse* variables used for debugging + as pointed by Mike Hommey + +Wed Mar 25 10:50:05 CET 2009 Daniel Veillard + + * include/wsockcompat.h win32/Makefile.bcb xpath.c: fixes for + Borland/CodeGear/Embarcadero compilers by Eric Zurcher + +Wed Mar 25 10:43:07 CET 2009 Daniel Veillard + + * xpath.c: xmlXPathRegisterNs should not allow enpty prefixes + +Mon Mar 23 20:27:15 CET 2009 Daniel Veillard + + * tree.c: add a missing check in xmlAddSibling, patch by Kris Breuker + * xmlIO.c: avoid xmlAllocOutputBuffer using XML_BUFFER_EXACT which + leads to performances problems especially on Windows. + +Tue Mar 3 14:30.28 HKT 2009 William Brack + + * trio.h: changed include of config.h to be surrounded by + quotation marks #570806 + +Sat Feb 21 10:20:34 CET 2009 Daniel Veillard + + * threads.c parser.c: more warnings about xmlCleanupThreads and + xmlCleanupParser to avoid troubles like #571409 + +Fri Feb 20 09:40:04 CET 2009 Daniel Veillard + + * xmlwriter.c: cleanups and error reports when xmlTextWriterVSprintf + fails, by Jinmei Tatuya + +Fri Feb 20 09:18:56 CET 2009 Daniel Veillard + + * xmlwriter.c: remove a couple of leaks on errors reported by + Jinmei Tatuya + +Sun Jan 18 22:37:59 CET 2009 Daniel Veillard + + * configure.in doc/xml.html doc/*: preparing 0.7.3 release + * include/libxml/parserInternals.h SAX2.c: fix a typo in a name + +Sun Jan 18 21:48:28 CET 2009 Daniel Veillard + + * include/libxml/parser.h include/libxml/xmlwriter.h + include/libxml/relaxng.h include/libxml/xmlversion.h.in + include/libxml/xmlwin32version.h.in include/libxml/valid.h + include/libxml/xmlschemas.h include/libxml/xmlerror.h: + port patch from Marcus Meissner to add gcc checking for + printf like functions parameters, should fix #65068 + * doc/apibuild.py doc/*: modified the script accordingly + and regenerated + * xpath.c xmlmemory.c threads.c: fix a few warnings + +Sun Jan 18 20:40:42 CET 2009 Daniel Veillard + + * include/libxml/xmlwin32version.h.in: windows header should + get the same define + +Sun Jan 18 18:22:33 CET 2009 Daniel Veillard + + * include/libxml/xmlversion.h.in include/libxml/xmlmemory.h: + apply patch from Marcus Meissner to add gcc attribute alloc_size + should fix #552505 + * doc/apibuild.py doc/* testapi.c: regenerate the API + * include/libxml/parserInternals.h: fix a comment problem raised + by apibuild.py + +Sun Jan 18 16:39:01 CET 2009 Daniel Veillard + + * threads.c: also remove pthread key when stopping thread + support, patch based on Alex Ott one should fix #564723 + +Sun Jan 18 15:55:18 CET 2009 Daniel Veillard + + * threads.c: patch from Daniel Zimmermann fixing a memory leak + in an edge case, solves #562230 + +Sun Jan 18 15:06:05 CET 2009 Daniel Veillard + + * include/libxml/parserInternals.h SAX2.c: add a new define + XML_MAX_TEXT_LENGTH limiting the maximum size of a single text + node, the defaultis 10MB and can be removed with the HUGE + parsing option + +Mon Jan 05 18:28:41 CET 2009 Rob Richards + + * include/libxml/parser.h parser.c: add XML_PARSE_OLDSAX parser + option to enable pre 2.7 SAX behavior. + +Wed Dec 31 23:11:37 CET 2008 Rob Richards + + * tree.c: set doc on last child tree in xmlAddChildList for + bug #546772. Fix problem adding an attribute via with xmlAddChild + reported by Kris Breuker. + +Sun Dec 27 14:16:13 CET 2008 Rob Richards + + * xmlwriter.c: fix indenting in xmlTextWriterFullEndElement for + bug# 554353. + +Thu Nov 27 16:24:52 CET 2008 Daniel Veillard + + * include/libxml/tree.h tree.c python/generator.py: adds + element traversal support + * valid.c: avoid a warning + * doc/*: regenerated + +Mon Nov 17 16:56:18 CET 2008 Daniel Veillard + + * SAX2.c parser.c: fix for CVE-2008-4226, a memory overflow + when building gigantic text nodes, and a bit of cleanup + to better handled out of memory problem in that code. + * tree.c: fix for CVE-2008-4225, lack of testing leads to + a busy loop test assuming one have enough core memory. + +Thu Nov 6 14:34:35 CET 2008 Daniel Veillard + + * xmllint.c: Matthias Kaehlcke reported a build problem when + not compiling HTML support in. + +Fri Oct 17 15:24:08 CEST 2008 Daniel Veillard + + * configure.in doc/Makefile.am: patch from Adrian Bunk which + adds --disable-rebuild-docs to avoid rebuilding them + +Fri Oct 3 09:43:45 CEST 2008 Daniel Veillard + + * configure.in doc/* NEWS: preparing the release of 2.7.2 + * dict.c: fix the Solaris portability issue + * parser.c: additional cleanup on #554660 fix + * test/ent13 result/ent13* result/noent/ent13*: added the + example in the regression test suite. + * HTMLparser.c: handle leading BOM in htmlParseElement() + +Thu Oct 2 22:53:39 CEST 2008 Daniel Veillard + + * parser.c: fix a nasty bug introduced when cleaning up + entities processing in 2.7.x , fixes #554660 + +Thu Sep 25 18:04:20 CEST 2008 Daniel Veillard + + * HTMLparser.c: fix an HTML parsing error on large data sections + reported by Mike Day + * test/HTML/utf8bug.html result/HTML/utf8bug.html.err + result/HTML/utf8bug.html.sax result/HTML/utf8bug.html: add the + reproducer to the test suite + +Thu Sep 25 17:35:57 CEST 2008 Daniel Veillard + + * runxmlconf.c: fix compilation if XPath is not included + +Thu Sep 25 16:54:04 CEST 2008 Daniel Veillard + + * xmlreader.c: patch from Riccardo Scussat fixing custom error + handlers problems. + +Thu Sep 25 16:30:11 CEST 2008 Daniel Veillard + + * include/libxml/xmlsave.h xmlsave.c: new options to serialize + as XML/HTML/XHTML and restore old entry point behaviours + +Mon Sep 1 16:49:05 CEST 2008 Daniel Veillard + + * doc/xml.html doc/news.html configure.in python/setup.py NEWS: + prepare release of 2.7.1 + +Mon Sep 1 15:35:13 CEST 2008 Daniel Veillard + + * schematron.c xpath.c: applied a couple of patches from Martin + avoiding some leaks, fixinq QName checks in XPath, XPath debugging + and schematron code cleanups. + * python/tests/Makefile.am python/tests/xpathleak.py: add the + specific regression tests, just tweak it to avoid output by default + +Mon Sep 1 15:02:05 CEST 2008 Daniel Veillard + + * trionan.c: Borland C fix from Moritz Both + * testapi.c: regenerate, workaround a problem for buffer testing + * xmlIO.c HTMLtree.c: new internal entry point to hide even better + xmlAllocOutputBufferInternal + * tree.c: harden the code around buffer allocation schemes + * parser.c: restore the warning when namespace names are not absolute + URIs + * runxmlconf.c: continue regression tests if we get the expected + number of errors + * Makefile.am: run the python tests on make check + * xmlsave.c: handle the HTML documents and trees + * python/libxml.c: convert python serialization to the xmlSave APIs + and avoid some horrible hacks + +Sat Aug 30 16:58:40 CEST 2008 Daniel Veillard + + * configure.in, doc/*: preparing 2.7.0 release + * tree.c: remove some testing traces + * parser.c xmlIO.c xmlschemas.c: remove some warnings + +Sat Aug 30 14:50:16 CEST 2008 Daniel Veillard + + * include/libxml/tree.h tree.c: make a new kind of buffer where + shrinking and adding in head can avoid reallocation or full + buffer memmoves + * encoding.c xmlIO.c: use the new kind of buffers for output + buffers + +Sat Aug 30 10:18:13 CEST 2008 Daniel Veillard + + * doc/* testapi.c: regenerated + +Fri Aug 29 21:53:12 CEST 2008 Daniel Veillard + + * doc/examples/reader3.c: patch from Robert Schwebel , allows to + compile the example if configured without output support fixes + #545582 + * Makefile.am: add testrecurse to the make check tests + * HTMLparser.c: if the parser got a encoding argument it should be + used over what the meta specifies, patch fixing #536346 + +Fri Aug 29 14:41:38 CEST 2008 Daniel Veillard + + * parser.c: a couple more fixes + * nanohttp.c nanoftp.c: patch from Andreas Färber to compile on Haiku + fixes #527880 + * doc/examples/*: regenerated + +Thu Aug 28 17:31:46 CEST 2008 Daniel Veillard + + * parser.c include/libxml/parser.h: completely different fix for + the recursion detection based on entity density, big cleanups + in the entity parsing code too + * result/*.sax*: the parser should not ask for used defined versions + of the predefined entities + * testrecurse.c: automatic test for entity recursion checks + * Makefile.am: added testrecurse + * test/recurse/lol* test/recurse/good*: a first set of tests for + the recursion + +Wed Aug 27 21:55:34 CEST 2008 Daniel Veillard + + * include/libxml/xmlerror.h parser.c: a bit of cleanup and + added checks based on the regression tests of the xmlconf suite + +Wed Aug 27 19:22:35 CEST 2008 Daniel Veillard + + * uri.c: bug in parsing RFC 3986 uris with port numbers + +Wed Aug 27 17:30:48 CEST 2008 Daniel Veillard + + * configure.in Makefile.am: add an --with-coverage configure option + and a 'make cov' target based on gcc profiling and the lcov + tool. Currently at 68.9% coverage out of 'make check' and + runsuite executions. + * xmlreader.c: remove warnings due to C++ comments + +Wed Aug 27 15:00:54 CEST 2008 Daniel Veillard + + * include/libxml/parserInternals.h parser.c: cleanup entity + pushing error handling based on a patch from Ashwin + +Wed Aug 27 13:41:26 CEST 2008 Daniel Veillard + + * threads.c: fix a small initialization problem raised by Ashwin + * testapi.c gentest.py: increase testing especially for document + with an internal subset, and entities + * tree.c: fix a deallocation issue when unlinking entities from + a document. + * valid.c: fix a missing entry point test not found previously. + * doc/*: regenerated the APIs, docs etc. + +Tue Aug 26 15:02:58 CEST 2008 Daniel Veillard + + * include/libxml/parser.h parser.c xmllint.c: strengthen some + of the internal parser limits, add an XML_PARSE_HUGE option + to bypass them all. More internal parser limits will still need + to be added. + +Tue Aug 26 09:42:08 CEST 2008 Daniel Veillard + + * Makefile.am: add the testchar to 'make check' + * xmlschemas.c: Volker Grabsch pointed out a typo + * xmlregexp.c: production [19] from XML Schemas regexps were a + mistake removed in version REC-xmlschema-2-20041028, Volker Grabsch + provided a patch to remove it + * test/schemas/regexp-char-ref_0.xml test/schemas/regexp-char-ref_0.xsd + test/schemas/regexp-char-ref_1.xsd result/schemas/regexp-char-ref_0_0 + result/schemas/regexp-char-ref_1_0: Volker Grabsch also provided + regession tests for this + +Tue Aug 26 09:25:39 CEST 2008 Daniel Veillard + + * include/libxml/parser.h xinclude.c xmllint.c: patch based on + Wieant Nielander contribution to add the option of not doing + URI base fixup in XInclude + +Mon Aug 25 16:52:53 CEST 2008 Daniel Veillard + + * xmlreader.c: applied patch from Aswin to fix tree skipping + * include/libxml/entities.h entities.c: fixed a comment and + added a new xmlNewEntity() entry point + * runtest.c: be less verbose + * tree.c: space and tabs cleanups + +Mon Aug 25 10:56:30 CEST 2008 Daniel Veillard + + * include/libxml/entities.h entities.c SAX2.c parser.c: rework + the patch to avoid some ABI issue with people allocating + entities structure directly + +Wed Aug 20 19:02:01 CEST 2008 Daniel Veillard + + * include/libxml/parser.h include/libxml/entities.h entities.c + parserInternals.c parser.c: fix for CVE-2008-3281 + +Sun Aug 10 17:06:13 CEST 2008 Rob Richards + + * dict.c: fix non GNUC builds. + +Fri Aug 8 14:13:06 CEST 2008 Daniel Veillard + + * makefile.am: adding a check-valgrind target + +Fri Aug 8 14:01:59 CEST 2008 Daniel Veillard + + * Makefile.am testdict.c: add the new test in 'make check' and + update it to check subdictionaries processing. + +Fri Aug 8 12:07:20 CEST 2008 Daniel Veillard + + * testdict.c: added a program to regression test the dictionary code + * dict.c: improve the lookup efficiency by caching the key. + +Thu Aug 7 18:30:55 CEST 2008 Daniel Veillard + + * dict.c: chased and found a couple of nasty issues + +Thu Aug 7 15:51:31 CEST 2008 Sven Herzberg + + Bug 546629 – runtests doesn't pass on my mac + Reviewed by William M. Brack. + + * runtest.c: use libpthread on Mac OS X as well + +Wed Aug 6 12:24:33 CEST 2008 Daniel Veillard + + * uri.c: allow [ and ] in fragment identifiers, 3986 disallow them + but it's widely used for XPointer, and would break DocBook + processing among others + +Wed Aug 6 11:32:21 CEST 2008 Daniel Veillard + + * dict.c: change the big key algorithm to work properly with QName + too, fix a bug with dict size and sub dictionaries + +Mon Aug 4 17:27:27 CEST 2008 Daniel Veillard + + * uri.c include/libxml/uri.h: rewrite the URI parser to update to + rfc3986 (from 2396) + * test/errors/webdav.xml result/errors/webdav.xml*: removed the + error test, 'DAV:' is a correct URI under 3986 + * Makefile.am: small cleanup in make check + +Thu Jul 31 21:49:45 CEST 2008 Daniel Veillard + + * runxmlconf.c: more progresses against the official regression tests + * runsuite.c: small cleanup for non-leak reports + * include/libxml/tree.h: parsing flags and other properties are + now added to the document node, this is generally useful and + allow to make Name and NmToken validations based on the parser + flags, more specifically the 5th edition of XML or not + * HTMLparser.c tree.c: small side effects for the previous changes + * parser.c SAX2.c valid.c: the bulk of the changes are here, + the parser and validation behaviour can be affected, parsing + flags need to be copied, lot of changes. Also fixing various + validation problems in the regression tests. + +Thu Jul 31 10:15:53 CEST 2008 Daniel Veillard + + * runxmlconf.c: added a skipped list, insert rmt-ns10-035 + * Makefile.am: improve 'make check' + * include/libxml/xmlerror.h parser.c: clean up namespace errors + checking and reporting, errors when a document is labelled + as UTF-16 while it is parsed as UTF-8 and no encoding was given + explicitely. + * result/errors/webdav.xml.*: some warnings are no recategorized + as Namespace errors + +Wed Jul 30 14:55:54 CEST 2008 Daniel Veillard + + * include/libxml/xmlmemory.h xmlmemory.c: add xmlMemDisplayLast to + help debug incremental memory leaks, and some cleanups + * runxmlconf.c: use that new call and avoid ever touching the + system catalog in the regression tests + +Wed Jul 30 14:33:33 CEST 2008 Daniel Veillard + + * parser.c include/libxml/xmlerror.h: an XML-1.0 document can't load + an 1.1 entity + * runxmlconf.c: when using entities make sure we load them + +Tue Jul 29 18:43:07 CEST 2008 Daniel Veillard + + * parser.c: fix a bug not detecting cross entity comments probably + when comment parsing got optimized. + * Makefile.am: add make check + * runxmlconf.c: fix the log file name + +Tue Jul 29 18:09:26 CEST 2008 Daniel Veillard + + * runxmlconf.c Makefile.am: add a C program to run the W3C test + suite, work in progress + * xmllint.c: add a new option --oldxml10 to use the old parser + * parser.c: fix the XML_PARSE_OLD10 processing of the new option + and a bug in version parsing + +Tue Jul 29 11:12:40 CEST 2008 Daniel Veillard + + * xpath.c: space and tabs cleanup + +Tue Jul 29 10:59:36 CEST 2008 Daniel Veillard + + * include/libxml/parser.h include/libxml/xmlerror.h parser.c: + implement XML-1.0 5th edition, add parser option XML_PARSE_OLD10 + to stick to old behaviour + * testapi.c gentest.py: modified slightly and regenerated + * Makefile.am: add testchar + +Thu Jul 24 16:57:20 CEST 2008 Daniel Veillard + + * Makefile.am testchar.c Makefile.tests README.tests: add a + new regression test program for testing character ranges and + UTF8 encoding/decoding + +Wed Jul 23 15:32:39 CEST 2008 Daniel Veillard + + * libxml.spec.in: fix the build root + +Wed Jul 16 22:28:48 PDT 2008 William Brack + + * pattern.c: fix problem with xmlStreamPop when pattern includes + a "." element (see discussion on libxslt list) + +Mon Jul 7 15:49:59 CEST 2008 Daniel Veillard + + * SAX2.c: fix line number on text nodes, problem raised by Ralf Junker + +Sun Jun 29 17:04:28 CEST 2008 Rob Richards + * xmlschemas.c: fix crash with invalid whitespace facet + +Wed Jun 11 10:13:02 CEST 2008 Daniel Veillard + + * doc/xml.html doc/FAQ.html: add a section in the FAQ about + multithread and xmlCleanupParser + +Tue Jun 10 16:52:17 CEST 2008 Daniel Veillard + + * catalog.c: apply a couple of fixes based on a Coverity report + forwarded by Derrick Price. + * VxWorks/README VxWorks/Makefile VxWorks/build.sh: instructions + Makefile, and shell script to build on VxWorks 6.4+ provided by + Jim Wert. + +Tue Jun 3 18:07:13 CEST 2008 Daniel Veillard + + * python/generator.py python/setup.py: apply patch from Martin fixing + python whitespaces + * NEWS: following previous commit rebuilt now in UTF-8 + +Mon Jun 2 17:39:42 CEST 2008 Daniel Veillard + + * ChangeLog: patch from Hans de Goede to switch the file to UTF-8 + * doc/news.xsl: switch to generate the NEWS file in UTF-8 instead of + ISO-8859-1 + +Mon May 12 15:12:44 CEST 2008 Daniel Veillard + + * xmlregexp.c: avoid a regexp crash, should fix #523738 + +Mon May 12 14:56:06 CEST 2008 Daniel Veillard + + * xmlschemas.c runtest.c testapi.c include/libxml/xmlreader.h + python/types.c python/libxml_wrap.h python/libxml.c: fx compilation + when configured without the reader should fix #513110 + * doc/*: regenerated + +Sat May 3 14:33:29 CEST 2008 Rob Richards + + * dict.c: check for stdint.h and define types when using MSVC + +Mon Apr 28 20:06:12 CEST 2008 Daniel Veillard + + * parserInternals.c: applied patch from Ashwin to avoid a potential + double-free + +Thu Apr 24 13:56:53 CEST 2008 Daniel Veillard + + * uri.c: applied patch from Ashwin fixing a number of realloc problems + * HTMLparser.c: improve handling for misplaced html/head/body + +Tue Apr 22 10:27:17 CEST 2008 Daniel Veillard + + * dict.c: improvement on the hashing of the dictionary, with visible + speed up as the number of strings in the hash increases, work from + Stefan Behnel + +Fri Apr 11 14:44:00 CEST 2008 Daniel Veillard + + * include/libxml/xmlschemas.h xmlschemas.c: added new function + xmlSchemaValidCtxtGetParserCtxt based on Holger Kaelberer patch + * doc/apibuild.py doc/*: regenerated the doc, chased why the new + function didn't got any documentation, added more checking in the + generator + * include/libxml/relaxng.h include/libxml/schematron.h + include/libxml/xmlschemas.h include/libxml/c14n.h + include/libxml/xmlregexp.h include/libxml/globals.h + include/libxml/xmlreader.h threads.c xmlschemas.c: various changes + and cleanups following the new reports + + +Thu Apr 10 10:07:00 CEST 2008 Daniel Veillard + + * Makefile.am: extend the cleanup rule + * xmlschemas.c: space cleanup + +Wed Apr 9 19:43:25 CEST 2008 Rob Richards + + * include/wsockcompat.h: support older win32 platforms when building + with newer versions of VS + +Tue Apr 8 16:56:07 CEST 2008 Daniel Veillard + + * configure.in NEWS doc/*: preparing release of 2.6.32 + +Tue Apr 8 10:19:01 CEST 2008 Daniel Veillard + + * tree.c: fix a bug introduced when fixing #438208 and reported by + Ashwin + * python/generator.py: fix an infinite loop bug + +Mon Apr 7 14:44:51 CEST 2008 Daniel Veillard + + * xmlreader.c: fix a link to XmlNodeType doc reported by Martijn Arts + * docs/*: rebuilt + +Fri Apr 4 18:09:50 CEST 2008 Daniel Veillard + + * parser.c: improve the *Recover* functions documentation + +Thu Apr 3 14:57:15 CEST 2008 Daniel Veillard + + * parser.c: patch from Mark Rowe fixing BOM or encoding detection + in external parsed entities, should fix #440415 + +Thu Apr 3 13:16:01 CEST 2008 Daniel Veillard + + * tree.c: fix some problems with the *EatName functions when + running out of memory raised by Eric Schrock , should fix #438208 + +Thu Apr 3 12:41:29 CEST 2008 Daniel Veillard + + * xmlschemastypes.c: horror around the definition of the lexical + values for decimal and derived types, fixing to reject empty + values, should fix #503268 + +Thu Apr 3 11:44:57 CEST 2008 Daniel Veillard + + * encoding.c: buffer may not be large enough to convert to + UCS4, patch from Christian Fruth , fixes #504015 + +Thu Apr 3 11:02:02 CEST 2008 Daniel Veillard + + * HTMLparser.c: apparently it's okay to forget the semicolumn after + entity refs in HTML, fixing char refs parsing accordingly based on + T. Manske patch, this should fix #517653 + +Thu Apr 3 09:30:29 CEST 2008 Daniel Veillard + + * error.c: avoid a scary realloc() loop should fix #520383 + +Thu Apr 3 08:22:52 CEST 2008 Daniel Veillard + + * parser.c: more realloc problems pointed out by Ashwin + +Thu Apr 3 07:40:13 CEST 2008 Daniel Veillard + + * xstc/Makefile.am: applied patch from Mike Hommey fixing distclean, + fixes #520387 + +Thu Apr 3 06:52:32 CEST 2008 Daniel Veillard + + * include/libxml/xpath.h: small doc improvement for xmlXPathContext + from Jack Jansen, fixes #524759 + * doc/newapi.xsl doc/*: fixed a problem and regenerated the docs + +Tue Apr 1 09:59:22 CEST 2008 Daniel Veillard + + * xpath.c: two patches from Alvaro Herrera to avoid problem when + running out of memory in XPath evaluations. + +Mon Mar 31 11:23:19 CEST 2008 Daniel Veillard + + * parser.c: lot of out of memory handling fixes from Ashwin + * elfgcchack.h doc/elfgcchack.xsl: work around a problem with xmlDllMain + * include/libxml/threads.h: indenting cleanups + +Mon Mar 31 10:25:37 CEST 2008 Daniel Veillard + + * parser.c docs/*: trying to clarify even more the xmlCleanupParser() + use and the memory documentation + +Wed Mar 26 18:39:58 CET 2008 Daniel Veillard + + * parser.c: changes based on Alex Khesin patch where xmlParseCharRef + seems to not be checked correctly, fixes #520198 + +Wed Mar 26 15:03:49 CET 2008 Daniel Veillard + + * parser.c: patch from Ashwin to avoid a problem of attribute + redefinition in the DTD. Remove a warning too. + +Wed Mar 26 14:38:31 CET 2008 Daniel Veillard + + * xmlschemas.c: fix a problem in externalSubsetSplit with a patch + from Ashwin + +Tue Mar 25 17:48:02 CET 2008 Daniel Veillard + + * parser.c: fix various attribute normalisation problems reported + by Ashwin + * result/c14n/without-comments/example-4 + result/c14n/with-comments/example-4: this impacted the result of + two c14n tests :-\ + * test/att9 test/att10 test/att11 result//att9* result//att10* + result//att11*: added 3 specific regression tests coming from the + XML spec revision and from Ashwin + +Tue Mar 25 14:20:49 CET 2008 Daniel Veillard + + * uri.c: fix saving for file:///X:/ URI embedding Windows file paths + should fix #524253 + +Mon Mar 24 21:42:33 CET 2008 Daniel Veillard + + * parser.c: fix a problem reported by Ashwin for system parameter + entities referenced from entities in external subset, add a + specific loading routine. + * test/valid/dtds/external.ent test/valid/dtds/external2.ent + test/valid/t11.xml result/valid/t11.xml*: added the test to + the regression suite + +Mon Mar 24 15:04:54 CET 2008 Daniel Veillard + + * xmlschemas.c: fix an XML Schemas crash raised by Stefan Behnel + when testing with W3C test suite + +Mon Mar 24 12:12:00 CET 2008 Daniel Veillard + + * threads.c: check some allocation with Ashwin patch + +Wed Mar 19 16:41:52 CET 2008 Daniel Veillard + + * vms/build_libxml.com: update from Tycho Hilhorst, should fix #523378 + +Tue Mar 18 09:23:05 CET 2008 Daniel Veillard + + * threads.c: check some malloc returns with Ashwin patch, add + error messages and reindent the module. + +Fri Mar 14 15:28:43 CET 2008 Daniel Veillard + + * xmlreader.c: patch from Ashwin removing duplicate tests + +Fri Mar 14 13:44:29 CET 2008 Daniel Veillard + + * include/libxml/schematron.h include/libxml/xmlerror.h schematron.c: + applied patch from Tobias Minich to allow plugin schematron error + reporting in the normal error system, should fix #513998 + +Fri Mar 14 11:52:09 CET 2008 Daniel Veillard + + * parser.c xinclude.c: patch from Vasily Chekalkin fixes memory + leaks, should fix 512647 + +Thu Mar 13 08:17:58 CET 2008 Daniel Veillard + + * xmlregexp.c: found a nasty bug in regexp automata build, + reported by Ashwin and Bjorn Reese + +Wed Mar 12 18:56:22 CET 2008 Daniel Veillard + + * HTMLparser.c: patch from Arnold Hendriks improving parsing of + html within html bogus data, still not a complete fix though + +Wed Mar 12 10:22:01 CET 2008 Daniel Veillard + + * python/types.c: fix a memory errro when using namespace nodes + returned from XPath queries, should fix #521699 + * python/tests/Makefile.am python/tests/xpathns.py: add a specific + regression test for it + +Mon Mar 10 16:25:32 CET 2008 Rob Richards + + * include/win32config.h: add ICONV_CONST define for win32 build + to satisfy encoding.c change in rev 3693 + +Fri Mar 7 17:45:27 CET 2008 Daniel Veillard + + * xmlsave.c parser.c: fix handling of empty CDATA nodes as + reported and discussed around #514181 and associated patches + * test/emptycdata.xml result/emptycdata.xml* + result/noent/emptycdata.xml: added a specific test in the + regression suite. + +Thu Mar 6 15:23:10 CET 2008 Daniel Veillard + + * encoding.c: poblem with encoding detection for UTF-16 reported by + Ashwin and found by Bill + * test/valid/dtds/utf16b.ent test/valid/dtds/utf16l.ent + test/valid/UTF16Entity.xml result/valid/UTF16Entity.xml*: added + the example to the regression tests + +Tue Mar 4 14:16:38 CET 2008 Daniel Veillard + + * xmlwriter.c: patch from Alex Khesin fixing CDATA output after + a text node. + * parser.c: fixed the comment for xmlParserCleanup + * globals.c: fixed indentation + +Mon Feb 25 16:42:19 CET 2008 Daniel Veillard + + * testModule.c: patch from Florent Guiliani to fix build on + SCO OpenServer + +Thu Feb 21 22:46:08 CET 2008 Daniel Veillard + + * debugXML.c: made one of the changes suggested by Brian Krahmer + * testRegexp.c: allow to pass '--' on the command line to allow + regexps starting with the character '-' + +Tue Feb 19 08:49:32 CET 2008 Daniel Veillard + + * python/Makefile.am python/tests/Makefile.am: applied cleanup + patches for cross compilation and MinGW from Roumen Petrov + +Sat Feb 16 11:06:54 CET 2008 Daniel Veillard + + * xmlIO.c: fix output bug reported by Petr Pajas and analyzed by + Bill + +Fri Feb 15 09:32:11 CET 2008 Daniel Veillard + + * include/libxml/xmlerror.h tree.c: patch from Julien Charbon + to simplify the processing of xmlSetProp() + +Fri Feb 15 08:45:32 CET 2008 Daniel Veillard + + * config.h.in configure.in encoding.c: patch from Roumen Petrov + to detect if iconv() needs a const for the second parameter + +Fri Feb 15 08:41:31 CET 2008 Daniel Veillard + + * macos/src/XMLTestPrefix2.h win32/Makefile.msvc: EOL cleanups + from Florent Guiliani + +Wed Feb 13 10:56:38 CET 2008 Daniel Veillard + + * xmlwriter.c: applied patch from Alfred Mickautsch to flush the + output at the end of document. + +Fri Feb 8 11:57:03 CET 2008 Daniel Veillard + + * doc/examples/examples.xml: regenerated, it was truncated. + +Fri Feb 8 11:47:18 CET 2008 Daniel Veillard + + * xmlmodule.c: apply simple patch from Carlo Bramini to avoid + compilation problems with Mingw32 + +Fri Feb 8 11:33:15 CET 2008 Daniel Veillard + + * xmlregexp.c: apply patch from Andrew Tosh to fix behaviour + when '.' is used in a posCharGroup + * test/schemas/poschargrp0_0.* result/schemas/poschargrp0_0_0*: + added the test to the regression suite + +Fri Feb 8 10:54:09 CET 2008 Daniel Veillard + + * dict.c: applied patch from Florent Guilian to remove an + useless mutex in the xmlDict structure. + +Wed Feb 6 17:00:20 CET 2008 Daniel Veillard + + * SAX2.c: another leak reported by Ashwin + * xinclude.c: fixed the behaviour when XIncluding a fragment + of the current document, patch from Chris Ryan + +Wed Feb 6 12:10:08 HKT 2008 William Brack + + * nanohttp.c: added space for port number (when not 80) in + xmlNanoHTTPMethodRedir, plus a few more comments. Should + fix #514521. + +Tue Feb 5 09:41:46 CET 2008 Daniel Veillard + + * schemas.c: apply fix suggested by Ashwin correcting a cut-n-paste + error about the SAX callback in cdataBlockSplit when streaming + XSD validation + +Tue Feb 5 09:36:46 CET 2008 Daniel Veillard + + * uri.c: applied a patch based on Petr Sumbera one to avoid a + problem with paths starting with // + +Mon Feb 4 17:48:30 CET 2008 Daniel Veillard + + * doc/xml.html doc/xmlmem.html: added a small section on returning + memory to the kernel by compacting the heap provided by Wolfram Sang + +Fri Jan 25 20:01:42 CET 2007 Rob Richards + + * include/win32config.h win32/Makefile.msvc: fix build under VS 2008. + patch by David Wimsey + +Thu Jan 24 15:37:04 CET 2008 Daniel Veillard + + * parser.c: fix a memeory leak in internal subset parsing with + a fix from Ashwin + * test/errors/content1.xml result/errors/content1.xml*: + add test to regressions + +Fri Jan 11 09:00:09 CET 2008 Daniel Veillard + + * configure.in doc/*: preparing release of 2.6.31 + +Fri Jan 11 08:58:49 CET 2008 Daniel Veillard + + * parser.c: avoid a warning on 64bits introduced earlier + * parserInternals.c: make more checking on the UTF-8 input + +Fri Jan 11 15:37:05 CST 2008 Daniel Veillard + + * HTMLparser.c: avoid stopping parsing when encountering + out of range characters in an HTML file, report and + continue processing instead, should fix #472696 + +Fri Jan 11 15:13:35 CST 2008 Daniel Veillard + + * check-relaxng-test-suite2.py check-relaxng-test-suite.py + Makefile.am python/tests/Makefile.am python/Makefile.am + check-xsddata-test-suite.py: patches from John Carr to + start cleaning up 'make diskcheck' problems c.f. #506228 + +Fri Jan 11 14:48:40 CST 2008 Daniel Veillard + + * xmllint.c: apply fix from Stefan Kost to avoid a crash + in xmllint, fixes 504284 + +Fri Jan 11 14:39:03 CST 2008 Daniel Veillard + + * xml2-config.in: apply patch from Fred Crozat to avoid + outputting -L/usr/lib from xml2-config, fixes #497012 + +Fri Jan 11 14:18:09 CST 2008 Daniel Veillard + + * HTMLparser.c: fix definition for to avoid error + when saving back, patch from Stefan Behnel fixing 495213 + +Fri Jan 11 14:06:09 CST 2008 Daniel Veillard + + * parser.c: applied patch from Christian Schmidt fixing a + column counter update problem, fixes #472696 + +Fri Jan 11 13:22:14 CST 2008 Daniel Veillard + + * parser.c: handle a erroneous parsing of attributes in + case said attribute has been redeclared in the DTD with a + different type + * hash.c: fix the hash scanner to not crash if a first element + from the hash list is been removed in the callback + +Wed Jan 9 10:15:50 CST 2008 Daniel Veillard + + * xmlwriter.c: fix indentation in xmlTextWriterFullEndElement, + as raised by Felipe Pena, should fix #508156 + +Tue Dec 6 11:07:42 CET 2007 Rob Richards + + * pattern.c: fix crash from double free of name for bug #501760 + +Fri Nov 23 11:47:48 CET 2007 Daniel Veillard + + * threads.c: remove unused variable in __xmlGlobalInitMutexLock + reported by Hannes Eder + +Mon Nov 19 18:39:26 CET 2007 Daniel Veillard + + * xmlregexp.c: remove a cut-and-paste copy error + +Fri Nov 16 11:55:36 CET 2007 Rob Richards + + * globals.c threads.c include/libxml/threads.h: + __xmlGlobalInitMutexDestroy() will free global_init_lock on Win32. + Patch from Marc-Antoine Ruel. + +Tue Nov 13 21:26:27 CET 2007 Rob Richards + + * schematron.c: fix crash/leaks from xmlSchematronParse due to improper + schema document ownership for bug #495215 + +Tue Oct 30 21:24:55 CET 2007 Daniel Veillard + + * xmlmemory.c: xmlFree(NULL) should not crash in debug mode + should fix #491651 + +Tue Oct 16 13:58:41 CEST 2007 Daniel Veillard + + * testURI.c: add a debug option printing all the fields within + the parsed URI structure + +Wed Oct 10 10:25:52 CEST 2007 Daniel Veillard + + * xmlsave.c: fix to avoid a crash when dumping an attribute from + an XHTML document, patch contributed to fix #485298 + +Tue Aug 28 19:32:28 CEST 2007 Daniel Veillard + + * xmlregexp.c: another nasty regexp case fixed. + * test/regexp/ranges2 result/regexp/ranges2: added to regression + suite + +Fri Aug 24 10:58:58 HKT 2007 William Brack + + * nanohttp.c: Enhanced to include port number (if not == 80) on the + "Header:" URL (bug #469681). + * xmlregexp.c: Fixed a typo causing a warning message. + +Thu Aug 23 22:48:20 CEST 2007 Daniel Veillard + + * nanohttp.c: fix an open() call with creation without 3rd argument + hopefully that interface is never used. + +Thu Aug 23 17:00:49 CEST 2007 Daniel Veillard + + * configure.in doc/*: preparing release of 2.6.30 + +Thu Aug 23 20:58:28 HKT 2007 William Brack + + * xpath.c: fixed xmlXPathCompOpEvalPositionalPredicate problem + with object caching (bug #469410) + +Thu Aug 23 11:28:38 CEST 2007 Daniel Veillard + + * xmlschemas.c test/schemas/*455953* result/schemas/bug455953*: + applied patch from Frank Gross fixing Schemas IDC import bug + #455953 and also add the test to the regression suite + +Wed Aug 22 18:29:42 CEST 2007 Daniel Veillard + + * xmlregexp.c: try to fix for the nth time the automata generation + in case of complex ranges. I suppose that time it is actually okay + +Tue Aug 14 15:51:05 CEST 2007 Daniel Veillard + + * parser.c: aligned xmlSAXUserParseMemory() to match + xmlSAXUserParseFile() logic based on Ashwin post, and ifdef + cleanup + +Tue Aug 14 11:42:27 CEST 2007 Rob Richards + + * xmlIO.c: fixed windows path determination (patch from + Roland Schwarz, bug #462877) + * win32/Makefile.mingw win32/configure.js: fixed mingw build + (patch from Roland Schwarz, bug #462877) + +Wed Aug 1 09:50:12 CEST 2007 Daniel Veillard + + * parser.c: fixed a parser bug where invalid char in comment may + not be detected, reported by Ashwin Sinha + * test/errors/comment1.xml result/errors/comment1.xml*: added + the example to the regression suite + +Thu Jul 26 13:42:26 CEST 2007 Daniel Veillard + + * xmlsave.c: fixed problem reported on bug #460415 + +Thu Jul 19 18:10:58 PDT 2007 William Brack + + * uri.c: applied patch from from Patrik Fimml. Fixes bug #458268. + +Wed Jul 18 11:05:08 PDT 2007 William Brack + + * xinclude.c: applied patch from bug #454608 from Patrik Fimml. + Fixes bug #454608. + +Wed Jul 11 19:57:59 CEST 2007 Daniel Veillard + + * xmlschemas.c: applied patch for xsi:nil from Frank Gross, this + should fix bug #358125 + +Wed Jul 4 17:44:20 CEST 2007 Daniel Veillard + + * xmlwriter.c: patch from Dodji Seketeli to avoid a leak on repeated + uses of xmlTextWriterStartDocument() + +Tue Jun 26 13:30:50 CEST 2007 Daniel Veillard + + * xmlschemas.c: fix a crash on solaris when a printf %s with a NULL + argument occurs, should fix #450936 + +Wed Jun 13 13:33:38 PDT 2007 William Brack + + * xpath.c: fixed problem in previous fix to xmlXPathNodeSetSort + +Tue Jun 12 18:17:28 CEST 2007 Daniel Veillard + + * doc/* configure.in NEWS: release of libxml2 2.6.29 + * valid.c: patch from Dagfinn I. Mannsåker for idness of name + in HTML, c.f. bug #305885. + +Tue Jun 12 17:14:08 CEST 2007 Daniel Veillard + + * SAX2.c: fixing bug #319964, parsing of HTML attribute really + should not have namespace processing. + +Tue Jun 12 16:42:14 CEST 2007 Daniel Veillard + + * parser.c: fixed the push mode when a big comment occurs before + an internal subset, should close bug #438835 + * test/comment6.xml result//comment6.xml*: added a special + test in the regression suite + +Tue Jun 12 15:41:09 CEST 2007 Daniel Veillard + + * parser.c: fix bug #414846 where invalid characters in attributes + would sometimes not be detected. + * test/errors/attr4.xml result/errors/attr4.xml*: added a specific + test case to the regression tests + +Tue Jun 12 14:23:24 CEST 2007 Daniel Veillard + + * xstc/Makefile.am: apply patch from Ryan Hill to cope with changes + in GNU tar, should fix #396751 + +Tue Jun 12 12:03:36 CEST 2007 Daniel Veillard + + * python/types.c: try to allow compilation on old python version + should fix #398125 + +Tue Jun 12 11:48:15 CEST 2007 Daniel Veillard + + * HTMLtree.c: htmlNodeDumpFormatOutput didn't handle XML_ATTRIBUTE_NODe + fixes bug #438390 + +Tue Jun 12 11:37:55 CEST 2007 Daniel Veillard + + * xmlIO.c: workaround misgenerated file: URIs c.f. #437385 + +Tue Jun 12 11:22:47 CEST 2007 Daniel Veillard + + * relaxng.c: fixed bug #407436 a crash in a specific case of + Relax-NG validation + +Tue Jun 12 11:12:50 CEST 2007 Daniel Veillard + + * catalog.c: fixed bug #383687, some case of recursion on next + were not caught in the catalog code. + +Tue Jun 12 10:37:42 CEST 2007 Daniel Veillard + + * HTMLparser.c: fixed bug #381877, avoid reading over the end + of stream when generating an UTF-8 encoding error. + +Tue Jun 12 10:16:48 CEST 2007 Daniel Veillard + + * parser.c: fixed bug #366161, trivially added the check in + xmlCtxtReset() + +Fri Jun 8 21:48:21 CEST 2007 Rob Richards + + * win32/configure.js win32/Makefile.msvc: add --vcmanifest flag (yes/no) + for VC8 build support to embed manifest within files. Under MS VC, build + libxml2_a_dll.lib by default (LIBXML_STATIC_FOR_DLL flag). + +Fri Jun 8 21:37:46 CEST 2007 Rob Richards + + * threads.c include/libxml/threads.h: use specified calling convention + for xmlDllMain. Old SDKs (VC6) only support InterlockedCompareExchange. + add xmlDllMain to header for win32 when building for static dll + +Fri Jun 8 10:51:28 CEST 2007 Rob Richards + + * xmlwriter.c: fixed problem with namespace declaration being + written more than once per element start tag + +Wed Jun 6 10:18:28 PDT 2007 William Brack + + * xpath.c: fixed problem with xmlXPathNodeSetSort; + fixed problem with xmlXPathNodeTrailingSorted (both bug#413451) + +Wed May 30 22:05:08 PDT 2007 William Brack + + * xpath.c: fixed problem with string value for PI node + (bug #442275) + +Mon May 28 16:14:50 CEST 2007 Daniel Veillard + + * uri.c: fix bug reported by François Delyon + +Tue May 22 08:59:48 PDT 2007 William Brack + + * encoding.c: Fixed typo in xmlCharEncFirstLine pointed out + by Mark Rowe (bug #440159) + * include/libxml/xmlversion.h.in: Added check for definition of + _POSIX_C_SOURCE to avoid warnings on Apple OS/X (patch from + Wendy Doyle and Mark Rowe, bug #346675) + * schematron.c, testapi.c, tree.c, xmlIO.c, xmlsave.c: minor + changes to fix compilation warnings - no change to logic. + +Tue May 15 22:18:08 PDT 2007 William Brack + + * nanohttp.c: small enhancement to last fix, pointed out + by Alex Cornejo + +Tue May 15 12:38:38 PDT 2007 William Brack + + * nanohttp.c: fixed problem on gzip streams (bug #438045) + * xpath.c: fixed minor spot of redundant code - no logic change. + +Fri May 11 22:45:18 HKT 2007 William Brack + + * xpath.c: enhanced the coding for xmlXPathCastNumberToString + in order to produce the required number of significant digits + (bug #437179) + +Thu May 10 01:52:42 CEST 2007 Daniel Veillard + + * list.c: applied patch to fix xmlListAppend() from + Georges-André SILBER + * valid.c: also fix the place wher it was called. + +Wed May 2 18:47:33 CEST 2007 Daniel Veillard + + * parser.c: tried to fix an error problem on entity content failure + reported by Michael Day + +Wed May 2 18:23:35 CEST 2007 Daniel Veillard + + * configure.in: typo patch from Bjorn Reese + +Wed May 2 18:12:58 CEST 2007 Daniel Veillard + + * HTMLparser.c: applied patch from Michael Day to add support for + + +Thu Apr 26 10:58:50 CEST 2007 Daniel Veillard + + * HTMLparser.c: Jean-Daniel Dupas pointed a couple of problems + in htmlCreateDocParserCtxt. + +Thu Apr 26 10:36:26 CEST 2007 Daniel Veillard + + * uri.c include/libxml/uri.h: patch from Richard Jones to save + the query part in raw form. + * libxml2-python-api.xml: also added accessor for the python bindings + +Wed Apr 25 15:57:32 CEST 2007 Daniel Veillard + + * xstc/Makefile.am doc/examples/Makefile.am Makefile.am: applied + patch from Richard Jones to for the silent flag on valgrind + when doing "make valgrind" + * xmlregexp.c: raise a regexp error when '\' is misused to escape + a standard character. + +Tue Apr 24 20:15:14 CEST 2007 Daniel Veillard + + * tree.c: Richard Jones reported xmlBufferAdd (buf, "", -1), fixing it + +Tue Apr 24 10:59:28 CEST 2007 Daniel Veillard + + * uri.c: fix xmlURIUnescapeString comments which was confusing + +Wed Apr 18 09:52:25 CEST 2007 Daniel Veillard + + * include/win32config.h libxml.h: new patch from Andreas Stricke to + better integrate support for Windows CE + +Tue Apr 17 16:50:12 CEST 2007 Daniel Veillard + + * doc/* configure.in NEWS: release of libxml2 2.6.28 + +Tue Apr 17 14:47:42 CEST 2007 Daniel Veillard + + * catalog.c libxml.h win32/wince/wincecompat.h win32/wince/wincecompat.c + xmlIO.c nanohttp.c nanoftp.c trio.c triostr.c triostr.h: applied + patch from Andreas Stricke to ease the compilation on Windows CE + +Tue Apr 17 14:34:45 CEST 2007 Daniel Veillard + + * xmllint.c catalog.c: "xmllint unusable on win32" so applied + a libxml2 patch from Christian Ehrlicher + +Mon Apr 16 09:05:01 CEST 2007 Daniel Veillard + + * HTMLparser.c: change the way script/style are parsed to + not try to detect comments, reported by Mike Day + * result/HTML/doc3.*: affects the result of that test + +Wed Apr 11 22:38:18 HKT 2007 William Brack + + * xmlregexp.c: small enhancement for quantifier range with + min occurs of 0; fixes bug 425542. + +Fri Mar 30 14:41:57 CEST 2007 Daniel Veillard + + * xmlIO.c: applied change from Michael Day to avoid a problem when + compiled without zlib support. + +Wed Mar 21 17:58:13 CET 2007 Daniel Veillard + + * include/libxml/xpath.h: applied documentation patch from James Dennett + +Wed Mar 21 21:20:48 HKT 2007 William Brack + + * xmlregexp.c: fixed problem with 0x2d in Char Range (bug #420596) + * test/regexp/bug420596, result/regexp/bug420596: added regression + test for this + +Wed Mar 21 14:23:08 HKT 2007 William Brack + + * HTMLparser.c: fixed memory access error on parsing of meta data + which had errors (bug #382206). Also cleaned up a few warnings + by adding some additional DECL macros. + +Tue Mar 20 09:58:13 CET 2007 Daniel Veillard + + * nanoftp.c: applied patch from Björn Wiberg to try to fix again + the silly __ss_family problem on various AIXes, should fix #420184 + +Wed Mar 14 20:30:38 HKT 2007 William Brack + + * configure.in: corrected small error in last commit + * xmlreader.c: corrected small typo in last commit + +Wed Mar 14 19:35:28 HKT 2007 William Brack + + * xmlschemas.c: fixed problem with referenced attribute groups + (bug #417621) + * configure.in: re-ordered some includes for types.h / socket.h + (bug #416001) + +Fri Mar 9 17:54:40 CET 2007 Daniel Veillard + + * xmlreader.c: applied patch from Julien Reichel cleaning up mode + and state internal flags mixups + +Wed Mar 7 16:18:18 HKT 2007 William Brack + + * xpath.c: fixed xmlXPathCmpNodes for incorrect result on certain + cases when comparing identical nodes (bug #415567) with patch + from Oleg Paraschenko + +Fri Feb 16 09:13:38 PST 2007 William Brack + + * python/libxml.py: fixed tab problem with patch from + Andreas Hanke (bug #408626) + +Thu Feb 15 12:43:28 PST 2007 William Brack + + * doc/xml.html: Changed all references to libxml2 CVS over to + the corresponding SVN. A few other spelling/grammar/links + also changed. + * doc/libxml2-api.xml, doc/*.html: Regenerated all docs. + +Tue Feb 13 18:15:58 PST 2007 William Brack + + * xpath.c: Fixed memory bug with invalid function reported by + Francois Delyon on mailing list + +Mon Feb 12 16:40:48 PST 2007 William Brack + + * xinclude.c: fixed problem with invalid char encountered + during text include (reported on xslt mailing list) + +Mon Feb 12 18:30:01 CET 2007 Daniel Veillard + + * Makefile.am: small cleanup to avoid packaging .svn + * libxml.h threads.c parser.c: applied patch to avoid a problem + in concurrent threaded initialization fix from Ted Phelps + +Thu Feb 08 15:35:18 PST 2007 William Brack + + * parser.c: added a GROW when parsing complex comments (bug #405666) + * gentest.py, testapi.c: added a hack to prevent destruction of any + param with 'destroy' in it's description (i.e. param destroyed by + the routine under test, so shouldn't be destroyed by testapi) + * xmlreader.c: added freeing of 'input' param even on error + (fixes leak detected by testapi) + +Wed Jan 31 10:25:38 PST 2007 William Brack + + * testAutomata.c, testRegexp.c, testThreads.c, testThreadsWin32.c, + xmlwriter.c: repositioned #include for libxml.h to avoid + compilation error on some architectures (bug #398277) + * fixed screwed-up ChangeLog (deleted some duplicate entries) + +Fri Jan 26 00:05:18 PST 2007 William Brack + + * implemented patch from Stéphane Bidoul for uri.c (bug #389767) + +Thu Jan 25 11:15:08 PST 2007 William Brack + + * xpath.c: added checks for alloc fail on calls to + xmlXPathNewContext (libxslt bug #400242) + +Thu Jan 11 15:38:08 PST 2007 William Brack + + * Re-generated the documentation (API chunks 27-29 were missing) + (also causes changes to testapi.c, elfgcchack.h and + win32/libxml2.def.src) + +Tue Jan 9 22:24:26 CET 2007 Daniel Veillard + + * python/libxml.c: fix a memory leak in the python string handling + when SAX event are passed back to the python handlers + +Thu Jan 4 18:27:49 CET 2007 Daniel Veillard + + * xmlreader.c: fix xmlTextReaderSetup() description + * test/relaxng/empty1.rng test/relaxng/comps_0.xml + test/relaxng/empty1_0.xml test/relaxng/comps.rng + test/relaxng/empty0.rng test/relaxng/empty0_0.xml + test/relaxng/empty1_1.xml: tests which were apparently + never commited to CVS + +Wed Jan 3 16:05:21 PST 2007 Aleksey Sanin + + * xmlreader.c include/libxml/xmlreader.h win32/libxml2.def.src: + expose xmlTextReaderSetup() function + +Wed Jan 3 16:14:13 CET 2007 Daniel Veillard + + * configure.in: adapt the extra versioning code to SVN + +Thu Dec 14 16:52:34 CET 2006 Daniel Veillard + + * python/generator.py python/libxml.py: apparently id() sometimes + generate negative values and %X outputs -XXXX :-( + +Mon Dec 4 10:30:25 CET 2006 Daniel Veillard + + * parser.c include/libxml/tree.h: patch from Michael Day on standalone + and XML declaration detection, and associated documentation change + +Mon Dec 4 10:27:01 CET 2006 Daniel Veillard + + * xinclude.c: another XInclude user data propagation patch from + Michael Day + +Thu Nov 23 17:22:03 CET 2006 Daniel Veillard + + * HTMLparser.c: applied patch from Steven Rainwater to fix + UTF8ToHtml behaviour on code points which are not mappable to + predefined HTML entities, fixes #377544 + +Thu Nov 23 17:11:23 CET 2006 Daniel Veillard + + * xpath.c: fixed a bug where the principal node type of an axis + wasn't tested on name check, fixes bug #377432 + +Wed Nov 8 10:19:27 CET 2006 Daniel Veillard + + * HTMLparser.c: change htmlCtxtReset() following Michael Day bug + report and suggestion. + +Mon Nov 6 09:56:41 CET 2006 Daniel Veillard + + * uri.c: applied patch from Igor for path conversion on Windows + +Thu Nov 2 11:29:17 CET 2006 Daniel Veillard + + * xmlregexp.c: another small change on the algorithm for the + elimination of epsilon transitions, should help on #362989 too + +Wed Nov 1 16:33:10 CET 2006 Daniel Veillard + + * tree.c: applied documentation patches from Markus Keim + * xmlregexp.c: fixed one bug and added a couple of optimisations + while working on bug #362989 + +Fri Oct 27 14:54:07 CEST 2006 Daniel Veillard + + * HTMLparser.c: applied a reworked version of Usamah Malik patch + to avoid growing the parser stack in some autoclose cases, should + fix #361221 + +Thu Oct 26 10:54:40 CEST 2006 Daniel Veillard + + * xpath.c: William spotted an obvious bug + +Wed Oct 25 18:04:50 CEST 2006 Daniel Veillard + + * NEWS configure.in testapi.c doc//*: preparing release of + libxml2-2.6.27 + * include/libxml/tree.h: fix a small problem with preproc flags + +Fri Oct 20 14:55:47 CEST 2006 Daniel Veillard + + * tree.c: fix comment for xmlDocSetRootElement c.f. #351981 + * xmllint.c: order XPath elements when using --shell + +Tue Oct 17 23:23:26 CEST 2006 Daniel Veillard + + * xmlregexp.c: applied fix from Christopher Boumenot for bug + #362714 on regexps missing ']' + +Tue Oct 17 22:32:42 CEST 2006 Daniel Veillard + + * parserInternals.c: applied patch from Marius Konitzer to avoid + leaking in xmlNewInputFromFile() in case of HTTP redirection + +Tue Oct 17 22:19:02 CEST 2006 Daniel Veillard + + * HTMLparser.c: fix one problem found in htmlCtxtUseOptions() + and pointed in #340591 + +Tue Oct 17 22:04:31 CEST 2006 Daniel Veillard + + * HTMLparser.c: fixed the 2 stupid bugs affecting htmlReadDoc() and + htmlReadIO() this should fix #340322 + +Tue Oct 17 21:39:23 CEST 2006 Daniel Veillard + + * xpath.c: applied patch from Olaf Walkowiak which should fix #334104 + +Tue Oct 17 18:12:34 CEST 2006 Daniel Veillard + + * HTMLparser.c: fixing HTML minimized attribute values to be generated + internally if not present, fixes bug #332124 + * result/HTML/doc2.htm.sax result/HTML/doc3.htm.sax + result/HTML/wired.html.sax: this affects the SAX event strem for + a few test cases + +Tue Oct 17 17:56:31 CEST 2006 Daniel Veillard + + * HTMLparser.c: fixing HTML entities in attributes parsing bug #362552 + * result/HTML/entities2.html* test/HTML/entities2.html: added to + the regression suite + +Tue Oct 17 01:21:37 CEST 2006 Daniel Veillard + + * xmllint.c: started to switch xmllint to use xmlSaveDoc to test + #342556 + * xmlsave.c: fixed #342556 easy and a whole set of problems with + encodings, BOM and xmlSaveDoc() + +Mon Oct 16 15:14:53 CEST 2006 Daniel Veillard + + * HTMLparser.c: fix #348252 if the document clains to be in a + different encoding in the meta tag and it's obviously wrong, + don't screw up the end of the content. + +Mon Oct 16 11:32:09 CEST 2006 Daniel Veillard + + * HTMLparser.c: fix a chunking and script bug #347708 + +Mon Oct 16 09:51:05 CEST 2006 Daniel Veillard + + * HTMLparser.c: remove a warning + * encoding.c: check with uppercase for AIX iconv() should fix #352644 + * doc/examples/Makefile.am: partially handle one bug report + +Sun Oct 15 22:31:42 CEST 2006 Daniel Veillard + + * parser.c: fix the patch for unreproductable #343000 but + also fix a line/column keeping error + * result/errors/attr1.xml.err result/errors/attr2.xml.err + result/errors/name.xml.err result/errors/name2.xml.err + result/schemas/anyAttr-processContents-err1_0_0.err + result/schemas/bug312957_1_0.err: affected lines in error output + of the regression tests + +Sat Oct 14 10:46:46 CEST 2006 Daniel Veillard + + * tree.c: fixing bug #344390 with xmlReconciliateNs + +Sat Oct 14 00:31:49 CEST 2006 Daniel Veillard + + * xmllint.c: added --html --memory to test htmlReadMemory to + test #321632 + * HTMLparser.c: added various initialization calls which may help + #321632 but not conclusive + * testapi.c tree.c include/libxml/tree.h: fixed compilation with + --with-minimum --with-sax1 and --with-minimum --with-schemas + fixing #326442 + +Fri Oct 13 18:30:55 CEST 2006 Daniel Veillard + + * relaxng.c: fix a Relax-NG bug related to element content processing, + fixes bug #302836 + * test/relaxng/302836.rng test/relaxng/302836_0.xml + result/relaxng/302836*: added to regression tests + +Fri Oct 13 14:42:44 CEST 2006 Daniel Veillard + + * parser.c: fix a problem in xmlSplitQName resulting in bug #334669 + +Fri Oct 13 12:27:22 CEST 2006 Daniel Veillard + + * parser.c: fixed xmlIOParseDTD handling of @input in error case, + Should fix #335085 + * testapi.c: reset the http_proxy env variable to not waste time + on regression tests + +Thu Oct 12 23:07:43 CEST 2006 Rob Richards + + * xmlIO.c: fix Windows compile - missing xmlWrapOpen. + +Thu Oct 12 18:21:18 CEST 2006 Daniel Veillard + + * parser.c: fixed the heuristic used when trying to detect mixed-content + elememts if the parser wants to treat ignorable whitespaces + in a non-standard way, should fix bug #300263 + +Thu Oct 12 14:52:38 CEST 2006 Daniel Veillard + + * parser.c: fix a first arg error in SAX callback pointed out by + Mike Hommey, and another one still hanging around. Should fix #342737 + +Wed Oct 11 23:11:58 CEST 2006 Daniel Veillard + + * include/libxml/xmlversion.h.in: fix comment on versions + * xmlmemory.c: do not spend too much time digging in dumped memory + +Wed Oct 11 18:40:00 CEST 2006 Daniel Veillard + + * valid.c: fixed a weird error where validity context whould not + show up if warnings were disabled pointed out by Bob Stayton + * xmlIO.c doc/generator.py: cleanup and fix to regenerate the docs + * doc//* testapi.c: rebuilt the docs + +Wed Oct 11 14:32:00 CEST 2006 Daniel Veillard + + * libxml-2.0.pc.in: applied patch from Mikhail Zabaluev to separate + library flags for shared and static builds, fixes #344594. If this + bites you, use xml2-config. + +Wed Oct 11 11:27:37 CEST 2006 Daniel Veillard + + * python/Makefile.am: remove the build path recorded in the python + shared module as Peter Breitenlohner pointed out, should fix #346022 + +Wed Oct 11 11:14:51 CEST 2006 Daniel Veillard + + * xmlIO.c: applied patch from Mikhail Zabaluev fixing the conditions + of unescaping from URL to filepath, should fix #344588. + +Wed Oct 11 10:24:58 CEST 2006 Daniel Veillard + + * configure.in xstc/Makefile.am: applied patch from Peter Breitenlohner + for wget detection and fix of a Python path problem, should fix + #340993 + +Tue Oct 10 22:02:29 CEST 2006 Daniel Veillard + + * include/libxml/entities.h entities.c SAX2.c parser.c: trying to + fix entities behaviour when using SAX, had to extend entities + content and hack on the entities processing code, but that should + fix the long standing bug #159219 + +Tue Oct 10 14:36:18 CEST 2006 Daniel Veillard + + * uri.c include/libxml/uri.h: add a new function xmlPathToUri() + to provide a clean conversion when setting up a base + * SAX2.c tree.c: use said function when setting up doc->URL + or using the xmlSetBase function. Should fix #346261 + +Tue Oct 10 11:05:59 CEST 2006 Daniel Veillard + + * xmlIO.c: applied a portability patch from Emelyanov Alexey + +Tue Oct 10 10:52:01 CEST 2006 Daniel Veillard + + * parser.c: applied and slightly modified a patch from Michael Day to + keep _private in the parser context when parsing external entities + +Tue Oct 10 10:33:43 CEST 2006 Daniel Veillard + + * python/libxml.py python/types.c: applied patch from Ross Reedstrom, + Brian West and Stefan Anca to add XPointer support to the Python bindings + +Fri Sep 29 11:13:59 CEST 2006 Daniel Veillard + + * xmlsave.c: fixed a comment + * xinclude.c include/libxml/xinclude.h: applied a patch from Michael Day + to add a new function providing the _private field for the generated + parser contexts xmlXIncludeProcessFlagsData() + +Thu Sep 21 10:36:11 CEST 2006 Daniel Veillard + + * xmlIO.c: applied patch from Michael Day doing some refactoring + for the catalog entity loaders. + +Thu Sep 21 08:53:06 CEST 2006 Daniel Veillard + + * HTMLparser.c include/libxml/HTMLparser.h: exports htmlNewParserCtxt() + as Michael Day pointed out this is needed to use htmlCtxtRead*() + +Tue Sep 19 14:42:59 CEST 2006 Daniel Veillard + + * parser.c: applied patch from Ben Darnell on #321545, I could not + reproduce the problem but 1/ this is safe 2/ it's better to be safe. + +Sat Sep 16 16:02:23 CEST 2006 Rob Richards + + * tree.c: xmlTextConcat works with comments and PI nodes (bug #355962). + * parser.c: fix resulting tree corruption when using XML namespace + with existing doc in xmlParseBalancedChunkMemoryRecover. + +Fri Sep 1 11:52:55 CEST 2006 Daniel Veillard + + * xmlIO.c: another patch from Emelyanov Alexey to clean up a few things + in the previous patch. + +Wed Aug 30 15:10:09 CEST 2006 Daniel Veillard + + * xmlIO.c: applied patch from Roland Schwingel to fix the problem + with file names in UTF-8 on Windows, and compat on older win9x + versions. + +Tue Aug 22 16:51:22 CEST 2006 Daniel Veillard + + * valid.c: fixed a bug #203125 in Red hat bugzilla, crashing PHP4 + on validation errors, the heuristic to guess is a vctxt user + pointer is the parsing context was insufficient. + +Mon Aug 21 10:40:10 CEST 2006 Daniel Veillard + + * doc/xmlcatalog.1 doc/xmlcatalog_man.xml doc/xmllint.1 doc/xmllint.xml: + applied patch to man pages from Daniel Leidert and regenerated + +Thu Aug 17 00:48:31 CEST 2006 Rob Richards + + * xmlwriter.c: Add a document to the xmlwriter structure and + pass document when writing attribute content for encoding support. + +Wed Aug 16 01:15:12 CEST 2006 Rob Richards + + * HTMLtree.c xmlsave.c: Add linefeeds to error messages allowing + for consistant handling. + +Tue Aug 15 15:02:18 CEST 2006 Kasimier Buchcik + + * xpath.c: Applied the proposed fix for the documentation + of xmlXPathCastToString(); see bug #346202. + +Tue Aug 15 14:49:18 CEST 2006 Kasimier Buchcik + + * xmlschemas.c: While investigating bug #350247, I noticed + that xmlSchemaIDCMatcher structs are massively recreated + although only a maximum of 3 structs is used at the same + time; added a cache for those structures to the + validation context. + +Sat Aug 12 16:12:53 CEST 2006 Daniel Veillard + + * xmlschemas.c: applied patch from Marton Illes to fix an allocation + bug in xmlSchemaXPathEvaluate should close #351032 + +Mon Aug 7 13:08:46 CEST 2006 Daniel Veillard + + * xmlschemas.c: applied patch from Bertrand Fritsch to fix a bug in + xmlSchemaClearValidCtxt + +Fri Aug 4 14:50:41 CEST 2006 Daniel Veillard + + * python/generator.py: fixed the conversion of long parameters + +Thu Jul 13 15:03:11 CEST 2006 Kasimier Buchcik + + * xmlsave.c: Removed the automatic generation of CDATA sections + for the content of the "script" and "style" elements when + serializing XHTML. The issue was reported by Vincent Lefevre, + bug #345147. + * result/xhtml1 result/noent/xhtml1: Adjusted regression test + results due to the serialization change described above. + +Thu Jul 13 08:32:21 CEST 2006 Daniel Veillard + + * configure.in parser.c xmllint.c include/libxml/parser.h + include/libxml/xmlversion.h.in: applied patch from Andrew W. Nosenko + to expose if zlib support was compiled in, in the header, in the + feature API and in the xmllint --version output. + +Thu Jul 13 08:24:14 CEST 2006 Daniel Veillard + + * SAX2.c: refactor to use normal warnings for entities problem + and not straight SAX callbacks. + +Wed Jul 12 17:13:03 CEST 2006 Kasimier Buchcik + + * xmlschemas.c: Fixed bug #347316, reported by David Belius: + The simple type, which was the content type definition + of a complex type, which in turn was the base type of a + extending complex type, was missed to be set on this + extending complex type in the derivation machinery. + +Mon Jul 3 13:36:43 CEST 2006 Kasimier Buchcik + + * xpath.c: Changed xmlXPathCollectAndTest() to use + xmlXPathNodeSetAddNs() when adding a ns-node in case of + NODE_TEST_TYPE (the ns-node was previously added plainly + to the list). Since for NODE_TEST_ALL and NODE_TEST_NAME + this specialized ns-addition function was already used, + I assume it was missed to be used with NODE_TEST_TYPE. + +Mon Jul 3 10:57:33 CEST 2006 Daniel Veillard + + * HTMLparser.c: applied const'ification of strings patch from + Matthias Clasen + +Thu Jun 29 13:51:12 CEST 2006 Daniel Veillard + + * threads.c: patch from Andrew W. Nosenko, xmlFreeRMutex forgot to + destroy the condition associated to the mutex. + +Thu Jun 29 12:48:00 CEST 2006 Kasimier Buchcik + + * xpath.c: Fixed a double-free in xmlXPathCompOpEvalToBoolean(), + revealed by a Libxslt regression test. + +Thu Jun 29 12:28:07 CEST 2006 Kasimier Buchcik + + * xpath.c: Enhanced xmlXPathCompOpEvalToBoolean() to be also + usable outside predicate evaluation; the intention is to + use it via xmlXPathCompiledEvalToBoolean() for XSLT tests, + like in . + +Wed Jun 28 19:11:16 CEST 2006 Kasimier Buchcik + + * xpath.c: Fix a memory leak which occurred when using + xmlXPathCompiledEvalToBoolean(). + +Mon Jun 26 17:24:28 UTC 2006 William Brack + + * python/libxml.c, python/libxml.py, python/tests/compareNodes.py, + python/tests/Makefile.am: + Added code submitted by Andreas Pakulat to provide node + equality, inequality and hash functions, plus a single + test program to check the functions (bugs 345779 + 345961). + +Mon Jun 26 18:38:51 CEST 2006 Kasimier Buchcik + + * xpath.c: Added xmlXPathCompiledEvalToBoolean() to the API and + adjusted/added xmlXPathRunEval(), xmlXPathRunStreamEval(), + xmlXPathCompOpEvalToBoolean(), xmlXPathNodeCollectAndTest() + to be aware of a boolean result request. The new function + is now used to evaluate predicates. + +Mon Jun 26 16:22:50 CEST 2006 Kasimier Buchcik + + * xpath.c: Fixed an bug in xmlXPathCompExprAdd(): the newly + introduced field @rewriteType on xmlXPathStepOp was not + initialized to zero here; this could lead to the activation + of the axis rewrite code in xmlXPathNodeCollectAndTest() when + @rewriteType is randomly set to the value 1. A test + (hardcoding the intial value to 1) revealed that the + resulting incorrect behaviour is similar to the behaviour + as described by Arnold Hendriks on the mailing list; so I + hope that will fix the issue. + +Fri Jun 23 18:26:08 CEST 2006 Kasimier Buchcik + + * xpath.c: Fixed an error in xmlXPathEvalExpr(), which + was introduced with the addition of the d-o-s rewrite + and made xpath.c unable to compile if XPATH_STREAMING + was not defined (reported by Kupriyanov Anatolij - + #345752). Fixed the check for d-o-s rewrite + to work on the correct XPath string, which is ctxt->base + and not comp->expr in this case. + +Mon Jun 19 12:23:41 CEST 2006 Kasimier Buchcik + + * xpath.c: Added optimization for positional predicates + (only short-hand form "[n]"), which have a preceding + predicate: "/foo[descendant::bar][3]". + +Sun Jun 18 20:59:02 EDT 2006 Daniel Veillard + + * parser.c: try to fix the crash raised by the parser in + recover mode as pointed by Ryan Phillips + +Sun Jun 18 18:44:56 EDT 2006 Daniel Veillard + + * python/types.c: patch from Nic Ferrier to provide a better type + mapping from XPath to python + +Sun Jun 18 18:35:50 EDT 2006 Daniel Veillard + + * runtest.c: applied patch from Boz for VMS and reporting + Schemas errors. + +Sun Jun 18 18:22:25 EDT 2006 Daniel Veillard + + * testapi.c: applied patch from Felipe Contreras when compiling + with --with-minimum + +Fri Jun 16 21:37:44 CEST 2006 Kasimier Buchcik + + * tree.c include/libxml/tree.h: Fixed a bug in + xmlDOMWrapAdoptNode(); the tree traversal stopped if the + very first given node had an attribute node :-( This was due + to a missed check in the traversal mechanism. + Expanded the xmlDOMWrapCtxt: it now holds the namespace map + used in xmlDOMWrapAdoptNode() and xmlDOMWrapCloneNode() for + reusal; so the map-items don't need to be created for every + cloning/adoption. Added a callback function to it for + retrieval of xmlNsPtr to be set on node->ns; this is needed + for my custom handling of ns-references in my DOM wrapper. + Substituted code which created the XML namespace decl on + the doc for a call to xmlTreeEnsureXMLDecl(). Removed + those nastly "warnigns" from the docs of the clone/adopt + functions; they work fine on my side. + +Mon Jun 12 13:23:11 CEST 2006 Kasimier Buchcik + + * result/pattern/namespaces: Adjusted the result of a + regression test, since the fix of xmlGetNodePath() revealed a + bug in this test result. + +Mon Jun 12 13:06:03 CEST 2006 Kasimier Buchcik + + * tree.c: Got rid of a compiler warning in xmlGetNodePath(). + +Mon Jun 12 12:54:25 CEST 2006 Kasimier Buchcik + + * tree.c: Fixed xmlGetNodePath() to generate the node test "*" + for elements in the default namespace, rather than generating + an unprefixed named node test and losing the namespace + information. + +Fri Jun 9 21:45:02 CEST 2006 Kasimier Buchcik + + * include/libxml/parser.h: Clarified in the docs that the tree + must not be tried to be modified if using the parser flag + XML_PARSE_COMPACT as suggested by Stefan Behnel + (#344390). + +Tue Jun 6 17:50:43 CEST 2006 Daniel Veillard + + * configure.ini NEWS doc//* libxml.spec.in : preparing release of 2.6.26 + +Tue Jun 6 17:25:23 CEST 2006 Kasimier Buchcik + + * xpath.c: Fixed self-invented a segfault in xmlXPathCtxtCompile(), + when the expression was not valid and @comp was NULL and I + tried to do the d-o-s rewrite. + +Tue Jun 6 15:19:57 CEST 2006 Daniel Veillard + + * configure.ini NEWS doc//* libxml.spec.in : preparing release of 2.6.25 + +Tue Jun 6 11:28:15 CEST 2006 Kasimier Buchcik + + * xpath.c: Enabled the compound traversal again; I added a + check to use this only if the have an expression starting + with the document node; so in the case of "//foo", we + already know at compilation-time, that there will be only + 1 initial context node. Added the rewrite also to + xmlXPathEvalExpr(). + +Tue Jun 6 10:23:10 CEST 2006 Daniel Veillard + + * xinclude.c: fix bug #343968, include='text' can't lead to a + recursion. + +Fri Jun 2 22:47:08 CEST 2006 Kasimier Buchcik + + * xpath.c: Disabled the compound traversal for the release; + I need first to assure that this is done only if we have + 1 initial node. + +Wed May 31 13:53:41 PST 2006 Aleksey Sanin + + * xpath.c: fixed memory leak in xpath error reporting + +Wed May 31 15:30:16 CEST 2006 Daniel Veillard + + * libxml.h triodef.h: applied patch from Olli Savia for LynxOS + +Wed May 31 14:33:00 CEST 2006 Kasimier Buchcik + + * xpath.c include/libxml/xpath.h runsuite.c: + Changed the name of the recently added public function + xmlXPathContextSetObjectCache() to + xmlXPathContextSetCache(); so a more generic one, in + case we decide to cache more things than only XPath + objects. + +Tue May 30 21:36:16 CEST 2006 Kasimier Buchcik + + * xpath.c: Optimized xmlXPathNodeCollectAndTest() and + xmlXPathNodeCollectAndTestNth() to evaluate a compound + traversal of 2 axes when we have a "//foo" expression. + This is done with a rewrite of the XPath AST in + xmlXPathRewriteDOSExpression(); I added an additional field + to xmlXPathStepOp for this (but the field's name should be + changed). The mechanism: the embracing descendant-or-self + axis traversal (also optimized to return only nodes which + can hold elements), will produce context nodes for the + inner traversal of the child axis. This way we avoid a full + node-collecting traversal of the descendant-or-self axis. + Some tests indicate that this can reduce execution time of + "//foo" to 50%. Together with the XPath object cache this + all significantly speeds up libxslt. + +Tue May 30 11:38:47 CEST 2006 Kasimier Buchcik + + * xmlschemas.c: A warning will now be reported in the value of + the XSD attribute 'schemaLocation' does not consist of tuples + (namespace-name, document-URI). A warning will be reported + if a schema document could not be found at the specified + location (via 'schemaLocation' or + 'noNamespaceSchemaLocation'). + * include/libxml/xmlerror.h: Added XML_SCHEMAV_MISC to + xmlParserErrors. + +Tue May 30 11:21:34 CEST 2006 Kasimier Buchcik + + * xpath.c: Enhanced xmlXPathNodeCollectAndTest() to avoid + recreation (if possible) of the node-set which is used to + collect the nodes in the current axis for the current context + node. Especially for "//foo" this will decrease dramatically + the number of created node-sets, since for each node in the + result node-set of the evaluation of descendant-or-self::node() + a new temporary node-set was created. Added node iterator + xmlXPathNextChildElement() as a tiny optimization for + child::foo. + +Mon May 29 18:06:17 CEST 2006 Kasimier Buchcik + + * xpath.c include/libxml/xpath.h: Added an XPath object cache. + It sits on an xmlXPathContext and need to be explicitely + activated (or deactivated again) with + xmlXPathContextSetObjectCache(). The cache consists of 5 + lists for node-set, string, number, boolean and misc XPath + objects. Internally the xpath.c module will use object- + deposition and -acquisition functions which will try to reuse + as many XPath objects as possible, and fallback to normal + free/create behaviour if no cache is available or if the cache + is full. + * runsuite.c: Adjusted to deactivate the cache for XML Schema + tests if a cache-creation is turned on by default for the whole + library, e.g. for testing purposes of the cache. It is + deactivated here in order to avoid confusion of the memory leak + detection in runsuite.c. + +Wed May 24 10:54:25 CEST 2006 Kasimier Buchcik + + * xpath.c: Removed a memcpy if xmlXPathNodeSetMerge(); it + seems we really need to walk the whole list, since those + nastly namespace nodes need to be added with + xmlXPathNodeSetDupNs(); thus a pure memcpy is not possible. + A flag on the node-set indicating if namespace nodes are in + the set would help here; this is the 3rd flag which would + be useful with node-sets. The current flags I have in mind: + 1) Is a node-set already sorted? + This would allow for rebust and optimizable sorting + behaviour. + 2) Of what type are the nodes in the set (or of mixed type)? + This would allow for faster merging of node-sets. + 3) Are namespace nodes in the set? + This would allow to skipp all the namespace node specific + special handling. Faster node-set merging if the first + set is empty; just memcpy the set. + +Mon May 22 17:14:00 CEST 2006 Kasimier Buchcik + + * xpath.c: Optimization of count(): eliminated sorting + (see bug #165547). Optimization of XPATH_OP_FILTER if the + predicate is a [1] (disable with XP_OPTIMIZED_FILTER_FIRST if + it produces trouble). Tiny opt in xmlXPathNodeSetMerge(). + +Mon May 22 13:33:12 CEST 2006 Rob Richards + + * tree.c: Revert behavior change in xmlSetProp to handle attributes + with colons in name and no namespace. + +Fri May 19 21:56:43 CEST 2006 Kasimier Buchcik + + * xpath.c: Substituted all remaining calls to xmlXPathCmpNodes() + for xmlXPathCmpNodesExt(). Tiny further enhancement of + xmlXPathCmpNodesExt(). Added additional checks in various code + parts to avoid calling sorting or merging functions if the + node-set(s) don't need them; i.e., if they are empty or contain + just one node. + +Fri May 19 13:16:58 CEST 2006 Kasimier Buchcik + + * xpath.c: Optimized the comparison for non-element nodes + in xmlXPathCmpNodesExt(); the comparison is used for sorting + of node-sets. This enhancement is related to bug #165547. + There are other places where the old comparison function + xmlXPathCmpNodes() is still called, but I currently don't + know exactly what those calls are for; thus if they can be + substituted (if it makes sense) for the new function. + +Tue May 16 16:55:13 CEST 2006 Kasimier Buchcik + + * xpath.c: Applied patch from Rob Richards, fixing a potential + memory leak in xmlXPathTryStreamCompile(), when a list of + namespaces was assigned to the XPath compilation context; + here a new namespace list was created and passed to + xmlPatterncompile(); but this list was not freed afterwards. + Additionally we avoid now in xmlXPathTryStreamCompile() to + compile the expression, if it has a colon - indicating + prefixed name tests - and no namespace list was given. The + streaming XPath mechanism needs a namespace list at + compilation time (unlike normal XPath, where we can bind + namespace names to prefixes at execution time). + * pattern.c: Enhanced to use a string dict for local-names, + ns-prefixes and namespace-names. + Fixed xmlStreamPushInternal() not to use string-pointer + comparison if a dict is available; this won't work, since + one does not know it the given strings originate from the + same dict - and they normally don't do, since e.g. + namespaces are hold on xmlNs->href. I think this would be + worth an investigation: if we can add a @doc field to xmlNs + and put the @href in to a additionan namespace dict hold + in xmlDoc. Daniel will surely not like this idea :-) But + evaluation of tons of elements/attributes in namespaces + with xmlStrEqual() isn't the way we should go forever. + +Thu May 11 18:03:49 CEST 2006 Kasimier Buchcik + + * xmlschemas.c: Fixed bug #341337, reported by David Grohmann. + The code expected a node (xmlNodePtr) on the info for a + non-existent default attribute, which clearly cannot be + expected, since the attribute does not exist. I can only + guess that this sneaked trying to eliminate the query + for the owner-element, which is unavoidable actually. + Note that creation of default attributes won't have an + effect if validating via SAX/XMLReader; i.e., the processor + won't fire additional start-attribute events (I'm not even + sure if Libxml2 has such a SAX-event; I think it hands them + all over in the start-element event). + +Tue May 9 21:47:58 CEST 2006 Kasimier Buchcik + + * xmlschemas.c: Fixed bug #341150, reported by Michael Romer. + In xmlSchemaBuildContentModelForSubstGroup(), + xmlAutomataNewOnceTrans2() was incorrectly used instead of + xmlAutomataNewTransition2() to mimic a xs:choice for + substitution-groups. + * test/schemas/subst-group-1_1.xsd + test/schemas/subst-group-1_0.xml + result/schemas/subst-group-1_0_1 + result/schemas/subst-group-1_0_1.err: Added regression test + supplied by Michael Romer for bug #341150. + +Sat May 6 11:05:24 HKT 2006 William M. Brack + + * relaxng.c: Fixed compilation error with patch supplied by + Graham Bennett. + +Thu May 4 19:14:03 CEST 2006 Kasimier Buchcik + + * xmlschemas.c: We'll raise an internal error and stop + validation now when an entity is found in the instance + document, since we don't support automatic entity + substitution by the schema processor (yet?) - + see bug #340316, reported by Nick Wellnhofer. + +Wed May 3 15:16:00 CEST 2006 Daniel Veillard + + * configure.in: applied another Python detection patch from Joseph Sacco + * libxml.spec.in: cleanup the changelog section, asciifies the spec file + too + +Tue May 2 22:34:54 CEST 2006 Daniel Veillard + + * xmlIO.c: fix a mix of code and declarations showing up on Windows + patch from Kjartan Maraas, fixing #340404 + +Tue May 2 14:24:40 CEST 2006 Daniel Veillard + + * encoding.c: fixing bug #340398 xmlCharEncOutFunc writing to + input buffer + +Fri Apr 28 18:29:22 CEST 2006 Daniel Veillard + + * NEWS configure.in doc//*: preparing 2.6.24 release, fixed Python + paths at the last moment + * relaxng.c testapi.c tree.c: fix some comments + +Thu Apr 27 10:15:45 CEST 2006 Daniel Veillard + + * xmlIO.c: applied patch from Roland Schwingel to allow UTF-8 + file paths on Windows + +Thu Apr 27 10:10:58 CEST 2006 Daniel Veillard + + * xmlwriter.c: patch from Jason Viers for line breaks after EndPI + +Tue Apr 25 22:22:58 CEST 2006 Daniel Veillard + + * tree.c: fix compilation without tree + +Tue Apr 25 18:17:37 CEST 2006 Daniel Veillard + + * xmllint.c: applied patch from Gary Coady to really make sure + xmllint --nonet would not reach the network, should fix #337483. + +Tue Apr 25 14:52:15 CEST 2006 Daniel Veillard + + * configure.in: applied patch from Joseph Sacco changing slightly + the python detection scheme should fix bug #338526 + +Mon Apr 24 10:50:19 CEST 2006 Daniel Veillard + + * parser.c: fix the error message for invalid code point in content + c.f. bug #339311 + +Wed Apr 19 13:16:23 CEST 2006 Kasimier Buchcik + + * xmlschemas.c test/schemas/restriction-enum-1* + result/schemas/restriction-enum-1*: Fixed incorrect + validation of restricted enumerations. Added related + regression tests. + +Thu Apr 13 09:47:25 CEST 2006 Daniel Veillard + + * xmlschemas.c: fixing a deallocation problem in xmlSchemaAddSchemaDoc() + in case of errors, should fix bug #338303 + +Thu Apr 13 09:31:45 CEST 2006 Daniel Veillard + + * relaxng.c: fixing a deallocation problem in xmlRelaxNGParse() + in case of errors, should fix bug #338306 + +Thu Apr 6 10:22:17 CEST 2006 Daniel Veillard + + * doc/xmlcatalog.1 doc/xmlcatalog_man.xml doc/xmllint.1 doc/xmllint.xml: + applied man page improvements from Daniel Leidert + +Mon Mar 27 11:44:07 CEST 2006 Daniel Veillard + + * xmlschemas.c: removed unused code or variables, from Stefan Kost + fixing #336163 and #336164 + +Mon Mar 27 11:38:21 CEST 2006 Daniel Veillard + + * xmlschemas.c: applied patch from Stefan Kost fixing #336160 + +Mon Mar 27 11:23:39 CEST 2006 Daniel Veillard + + * chvalid.c genChRanges.py genUnicode.py xmlunicode.c + include/libxml/chvalid.h include/libxml/xmlunicode.h: applied + patches from Aivars Kalvans to make unicode tables const, fixes + bug #336096, this also updates to Unicode 4.01 final with a couple + of character ranges fixes. + +Mon Mar 27 00:51:40 CEST 2006 Daniel Veillard + + * chvalid.c genChRanges.py include/libxml/chvalid.h: fixed bug + #335603 and resync'ed genChRanges.py to the expected output. + +Wed Mar 22 00:14:34 CET 2006 Daniel Veillard + + * xmlregexp.c: applied patch from Youri Golovanov fixing bug + #316338 and adding a couple of optimizations in the regexp + compilation engine. + * test/regexp/bug316338 result/regexp/bug316338: added regression + tests based on the examples provided in the bug report. + +Fri Mar 10 08:40:55 EST 2006 Daniel Veillard + + * c14n.c encoding.c xmlschemas.c xpath.c xpointer.c: fix a few + warning raised by gcc-4.1 and latest changes + +Fri Mar 10 01:34:42 CET 2006 Daniel Veillard + + * runtest.c schematron.c testAutomata.c tree.c valid.c xinclude.c + xmlcatalog.c xmlreader.c xmlregexp.c xpath.c: end of first + pass on coverity reports. + +Thu Mar 9 19:36:14 CET 2006 Daniel Veillard + + * relaxng.c xmlschemas.c xmlschemastypes.c: more cleanups based + on coverity reports. + +Thu Mar 9 17:47:40 CET 2006 Daniel Veillard + + * SAX2.c catalog.c encoding.c entities.c example/gjobread.c + python/libxml.c: more cleanups based on coverity reports. + +Thu Mar 9 15:12:19 CET 2006 Daniel Veillard + + * HTMLparser.c parser.c parserInternals.c pattern.c uri.c: a bunch + of small cleanups based on coverity reports. + +Thu Mar 9 09:42:10 CET 2006 Daniel Veillard + + * win32/Makefile.bcb: added schematron as pointed out by Eric Zurcher + +Tue Mar 7 09:50:09 CET 2006 Daniel Veillard + + * xml2-config.in: fix Red Hat bug #184170 + +Mon Mar 6 14:21:08 CET 2006 Kasimier Buchcik + + * tree.c: Simplified usage of the internal xmlNsMap. Added a + "strict" lookup for namespaces based on a prefix. Fixed a + namespace processing issue in the clone-node function, which + occurred if a @ctxt argument was given. + +Fri Mar 3 17:44:10 CET 2006 Rob Richards + + * valid.c: fix HTML attribute ID checking for input element. + Maintain current attribute "name" behavior for now. + +Thu Mar 2 18:59:50 CET 2006 Kasimier Buchcik + + * tree.c: Bundled lookup of attr-nodes and retrieving their + values into the functions xmlGetPropNodeInternal() and + xmlGetPropNodeValueInternal(). Changed relevant code + to use those functions. + +Mon Feb 27 20:42:04 CET 2006 Daniel Veillard + + * xpath.c: workaround HP-UX compiler bug by Rick Jones + +Mon Feb 27 10:57:05 CET 2006 Daniel Veillard + + * python/libxml2.py: remove a tab, as pointed out on IRC + +Sat Feb 25 18:12:10 CET 2006 Rob Richards + + * tree.c: Fix the add sibling functions when passing attributes. + Modify testing for ID in xmlSetProp. + No longer remove IDness when unlinking or replacing an attribute. + +Fri Feb 24 21:20:33 CET 2006 Daniel Veillard + + * catalog.c: Martin Cole pointed out a bug in xmlCatalogAdd() + if /etc/xml/catalog doesn't exist. + +Thu Feb 23 23:06:18 CET 2006 Daniel Veillard + + * doc//*: updated the Ruby bindings links, and regenerated the + docs. + +Thu Feb 23 09:12:27 CET 2006 Daniel Veillard + + * catalog.c: improve catalog debugging message patch from Rick Jones + +Wed Feb 22 16:09:10 CET 2006 Daniel Veillard + + * python/types.c: Nic Ferrier found debug statement left in the + XPath conversion code + +Tue Feb 21 20:23:14 CET 2006 Daniel Veillard + + * doc/xmllint.1 doc/xmllint.xml: small man page improvements from + Daniel Leidert + +Mon Feb 20 15:45:19 CET 2006 Kasimier Buchcik + + * xmlschemas.c: Fixed a side-effect of the previous XSI bugfix: + The constructor needs a bucket to be assigned during component + fixup. + +Mon Feb 20 14:32:36 CET 2006 Kasimier Buchcik + + * xmlschemas.c xmlschemastypes.c: Fixed xs:boolean to reject + the empty string (reported by Bas Driessen on the mailing-list). + Fixed schema XSI-acquisition and construction: the schemata + (xmlSchema) didn't get the targetNamespace in some cases, thus + the component resolution mechanism failed to work. The XSI + stuff needs to be tested more intensively; think about how + to test this for regression. + +Mon Feb 20 09:57:41 CET 2006 Daniel Veillard + + * doc/xmllint.1 doc/xmllint.xml: more man page improvements from + Daniel Leidert + +Sun Feb 19 22:31:33 CET 2006 Daniel Veillard + + * doc/xmllint.1 doc/xmllint.xml: man page improvements from Daniel + Leidert, c.f. #331290 + +Sun Feb 19 17:54:04 CET 2006 Daniel Veillard + + * xmllint.c: fix an error report when using --path and --valid + closes bug #331290 + +Sun Feb 19 16:20:43 CET 2006 Daniel Veillard + + * relaxng.c: trying to fix #331062, this is again a problem + around interleave, there is no good fix unless reimplementing + but this works around some cases and allow to validate in that + case. + +Wed Feb 15 11:55:22 CET 2006 Kasimier Buchcik + + * tree.c: Fixed bug #328896 reported by Liron. The path + for text- and CDATA-section-nodes was computed incorrectly + in xmlGetNodePath(). + +Sun Feb 12 20:12:22 CET 2006 Daniel Veillard + + * xmlregexp.c: bug fixes for #327167 as well as some cleanups + and more thorough tests on atoms comparisons. + +Thu Feb 9 10:07:20 CET 2006 Daniel Veillard + + * include/wsockcompat.h: patch from Eric Zurcher to compile with + Borland C++ 6 + +Sun Feb 5 04:03:59 CET 2006 Daniel Veillard + + * parser.c: bill pointed out a missing block in xmlParseComment + trying to fill with a normal processing of the given character. + +Sun Feb 5 03:41:39 CET 2006 Daniel Veillard + + * parser.c: fixed the comment streaming bug raised by Graham Bennett + * test/badcomment.xml result//badcomment.xml*: added to the regression + suite. + +Fri Feb 3 17:36:41 CET 2006 Kasimier Buchcik + + * include/libxml/tree.h: Added the xmlDOMWrapCloneNode() to + the header file. + +Fri Feb 3 17:29:22 CET 2006 Kasimier Buchcik + + * tree.c: Added an initial version of xmlDOMWrapCloneNode() to + the API. It will be used to reflect DOM's Node.cloneNode and + Document.importNode methods. + The pros: 1) non-recursive, 2) optimized ns-lookup + (mostly pointer comparison), 3) user defined ns-lookup, + 4) save ns-processing. The function is in an unfinished + and experimental state and should be only used to test it. + +Fri Feb 3 10:42:48 CET 2006 Daniel Veillard + + * uri.c: applied patch from Rob Richards fixing the URI regressions + tests on Windows which seems to indicate bad escaping. + +Thu Feb 2 13:11:26 CET 2006 Kasimier Buchcik + + * tree.c: Fixed some bugs xmlDOMWrapReconcileNamespaces() wrt + the previous addition of the removal of redundant ns-decls. + +Wed Feb 1 17:32:25 CET 2006 Kasimier Buchcik + + * tree.c: Enhanced xmlDOMWrapReconcileNamespaces() to remove + redundant ns-decls if the option XML_DOM_RECONNS_REMOVEREDUND + was given. Note that I haven't moved this option to the + header file yet; so just call this function with an @option + of 1 to test the behaviour. + +Wed Feb 1 12:21:08 CET 2006 Kasimier Buchcik + + * tapi.c win32/Makefile.*: Added changed as proposed on + the mailing list by venkat naidu in order to compile + testapi.c on windows. + +Thu Jan 19 09:57:28 CET 2006 Daniel Veillard + + * configure.in xml2-config.in: trying to fix windows/configure + issues reported by Tim Van Holder + +Wed Jan 18 18:21:15 CET 2006 Daniel Veillard + + * HTMLparser.c libxml.h parser.c: try to fix xmlParseInNodeContext + when operating on an HTML document. + +Mon Jan 9 17:27:15 CET 2006 Kasimier Buchcik + + * relaxng.c include/libxml/relaxng.h: Added + xmlRelaxNGSetParserStructuredErrors() to the API. + +Mon Jan 9 15:33:16 CET 2006 Daniel Veillard + + * parser.c: reverted first patches for #319279 which led to #326295 + and fixed the problem in xmlParseChunk() instead + * test/ent11 result//ent11*: added test for #326295 to the regression + suite + +Thu Jan 5 16:25:06 CET 2006 Daniel Veillard + + * NEWS configure.in libxml.spec.in testapi.c doc/*: upated the news + regenerated the docs, preparing for release of 2.6.23 + * pattern.c xmlschemas.c: fixed some comments + +Thu Jan 5 15:48:27 CET 2006 Kasimier Buchcik + + * test/XPath/docs/nodes test/XPath/tests/nodespat + result/XPath/tests/nodespat: Added regression tests for + the latest XPath/pattern fixes. + +Thu Jan 5 15:43:38 CET 2006 Kasimier Buchcik + + * pattern.c: Another fix to handle "foo//.": "foo" was not + included in the resulting node-set. + +Thu Jan 5 13:22:29 CET 2006 Kasimier Buchcik + + * pattern.c xpath.c include/libxml/pattern.h: + Fixed bug #322928, reported by Erich Schubert: The bug was + in pattern.c, which is used for a tiny subset of xpath + expression which can be evaluated in an optimized way. + The doc-node was never considered when evaluating "//" + expressions. Additionally, we fixed resolution + to nodes of any type in pattern.c; i.e. a "//." didn't work + yet, as it did select only element-nodes. Due to this + issue the pushing of nodes in xpath.c needed to be adjusted + as well. + +Wed Jan 4 18:07:47 CET 2006 Daniel Veillard + + * parser.c: tiny refactoring patch from Bjorn Reese + +Wed Jan 4 15:00:51 CET 2006 Daniel Veillard + + * SAX2.c: fix bug #324432 with + * test/ns7 resul//ns7*: added to the regression tests + +Wed Jan 4 10:53:56 CET 2006 Daniel Veillard + + * include/wsockcompat.h: applied patch from Mark Junker, fixing a + MinGW compilation problem, should close bug #324943 + +Tue Jan 3 11:49:54 CET 2006 Kasimier Buchcik + + * xmlschemas.c: Removed last dependency on the obsolete enum + xmlSchemaValidError. + +Mon Jan 2 11:20:00 CET 2006 Daniel Veillard + + * xmlreader.c include/libxml/xmlreader.h xmlschemas.c: compilation + and doc build fixes from Michael Day + +Wed Dec 28 22:12:34 CET 2005 Daniel Veillard + + * xmlregexp.c: bug in xmlRegExecPushString2() pointed out by + Sreeni Nair. + +Tue Dec 20 16:55:31 CET 2005 Rob Richards + + * tree.c: fix bug #322136 in xmlNodeBufGetContent when entity ref is + a child of an element (fix by Oleksandr Kononenko). + * HTMLtree.c include/libxml/HTMLtree.h: Add htmlDocDumpMemoryFormat. + +Tue Dec 20 11:43:06 CET 2005 Kasimier Buchcik + + * xmlschemas.c xmlstring.c: Fixed a segfault during + text concatenation when validating a node tree: + xmlStrncat was called with a @len of -1; but unlike + xmlStrncatNew, it does not calculate the length + automatically in such a case (reported by Judy Hay + on the mailing list). + Updated the descriptions of the involved string + functions to note this. + +Thu Dec 15 12:11:07 CET 2005 Daniel Veillard + + * nanohttp.c: applied patch from Gary Coady to accept gzipped + http resources. + +Wed Dec 14 18:41:26 CET 2005 Kasimier Buchcik + + * win32/configure.js: Added enable/disable of runtime + debugging (LIBXML_DEBUG_RUNTIME). + +Wed Dec 14 18:11:50 CET 2005 Kasimier Buchcik + + * include/libxml/xmlversion.h.in: Fixed to define + LIBXML_DEBUG_RUNTIME on the basis of @WITH_RUN_DEBUG@. + +Tue Dec 13 12:49:23 CET 2005 Kasimier Buchcik + + * test/schemas/bug321475* result/schemas/bug321475*: + Added regression test for bug #321475 (reported by + Gabor Nagy). Fixing of bug #323510 seemed to have + fixed this bug as well. + +Mon Dec 12 16:19:16 CET 2005 Kasimier Buchcik + + * test/schemas/bug323510* result/schemas/bug323510*: + Added regression test for bug #323510. + +Mon Dec 12 16:11:13 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Workaround for bug #323510 (reported by + Jonathan Filiatrault): substituted the epsilon transition + for a labelled transition, in order to avoid a bug in + xmlregexp.c which eliminated the epsilon transition and + marked the initial state as final. + +Mon Dec 12 14:25:46 CET 2005 Daniel Veillard + + * xmlreader.c: Gary Coady pointed a memory leak in + xmlTextReaderReadInnerXml() applied patch fixing #323864 + +Sat Dec 10 12:08:28 CET 2005 Daniel Veillard + + * HTMLparser.c configure.in parserInternals.c runsuite.c runtest.c + testapi.c xmlschemas.c xmlschemastypes.c xmlstring.c: fixed a number + of warnings shown by HP-UX compiler and reported by Rick Jones + +Fri Dec 9 18:57:31 CET 2005 Rob Richards + + * xmlwriter.c: Insert space between pubid and sysid when both + passed to xmlTextWriterStartDTD and indenting not being used. + Remove no longer used Mem callbacks. + +Fri Dec 9 11:01:16 CET 2005 Kasimier Buchcik + + * runsuite.c: Changed to instantly mark instance-tests as + failed if the corresponding schema was invalid. This + reflects the side of the Python code for the XML Schema test + suite. We now get the same number of failed tests on both + sides. + +Wed Dec 7 14:59:01 CET 2005 Kasimier Buchcik + + * xmlreader.c include/libxml/xmlreader.h: Added + xmlTextReaderSchemaValidateCtxt() to the API. + +Wed Dec 7 12:59:56 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Fixed a segfault: the instance document was + still tried to be validated, if the schema, dynamically + acquired using XSI was invalid, thus mangled. The + validation will stop (or rather won't validate) now in + such a case. The schema parser error code will be set + on the validion context now; this is somehow not nice, + but it assures that the validation context indicates an + error in there was a parser error. + +Tue Dec 6 18:57:23 CET 2005 Daniel Veillard + + * xmlreader.c: small doc patch from Aron Stansvik + * legacy.c: another doc patch for a deprecated API + +Mon Dec 5 16:23:49 CET 2005 Kasimier Buchcik + + * Makefile.am: Tiny change for 'make tests': raised + the number of expected failures for James Clark's + XML Schema datatype tests from 10 to 11. The additional + reported error was agreed to be correct long time ago, + but we missed to adjust the message reported by + the testing script. + +Fri Dec 2 13:51:14 CET 2005 Kasimier Buchcik + + * result/schemas/decimal* result/schemas/bug322411*: + Added missing regression test results for the latest IDC + and xs:decimal bugs. + +Wed Nov 30 12:22:23 CET 2005 Kasimier Buchcik + + * test/schemas/decimal* test/schemas/bug322411*: Added + regression tests for the latest IDC and xs:decimal bugs. + +Wed Nov 30 11:57:35 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Fixed bubbling of duplicate IDC nodes: the + parent's list of duplicates was filled with NULLs instead + of the nodes under certain conditions. This lead to a + segfault when the list's entries were accessed. + +Mon Nov 28 17:28:53 CET 2005 Kasimier Buchcik + + * xmlschemastypes.c: Fixed parsing of xs:decimal to + allow/deny special lexical forms. Fixed the totalDigits + for values in the range (x < 1) && (x > -1) && (x != 0); + E.g "0.123" has now a totalDigits of 3 (was 4 previously). + Adjusted the comparison function for decimals due to this + change. As a side effect comparison against zeroes was + optimized. + +Mon Nov 28 13:25:11 CET 2005 Kasimier Buchcik + + * xmlschemas.c: An assignment to a local variable, which was + used to access the IDC node list, was missing after the + reallocation of the list (reported by Fabrice GUY + bug #322411). Renamed the define ENABLE_IDC_NODE_TABLES + to ENABLE_IDC_NODE_TABLES_TEST and *disabled* it, since + it is used to force bubbling of IDC node tables even + if not necessary; this was intended to be used for test + purposes, but I obviously missed to disable it (although + it apparently helped finding the bug). + +Wed Nov 23 17:34:52 CET 2005 Kasimier Buchcik + + * xmlschemas.c: In xmlSchemaAssembleByXSI() the return value + of xmlSchemaGetMetaAttrInfo() was not assigned to anything; + this caused XSI-driven-dynamic schema acquisition to fail + with @noNamespaceSchemaLocation (reported by Julien Lamy + on the mailing list). + +Tue Nov 22 18:31:34 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Fixed a bug in xmlSchemaFindRedefCompInGraph() + which caused the search for components to stop at the + first encountered attribute group component. + Fixed error report in xmlSchemaCheckSRCRedefineFirst(): the + designation of a not-found component was not reported. + +Mon Nov 21 12:23:28 CET 2005 Daniel Veillard + + * xmlschemastypes.c: Albert Chin found another signed/unsigned problem + in the date and time code raised on IRIX 6.5 + +Fri Nov 18 18:13:38 CET 2005 Kasimier Buchcik + + * xmlschemas.c include/libxml/xmlschemas.h: + Added xmlSchemaSetParserStructuredErrors() to the API. + Fixed channeling of error relevant information to + subsequent parser/validation contexts. + +Thu Nov 17 14:11:43 CET 2005 Daniel Veillard + + * parserInternals.c: removed unreachable code pointed out by + Oleksandr Kononenko, fixes bug #321695 + +Thu Nov 17 08:24:31 CET 2005 Daniel Veillard + + * parser.c: use ctxt->standalone = -2 to indicate that the + XMLDecl was parsed but no standalone attribute was found, + suggested by Michael Day to detect if an XMLDecl was found. + +Tue Nov 15 09:49:24 CET 2005 Daniel Veillard + + * runtest.c: Hisashi Fujinaka pointed that errors in Schemas tests + were not properly reported. + +Sun Nov 13 13:42:41 CET 2005 Daniel Veillard + + * xmlIO.c: applied patch from Geert Jansen to remove xmlBufferClose() + which is not needed. + +Fri Nov 11 13:48:52 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Changed xmlSchemaFormatIDCKeySequence() + to use xmlSchemaGetCanonValueWhtspExt() in order to + correctly report values for xs:anySimpleType. + * test/schemas/idc-keyref-err1* + result/schemas/idc-keyref-err1*: Added a test for this change. + +Wed Nov 9 13:07:24 EST 2005 Rob Richards + + * xmlIO.c xmlwriter.c: function consolidation when writing to xmlBuffer. + Return error condition not len if xmlwriter fails writing to buffer. + +Wed Nov 9 09:54:54 CET 2005 Daniel Veillard + + * xmlsave.c xmlIO.c include/libxml/xmlIO.h include/libxml/xmlsave.h: + applied patch from Geert Jansen to implement the save function to + a xmlBuffer, and a bit of cleanup. + +Mon Nov 7 14:58:39 CET 2005 Kasimier Buchcik + + * xmlschemas.c xmlschemastypes.c: Fixed the type of the + totalDigits value to be positiveInteger. + Fixed crash in an error report function when we gave it + the document node; only element and attribute nodes are + processed now (reported by Rob Richards). + +Tue Nov 1 16:22:29 CET 2005 Daniel Veillard + + * xmlregexp.c: fix bug #319897, problem with counted atoms + when the transition itself is counted too + * result/regexp/hard test/regexp/hard: augmented the regression + tests with the problem exposed. + +Tue Nov 1 11:54:39 CET 2005 Daniel Veillard + + * win32/Makefile.mingw include/win32config.h: applied patch from + Mark Junker to fix compilation with MinGW + +Fri Oct 28 18:36:08 CEST 2005 Daniel Veillard + + * libxml.3: tiny fix from Albert Chin + * runsuite.c runtest.c testapi.c: portability cleanup for arch + needing trio for *printf + +Fri Oct 28 12:21:39 EDT 2005 Rob Richards + + * tree.c: add additional checks to prevent tree corruption. fix problem + copying attribute using xmlDocCopyNode from one document to another. + +Fri Oct 28 17:58:13 CEST 2005 Daniel Veillard + + * config.h.in configure.in vms/config.vms macos/src/config-mac.h: + cleanup from Albert Chin + * doc/Makefile.am: html/index.sgml doesn't exist anymore + +Fri Oct 28 16:53:51 CEST 2005 Daniel Veillard + + * xmlIO.c xmlmodule.c: more portability patches from Albert Chin for + HP-UX and AIX + +Fri Oct 28 10:36:10 CEST 2005 Daniel Veillard + + * xmlmodule.c configure.in: applied 2 patches from Albert Chin for + module portability + +Fri Oct 28 10:24:39 CEST 2005 Daniel Veillard + + * error.c: fixing a portability problem on some old Unices with + patch from Albert Chin + +2005-10-27 Aleksey Sanin + + * c14n.c result/c14n/exc-without-comments/test-2 + test/c14n/exc-without-comments/test-2.xml + test/c14n/exc-without-comments/test-2.xpath: fixing + bug in exc-c14n namespace visibility + test case (bug #319367) + +Thu Oct 27 16:10:31 CEST 2005 Daniel Veillard + + * python/libxml.py: remove warnings to stdout patch from Nic Ferrier + +Thu Oct 27 13:54:52 CEST 2005 Daniel Veillard + + * valid.c xmlregexp.c include/libxml/valid.h + include/libxml/xmlregexp.h: avoid function parameters names 'list' + as this seems to give troubles with VC6 and stl as reported by + Samuel Diaz Garcia. + +Wed Oct 26 10:59:21 CEST 2005 Daniel Veillard + + * parserInternals.c: fix a problem in some error case on Solaris + when passed a NULL filename, pointed by Albert Chin. + +Tue Oct 25 14:34:58 CEST 2005 Daniel Veillard + + * HTMLparser.c: script HTML parser error fix, corrects bug #319715 + * result/HTML/53867* test/HTML/53867.html: added test from Michael Day + to the regression suite + +Tue Oct 25 14:21:11 CEST 2005 Daniel Veillard + + * HTMLparser.c: typo fix from Michael Day + +Mon Oct 24 20:16:23 EDT 2005 Rob Richards + + * tree.c: fix issue adding non-namespaced attributes in xmlAddChild(), + xmlAddNextSibling() and xmlAddPrevSibling() (bug #319108) - part 1. + +Sat Oct 22 10:00:41 HKT 2005 William Brack + + * parser.c: fixed second spot where CRLF split between chunks + could cause trouble (bug #319279) + * gentest.py, testapi.c: fixed two problems involved with + --with-minimum compilation (compilation errors with schematron + and formal expressions tests) + +Fri Oct 21 10:50:14 EDT 2005 Rob Richards + + * xmlsave.c: prevent output of fragment tags when serializing XHTML. + +Wed Oct 19 16:53:47 BST 2005 Daniel Veillard + + * xmlregexp.c: commiting a some fixes and debug done yesterday in + the London airport. + +Thu Oct 20 12:54:23 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Removed creation of a temporary parser context + during validation when processing xsi:type; this previously + added a string to the dict of the schema - to assure thread + safety, we don't want to modify a given schema during + validation. + +Thu Oct 20 17:05:29 HKT 2005 William Brack + + * xmlwriter.c: fixed problem in xmlTextWriterVSprintf caused by + misuse of vsnprintf + * configure.in, config.h.in: added a configuration check for + va_copy and added a define for VA_COPY for xmlwriter.c fix + * parser.c: fixed problem with CRLF split between chunks (bug + #319279) (fix provided by Brion Vibber) + +Wed Oct 19 18:49:52 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Fixed a potential memory leak in + xmlSchemaCheckCSelectorXPath() when an internal error occurs. + Fixed setting of ctxt->err to the given error code in + the parsing error functions. + * pattern.c: Added internal xmlCompileIDCXPathPath() as a + starting point for IDC XPath compilation; this and some other + tiny changes fixes issues regarding whitespace in the + expressions and IDC selector/field relevant restrictions of + the subset of XPath. Fixed a missing blocking of attributes + in xmlStreamPushInternal(). + +Mon Oct 17 15:06:05 EDT 2005 Daniel Veillard + + * runtest.c: removed the error message + * relaxng.c xmlschemas.c: removed 2 instability warnings from function + documentation + * include/libxml/schemasInternals.h: changed warning about API stability + * xmlregexp.c: trying to improve runtime execution of non-deterministic + regexps and automata. Not fully finished but should be way better. + +Mon Oct 17 16:12:02 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Fixed a memory leak in + xmlSchemaContentModelDump(). Added output of local types + in xmlSchemaElementDump(). Tiny cosmetical changes to the + dump output. + +Mon Oct 17 14:29:08 CEST 2005 Kasimier Buchcik + + * tree.c pattern.c: Silenced intel compiler warnings (reported + by Kjartan Maraas, bug #318517). + * xmlschemas.c: The above changes in pattern.c revealed an + inconsistency wrt IDCs: we now _only_ pop XPath states, if + we really pushed them beforehand; this was previously not + checked for the case when we discover an element node to be + invalid wrt the content model. + Fixed segfault in xmlSchemaGetEffectiveValueConstraint(). + +Fri Oct 14 16:40:18 CEST 2005 Kasimier Buchcik + + * result/schemas/*.err: Adapted regression test results. + +Fri Oct 14 16:21:22 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Fixed some identity-constraint issues: + Restructured IDC node-tables + Allowed IDCs to resolve also to nodes of complex type with + simple content. + Added check for keyrefs with references to keyrefs. + IDC target-nodes were interferring with IDC node-tables, + since they used one list of entries only. I separated this + one big list into 3 lists: 1 for IDC node-table entries, + 1 for _duplicates_ of IDC node-table entries and 1 for + IDC target-nodes. More code, but cleaner and it works at last. + Keyrefs will fail to resolve to duplicate key/unique entries. + I thought this was already working this way, but it didn't. + The wording of the definition for [node table] in the spec + can lead to a scenario, where keyrefs resolve perfectly, even + if the relevant key-sequences of the referenced key/unique have + duplicates in the subtree. Currently only Saxon 8.5.1 is + dissallowing resolution to duplicate entries correctly - we + will follow Saxon here. + Removed some intel compiler warnings (reported by + Kjartan Maraas, bug #318517). + * pattern.c: Fixed an IDC-XPath problem when resolving to + attributes. + +Mon Oct 14 01:15:14 CEST 2005 Rob Richards + * nanohttp.c include/wsockcompat.h: applied patch from Kolja Nowak + to use getaddrinfo() if supported in Windows build (bug# 317431). + +Mon Oct 10 15:33:48 CEST 2005 Kasimier Buchcik + + * result/schemas/*: Adapted regression test results. + +Mon Oct 10 15:12:43 CEST 2005 Kasimier Buchcik + + * xmlschemas.c include/libxml/schemasInternals.h + include/libxml/xmlerror.h: Initial implementation for + redefinitions; this still misses checks for restrictions + of the content model of complex types. + Fixed default/fixed values for attributes (looks like they + did not work in the last releases). + Completed constraints for attribute uses. + Separated attribute derivation from attribute constraints. + Completed constraints for attribute group definitions. + Disallowing s of schemas in no target namespace if the + importing schema is a chameleon schema. This contradicts + the way Saxon, Xerces-J, XSV and IBM's SQC works, but the + W3C XML Schema WG, thinks it is correct to disallow such + imports. + Added cos-all-limited constraints. + Restructured reference resolution to model groups and element + declarations. + Misc cleanup. + +Fri Oct 7 04:34:12 CEST 2005 Rob Richards + + * schematron.c xmlregexp.c: remove warnings under Windows. + +Wed Sep 28 23:42:14 CEST 2005 Daniel Veillard + + * parser.c: applied patch from Massimo Morara fixing bug #317447 + about risk of invalid write in xmlStringLenDecodeEntities + +Tue Sep 27 11:20:57 CEST 2005 Daniel Veillard + + * error.c: Adrian Mouat pointed out redundancies in xmlReportError() + +Mon Sep 26 19:18:24 CEST 2005 Daniel Veillard + + * xmlregexp.c: seems a test to avoid duplicate transition is + really needed at all times. Luka Por gave an example hitting + this. Changed back the internal API. + +Thu Sep 22 13:14:07 CEST 2005 Daniel Veillard + + * xmlreader.c: fixing leak in xmlTextReaderReadString() #316924 + +Thu Sep 15 16:12:44 CEST 2005 Daniel Veillard + + * uri.c: more fixes to the behaviour of xmlBuildRelativeURI + +Thu Sep 15 15:08:21 CEST 2005 Daniel Veillard + + * xmlregexp.c: detect combinatory explosion and return with + a runtime error in those case, c.f. #316338 though maybe we + should not see such an explosion with that specific regexp, + more checking needs to be done. + +Wed Sep 14 19:52:18 CEST 2005 Kasimier Buchcik + + * include/libxml/schemasInternals.h: Added some comments for the + struct fields. + +Wed Sep 14 13:24:27 HKT 2005 William Brack + + * uri.c: fixed problem when xmlBuildRelativeURI was given a + blank path (bug 316224) + +Mon Sep 12 23:41:40 CEST 2005 Daniel Veillard + + * NEWS configure.in doc//*: release of 2.6.22 updated doc and + rebuild. + * xmlsave.c include/libxml/xmlsave.h: added XML_SAVE_NO_XHTML + xmlSaveOption + * xmlschemas.c: minor cleanups + +Mon Sep 12 21:42:47 CEST 2005 Kasimier Buchcik + + * test/schemas/import1_0.xsd: And adapting another one. + +Mon Sep 12 21:29:35 CEST 2005 Kasimier Buchcik + + * result/schemas/derivation-ok-extension_0_0: Adapted result. + +Mon Sep 12 21:20:41 CEST 2005 Kasimier Buchcik + + * result/schemas/allsg_0_3.err result/schemas/allsg_0_4.err + result/schemas/changelog093_1_0.err + result/schemas/derivation-ok-extension_0_0.err + result/schemas/import1_0_0.err + result/schemas/derivation-ok-restriction-2-1-1_0_0.err: + Adapted regression results. + +Mon Sep 12 21:00:53 CEST 2005 Kasimier Buchcik + + * xmlschemas.c include/libxml/schemasInternals.h + include/libxml/xmlerror.h: Completion of the schema graph. + Centralisation, more robustness of the schema document + aquisition story. Centralised and restructured component fixup. + Fixed attribute derivation when 'prohibiting' attribute uses. + Added warnings: when schema documents cannot be localized + during imports; when we get duplicate and pointless attribute + prohibitions. Changed error reports for IDCs to report + the relevant IDC designation as well (requested by GUY Fabrice). + Misc code-cleanup. + +Mon Sep 12 16:02:12 CEST 2005 Daniel Veillard + + * xmlsave.c: applied second patch from David Madore to be less intrusive + when handling scripts and style elements in XHTML1 should fix #316041 + * test/xhtml1 result//xhtml1\*: updated the test accordingly + +Mon Sep 12 15:09:09 CEST 2005 Daniel Veillard + + * libxml.spec.in doc/devhelp/*: finished the integration with + devhelp, completing the index and inserted into the gtk-doc + database at "make install" stage + +Mon Sep 12 14:14:12 CEST 2005 Rob Richards + + * include/libxml/xmlsave.h xmlsave.c: add XML_SAVE_NO_EMPTY save option + and use option from xmlSaveCtxtPtr rather than global during output. + * xmlsave.c: fix some output formatting for meta element under XHTML. + +Mon Sep 12 11:12:03 CEST 2005 Daniel Veillard + + * include/libxml/parser.h parser.c xmllint.c: damn XML_FEATURE_UNICODE + clashes with Expat headers rename to XML_WITH_ to fix bug #316053. + * doc/Makefile.am: build devhelp before the examples. + * doc/*: regenerated the API + +Mon Sep 12 02:03:12 CEST 2005 Daniel Veillard + + * xmlsave.c: fix bug #316034, where xmlElemDump() can crash if + given a document pointer instead of an element + +Mon Sep 12 01:26:16 CEST 2005 Daniel Veillard + + * doc/devhelp/devhelp.xsl: improvements on the html generation, + should be complete with navigation, what is left done is glueing + +Mon Sep 12 00:03:27 CEST 2005 Daniel Veillard + + * configure.in doc/Makefile.am doc/apibuild.py doc/libxml2-api.xml + doc/devhelp/*: started work needed to generate devhelp content, + not too hard based on the existing format and extractor. + +Fri Sep 9 12:56:19 CEST 2005 Daniel Veillard + + * parser.c: fixes bug #315617 when using push CDATA in some cases. + +Thu Sep 8 23:39:41 CEST 2005 Daniel Veillard + + * xmllint.c: patch from Stéphane Bidoul to compile without schematron + +Wed Sep 7 00:16:27 CEST 2005 Daniel Veillard + + * debugXML.c: patch from Oleg Paraschenko to fix xmlDebugDumpNode() + when handled a namespace node. + +Sun Sep 4 23:36:45 CEST 2005 Daniel Veillard + + * NEWS elfgcchack.h testapi.c doc/*: updated the docs and rebuild + releasing 2.6.21 + * include/libxml/threads.h threads.c: removed xmlIsThreadsEnabled() + * threads.c include/libxml/threads.h xmllint.c: added the more + generic xmlHasFeature() as suggested by Bjorn Reese, xmllint uses it. + +Sun Sep 4 22:45:49 CEST 2005 Daniel Veillard + + * configure.in doc/* configure.in: prepare for release + * xpath.c: work for #303289, fix a formatting bug for MIN_INT + +Sun Sep 4 15:48:57 CEST 2005 Daniel Veillard + + * relaxng.c: real fix for #314881 and #314759 is was a bit more complex + than initially expected as ctxt->error == NULL had behaviour side + effects at the compilation level itself. + +Sun Sep 4 14:01:00 CEST 2005 Daniel Veillard + + * pattern.c xpath.c include/libxml/pattern.h: fixing yet another + pattern induced XPath bug #314282 + * relaxng.c: reverted back last change it was seriously broken + +Sat Sep 3 16:51:55 CEST 2005 Rob Richards + + * xmlsave.c: check for NULL to prevent crash with meta elements + +Sat Sep 3 16:26:55 CEST 2005 Daniel Veillard + + * relaxng.c: structured error reporting problem with Relax-NG + should fix #314881 and #314759 + +Sat Sep 3 15:42:29 CEST 2005 Daniel Veillard + + * pattern.c: fixes a portability problem raised by C370 on Z/OS + +Sat Sep 3 15:26:31 CEST 2005 Daniel Veillard + + * SAX2.c tree.c valid.c: fixing a number of issues raised by xml:id + but more generally related to attributes and ID handling, fixes + #314358 among other things + +Fri Sep 2 14:26:43 CEST 2005 Daniel Veillard + + * encoding.c parserInternals.c: avoid passing a char[] as snprintf + first argument. + * threads.c include/libxml/threads.h: implemented xmlIsThreadsEnabled() + based on Andrew W. Nosenko idea. + * doc/* elfgcchack.h: regenerated the API + +Thu Sep 1 14:44:42 CEST 2005 Daniel Veillard + + * configure.in: the use of AM_PATH_PYTHON is not portable enough + reverting back to AM_PATH_PROG + +Thu Sep 1 11:42:39 CEST 2005 Daniel Veillard + + * HTMLparser.c: Applied the last patch from Gary Coady for #304637 + changing the behaviour when text nodes are found in body + * result/HTML/*: this changes the output of some tests + +Thu Sep 1 11:22:37 CEST 2005 Daniel Veillard + + * doc/downloads.html doc/xml.html: adding reference to Bull AIX rpms + c.f. #160598 + +Wed Aug 31 11:39:02 CEST 2005 Daniel Veillard + + * xml2-config.in: removed the obsolete --libtool-libs option, c.f. + bug #314853 + +Fri Aug 26 17:33:26 CEST 2005 Rob Richards + + * xmlsave.c: move handling of meta element for http-equiv in XHTML docs + to serialization and no longer modify internal tree. + +Fri Aug 26 00:51:58 CEST 2005 Daniel Veillard + + * libxml.spec.in: the profiling usually don't work, disabled + * doc/*: rebuilt + +Thu Aug 25 23:47:55 CEST 2005 Daniel Veillard + + * configure.in: trying to fix the first part of #310033 by + detecting gcc <= 3.2 + +Thu Aug 25 22:13:37 CEST 2005 Daniel Veillard + + * error.c: fixed bug #310033, the URI extraction code given a + node is a bit twisted and broke in the last months. + +Thu Aug 25 16:18:15 CEST 2005 Daniel Veillard + + * debugXML.c result/XPath/xptr/strrange2: uninitialized field and + fix on test. + +Thu Aug 25 16:03:05 CEST 2005 Daniel Veillard + + * debugXML.c: change verbosity depending on API + * result/XPath/tests/* result/XPath/xptr/* result/xmlid/*: get back + to previous outputs + +Thu Aug 25 15:14:56 CEST 2005 Daniel Veillard + + * HTMLparser.c parser.c SAX2.c debugXML.c tree.c valid.c xmlreader.c + xmllint.c include/libxml/HTMLparser.h include/libxml/parser.h: + added a parser XML_PARSE_COMPACT option to allocate small + text nodes (less than 8 bytes on 32bits, less than 16bytes on 64bits) + directly within the node, various changes to cope with this. + * result/XPath/tests/* result/XPath/xptr/* result/xmlid/*: this + slightly change the output + +Thu Aug 25 12:16:26 CEST 2005 Daniel Veillard + + * configure.in: patch from Andrew W. Nosenko, use se $GCC = 'yes' + instead of $CC = 'gcc' because GCC may have a different name + +Thu Aug 25 00:18:20 CEST 2005 Daniel Veillard + + * configure.in: changes the way the python binary is found, should + also fix bug #308004 + +Wed Aug 24 16:44:41 CEST 2005 Daniel Veillard + + * parser.c: found another bug while looking at #309616 on missing + entities. + * result/ent2.sax* result/ent7.sax* result/xml2.sax*: this changed the + SAX stream in missing conditions for a few tests + +Wed Aug 24 16:19:00 CEST 2005 Daniel Veillard + + * encoding.c: applied the patch suggested #309565 which can avoid + looping in error conditions. + +Wed Aug 24 16:04:17 CEST 2005 Daniel Veillard + + * SAX2.c tree.c: line numbers are now carried by most nodes, fixing + xmlGetLineNo() c.f. bug #309205 + +Wed Aug 24 14:43:34 CEST 2005 Daniel Veillard + + * encoding.c error.c include/libxml/xmlerror.h: finally converted + the encoding module to the common error reporting mechanism + * doc/* doc/html/libxml-xmlerror.html: rebuilt + +Wed Aug 24 11:35:26 CEST 2005 Daniel Veillard + + * xpath.c: removed a potentially uninitialized variable error + * python/generator.py: fixed a deprecation warning + * python/tests/tstLastError.py: silent the damn test when Okay ! + +Wed Aug 24 00:11:16 CEST 2005 Daniel Veillard + + * SAX2.c globals.c runtest.c testC14N.c testapi.c tree.c + include/libxml/SAX2.h include/libxml/xmlregexp.h: fixed compilation + when configured --without-sax1 and other cleanups fixes bug #172683 + * doc/* elfgcchack.h: regenerated + +Tue Aug 23 20:05:05 CEST 2005 Daniel Veillard + + * parser.c: fixed bug #170489 reported by Jirka Kosek + * test/valid/objednavka.xml test/valid/dtds/objednavka.dtd + result/valid/objednavka*: added the test to the regression suite. + +Tue Aug 23 18:04:08 CEST 2005 Daniel Veillard + + * HTMLparser.c include/libxml/HTMLparser.h: added a recovery mode + for the HTML parser based on the suggestions of bug #169834 by + Paul Loberg + +Tue Aug 23 15:38:46 CEST 2005 Daniel Veillard + + * elfgcchack.h testapi.c doc/*: regenerated + * schematron.c: fixed a compilation problem + * xmlregexp.c include/libxml/xmlregexp.h: some cleanups and one bug fix + * result/expr/base: slightly changes the number of Cons. + +Mon Aug 22 23:19:50 CEST 2005 Daniel Veillard + + * elfgcchack.h testapi.c doc/*: rescanned code and rebuilt + * xmlregexp.c: small cleanup + * include/libxml/schematron.h include/libxml/xmlexports.h + include/libxml/xmlversion.h.in: cleanup problems from code scanner + +Mon Aug 22 18:00:18 CEST 2005 Daniel Veillard + + * xmlschemastypes.c: applied patch from Kuba Nowakowski fixing bug + #313982 + * result/schemas/bug313982* test/schemas/bug313982*: also added + the test case to the regression suite. + +Mon Aug 22 17:50:20 CEST 2005 Daniel Veillard + + * testRegexp.c: printed the wrong string + +Mon Aug 22 16:42:07 CEST 2005 Daniel Veillard + + * testRegexp.c xmlregexp.c include/libxml/xmlregexp.h: exported + xmlExpExpDerive(), added it to the testRegexp command line + tool when providing multiple expressions. + +Mon Aug 22 14:57:13 CEST 2005 Daniel Veillard + + * Makefile.am result/expr/base test/expr/base: added the first + regression test suite set for the new expression support + +Mon Aug 22 13:49:18 CEST 2005 Daniel Veillard + + * valid.c: fixed an uninitialized variable + * xmlregexp.c include/libxml/xmlregexp.h: extended the API to + add the parser, serializer and some debugging + * include/libxml/xmlversion.h.in: made the new support compiled + by default if Schemas is included + * testRegexp.c: cleanup and integration of the first part of the + new code with a special switch + * xmllint.c: show up Expr in --version if compiled in + * include/libxml/tree.h: moved the xmlBuffer definition up + +Mon Aug 22 12:11:10 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Some preparation for the creation of a graph + of imported/included/redefined schemas; this is needed for + at least the redefinitions. + Centralized the creation of the parser context in one function. + +Mon Aug 22 02:19:33 CEST 2005 Daniel Veillard + + * xmlregexp.c include/libxml/xmlregexp.h: pushing the formal expression + handling code to have it in CVs from now. Not plugged, and misses + APIs it's not compiled in yet. + +Sat Aug 20 23:13:27 CEST 2005 Daniel Veillard + + * xmlreader.c: applied another patch from Rob Richards to fix + xmlTextReaderGetAttributeNs and xmlTextReaderMoveToAttributeNs + +Wed Aug 17 09:06:33 CEST 2005 Daniel Veillard + + * xmlreader.c: applied patch from Rob Richards to fix + xmlTextReaderGetAttribute behaviour with namespace declarations + +Fri Aug 12 14:12:56 CEST 2005 Kasimier Buchcik + + * xmlschemas.c include/libxml/xmlerror.h: + Changed output for keyref-match errors; the target-node will + be now reported rather than the scope-node of the keyref + definition - allowing easier chasing of instance errors. + This was reported by Guy Fabrice to the mailing list. + Some initial parsing code for schema redefinitions. + * result/schemas/bug303566_1_1.err + result/schemas/bug312957_1_0.err: Adapted test results due + to the keyref changes. + +Fri Aug 12 12:17:52 CEST 2005 Daniel Veillard + + * valid.c: applied patch from Derek Poon fixing bug #310692 + +Wed Aug 10 23:39:02 CEST 2005 Daniel Veillard + + * xmlschemas.c: fix for bug #312945 as pointed by Dean Hill, the + context type was not always properly initialized. + +Wed Aug 10 18:21:41 CEST 2005 Daniel Veillard + + * relaxng.c: fixed bug #307377 about validation of choices in + list values. + * test/relaxng/307377* result/relaxng/307377* Makefile.am runtest.c: + added examples to the regression tests, problem is that streaming + version gives slightly more informations. + +Wed Aug 10 15:25:53 CEST 2005 Daniel Veillard + + * xinclude.c: fixed bug #302302, nasty but the fix is rather simple. + +Wed Aug 10 11:59:46 CEST 2005 Kasimier Buchcik + + * result/schemas/any6_1_0*: Added missing test results. + +Tue Aug 9 23:37:22 CEST 2005 Daniel Veillard + + * xmlregexp.c: fixed a determinism detection problem exposed by + ##other tests commited by Kasimier, also added a small speedup + of determinism detection. + * test/results/any6_2_0* any8_1_0* any7_1_2* any7_2_2*: added + the results to the regression tests now + +Tue Aug 9 15:54:09 CEST 2005 Kasimier Buchcik + + * test/schemas/any7_2.xml test/schemas/any6_2.xsd + test/schemas/any8_1.xsd test/schemas/any8_0.xml: + Added some more tests for element wildcards. + +Tue Aug 9 14:22:47 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Fixed #312957 reported by Carol Hunter: + streaming XPath states were not popped in every case, + thus failed to resolve correctly for subsequent input. + * test/schemas/bug312957* result/schemas/bug312957*: + Added the test submitted by Carol Hunter. + +Tue Aug 9 13:07:27 CEST 2005 Daniel Veillard + + * xmlregexp.c xmlschemas.c: trying to nail down the remaining + ##other issues + * result/schemas/any7* test/schemas/any7: completed the tests + and added the results + * result/schemas/any3_0_0.err result/schemas/any5_0_0.err + result/schemas/any5_1_0.err: this slightly chnages the output + from 3 existing tests + +Mon Aug 8 22:33:08 CEST 2005 Daniel Veillard + + * nanoftp.c nanohttp.c xmlschemastypes.c: applied patch from + Marcus Boerger to remove warnings on Windows. + +Mon Aug 8 16:43:04 CEST 2005 Daniel Veillard + + * xmlsave.c include/libxml/xmlsave.h: fixed #145092 by adding + an xmlSaveOption to omit XML declaration + +Mon Aug 8 15:44:54 CEST 2005 Daniel Veillard + + * HTMLtree.c: fixed bug #310333 with a patch close to the provided + patch for HTML UTF-8 serialization + * result/HTML/script2.html: this changed the output of that test + +Mon Aug 8 15:01:51 CEST 2005 Daniel Veillard + + * xmlregexp.c: fixed bug #310264, basically it's about reentrancy + of count based transition, when going though the counter must + be reset to 0 + * test/schemas/bug310264* result/schemas/bug310264*: added the + regression test. + +Mon Aug 8 14:40:52 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Fixed a memory leak: xmlSchemaFreeAnnot() was + only freeing the first annotation in the list. + +Mon Aug 8 09:44:34 CEST 2005 Daniel Veillard + + * xmlreader.c: applied patch from Rob Richards fixing + xmlTextReaderGetAttribute + +Mon Aug 8 01:41:53 CEST 2005 Daniel Veillard + + * HTMLparser.c: fixed an uninitialized memory access spotted by + valgrind + +Sun Aug 7 12:39:35 CEST 2005 Daniel Veillard + + * test/relaxng/docbook_0.xml: get rid of the dependancy on a locally + installed DTD + * uri.c include/libxml/uri.h xmlIO.c nanoftp.c nanohttp.c: try to + cleanup the Path/URI conversion mess, needed fixing in various + layers and a new API to the uri module which also fixes #306861 + * runtest.c: integrated a regression test specific to check the + URI conversions done before calling the I/O handlers. + +Sat Aug 6 11:06:24 CEST 2005 Daniel Veillard + + * doc/XSLT.html doc/xml.html: small doc fix for #312647 + +Tue Aug 2 13:26:42 CEST 2005 Daniel Veillard + + * win32/configure.js: applied patch from Rob Richards to allow + disabling modules in win32, fixes #304071 + +Mon Aug 1 07:18:53 CEST 2005 Daniel Veillard + + * python/libxml.c: applied fix from Jakub Piotr Clapa for + xmlAttr.parent(), closing #312181 + +Sun Jul 31 18:48:55 CEST 2005 Daniel Veillard + + * schematron.c: report improvement + * test/schematron/zvon* result/schematron/zvon*: more tests + +Sun Jul 31 16:02:59 CEST 2005 Daniel Veillard + + * win32/Makefile.msvc win32/configure.js: applied patch from Rob + Richards to add schematron to the build on Windows + * test/schematron/zvon3* result/schematron/zvon3*: second test + * test/schematron/zvon10* result/schematron/zvon10*: this is the + real second test 10 and 2 are swapped. + +Sun Jul 31 15:42:31 CEST 2005 Daniel Veillard + + * schematron.c: more bug fixes, improve the error reporting. + * test/schematron/zvon2* result/schematron/zvon2*: second test + +Sun Jul 31 14:15:31 CEST 2005 Daniel Veillard + + * schematron.c xmllint.c: fixing the loop bug, fixing schematron + text error rendering + * Makefile.am result/schematron/* test/schematron/zvon1*.sct: + started integrating within "make tests" + +Sat Jul 30 17:26:58 EDT 2005 Daniel Veillard + + * test/schematron/*: a few first tests from Zvon unfortunately + with the old syntax + +Sat Jul 30 17:08:07 EDT 2005 Daniel Veillard + + * schematron.c xmllint.c include/libxml/schematron.h: commiting + work done on the plane last week-end + +Sat Jul 30 15:16:29 CEST 2005 Daniel Veillard + + * runtest.c: allows an extra argument to subset the tests + * xmlregexp.c: big speedup for validation, basically avoided + transition creation explosion when removing epsilon transition + +Sat Jul 30 00:00:46 CEST 2005 Daniel Veillard + + * Makefile.am globals.c parserInternals.c xmlreader.c xmlunicode.c + xmlwriter.c: more cleanups based on sparse reports, added + "make sparse" + +Fri Jul 29 12:11:25 CEST 2005 Daniel Veillard + + * python/libxml.c: don't output any message on failed resolver lookups, + better done by the python user provided resolver layer. + +Fri Jul 29 01:48:02 CEST 2005 Daniel Veillard + + * HTMLparser.c SAX2.c encoding.c globals.c parser.c relaxng.c + runsuite.c runtest.c schematron.c testHTML.c testReader.c + testRegexp.c testSAX.c testThreads.c valid.c xinclude.c xmlIO.c + xmllint.c xmlmodule.c xmlschemas.c xpath.c xpointer.c: a lot of + small cleanups based on Linus' sparse check output. + +Thu Jul 28 21:28:33 CEST 2005 Daniel Veillard + + * include/libxml/Makefile.am: added schematron.h, oops ... + +Thu Jul 28 02:38:21 CEST 2005 Kasimier Buchcik + + * xmlschemastypes.c: Added creation of the content type of + xs:anyType. This is needed when trying to extend xs:anyType + (although it makes no sense to extend it; IMHO the schema + people should have ruled this out). This was reported + by Yong Chen to the mailing list. + * xmlschemas.c: Fixed handling of xs:anyType in + xmlSchemaCheckCOSCTExtends() (reported by Young Chen). Tiny + adjustment to an error report output. + * test/schemas/extension2* result/schemas/extension2*: + Added a test case provided by Young Chen. + +Mon Jul 25 11:41:18 PDT 2005 William Brack + + * uri.c: enhanced xmlBuildRelativeURI to allow the URI and the + base to be in "relative" form + +Sun Jul 24 10:25:41 EDT 2005 Daniel Veillard + + * schematron.c xmllint.c: started adding schematron to the xmllint + tool, the report infrastructure is gonna be fun. + +Sat Jul 23 23:23:51 CEST 2005 Kasimier Buchcik + + * test/schemas/any6* test/schemas/any7*: Added regression tests + (they fail currently), but did not added results yet. + +Sat Jul 23 23:07:05 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Removed the workaround code in + xmlSchemaValidateElemWildcard() for the wildcard + with namespace == ##other. Support for such wildcards was + implemented by Daniel at the automaton level recently, and + the workaround code iterfered with it. + +Sat Jul 23 10:55:50 EDT 2005 Daniel Veillard + + * pattern.c include/libxml/pattern.h: changed xmlPatterncompile + signature to pass an int and not an enum since it can generate + ABI compat troubles. + * include/libxml/schematron.h schematron.c: adding the new + schematron code, work in progress lots to be left and needing + testing + * include/libxml/xmlversion.h.in include/libxml/xmlwin32version.h.in + Makefile.am configure.in: integration of schematron into the + build + * xpath.c include/libxml/xpath.h: adding flags to control compilation + options right now just XML_XPATH_CHECKNS. + +Sat Jul 23 16:39:35 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Removed an "internal error" message from + xmlSchemaBuildAContentModel() when an empty model group + definition is hit. + +Sat Jul 23 00:34:07 CEST 2005 Kasimier Buchcik + + * pattern.c: Changed xmlCompileStepPattern() and + xmlCompileAttributeTest() to handle the "xml" prefix without + caring if the XML namespace was supplied by the user. + +Fri Jul 22 00:08:43 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Fixed xmlSchemaPSimpleTypeErr(), which did not + output the given string arguments correctly. + +Thu Jul 21 09:21:00 EDT 2005 Daniel Veillard + + * error.c globals.c parser.c runtest.c testHTML.c testSAX.c + threads.c valid.c xmllint.c xmlreader.c xmlschemas.c xmlstring.c + xmlwriter.c include/libxml/parser.h include/libxml/relaxng.h + include/libxml/valid.h include/libxml/xmlIO.h + include/libxml/xmlerror.h include/libxml/xmlexports.h + include/libxml/xmlschemas.h: applied a patch from Marcus Boerger + to fix problems with calling conventions on Windows this should + fix #309757 + +Wed Jul 20 14:45:39 CEST 2005 Daniel Veillard + + * parser.c: an optimization of the char data inner loop, + can gain up to 10% in pure SAX2 parsing speed + * xmlschemas.c: applied patch from Kupriyanov Anatolij fixing + a bug in XML Schemas facet comparison #310893 + +Tue Jul 19 17:27:26 CEST 2005 Daniel Veillard + + * xmlregexp.c xmlschemas.c: fixed the error reporting for + not transitions + * result/schemas/any5_0_0* result/schemas/any5_0_2* + result/schemas/any5_1_0*: fixed output + +Tue Jul 19 15:34:12 CEST 2005 Daniel Veillard + + * xmlregexp.c xmlschemas.c include/libxml/xmlautomata.h: fixing + bug #172215 about foreign namespaces by adding support for + negated string transitions. Error messages still need to be + improved. + * test/schemas/any5* result/schemas/any5*: adding regression + tests for this. + +Tue Jul 19 12:33:31 CEST 2005 Daniel Veillard + + * tree.c: applied patch from Alexander Pohoyda fixing xmlGetNodePath + on namespaced attributes #310417. + +Mon Jul 18 23:01:15 CEST 2005 Daniel Veillard + + * doc/xmllint.1 doc/xmllint.html doc/xmllint.xml: --nonet was + ducplicated + +Mon Jul 18 20:49:28 CEST 2005 Daniel Veillard + + * xmlschemas.c: fixed xsd:all when used in conjunction with + substitution groups + * test/schemas/allsg_* result/schemas/allsg_*: adding specific + regression tests, strangely missing from NIST/Sun/Microsoft + testsuites + +Sun Jul 17 07:11:27 CEST 2005 Daniel Veillard + + * xmlschemas.c: fixed bug #307508, a bad automata was built but + this showed as an indeterminist result + +Thu Jul 14 17:53:02 CEST 2005 Daniel Veillard + + * xmlschemastypes.c: found the last bug raised by NIST tests in + comparing base64 strings, result from runsuite: + ## NIST test suite for Schemas version NIST2004-01-14 + Ran 23170 tests (3953 schemata), no errors + +Thu Jul 14 14:57:36 CEST 2005 Daniel Veillard + + * testRegexp.c: fixed where xmlMemoryDump() should be called. + * xmlregexp.c: fixed handling of {0}, \n, \r and \t, two bugs + affecting NIST regression tests + +Thu Jul 14 11:30:24 CEST 2005 Daniel Veillard + + * configure.in: applied a patch from Gerrit P. Haase to add + module support on cygwin + +Thu Jul 14 10:56:42 CEST 2005 Daniel Veillard + + * HTMLparser.c: fixed a potential buffer overrun error introduced + on last commit to htmlParseScript() c.f. #310229 + +Thu Jul 14 23:48:17 PDT 2005 William Brack + + * xpath.c: Changed the behaviour of xmlXPathEqualNodeSetFloat to + return TRUE if a nodeset with a numeric value of NaN is compared + for inequality with any numeric value (bug 309914). + +Thu Jul 14 01:03:03 CEST 2005 Daniel Veillard + + * error.c relaxng.c xmlreader.c xmlschemas.c include/libxml/relaxng.h + include/libxml/xmlschemas.h: applied patch from Marcus Boerger + to route relaxng and schemas error messages when using the reader + through the structured interface if activated. + * elfgcchack.h doc/* testapi.c: rebuilt since this add new APIs + to test. + +Wed Jul 13 18:35:47 CEST 2005 Daniel Veillard + + * HTMLparser.c: applied UTF-8 script parsing bug #310229 fix from + Jiri Netolicky + * result/HTML/script2.html* test/HTML/script2.html: added the test + case from the regression suite + +Tue Jul 12 17:08:11 CEST 2005 Daniel Veillard + + * nanohttp.c: fixed bug #310105 with http_proxy environments with + patch provided by Peter Breitenlohner + +Mon Jul 11 00:28:10 CEST 2005 Daniel Veillard + + * Makefile.am NEWS configure.in doc/*: preparing release 2.6.20 + * xmllint.c: removed a compilation problem + +Sun Jul 10 23:33:41 CEST 2005 Daniel Veillard + + * xstc/Makefile.am README README.tests Makefile.tests Makefile.am: + preparing to make testsuite releases along with code source releases + * gentest.py testapi.c: fixed a couple of problem introduced by + the new Schemas support for Readers + * xpath.c: fixed the XPath attribute:: bug #309580, #309864 in a crude + but simple way. + * xmlschemas.c include/libxml/tree.h: fixed a couple of problems + raised by the doc builder. + * doc/*: made rebuild + +Sun Jul 10 21:51:16 CEST 2005 Daniel Veillard + + * xmlschemas.c: fixed a bug introduced on last commit + +Sun Jul 10 21:00:54 CEST 2005 Daniel Veillard + + * doc/xmllint.1 doc/xmllint.html doc/xmllint.xml: fixed a typo + pointed by Jeroen Ruigrok + * include/libxml/xmlreader.h include/libxml/xmlschemas.h: increased + the APIs for xmlReader schemas validation support + * xmllint.c xmlreader.c xmlschemas.c: xmlReader schemas validation + implementation and testing as xmllint --stream --schema ... + +Sun Jul 10 16:11:26 CEST 2005 Daniel Veillard + + * include/libxml/xmlwin32version.h.in: try to avoid conflicts. + +Sat Jul 9 19:29:10 CEST 2005 Daniel Veillard + + * parser.c: fix for #309761 from Dylan Shell + * xmlschemas.c include/libxml/xmlschemas.h: added xmlSchemaSAXPlug + and xmlSchemaSAXUnplug generic APIs for SAX Schemas validation. + * xmllint.c: couple of fixes plus added descriptions for --sax and + --sax1 + +Fri Jul 8 23:35:00 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Added c-props-correct constraint to check + for equal cardinality of keyref/key. + * include/libxml/xmlerror.h: Added an error code. + +Fri Jul 8 21:56:04 CEST 2005 Kasimier Buchcik + + * pattern.c: Fixed evaluation of attributes. Actually only + attribute at the first level were evaluated (e.g. "@attr"); + expression like "foo/@attr" always failed. + +Fri Jul 8 20:04:29 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: tiny fix in xmlSchemaValidateStream() if a + user-provided SAX handler is given. + +Fri Jul 8 19:25:26 CEST 2005 Daniel Veillard + + * parser.c: fix some potential leaks in error cases. + * xmllint.c: added --sax, to allow testing of --schemas --sax and + various other combinations. + * xmlschemas.c: fix a couple of tiny problems in + xmlSchemaValidateStream() + +Fri Jul 8 18:34:22 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Changed xmlSchemaValidateFile() to use + xmlSchemaValidateStream() internally. + +Fri Jul 8 17:02:14 CEST 2005 Daniel Veillard + + * test/relaxng/docbook_0.xml: added the missing entity to the + document internal subset to avoid errors if the DocBook catalogs + are not there + * xmlschemas.c: first cut at implementing xmlSchemaValidateStream() + untested yet + +Wed Jul 6 15:45:48 PDT 2005 William Brack + + * parser.c: fixed problem with free on dupl attribute in + dtd (bug309637). + * test/errors/attr3.xml, result/errors/attr3.*: added + regression test for this + +Wed Jul 6 13:11:35 PDT 2005 William Brack + + * win32/Makefile.msvc: try again to fix file format for Windows + +Wed Jul 6 12:20:13 PDT 2005 William Brack + + * win32/Makefile.msvc: removed spurious ^M + * runtest.c: added check for option O_BINARY + * test/schemas/bug309338*, result/schemas/bug309338*: changed + sticky tag to 'binary' + +Wed Jul 6 10:38:02 PDT 2005 William Brack + + * debugXML.c: excluded content string check for XML_ELEMENT_DECL + in xmlCtxtGenericNodeCheck + * runtest.c: changed "open" calls to include O_BINARY for Windows + +Wed Jul 6 17:14:03 CEST 2005 Daniel Veillard + + * parser.c: fixing bug #166777 (and #169838), it was an heuristic + in areBlanks which failed. + * result/winblanks.xml* result/noent/winblanks.xml test/winblanks.xml: + added the input file to the regression tests + +Wed Jul 6 13:40:22 CEST 2005 Kasimier Buchcik + + * xmlschemastypes.c: Fixed bug #309338, reported by Kupriyanov + Anotolij. + * test/schemas/bug309338* result/schemas/bug309338*: + Added a regression test for the above bug. + +Tue Jul 5 16:03:05 CEST 2005 Daniel Veillard + + * Makefile.am: first steps toward a testsuite dist + * SAX2.c include/libxml/xmlerror.h: fixed bug #307870 + +Tue Jul 5 12:38:36 CEST 2005 Kasimier Buchcik + + * runsuite.c runtest.c: Tiny portability adjustment for win. + * win32/Makefile.*: Added runtest.exe and runsuite.exe to + be created. + +Mon Jul 4 17:44:26 CEST 2005 Daniel Veillard + + * runsuite.c: first stb at unimplemnted detection + * runtest.c: fixing Windows code + +Mon Jul 4 17:19:31 CEST 2005 Daniel Veillard + + * runsuite.c: fix on schemas error + * runtest.c: portability glob() on Windows + +Mon Jul 4 16:23:54 CEST 2005 Daniel Veillard + + * runsuite.c runtest.c: cleanups, logfile and portability + * xmllint.c: fixed a memory leak + +Mon Jul 4 13:11:12 CEST 2005 Daniel Veillard + + * parser.c: fixed a bug failing to detect UTF-8 violations in + CData in push mode. + * result/errors/cdata.xml* test/errors/cdata.xml: added the test + to the regressions + +Mon Jul 4 11:26:57 CEST 2005 Daniel Veillard + + * debugXML.c: added enhancement for #309057 in xmllint shell + +Mon Jul 4 00:58:44 CEST 2005 Daniel Veillard + + * HTMLparser.c: applied patch from James Bursa fixing an html parsing + bug in push mode + * result/HTML/repeat.html* test/HTML/repeat.html: added the test to the + regression suite + +Sun Jul 3 23:42:31 CEST 2005 Daniel Veillard + + * testapi.c tree.c: fixing a leak detected by testapi in + xmlDOMWrapAdoptNode, and fixing another side effect in testapi + seems to pass tests fine now. + * include/libxml/parser.h parser.c: xmlStopParser() is no more limited + to push mode + * error.c: remove a warning + * runtest.c xmllint.c: avoid compilation errors if only some parts + of the library are compiled in. + +Mon Jul 4 00:39:35 CEST 2005 Daniel Veillard + + * gentest.py testapi.c: fix a problem with previous patch to + testapi.c + +Sun Jul 3 22:59:28 CEST 2005 Daniel Veillard + + * runsuite.c runtest.c tree.c: fixing compilations when + disabling parts of the library at configure time. + +Sun Jul 3 18:17:58 CEST 2005 Daniel Veillard + + * parserInternals.c: fix bug raised by zamez on IRC + * testapi.c: regenerated, seems to pop-up leaks in new tree functions + * tree.c: added comments missing. + * doc/*: regenerated + +Sun Jul 3 18:06:55 CEST 2005 Daniel Veillard + + * testapi.c runsuite.c runtest.c: fixing #307823 and a couple of + assorted bugs + * python/generator.py python/libxml2-python-api.xml: fixed + conditionals in generator too + * doc/apibuild.py doc/libxml2-api.xml doc/* elfgcchack.h: some + cleanups too and rebuilt + +Sun Jul 3 16:42:00 CEST 2005 Daniel Veillard + + * xmlIO.c: fixed bug #307503 misplaced #ifdef + +Sun Jul 3 16:34:47 CEST 2005 Daniel Veillard + + * runsuite.c: expanded test + * xmlregexp.c: found and fixed the leak exposed by Microsoft regtests + +Sat Jul 2 23:38:24 CEST 2005 Daniel Veillard + + * runsuite.c: a bit of progresses on xstc + +Sat Jul 2 09:30:13 CEST 2005 Daniel Veillard + + * runsuite.c: completed the simple checks for Relax-NG suites + back to the same 11 errors as in the Python runs. + +Thu Jun 30 15:01:52 CEST 2005 Daniel Veillard + + * runtest.c: complete, checking on other platforms is needed + * README: updated + * debugXML.c: fix a bug raised by bill on IRC + * relaxng.c: fix a leak in weird circumstances + * runsuite.c Makefile.am: standalone test tool against + the regression suites, work in progress + +Tue Jun 28 08:30:26 CEST 2005 Daniel Veillard + + * runtest.c: adding URI tests + +Mon Jun 27 23:55:56 CEST 2005 Daniel Veillard + + * runtest.c: adding xml:id + +Mon Jun 27 23:29:36 CEST 2005 Daniel Veillard + + * runtest.c: finishing XPath, adding XPointer + +Mon Jun 27 17:39:27 CEST 2005 Daniel Veillard + + * runtest.c: adding more coverage, XInclude and starting XPath + +Mon Jun 27 17:02:14 CEST 2005 Kasimier Buchcik + + * tree.c include/libxml/tree.h: Added allocation/deallocation + functions for the DOM-wrapper context. + +Mon Jun 27 15:41:30 CEST 2005 Kasimier Buchcik + + * tree.c: Commented the new functions to be experimental. + +Mon Jun 27 14:41:14 CEST 2005 Daniel Veillard + + * error.c valid.c: working some weird error reporting problem for + DTD validation. + * runtest.c: augmented with DTD validation tests + * result/VC/OneID*: slight change in validation output. + +Mon Jun 27 13:44:41 CEST 2005 Daniel Veillard + + * runtest.c: added most HTML tests + +Mon Jun 27 14:06:10 CEST 2005 Kasimier Buchcik + + * test/namespaces/reconcile/tests.xml + test/namespaces/reconcile/tests-to-c.xsl: Added initial tests + for some new DOM-wrapper helping functions. + +Mon Jun 27 14:01:06 CEST 2005 Kasimier Buchcik + + * xstc/xstc-to-python.xsl: Cleanup. + * xstc/sun-test-def.xml xstc/nist-test-def.xml xstc/ms-test-def.xml: + Removed, those are not needed anymore due to the new test suite. + +Mon Jun 27 11:39:50 CEST 2005 Daniel Veillard + + * result/*.sax2 MAkefile.am: added SAXv2 regression tests apparently + missing. + * runtest.c: added SAX1/SAX2 checks. + +Mon Jun 27 12:24:54 CEST 2005 Kasimier Buchcik + + * tree.c include/libxml/tree.h: Added + xmlDOMWrapReconcileNamespaces(), xmlDOMWrapAdoptNode() and + xmlDOMWrapRemoveNode() to the API. These are functions intended + to be used with DOM-wrappers. + +Mon Jun 27 10:14:57 CEST 2005 Daniel Veillard + + * runtest.c: continue to increase the tests + +Mon Jun 27 09:21:49 CEST 2005 Daniel Veillard + + * runtest.c: continue to increase the tests + +Mon Jun 27 01:01:32 CEST 2005 Daniel Veillard + + * runtest.c: continue to increase the tests + +Sun Jun 26 20:08:24 CEST 2005 Daniel Veillard + + * include/libxml/valid.h valid.c: avoid name glob in agruments as + it matches the glob() routine. + * runtest.c Makefile.am: first steps toward a C regression test + framework. + +Sat Jun 25 01:37:22 PDT 2005 William Brack + + * configure.in: fixed a problem with the detection of + ss_family for ipV6, as reported on the mailing list by + Doug Orleans. + +Tue Jun 21 10:44:34 CEST 2005 Kasimier Buchcik + + * test/schemas/empty-value* result/schemas/empty-value*: + Added regression tests (from Dhyanesh). + +Tue Jun 21 10:35:43 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Fixed NULL values to be validated as empty + string values (reported by Dhyanesh to the mailing list). + Adjusted text concatenation of mixed content. + +Mon Jun 20 18:11:32 CEST 2005 Daniel Veillard + + * tree.c valid.c: applied patch from Rob Richards for removal + of ID (and xml:id) + * xmlreader.c: applied patch from James Wert implementing + xmlTextReaderReadInnerXml and xmlTextReaderReadOuterXml + +Thu Jun 16 14:38:22 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Fixed SAX2 validation: grow of internal + namespace list, appending of element character content. + * xstc/xstc.py: Added "--sax" option for SAX2 validation. + +Wed Jun 15 15:34:52 CEST 2005 Kasimier Buchcik + + * xmlschemastypes.c: Added missing function descriptions. + +Wed Jun 15 15:26:14 CEST 2005 Daniel Veillard + + * xmllint.c: if sax1 is used and input is a file use the old + API xmlParseFile() + * xmlschemas.c: cleanups + * doc/* testapi.c elfgcchack.h: rebuilt to add python bindings + for the new functions in Schemas. + +Wed Jun 15 14:50:48 CEST 2005 Kasimier Buchcik + + * xmlschemas.c include/libxml/xmlschemas.h: Added + xmlSchemaValidateFile() to the public API. This will use + SAX2-driven validation. + +Wed Jun 15 11:11:38 CEST 2005 Kasimier Buchcik + + * result/schemas/bug306806_1_0 result/schemas/bug306806_1_0.err: + Added schema test results (Tom Browder, bug #306806). + +Wed Jun 15 11:08:34 CEST 2005 Kasimier Buchcik + + * test/schemas/bug306806_1.xsd test/schemas/bug306806_0.xml: + Added schema tests submitted by Tom Browder (bug #306806). + +Tue Jun 14 15:03:22 PDT 2005 William Brack + + * pattern.c: adjusted last change to xmlCompilePathPattern, + fixed one compilation warning + +Tue Jun 14 21:19:16 CEST 2005 Kasimier Buchcik + + * pattern.c: Some changes/fixes to the streaming evaluation. + * xmlschemas.c: A bit of support for parsing the schema for + schema. Fixed attribute derivation when the use is + "prohibited" and was "optional". Fixed an attribute construction + bug, a left-over from the time, where , + , etc. where created as structs. + +Tue Jun 14 12:35:12 CEST 2005 Daniel Veillard + + * libxml-2.0.pc.in: removed a redundant include path + +Mon Jun 13 14:58:33 CEST 2005 Kasimier Buchcik + + * xstc/Makefile.am: Some more adjustments. + +Mon Jun 13 14:35:59 CEST 2005 Kasimier Buchcik + + * xstc/Makefile.am: Changed test extraction process, since some + boxes don't know about "tar --strip-path". + +Mon Jun 13 13:39:43 CEST 2005 Daniel Veillard + + * relaxng.c: fixed a bug exposed by Rob Richards in the mailing-list + * result//compare0* test//compare0*: added the regression test in + the suite as this went unnoticed ! + +Wed Jun 9 11:07:42 PDT 2005 William Brack + + * pattern.c, xpath.c, include/libxml/pattern.h: Further + enhancement for XPath streaming, consolidated with + schemas usage of pattern.c. Added a new enum + xmlPatternFlags. + * doc/*, testapi.c, elfgcchack.h: updated to reflect new + enum. + * test/XPath/tests/mixedpat, test/XPath/docs/mixed, + result/XPath/mixedpat: added regression test for problems + reported in bug306348 + +Thu Jun 9 16:51:31 CEST 2005 Kasimier Buchcik + + * xmlschemastypes.c: Changed non-prefixed QNames to be bound to a + default namespace if existent. + +Thu Jun 9 15:11:38 CEST 2005 Kasimier Buchcik + + * xmlschemastypes.c: Fixed a bug which I invented: hexBinary's string + values were not duplicated corrently when creating a computed value + in xmlSchemaValAtomicType. + +Thu Jun 9 13:20:57 CEST 2005 Kasimier Buchcik + + * xmlschemas.c result/schemas/include1_0_0.err: + Fixed an attribute fixed/default value constraint error. + +Thu Jun 9 12:51:23 CEST 2005 Kasimier Buchcik + + * result/schemas/*: Adapted regression test results. + +Thu Jun 9 12:22:45 CEST 2005 Kasimier Buchcik + + * xmlschemas.c xmlschemastypes.c include/libxml/schemasInternals.h + include/libxml/xmlschemastypes.h: Changed the validation process + to be able to work in streaming mode. Some datatype fixes, + especially for list and union types. Due to the changes the + error report output has changed in most cases. Initial migration to + functions usable by both, the parser and the validator. This should + ease a yet-to-come XS construction API in the long term as well. + +Thu Jun 9 10:16:11 CEST 2005 Daniel Veillard + + * parser.c: applied patch from Malcolm Rowe to avoid namespace + troubles on rollback parsing of elements start #304761 + * test/nsclean.xml result/noent/nsclean.xml result/nsclean.xml*: + added it to the regression tests. + +Thu Jun 9 00:33:50 CEST 2005 Daniel Veillard + + * parser.c include/libxml/xmlerror.h: applied patch from Rob Richards + for xml:space and xml:lang handling with SAX2 api. + +Wed Jun 8 19:41:38 CEST 2005 Daniel Veillard + + * globals.c: applied patch from Morten Welinder, closing bug #306901 + on compiling subsets of the library + +Wed Jun 8 19:11:42 CEST 2005 Kasimier Buchcik + + * xstc/Makefile.am xstc.py xstc-to-python.xsl: Adapted the + XS tests to use the new release of tests and test-definitions. + +2005-06-07 Aleksey Sanin + + * c14n.c: fix rendering of attributes when parent node + is not in the node set + +2005-06-06 Aleksey Sanin + + * c14n.c: fixed xml attributes processing bug in exc c14n + * xmllint.c: added --exc-c14n command line option + +Mon Jun 6 06:43:33 PDT 2005 William Brack + + * xpath.c, pattern.c: Enhanced xmlXPathRunStreamEval, fixed + handling of depth/level for cases like union operator + (bug #306348 reported by Bob Stayton). Also enhanced + several comments throughout pattern.c. + * doc/apibuild.py: fixed problem in handling of + 'signed' declaration. Rebuilt the docs. + +Tue May 31 20:35:27 PDT 2005 William Brack + + * xinclude.c: Enhanced handling of xml:base for included + elements, fixing bugs 169209 and 302353. + +Wed May 25 18:59:53 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Fixed facet errors to be channelled back for + union type members; facet-validation will stop now on the + first error. Reported by GUY Fabrice to the mailing-list. + * xmlschemastypes.c: Changed to ignore lengh-related facet + validation for QNames and NOTATIONs as proposed by the + schema people. + * test/schemas/union2* result/schemas/union2*: Added + regression tests for union types (by GUY Fabrice). + +Fri May 20 20:48:08 CEST 2005 Daniel Veillard + + * xmlsave.c: applied patch from Mark Vakoc fixing saving of + CDATA with NULL content. + +Thu May 12 15:14:26 CEST 2005 Kasimier Buchcik + + * xmlschemastypes.c: Changed the VALID_TZO macro to restrict + the timezone to -840 to 840. + +Thu May 12 15:05:11 CEST 2005 Kasimier Buchcik + + * xmlschemastypes.c: Applied patch from Steve Nairn (bug #303670) + for "signed int" of the date-time timezone field. Silenced + a warning. + +Wed May 11 20:04:09 CEST 2005 Daniel Veillard + + * tree.c: applied patch for replaceNode from Brent Hendricks + +Tue May 10 17:27:52 CEST 2005 Daniel Veillard + + * tree.c: fixed bug #303682 of a leak reported by Malcolm Rowe + +Tue May 10 11:50:16 CEST 2005 Daniel Veillard + + * testapi.c: applied patch from Steve Nairn tof fix the compilation + problem exposed in bug #303640 + +Tue May 10 11:11:26 CEST 2005 Kasimier Buchcik + + * test/schemas/bug303566_1* result/schemas/bug303566_1_1*: + Added regression a test provided by Heiko Oberdiek (bug #303566). + +Mon May 9 17:56:58 CEST 2005 Kasimier Buchcik + + * pattern.c: Changed the XPath "." to resolve only on the first + level for XML Schema IDCs (bug #303566 reported by Heiko Oberdiek). + This should not affect pattern-like resolution on every level. + +Sun May 8 13:35:39 CEST 2005 Daniel Veillard + + * xmlmemory.c: fixed #169630 segfault in xmlMemDisplay + +Fri May 6 13:40:03 CEST 2005 Daniel Veillard + + * nanoftp.c: fixing bug #303068 increasing the nanoftp buffer. + * doc/apibuild.py: fixed __attribute() parsing problem + * doc/* testapi.c: regenerated the descriptions and docs. + +Wed May 4 11:16:00 CEST 2005 Daniel Veillard + + * Makefile.am configure.in threads.c: on linux/gcc use weak definitions + to avoid linking with pthread library on non-threaded environments. + * xpath.c: applied patch from Mark Vakoc w.r.t. a buggy namespace + list allocation. + +Fri Apr 29 11:27:37 CEST 2005 Kasimier Buchcik + + * parser.c: Fixed a test for duplicate attributes: Non-prefixed + attributes were treated as being bound to the default namespace. + +Tue Apr 19 17:51:32 CEST 2005 Kasimier Buchcik + + * xmlschemastypes.c: Fixed date-time related validation + (reported by David Crossley, bug #300576). + +Tue Apr 19 16:55:40 CEST 2005 Kasimier Buchcik + + * xmlschemas.c xmlregexp.c: Removed 5 unnecessary + dereferences (reported by Andriy, bug #301074). + +Tue Apr 19 22:33:18 HKT 2005 William Brack + + * xpath.c: Added some code to avoid integer overflow for + ceil, floor and round functions (bug 301162) + +Tue Apr 19 13:21:54 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Removed workaround for bug #172215, since it + does more harm in some scenarios. Added some of the + "Particle Restriction OK" constraints - not yet enabled. + +Mon Apr 18 13:02:55 CEST 2005 Kasimier Buchcik + + * result/schemas/changelog093*: Added test results. + +Mon Apr 18 12:42:14 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Added output of canonical values in + identity-constraint error messages. + * xmlschemastypes.c include/libxml/xmlschemastypes.h: + Added xmlSchemaGetCanonValueWhtsp() to the API. + Further enhancement of the canonical value + conversion. + * test/schemas/changelog093_0.*: Added test with an XSD + submitted by Randy J. Ray. + +Fri Apr 15 09:33:21 HKT 2005 William Brack + + * valid.c: Applied Daniel's fix for memory leak in dtd + prefix (bug 300550). + * xpath.c: minor change to comment only + +Thu Apr 14 20:52:41 CEST 2005 Daniel Veillard + + * xmlmemory.c: added the call to the breakpoint routine + when a monitored block is reallocated or freed + +Wed Apr 13 05:55:51 CEST 2005 Daniel Veillard + + * nanohttp.c: applied patch from Aron Stansvik for bug #172525 + about HTTP query string parameter being lost + +Tue Apr 12 04:03:32 CEST 2005 Daniel Veillard + + * python/libxml.c python/libxml.py: applied patch from Brent Hendricks + adding namespace removal at the python level #300209 + * python/tests/Makefile.am python/tests/nsdel.py: added the regression + test + +Sun Apr 10 09:03:22 HKT 2005 William Brack + + * xpath.c: fixed several places where memory cleanup was not + properly done after an error was detected (problem was + reported on the mailing list by Pawel Palucha) + +Fri Apr 8 21:58:04 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Added substitution group constraints; changed + the build of the pre-computed substitution groups. Channeled + errors during xsi assembling of schemas to the validation + context. Fixed a big memory leak, which occurred when using + IDCs: the precomputed value of attributes was not freed if + the attribute did not resolve to an IDC field (discovered + with the help of Randy J. Ray's schema, posted to the + xmlschema-dev maling list). + +Fri Apr 8 13:22:01 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Added "Particle correct 2" to parsing of model groups. + Added handling substitution groups inside and ; + for this is not supported yet. Changed circular checks for + model groups definitions. "memberTypes" are processed at different + levels now: component resolution first, construction later; this + goes hand in hand with a global change to handle component + resolution in a distinct phase. Fixed invalid default values for + elements to mark the schema as invalid; this just resulted in an + error report previously, but the schema was handled as valid. + Separated the assignment of the model groups to referencing + model group definition references (i.e. particles); this was + needed to perform the circularity check for model group definitions. + Added "Element Declaration Properties Correct (e-props-correct)" + constraints. Separated component resolution for simple/complex + types. + * include/libxml/schemasInternals.h: Added a flag for substitution + group heads. + +Wed Apr 6 23:14:03 CEST 2005 Igor Zlatkovic + + * win32/Makefile.*: make install cleanup + +Wed Apr 6 22:42:23 CEST 2005 Igor Zlatkovic + + * win32/Makefile.mingw: fixed mingw compilation + * testModule.c: removed mingw warnings + +Wed Apr 6 21:59:11 CEST 2005 Igor Zlatkovic + + * .cvsignore: added Eclipse project files to ignore list + +Wed Apr 6 16:08:10 CEST 2005 Daniel Veillard + + * xpath.c: fixed the bug in lang() as raised by Elliotte Rusty Harold + * result/XPath/tests/langsimple test/XPath/tests/langsimple + test/XPath/docs/lang: added a regression test + +Tue Apr 5 23:48:35 CEST 2005 Daniel Veillard + + * nanoftp.c: applied fix from Rob Richards to compile on Windows. + +Tue Apr 5 17:02:58 CEST 2005 Kasimier Buchcik + + * xmlschemas.c: Added "Type Derivation OK (Complex)" constraints + and anchored them in the "Element Locally Valid (Element)" + constraints. This restricts the type substitution via "xsi:type". + +Tue Apr 5 13:10:06 CEST 2005 Daniel Veillard + + * xmlschemas.c: patch from Matthew Burgess to improve some schemas + facets validation messages. + +Sat Apr 2 12:48:41 CEST 2005 Daniel Veillard + + * doc/* configure.in NEWS: preparing release 2.6.19, updated docs and + rebuilding. + +Sat Apr 2 13:27:32 CEST 2005 Daniel Veillard + + * xstc/Makefile.am: integrated fixup-tests.py + +Fri Apr 1 19:14:18 CEST 2005 Daniel Veillard + + * xmlschemastypes.c: fixed a lack of comment and missing test for + a pointer in the API. + +Fri Apr 1 17:54:22 CEST 2005 Kasimier Buchcik + + * xstc/fixup-tests.py: A tiny script to fixup some of the schema + files used for the tests. + +Fri Apr 1 17:33:50 CEST 2005 Kasimier Buchcik + + * xmlschemas.c include/libxml/schemasInternals.h + result/schemas/src-element2-*.err result/schemas/element-*.err: + Committing again, since the CVS server aborted. + +Fri Apr 1 15:29:27 CEST 2005 Kasimier Buchcik + + * xmlschemastypes.c: Corrected 'length' facet validation for + QNames and notations. Corrected xmlSchemaGetCanonValue: some + data types did not return a value if already in normalized + form. + * xmlschemas.c include/libxml/schemasInternals.h: + Eliminated creation of structs for , , + , , and : the + information is now set directly on the corresponding simple/ + complex type. Added some more complex type constraints. + Added facet derivation constraints. Introduced "particle" + components, which seem to be really needed if applying + constraints. Corrected/change some of the parsing functions. + This is all a bit scary, since a significant change to the code. + * result/schemas/src-element2-*.err result/schemas/element-*.err: + Adapted regression test results. + +Fri Apr 1 16:07:59 CEST 2005 Daniel Veillard + + * doc/apibuild.py doc/elfgcchack.xsl: revamped the elfgcchack.h + format to cope with gcc4 change of aliasing allowed scopes, had + to add extra informations to doc/libxml2-api.xml to separate + the header from the c module source. + * *.c: updated all c library files to add a #define bottom_xxx + and reimport elfgcchack.h thereafter, and a bit of cleanups. + * doc//* testapi.c: regenerated when rebuilding the API + +Thu Mar 31 17:20:32 CEST 2005 Daniel Veillard + + * xmlsave.c: fixed bug reported by Petr Pajas, in the absence of + encoding UTF-8 should really be assumed. This may break if + the HTTP headers indicates for example ISO-8859-1 since this + then becomes a well formedness error. + +Thu Mar 31 16:57:18 CEST 2005 Daniel Veillard + + * SAX.c: fixed #172260 redundant assignment. + * parser.c include/libxml/parser.h: fixed xmlSAXParseDoc() and + xmlParseDoc() signatures #172257. + +Thu Mar 31 16:11:10 CEST 2005 Daniel Veillard + + * parser.c: fix potential crash if ctxt->sax->ignorableWhitespace + is NULL as reported by bug #172255 + +Thu Mar 31 15:36:52 CEST 2005 Daniel Veillard + + * relaxng.c: fixed a problem in Relax-NG validation #159968 + * test/relaxng/list.* result/relaxng/list_*: added the test + to the regression suite + +Thu Mar 31 13:06:02 CEST 2005 Daniel Veillard + + * python/libxml.c: fixed bug #168504 + +Thu Mar 31 12:22:54 CEST 2005 Daniel Veillard + + * config.h.in configure.in nanoftp.c nanohttp.c xmllint.c + macos/src/config-mac.h: use XML_SOCKLEN_T instead of SOCKLEN_T + since apparently IBM can't avoid breaking common defines #166922 + +Thu Mar 31 10:41:45 CEST 2005 Daniel Veillard + + * encoding.c: fix unitinialized variable in not frequently used + code bug #172182 + +Thu Mar 31 00:45:18 CEST 2005 Daniel Veillard + + * python/generator.py python/libxml.py: another patch from Brent + Hendricks to add new handlers with the various validity contexts + * python/tests/Makefile.am python/tests/validDTD.py + python/tests/validRNG.py python/tests/validSchemas.py: also + added the regression tests he provided + +Wed Mar 30 09:39:27 CEST 2005 Daniel Veillard + + * python/generator.py python/libxml.c: applied patch from Brent + Hendricks to avoid leak in python bindings when using schemas + error handlers. + +Tue Mar 29 22:29:28 CEST 2005 Daniel Veillard + + * HTMLtree.c: fixing bug 168196, must be URI escaped too + +Sun Mar 27 13:24:24 CEST 2005 Daniel Veillard + + * tree.c: cleanup of the Prop related functions and xmlNewNodeEatName + by Rob Richards + +Thu Mar 24 19:01:22 PST 2005 William Brack + + * gentest.py, testapi.c: fixed problem with 'minimal library' + compilation (LIBXML_PATTERN_ENABLED not properly checked) reported + by Greg Morgan + +Thu Mar 24 12:01:30 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Fixed call to a facet error report: the type of + the error was wrong, resulting in a segfault (bug #171220, reported + by GUY Fabrice). + +Mon Mar 21 22:58:37 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Removed a stupid bug in xmlSchemaValidateAttributes, + failing to build a linked list correctly (bug #169898, reported + by bing song, hmm...). + +Mon Mar 21 21:09:07 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Fixed a segfault, which occurred during bubbling + of IDC nodes (bug #170779 and #170778, reported by GUY Fabrice): + a variable was missed to be reset in a loop. Deactivated bubbling, + if not referenced by a keyref. + +Sun Mar 20 11:13:02 PST 2005 Aleksey Sanin + + * c14n.c include/libxml/xmlerror.h: special case "DAV:" namespace + in c14n relative namespaces check and add structured error messages + to c14n code + +Thu Mar 17 12:55:23 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Removed inheritance of "mixed" content type for + short-hand restrictions of "anyType" (reported by Guy Fabrice + to the mailing list). Added the namespace conversion (chameleon + includes) for the base type reference of and + . + * test/schemas/bug152470_1.xsd: Adapted due to the above change + of "mixed" inheritance. + +Thu Mar 17 11:03:59 CET 2005 Daniel Veillard + + * xmlschemas.c: fixed a = -> == error pointed by GUY Fabrice + +Wed Mar 16 22:53:53 CET 2005 Daniel Veillard + + * xmlschemas.c: more debug messages from Matthew Burgess + * xmlschemastypes.c: xmlSchemaValidateLengthFacet API missing check. + +Wed Mar 16 17:37:04 CET 2005 Kasimier Buchcik + + * xmlschemastypes.c: Aaaannnd putting back the previous changes done + by Daniel, which I overwrote with the previous commit. + +Wed Mar 16 17:20:25 CET 2005 Kasimier Buchcik + + * xmlschemas.c xmlschemastypes.c include/libxml/xmlschemastypes.h: + Hopefully finished validation against facets to use the normalized + value of both, the facets and instance values. Added + xmlSchemaValidateLengthFacetWhtsp(), xmlSchemaValidateFacetWhtsp() + and xmlSchemaGetValType() to the schema API. + +Wed Mar 16 13:55:31 CET 2005 Daniel Veillard + + * libxml.spec.in: do not package .la files + * xmllint.c: applied patch from Gerry Murphy for xmllint return code + * xmlschemastypes.c: fixed a couple of missing tests of parameters + at public API entry points. + +Tue Mar 15 23:31:14 HKT 2005 William Brack + + * xmlschemastypes.c: a couple of more changes to various + decimal-handling routines. Fixes python some problems + turned up by the python tests. + * Makefile.am: change SchemasPythonTests message to warn + that there are 10 'expected' errors (rather than 6) since + we now reject a '+' sign on an unsigned. + +Tue Mar 15 15:43:27 CET 2005 Kasimier Buchcik + + * xmlschemastypes.c xmlschemastypes.h: In preparation to use + normalized values of facets during validation: changed the + arguments of some string comparison functions; added a static + xmlSchemaValidateFacetInternal() with more arguments to be + more flexible. Prepared XML_SCHEMA_FACET_ENUMERATION validation + to use the comparison functions. Fixed some assignments in + xmlSchemaValAtomicType(): total digit count, lo, mi, hi. + +Sun Mar 13 19:32:03 CET 2005 Daniel Veillard + + * NEWS configure.in testapi.c doc/*: preparing release of 2.6.18 + updated docs and rebuilt + * libxml.spec.in: reactivated gcc profiling for gcc >= 4.0.0 + +Sat Mar 12 19:50:22 CET 2005 Daniel Veillard + + * encoding.c: removed a static buffer in xmlByteConsumed(), + as pointed by Ben Maurer, fixes #170086 + * xmlschemas.c: remove a potentially uninitialized pointer warning + +Fri Mar 11 23:53:13 HKT 2005 William Brack + + * xmlschemastypes.c: enhanced the parsing of XML_SCHEMAS_DECIMAL + and much of the routine xmlSchemaCompareDecimals. The + changes were necessary to fix a problem reported on the + mailing list by John Hockaday. + +Fri Mar 11 13:22:52 CET 2005 Kasimier Buchcik + + * xmlschemas.c: The schema parser will stop if components could + not be resolved. This is not conforming to the spec but for now + will avoid internal errors during type fixup and content model + creation. Restructured inclusion/import of schemata: this avoids + duplicate, self and circular inclusion. Chameleon includes are + still workarounded. Added restriction to disallow references to + non-imported namespaces. Corrected parsing of . + * result/schemas/bug167754_0_0*: Added a missing test result. + +Thu Mar 10 16:02:17 CET 2005 Daniel Veillard + + * doc/xml.html doc/encoding.html: Enriched encoding.html with more + link and foreword warning to avoid problem with ignorant + programmers, c.f #169721 + +Thu Mar 10 15:01:34 CET 2005 Daniel Veillard + + * python/tests/Makefile.am python/tests/readernext.py: added + a regression test from Rob Richards for the previous bug + +Thu Mar 10 13:22:36 CET 2005 Daniel Veillard + + * xmlreader.c: applied fix for xmlTextReaderNext() bug from + Rob Richards + +Thu Mar 10 11:35:57 CET 2005 Daniel Veillard + + * xmlmodule.c: second patch from Rick Jones, portability fix for + HP-UX + * doc/examples/xpath1.c doc/examples/xpath2.c: first fix from Rick Jones + to avoid warnings. + +Thu Mar 10 10:20:23 CET 2005 Daniel Veillard + + * include/libxml/hash.h libxml.h libxml.spec.in: some gcc4 portability + patches, including a serious aliasing bug exposed in s390 + when trying to convert data pointer to code pointer. + +Mon Mar 7 18:34:00 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Tiny restructuring of the validation start-up + functions. Added cleanup of the validation context at the + end of validation. This takes care of the validation context + being reused. + +Mon Mar 7 12:12:01 CET 2005 Kasimier Buchcik + + * xmlschemastypes.c: Tiny changes in the comparison functions + I forgot to commit last time. + +Fri Mar 4 22:51:42 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Added IDC validation of anySimpleType attribute + values; anyway the IDC key comparison is restricted to + anySimpleType <--> string based types. For other types we + would possibly need the canonical lexical representation of + them; this sounds not performant, since we would need to + build such a representation each time we want to compare against + anySimpleType. TODO: think about buffering the canonical values + somewhere. Fixed error reports for default attributes to work + without a node being specified. This all and the enabling of IDC + validation fixes bug #165346 (reported by Benoit Gr?goire - could + not read his last name correctly from bugzilla). + +Fri Mar 4 18:57:44 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Enabled IDC parsing and validation. + * xmlschemastypes.c include/libxml/xmlschemastypes.h: + Added xmlSchemaCopyValue to the API; this was done due to + validation of default attributes against IDCs: since IDC keys + consume the precomputed value, one needs a copy. + * pattern.c: Enabled IDC support; this is currently done + via calling xmlPatterncompile with a flag arg of 1. + +Wed Mar 2 11:45:18 CET 2005 Daniel Veillard + + * Makefile.am doc/examples/Makefile.am python/tests/Makefile.am + xstc/Makefile.am: try to fix a problem with valgrind. + * python/generator.py python/libxml.c python/tests/Makefile.am + python/tests/tstmem.py: applied memory leak fix from Brent Hendricks + c.f. bug #165349 + +Mon Feb 28 11:18:24 CET 2005 Kasimier Buchcik + + * tree.c: Changed xmlSearchNsByHref to call xmlNsInScope with + the prefix instead of the namespace name. + * test/schemas/annot-err_0.xsd test/schemas/element-err_0.xsd: + Adapted invalid values of the "id" attribute, since they are + validated now. + +Fri Feb 25 08:31:16 CET 2005 Daniel Veillard + + * threads.c: new version with fixes from Rob Richards + +Thu Feb 24 16:37:51 CET 2005 Daniel Veillard + + * threads.c: applied patch from Rich Salz for multithreading on + Windows. + +Wed Feb 23 15:04:46 CET 2005 Daniel Veillard + + * xmlwriter.c: applied a patch from Rob Richards fixing a couple + of bugs in the writer + +Mon Feb 21 21:51:03 HKT 2005 William Brack + + * xmlsave.c: fixed problem when XMLLINT_INDENT was empty (bug 168033). + * xpath.c: fixed compilation warning, no change to logic. + * xmlschemastypes.c: fixed compilation warning, no change to logic. + +Mon Feb 21 14:48:27 CET 2005 Daniel Veillard + + * xmlwriter.c: applied patch from Rob Richards to fix a problem with + xmlTextWriterStartAttributeNS + +Mon Feb 21 11:41:41 CET 2005 Daniel Veillard + + * pattern.c xpath.c: fixed remaining known bugs in the XPath streaming, + and switched XPath to use it by default when possible + +Sat Feb 19 19:25:14 CET 2005 Daniel Veillard + + * xmlschemastypes.c: a bit of cleanup + * elfgcchack.h testapi.c doc/*: rebuilt the API the tests and + the documentation as a result. + +Fri Feb 18 20:34:03 CET 2005 Daniel Veillard + + * xmlreader.c include/libxml/xmlreader.h: applied patch from + Aron Stansvik to add xmlTextReaderByteConsumed() + * testReader.c: added a test option + * xmlschemastypes.c: fix a lack of pointer checking in APIs + +Fri Feb 18 12:41:10 CET 2005 Kasimier Buchcik + + * test/schemas/bug167754_0*: Added the regression test of Frans + Englich for bug #167754. + +Fri Feb 18 12:31:49 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Started support for IDC resolution to default + attributes. If building the content model for : ensured + to put element declarations and not the particles into the + content model automaton (this was bug #167754, reported by + Frans Englich). + +Thu Feb 17 22:31:58 CET 2005 Kasimier Buchcik + + * pattern.c pattern.h: Some experimental addition for parsing + of expressions and streamable validation. + Added xmlStreamPushAttr to the API. + +Thu Feb 17 19:57:35 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Added validation for the attribute "id" in the + schemata; doing this needed error report fixes for notations, + facets and group. Changed NOTATION validation to work with the + declared NOTATIONs in the schema; this does have no impact on + the validation via the relaxng module. + * xmlschemastypes.c include/libxml/xmlschemastypes.h: + Added xmlSchemaNewNOTATIONValue to the API to be able to do + the NOTATION validation described above. + * test/schemas/element-err_0.xsd test/schemas/annot-err_0.xsd: + Fixed the values of the "id" attributes, which were not validated + previously. + +Thu Feb 17 12:03:46 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Fixed comparison for default/fixed attribute + values, if the type was 'xsd:string'. Changed the comparison + for IDCs to use the whitespace aware comparison function. + * xmlschemastypes.c include/libxml/xmlschemastypes.h: + Added xmlSchemaGetCanonValue, xmlSchemaNewStringValue and + xmlSchemaCompareValuesWhtsp to the API. Added functions + to compare strings with whitespace combinations of "preserve", + "replace" and "collapse". + +Wed Feb 16 13:24:35 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Further work on IDCs, especially evaluation for + attribute nodes. + +Wed Feb 16 01:19:27 CET 2005 Daniel Veillard + + * encoding.c: fix the comment to describe the real return values + * pattern.c xpath.c include/libxml/pattern.h: lot of work on + the patterns, pluggin in the XPath default evaluation, but + disabled right now because it's not yet good enough for XSLT. + pattern.h streaming API are likely to be changed to handle + relative and absolute paths in the same expression. + +Tue Feb 15 15:33:32 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Added IDC evaluation for attribute nodes. + Made 'nil'ed elements work. Added a specific error message + for 'strict' attribute wildcards. + * include/libxml/xmlerror.h: Added an error code for + wildcards. + * result/schemas/anyAttr-processContents-err1_0_0.err: Adapted. + +Sun Feb 13 16:15:03 HKT 2005 William Brack + + This change started out as a simple desire to speed up the + execution time of testapi.c, which was being delayed by + nameserver requests for non-existent URL's. From there it + just sort of grew, and grew.... + * nanohttp.c, nanoftp.c: changed the processing of URL's + to use the uri.c routines instead of custom code. + * include/libxml/xmlerror.h: added code XML_FTP_URL_SYNTAX + * uri.c: added accepting ipV6 addresses, in accordance with + RFC's 2732 and 2373 (TODO: allow ipV4 within ipV6) + * gentest.py, testapi.c: fixed a few problems with the + testing of the nanoftp and nanohttp routines. + * include/libxml/xmlversion.h: minor change to fix a + warning on the docs generation + * regenerated the docs + +Sat Feb 12 09:07:11 HKT 2005 William Brack + + * xinclude.c: fixed xmlXIncludeParseFile to prevent + overwriting XML_COMPLETE_ATTRS when setting pctxt->loadsubset + (bug 166199) + * Makefile.am, python/tests/Makefile.am, xstc/Makefile.am: added + code to add $(top_builddir)/.libs to LD_LIBRARY_PATH whenever + PYTHONPATH is set, to assure new libxml2 routines are used. + +Fri Feb 11 22:20:41 HKT 2005 William Brack + + * parser.c: fixed problem when no initial "chunk" was + given to xmlCreatePushParser (bug 162613) + +Fri Feb 11 18:37:22 HKT 2005 William Brack + + * dict.c: fixed compilation warning + * parser.c: changed xmlWarningMsg so ctxt->errNo is not set + * xmllint.c: changed to return non-zero status if error + on xinclude processing + * xmlsave.c: minor deletion of a redundant condition statement + +Wed Feb 9 17:47:40 CET 2005 Daniel Veillard + + * tree.c: applied patch to xmlSetNsProp from Mike Hommey + +Sun Feb 6 00:17:57 CET 2005 Daniel Veillard + + * pattern.c xmllint.c: fixed implementation for | + * test/pattern/conj.* result/pattern/conj: added a specific regression + test + +Sat Feb 5 18:36:56 CET 2005 Daniel Veillard + + * pattern.c: first implementation for | support + +Sat Feb 5 14:58:46 CET 2005 Daniel Veillard + + * pattern.c: fixed the namespaces support + * tree.c: fixed xmlGetNodePath when namespaces are used + * result/pattern/multiple result/pattern/namespaces + test/pattern/multiple.* test/pattern/namespaces.*: added + more regression tests + +Fri Feb 4 18:26:43 CET 2005 Daniel Veillard + + * xmlschemas.c: fixed one internal function + * doc/Makefile.am doc/wiki.xsl: applied patch from Joel Reed + * testapi.c doc/libxml2-api.xml doc/libxml2-refs.xml: regenerated + +Fri Feb 4 00:25:43 CET 2005 Daniel Veillard + + * Makefile.am: use the walker to test the patterns instead of + the normal reader + * pattern.c xmllint.c: bug fixes in the train including fixing the + stupid build break. + +Tue Feb 1 18:15:52 CET 2005 Daniel Veillard + + * pattern.c: more bug fixes for the XPath streaming code. + +Mon Jan 31 17:59:24 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Integrated the streaming pattern from the + pattern module. Fixed some IDC code bugs. Changed + fallback for attribute declaration addition to work like for + element declarations. + +Mon Jan 31 01:27:22 CET 2005 Daniel Veillard + + * pattern.c xmllint.c: bugfixes around the streaming patterns + +Sun Jan 30 23:35:19 CET 2005 Daniel Veillard + + * Makefile.am configure.in result/pattern/simple + test/pattern/simple.*: added first test for the patterns + * pattern.c xmllint.c: a few fixes + +Sun Jan 30 19:27:23 CET 2005 Daniel Veillard + + * pattern.c include/libxml/pattern.h xmllint.c: added a + streaming pattern detector for a subset of XPath, should + help Kasimier for identity constraints + * python/generator.py: applied Stéphane Bidoul patch to find + paths without breaking. + +Fri Jan 28 18:53:40 CET 2005 Daniel Veillard + + * xmlschemas.c: fixed an untested pointer dereference and a & vs && + +Fri Jan 28 18:37:18 CET 2005 Daniel Veillard + + * xmlreader.c: implementation of xmlTextReaderReadString by + Bjorn Reese + +Fri Jan 28 16:51:47 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Corrected an ambigious symbol-space for + local attribute declarations. IFDEFed more IDC code to + surpress compiler warnings. + +Fri Jan 28 00:57:04 CET 2005 Daniel Veillard + + * bakefile/Readme.txt bakefile/Bakefiles.bkgen bakefile/libxml2.bkl: + files for the Bakefile generator for Makefiles from Francesco + Montorsi + * win32/configure.js: fixes for Windows compilation with non-default + flags by Joel Reed + +Thu Jan 27 18:23:50 CET 2005 Daniel Veillard + + * tree.c: fixed xmlCopyDoc to also copy the doc->URL as pointed + by Martijn Faassen + +Thu Jan 27 13:39:04 CET 2005 Kasimier Buchcik + + * xmlschemas.c include/libxml/schemasInternals.h: + Added an initial skeleton for indentity-constraints. This is all + defined out, since not complete, plus it needs support from other + modules. + Added machanism to store element information for the + ancestor-or-self axis; this is needed for identity-constraints + and should be helpful for a future streamable validation. + * include/libxml/xmlerror.h: Added an error code for + identity-constraints. + +Wed Jan 26 01:03:37 CET 2005 Daniel Veillard + + * gentest.py testapi.c: had to fix generation and rebuild. + * valid.c: the testapi found a bug in the last code of course ! + +Wed Jan 26 00:43:05 CET 2005 Daniel Veillard + + * Makefile.am testapi.c doc/Makefile.am: fixing the way testapi.c + is generated, fixes bug #161386 + * dict.c: fix a comment typo + * elfgcchack.h doc/*: regenerated + +Tue Jan 25 22:39:33 CET 2005 Daniel Veillard + + * parser.c: found and fixed 2 problems in the internal subset scanning + code affecting the push parser (and the reader), fixes #165126 + * test/intsubset2.xml result//intsubset2.xml*: added the test case + to the regression tests. + +Tue Jan 25 01:20:11 CET 2005 Daniel Veillard + + * testdso.c xmlregexp.c: warning patches from Peter Breitenlohner + * include/libxml/valid.h valid.c parser.c: serious DTD parsing + speedups, start to deprecate 3 ElementDef related entry point + and replace them with better ones. + +Mon Jan 24 00:47:41 CET 2005 Daniel Veillard + + * xmlschemas.c: more hash dictionary interning changes + +Sun Jan 23 23:54:39 CET 2005 Daniel Veillard + + * hash.c include/libxml/hash.h: added xmlHashCreateDict where + the hash reuses the dictionary for internal strings + * entities.c valid.c parser.c: reuse that new API, leads to a decent + speedup when parsing for example DocBook documents. + +Sun Jan 23 21:14:20 CET 2005 Daniel Veillard + + * parser.c: small speedup in skipping blanks characters + * entities.c: interning the entities strings + +Sun Jan 23 18:35:00 CET 2005 Daniel Veillard + + * parser.c: boosting common commnent parsing code, it was really + slow. + * test/comment[3-5].xml result//comment[3-5].xml*: added sprecific + regression tests + +Sun Jan 23 01:00:09 CET 2005 Daniel Veillard + + * parser.c: small optimization back. + +Sat Jan 22 00:40:31 CET 2005 Daniel Veillard + + * dict.c parser.c include/libxml/dict.h: a single lock version + mostly avoid the cost penalty of the lock in case of low + parallelism, so applying that version instead. + +Fri Jan 21 17:54:06 CET 2005 Daniel Veillard + + * dict.c: patch from Gary Coady to fix a race in dict reference + counting in multithreaded apps. + +Fri Jan 21 16:08:21 CET 2005 Daniel Veillard + + * parser.c: fixed bug #164556 where non-fatal errors stopped + push parsing and xmlreader. + * Makefile.am: fixup + * test/errors/webdav.xml result/errors/webdav*: adding regression + test for this problem. + +Wed Jan 19 17:24:34 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Corrected targetNamespace in + xmlSchemaElementDump. Cosmetic changes to the dump output. + +Sun Jan 16 21:00:53 CET 2005 Daniel Veillard + + * configure.in NEWS doc/*: preparing release of 2.6.17, + updated and rebuilt the docs + +Sun Jan 16 19:58:36 CET 2005 Daniel Veillard + + * parser.c: better fix for #151694 not killing c14n regression tests + * xmlschemastypes.c: fixing bug #157653 + +Sun Jan 16 19:01:06 CET 2005 Daniel Veillard + + * parser.c: fixing bug #151694, line should always be set in the + elements. + +Sun Jan 16 01:04:18 CET 2005 Daniel Veillard + + * xmlschemastypes.c: trying to fix at least the message from + bug #158628 + * include/libxml/xmlsave.h xmlsave.c: added first xmlsave option + for format, c.f. bug #159997 + +Sat Jan 15 18:44:30 CET 2005 Daniel Veillard + + * python/libxml.py: make __str__ call serialize() on nodes, c.f. + bug #157872 + +Sat Jan 15 18:18:07 CET 2005 Daniel Veillard + + * nanoftp.c: applied patch from Dan McNichol for compilation on AIX + +Sat Jan 15 13:35:19 CET 2005 Daniel Veillard + + * relaxng.c: fixed bug #157633 in relaxng choice optimization + * result/relaxng/choice0* test/relaxng/choice0*: added regression + tests about it. + * doc/*: rebuilt + * testdso.c: removed a warning due to a missing void in signature. + +Thu Jan 13 17:42:55 CET 2005 Kasimier Buchcik + + * include/libxml/schemasInternals.h xmlschemas.c: + Exposed targetNamespace for simple/complex types, model groups, + attribute groups and notations (reported by Michael Hewarth + to the mailing list). Added targetNamespace to xmlSchemaType, + xmlSchemaAttributeGroup and xmlSchemaNotation. + Tiny cosmetic change to the content model error report output. + * result//all_*.err result//any3_0_0.err result//choice_*.err + result//list0_0_1.err result//list0_1_1.err: Adapted output + of regression tests. + +Thu Jan 13 13:20:51 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Put the fix of Daniel (from Tue Jan 11 14:41:47 CET) + back in, since I missed to update xmlschemas.c before doing + the previous commit. + +Thu Jan 13 12:59:25 CET 2005 Kasimier Buchcik + + * xmlschemas.c: Integrated xmlRegExecErrInfo and xmlRegExecNextValues + from xmlregexp.c to report expected elements on content model errors. + * all_*.err any3_0_0.err choice_*.err list0_0_1.err list0_1_1.err: + Adapted output of regression tests. + +Thu Jan 13 12:24:09 CET 2005 Daniel Veillard + + * config.h.in configure.in xmlmodule.c: trying to work around + the compilation problem on HP-UX + +Wed Jan 12 22:03:33 CET 2005 Daniel Veillard + + * pattern.c: fixed the fixed size array structure problem reported by + Patrick Streule + +Wed Jan 12 15:15:02 CET 2005 Daniel Veillard + + * elfgcchack.h testapi.c doc/libxml2-api.xml doc/*: regenerated + the API description, rebuilt, improved navigation in documentation + a bit. + +Wed Jan 12 14:17:14 CET 2005 Daniel Veillard + + * include/libxml/xmlregexp.h xmlregexp.c: extended xmlRegExecErrInfo() + and xmlRegExecNextValues() to return error transition strings too, + and sink state detection and handling. + +Tue Jan 11 14:41:47 CET 2005 Daniel Veillard + + * xmlschemas.c: fixed bug #163641 when the value passed for + an atomic list type is NULL. + +Tue Jan 11 10:14:33 HKT 2005 William Brack + + * Makefile.am configure.in: fixed dependency on python 2.3, + also small improvement for cygwin (bug 163273) + +Sun Jan 9 18:46:32 CET 2005 Daniel Veillard + + * gentest.py testapi.c: William noticed I forgot to add special + support for xmlmodules.c define + * xmlregexp.c include/libxml/xmlregexp.h: added terminal to + xmlRegExecErrInfo() API, adding new xmlRegExecNextValues() + entry point and refactored to use both code. + +Mon Jan 10 01:02:41 HKT 2006 William Brack + + * doc/xml.html, doc/FAQ.html: added an FAQ under Developer for + setting up a "private" library (after some list posts about + people having trouble doing it) + +Sat Jan 8 23:04:10 CET 2005 Daniel Veillard + + * xmlregexp.c: fixing behaviour for xmlRegExecErrInfo in case of + rollback + +Fri Jan 7 14:54:51 CET 2005 Daniel Veillard + + * TODO: small update + * xmlregexp.c: trying to add an API to get useful error informations + back from a failing regexp context. + +Thu Jan 6 17:35:41 HKT 2005 William Brack + + * xpath.c: fixed problem with xmlXPathErr when error number + subscript was out of range (bug 163055) + +Thu Jan 6 09:57:03 HKT 2005 William Brack + + * uri.c: fixed problem with xmlURIEscape when query part was + empty (actually fixed xmlURIEscapeStr to return an empty + string rather than NULL for empty string input) (bug 163079) + +Tue Jan 4 17:08:45 PST 2005 Aleksey Sanin + + * parser.c, parserInternal.c: fixed "col" calculation for + struct _xmlParserInput (based on patch from Rob Richards) + * include/libxml/xmlerror.h, error.c: propagated error column + number in the xmlError structure + +Tue Jan 4 22:47:22 CET 2005 Daniel Veillard + + * parser.c: fixed namespace bug in push mode reported by + Rob Richards + * test/ns6 result//ns6*: added it to the regression tests + * xmlmodule.c testModule.c include/libxml/xmlmodule.h: + added an extra option argument to module opening and defined + a couple of flags to the API. + +Tue Jan 4 21:16:05 CET 2005 Daniel Veillard + + * xmlmodule.c include/libxml/xmlmodule.h: applied patch from + Bjorn Reese, plus some cleanups + * elfgcchack.h doc/elfgcchack.xsl: fixed the stylesheet to + add the new header + * doc/* testapi.c: regenerated the API + +Tue Jan 4 18:47:19 CET 2005 Daniel Veillard + + * configure.in: making DSO support an option + * xmlmodule.c xmlreader.c include/libxml/xmlmodule.h: code + and documentation cleanups + * elfgcchack.h testapi.c doc/*: regenerated the docs and + checks for new module + * test/valid/REC-xml-19980210.xml: fix a small change introduced + previously + +Tue Jan 4 16:07:52 CET 2005 Daniel Veillard + + * Makefile.am config.h.in configure.in error.c libxml-2.0.pc.in + testModule.c testdso.c xml2-config.in xmllint.c xmlmodule.c + include/libxml/Makefile.am include/libxml/xmlerror.h + include/libxml/xmlmodule.h include/libxml/xmlversion.h.in + include/libxml/xmlwin32version.h.in: applied DSO support + patch 2 from Joel Reed + +Tue Jan 4 15:30:15 CET 2005 Daniel Veillard + + * configure.in: applied patch from Marcin Konicki for BeOS + +Mon Jan 3 13:57:21 PST 2005 Aleksey Sanin + + * parser.c: added GetLineNumber and GetColumnNumber functions for xmlReader + +Sun Jan 2 17:51:18 HKT 2005 William Brack + + Re-examined the problems of configuring a "minimal" library. + Synchronized the header files with the library code in order + to assure that all the various conditionals (LIBXML_xxxx_ENABLED) + were the same in both. Modified the API database content to more + accurately reflect the conditionals. Enhanced the generation + of that database. Although there was no substantial change to + any of the library code's logic, a large number of files were + modified to achieve the above, and the configuration script + was enhanced to do some automatic enabling of features (e.g. + --with-xinclude forces --with-xpath). Additionally, all the format + errors discovered by apibuild.py were corrected. + * configure.in: enhanced cross-checking of options + * doc/apibuild.py, doc/elfgcchack.xsl, doc/libxml2-refs.xml, + doc/libxml2-api.xml, gentest.py: changed the usage of the + element in module descriptions + * elfgcchack.h, testapi.c: regenerated with proper conditionals + * HTMLparser.c, SAX.c, globals.c, tree.c, xmlschemas.c, xpath.c, + testSAX.c: cleaned up conditionals + * include/libxml/[SAX.h, SAX2.h, debugXML.h, encoding.h, entities.h, + hash.h, parser.h, parserInternals.h, schemasInternals.h, tree.h, + valid.h, xlink.h, xmlIO.h, xmlautomata.h, xmlreader.h, xpath.h]: + synchronized the conditionals with the corresponding module code + * doc/examples/tree2.c, doc/examples/xpath1.c, doc/examples/xpath2.c: + added additional conditions required for compilation + * doc/*.html, doc/html/*.html: rebuilt the docs + +Sat Dec 25 18:10:02 HKT 2004 William Brack + + * parserInternals.c: fixed to skip (if necessary) the BOM for + encoding 'utf-16'. Completes the fix for bug #152286. + * tree.c, parser.c: minor warning cleanup, no change to logic + +Fri Dec 24 16:31:22 HKT 2004 William Brack + + * python/generator.py: added most required entires to + foreign encoding table, plus some additional logic to + assure only the 1st param uses the 't#' format. Fixes + bug #152286, but may still have some other UTF-16 problems. + +Thu Dec 23 23:44:08 HKT 2004 William Brack + + * Makefile.am, gentest.py: enhanced for enabling build in + a different directory. Added (optional) param to gentest.py + to specify the source directory (bug #155468) + * doc/Makefile.am: changed destination of NEWS from (top_srcdir) + to (top_builddir) (bug #155468) + * python/Makefile.am, python/generator.py: enhanced for enabling + build in a different directory(bug #155468). Added (optional) + param to generator.py to specify the source directory. Added + a new table of functions which have possible "foreign" encodings + (e.g. UTF16), and code to use python 't' format instead of + 'z' format (mostly solving bug #152286, but still need to + populate the table). + +Tue Dec 21 08:10:44 MST 2004 John Fleck + + * doc/site.xsl, doc/xml.html, plus rebuilt all the html pages + Change reference to new site for Solaris binaries, fixing bug + 160598 + + +Mon Dec 20 08:02:57 PST 2004 William Brack + + * parser.c: reset input->base within xmlStopParser + * xmlstring.c: removed call to xmlUTF8Strlen from within + xmlUTF8Strpos (Bill Moseley pointed out it was not + useful) + +Fri Dec 17 16:03:41 PST 2004 William Brack + + * valid.c: changed xmlErrValidWarning to use ctxt->warning + instead of ctxt->error for its reports (bug #160662) + +Fri Dec 17 14:52:17 PST 2004 William Brack + + * python/generator.py: modified to allow the ns and nsDefs + accessors to return None instead of error when no namespace + is present (bug #) + +Fri Dec 17 11:40:21 PST 2004 William Brack + + * doc/Makefile.am: changed maintainer-clean dependency with + suggestion from Crispin Flowerday (bug #157634) + * debugXML.c: fixed crash when ATTRIBUTE or DOCUMENT nodes + were specified with debugDumpNode (bug #160621) + +Fri Dec 10 11:24:41 CET 2004 Daniel Veillard + + * valid.c: fixed ID deallocation problem based on patch from + Steve Shepard fixes bug #160893 + * xmlmemory.c: improving comment. + * testapi.c: new test for xmlDictExists() is generated. + +Wed Dec 1 22:35:37 HKT 2004 William Brack + + * dict.c, xpath.c, include/libxml/hash.h: fixed up some gcc warnings, + no change to logic. New macro XML_CAST_FPTR to circumvent gcc + warnings on function pointer <-> object pointer (a hack). + +Mon Nov 29 14:07:18 CET 2004 Daniel Veillard + + * xpath.c: fixed a memory leak on errors in some circumstances #159812 + +Fri Nov 26 23:20:48 HKT 2004 William Brack + + * xmlIO.c: added a check within xmlOutputBufferWriteEscape to prevent + a dead loop on bad data (bug 159550) + +Fri Nov 26 13:09:04 CET 2004 Kasimier Buchcik + + * xmlschemas.c: Fixed strict/lax element wildcards: the children + of elements for which a declaration existed were still processed + by the wildcard mechanism (reported by philippe ventrillon to the + mailing list). + Changed the import and include machanism to share dictionaries. + +Fri Nov 26 11:44:36 CET 2004 Daniel Veillard + + * HTMLparser.c parser.c: make sure xmlCtxtReadFile and htmlCtxtReadFile + go through the catalog resolution. + * gentest.py testapi.c: fix a side effect wrning of the change + +Wed Nov 24 13:41:52 CET 2004 Daniel Veillard + + * dict.c include/libxml/dict.h: added xmlDictExists() to the + dictionary interface. + * xmlreader.c: applying xmlTextReaderHasAttributes fix for namespaces + from Rob Richards + +Wed Nov 17 13:54:37 CET 2004 Kasimier Buchcik + + * xmlschemas.c: tiny enhancement for content model error reports + (#157190, #143948). Removed abbreviations: CT, ST and WC + (#157190, reported by Frans Englich). + Initial: no report of local components. + * result/schemas/all* result/schemas/any3_0_0.err + result/schemas/choice* + result/schemas/cos-st-restricts-1-2-err_0_0.err + result/schemas/derivation-ok-extension-err_0_0.err + result/schemas/derivation-ok-extension_0_0.err + result/schemas/derivation-ok-restriction-2-1-1_0_0.err + result/schemas/derivation-ok-restriction-4-1-err_0_0.err + result/schemas/deter0_0_0.err result/schemas/extension1_0_2.err + result/schemas/facet-unionST-err1_0_0.err + result/schemas/hexbinary_0_1.err + result/schemas/list* result/schemas/restriction-attr1_0_0.err + result/schemas/vdv-first4_0_1.err result/schemas/vdv-first4_0_2.err: + Adapted output. + +Mon Nov 15 13:04:28 CET 2004 Kasimier Buchcik + + * xmlschemas.c: Moved execution of xmlSchemaCheckDefaults to + xmlSchemaTypeFixup; this ensures facets of inherited types to be + checked prior to facets of derived types - which caused a seg + fault otherwise (bug #158216, reported by Frans Englich). + +Sun Nov 14 22:23:18 HKT 2004 William Brack + + * gentest.py, testapi.c: further enhancement, now all + compilation warnings have been fixed. + * xmlschemastypes.c: added NULL check for one function + +Fri Nov 12 23:58:14 HKT 2004 William Brack + + * xpath.c: trivial change (changed CHECK_CONTEXT to CHECK_CTXT + on a couple of lines) + * gentest.py, testapi.c: enhanced to reduce compilation warnings + +Fri Nov 12 16:12:48 CET 2004 Kasimier Buchcik + + * xmlschemas.c: Un-commented a TODO in xmlSchemaParseElement. + +Fri Nov 12 14:55:36 CET 2004 Kasimier Buchcik + + * xmlschemas.c: Correct symbol space for 'all' and 'choice'. + * xmlschemastypes.c include/xmlschemastypes.h: Added 'replace' + normalization for 'normalizedString'. + Added xmlSchemaWhiteSpaceReplace to the API. + +Thu Nov 11 21:43:02 CET 2004 Daniel Veillard + + * Makefile.am: forgot a $(srcdir) + * encoding.c: stupid error wrong name #157976 + +Wed Nov 10 15:35:25 CET 2004 Daniel Veillard + + * NEWS configure.in doc/*: preparing release of libxml2-2.6.16 + +Wed Nov 10 12:55:18 CET 2004 Daniel Veillard + + * python/generator.py python/libxml.c python/libxml2class.txt + python/libxml_wrap.h python/types.c: Applied patch from Brent + Hendricks adding support for late DTD validation. + * python/tests/Makefile.am python/tests/dtdvalid.py + python/tests/test.dtd: integrated the provided regression test + +Tue nov 9 19:24:31 CET 2004 Dodji Seketeli + + * configure.in: detect when struct sockaddr_storage + has the __ss_family member instead of ss_family and + behave accordingly. We now can use ipv6 on aix. + +Tue Nov 9 17:15:46 CET 2004 Daniel Veillard + + * Makefile.am gentest.py testapi.c: integrated in "make tests" + added -q option, and more conditional features fixes + * catalog.c debugXML.c parser.c testThreads.c xmllint.c + xmlschemastypes.c xmlwriter.cinclude/libxml/catalog.h + include/libxml/debugXML.h: various compilation and conditional + cleanups. + * doc/*: regenerated + +Tue Nov 9 15:59:50 CET 2004 Daniel Veillard + + * gentest.py testapi.c: better handling of conditional features + * HTMLparser.c SAX2.c parserInternals.c xmlwriter.c: more testing + on parser contexts closed leaks, error messages + +Tue Nov 9 10:21:37 GMT 2004 William Brack + + * xpath.c: fixed problem concerning XPath context corruption + during function argument evaluation (bug 157652) + +Mon Nov 8 18:54:52 CET 2004 Daniel Veillard + + * testapi.c: more types. + * parserInternals.c xpath.c: more fixes + +Mon Nov 8 18:16:43 CET 2004 Daniel Veillard + + * gentest.py testapi.c: better parser options coverage + * SAX2.c xpath.c: more cleanups. + +Tue Nov 9 01:50:08 CET 2004 Daniel Veillard + + * testapi.c: trying to fix some optional support brokenness + +Mon Nov 8 17:25:27 CET 2004 Daniel Veillard + + * gentest.py testapi.c: more coverage + * debugXML.c parser.c xmlregexp.c xpath.c: more fixes + +Mon Nov 8 15:02:39 CET 2004 Daniel Veillard + + * gentest.py testapi.c: more coverage + * SAX2.c parser.c parserInternals.c: more fixes + +Mon Nov 8 12:55:16 CET 2004 Daniel Veillard + + * parser.c testapi.c xmlIO.c xmlstring.c: more fixes. + +Mon Nov 8 11:24:57 CET 2004 Daniel Veillard + + * gentest.py testapi.c: more types, more coverage + * parser.c parserInternals.c relaxng.c valid.c xmlIO.c + xmlschemastypes.c: more problems fixed + +Mon Nov 8 10:24:28 HKT 2004 William Brack + + * gentest.py: fixed test file corruption problem + +Sun Nov 7 13:18:05 CET 2004 Daniel Veillard + + * gentest.py testapi.c: fixed typos and avoid Catalogs verbosity + +Sat Nov 6 23:25:16 CET 2004 Daniel Veillard + + * testapi.c: augmented the number of types + +Sat Nov 6 20:24:07 CET 2004 Daniel Veillard + + * HTMLtree.c tree.c xmlreader.c xmlwriter.c: a number of new + bug fixes and documentation updates. + +Sat Nov 6 15:50:11 CET 2004 Daniel Veillard + + * gentest.py testapi.c: augmented type autogeneration for enums + * xpath.c include/libxml/xpath.h: removed direct error reporting. + +Sat Nov 6 14:27:18 CET 2004 Daniel Veillard + + * encoding.c: fixed a regression in iconv support. + +Fri Nov 5 18:19:23 CET 2004 Daniel Veillard + + * gentest.py testapi.c: autogenerate a minimal NULL value sequence + for unknown pointer types + * HTMLparser.c SAX2.c chvalid.c encoding.c entities.c parser.c + parserInternals.c relaxng.c valid.c xmlIO.c xmlreader.c + xmlsave.c xmlschemas.c xmlschemastypes.c xmlstring.c xpath.c + xpointer.c: This uncovered an impressive amount of entry points + not checking for NULL pointers when they ought to, closing all + the open gaps. + +Fri Nov 5 16:26:28 UTC 2004 William Brack + + * catalog.c: fixed problem with NULL entry (bug 157407) + * xpath.c: fixed a couple of warnings (no change to logic) + +Fri Nov 5 15:30:43 CET 2004 Daniel Veillard + + * gentest.py testapi.c: more coverage + * xmlunicode.c: one fix + +Fri Nov 5 23:15:51 CET 2004 Daniel Veillard + + * entities.c: fixed a compilation problem on a recent change + +Fri Nov 5 12:50:09 CET 2004 Daniel Veillard + + * gentest.py testapi.c: more coverage + * nanoftp.c tree.c: more fixes + +Fri Nov 5 11:02:28 CET 2004 Daniel Veillard + + * gentest.py testapi.c: fixed the way the generator works, + extended the testing, especially with more real trees and nodes. + * HTMLtree.c tree.c valid.c xinclude.c xmlIO.c xmlsave.c: a bunch + of real problems found and fixed. + * entities.c: fix error reporting to go through the new handlers + +Thu Nov 4 18:44:56 CET 2004 Daniel Veillard + + * parser.c: dohh ... stupid change killing xmlParseDoc() + +Thu Nov 4 18:32:22 CET 2004 Daniel Veillard + + * gentest.py testapi.c: changing the way the .c is generated, + extending the tests coverage + * include/libxml/nanoftp.h nanoftp.c elfgcchack.h doc/*: fixing some + function signatures, regenerating stuff + * SAX2.c parser.c xmlIO.c: another set of bug fixes and API hardening + +Thu Nov 4 13:32:19 CET 2004 Daniel Veillard + + * gentest.py testapi.c: extending the tests coverage + +Thu Nov 4 11:52:28 CET 2004 Daniel Veillard + + * Makefile.am: gentest.py was missing from the EXTRA_DIST + +Thu Nov 4 11:48:47 CET 2004 Daniel Veillard + + * gentest.py testapi.c: extending the tests coverage + * HTMLtree.c tree.c xmlsave.c xpointer.c: more fixes and cleanups + +Thu Nov 4 00:25:36 CET 2004 Daniel Veillard + + * gentest.py testapi.c: more fixes and extending the tests coverage + * nanoftp.c xmlIO.c: more fixes and hardening + +Wed Nov 3 20:16:24 CET 2004 Daniel Veillard + + * gentest.py testapi.c: more fixes and extending the tests coverage + * valid.c: bunch of cleanups and 2 leaks removed + +Wed Nov 3 18:06:44 CET 2004 Daniel Veillard + + * gentest.py testapi.c: more fixes and extending the tests coverage + * list.c tree.c: more fixes and hardening + +Wed Nov 3 15:19:22 CET 2004 Daniel Veillard + + * gentest.py testapi.c: more fixes and extending the tests coverage + * relaxng.c include/libxml/relaxng.h: adding a type init interface + * include/libxml/xmlerror.h parser.c xmlreader.c xmlwriter.c: more + cleanups and bug fixes raised by the regression tests + +Wed Nov 3 12:49:30 CET 2004 Daniel Veillard + + * gentest.py testapi.c: more fixes and extending the tests coverage + * xmlwriter.c list.c: more hardeing of APIs + * doc/apibuild.py: skip testapi.c when scanning the C files. + +Tue Nov 2 23:09:06 CET 2004 Daniel Veillard + + * gentest.py testapi.c: more testing and coverage + * elfgcchack.h xmlstring.c include/libxml/xmlstring.h: more cleanups + * doc/*: rebuilt + +Tue Nov 2 19:44:32 CET 2004 Daniel Veillard + + * gentest.py testapi.c: more developments on the API testing + * HTMLparser.c tree.c: more cleanups + * doc/*: rebuilt + +Tue Nov 2 15:49:34 CET 2004 Daniel Veillard + + * xmlmemory.c include/libxml/xmlmemory.h: adding xmlMemBlocks() + * Makefile.am gentest.py testapi.c: work on generator of an + automatic API regression test tool. + * SAX2.c nanoftp.c parser.c parserInternals.c tree.c xmlIO.c + xmlstring.c: various API hardeing changes as a result of running + the first set of automatic API regression tests. + * test/slashdot16.xml: apparently missing from CVS, commited it + +Mon Nov 1 15:54:18 CET 2004 Daniel Veillard + + * xpath.c: fixed an UTF-8 parsing bug reported by Markus Bertheau + on #fedora-devel + +Sun Oct 31 22:03:38 CET 2004 Daniel Veillard + + * parser.c: fixed a bug reported by Petr Pajas on the list and + affecting XML::Libxml + +Sun Oct 31 16:33:54 CET 2004 Daniel Veillard + + * encoding.c doc/examples/testWriter.c: Fixed bug #153937, making + sure the conversion functions return the number of byte written. + Had to fix one of the examples. + +Fri Oct 29 14:16:56 CEST 2004 Daniel Veillard + + * doc/xmllint.1 doc/xmllint.xml: indicate - means stdin closing #156626 + +Fri Oct 29 14:03:36 CEST 2004 Daniel Veillard + + * python/libxml.c: register xmlSchemaSetValidErrors, patch from + Brent Hendricks in the mailing-list + * include/libxml/valid.h HTMLparser.c SAX2.c valid.c + parserInternals.c: fix #156626 and more generally how to find out + if a validation contect is part of a parsing context or not. This + can probably be improved to make 100% sure that vctxt->userData + is the parser context too. It's a bit hairy because we can't + change the xmlValidCtxt structure without breaking the ABI since + this change xmlParserCtxt information indexes. + +Wed Oct 27 19:26:20 CEST 2004 Daniel Veillard + + * ChangeLog NEWS configure.in doc/*: preparing release 2.6.15 + * debugXML.c nanoftp.c xmlschemas.c xmlschemastypes.c: cleanups + +Wed Oct 27 09:31:24 PDT 2004 William Brack + + * uri.c: fixed a stupid mistake in xmlBuildRelativeURI + (bug 156527) + +Wed Oct 27 11:44:35 CEST 2004 Daniel Veillard + + * nanoftp.c nanohttp.c: second part of the security fix for + xmlNanoFTPConnect() and xmlNanoHTTPConnectHost(). + +Tue Oct 26 23:57:02 CEST 2004 Daniel Veillard + + * nanoftp.c: applied fixes for a couple of potential security problems + * tree.c valid.c xmllint.c: more fixes on the string interning checks + +Tue Oct 26 18:09:59 CEST 2004 Daniel Veillard + + * debugXML.c include/libxml/xmlerror.h: added checking for names + values and dictionaries generates a tons of errors + * SAX2.ccatalog.c parser.c relaxng.c tree.c xinclude.c xmlwriter.c + include/libxml/tree.h: fixing the errors in the regression tests + +Mon Oct 25 16:04:22 PDT 2004 William Brack + + * parser.c: modified the handling of _private for entity + expansion (bug 155816) + +Mon Oct 25 17:11:37 CEST 2004 Daniel Veillard + + * parser.c: fixed the leak reported by Volker Roth on the list + * test/ent10 result//ent10*: added a specific test for the problem + +Sat Oct 23 11:07:41 PDT 2004 William Brack + + * valid.c: unlinked the internal subset within xmlValidateDtd + (bug 141827) + * configure.in: added -Wall to developer's flags + * doc/examples/reader4.res: added to CVS + +Fri Oct 22 16:36:50 CEST 2004 Daniel Veillard + + * HTMLparser.c: added support for HTML PIs #156087 + * test/HTML/python.html result/HTML/python.html*: added specific tests + +Fri Oct 22 15:20:23 CEST 2004 Daniel Veillard + + * threads.c: fixed nasty bug #156087 + +Fri Oct 22 21:04:20 CEST 2004 Daniel Veillard + + * python/libxml.c: fixed a problem occurring only in x86_64 when + very large error messages are raised to the Python handlers. + +Thu Oct 21 18:03:21 CEST 2004 Daniel Veillard + + * xmlschemas.c: fixed a memory bug + * doc/examples/reader4.c doc/examples/*: added test from Graham Bennett + and regenerated the directory + +Tue Oct 19 11:06:39 CEST 2004 Daniel Veillard + + * include/libxml/xmlreader.h xmlreader.c: applied patch from + Graham Bennett adding 4 convenience functions to the reader API. + +Fri Oct 15 11:22:48 PDT 2004 William Brack + + * debugXML.c: excluded a few nodes (with no content) from the + string check routine. + +Fri Oct 15 10:48:30 EDT 2004 Daniel Veillard + + * debugXML.c include/libxml/xmlerror.h: added UTF-8 string checking, + raise a problem, need debug + +Wed Oct 13 02:17:36 CEST 2004 Daniel Veillard + + * python/Makefile.am: applied patch from Thomas Fitzsimmons fixing + #155240 building outside the source tree. but make tests fails. + +Mon Oct 11 16:26:51 CEST 2004 Daniel Veillard + + * debugXML.c include/libxml/xmlerror.h: added namespace checking + +Sat Oct 9 22:36:21 CEST 2004 Daniel Veillard + + * debugXML.c: some framework preparation to add namespace checkings + +Thu Oct 7 15:12:58 CEST 2004 Daniel Veillard + + * debugXML.c include/libxml/debugXML.h include/libxml/xmlerror.h: + adding the tree debug mode + * parser.c relaxng.c tree.c xpath.c: fixing various problems reported + by the debug mode. + * SAX2.c: another tree fix from Rob Richards + +Wed Oct 6 10:50:03 PDT 2004 William Brack + + * catalog.c: small change to last fix, to get xml:base right + +Wed Oct 6 09:33:51 PDT 2004 William Brack + + * catalog.c: added code to handle , including dumping + to output (bug 151924). + * xmlcatalog.c, xmlstring.c, parser.c: minor compiler warning + cleanup (no change to logic) + +Mon Oct 4 16:09:07 CEST 2004 Daniel Veillard + + * configure.in debugXML.c include/libxml/xmlversion.h.in + include/libxml/xmlwin32version.h.in: revamped the XML debugging + module and prepare for a new checking mode + +Mon Oct 4 13:53:24 CEST 2004 Daniel Veillard + + * parser.c: applied patch from Malcolm Tredinnick fixing bug #152426 + +Mon Oct 4 12:26:28 CEST 2004 Daniel Veillard + + * python/generator.py python/libxml.c python/tests/outbuf.py: + applied patch from Malcolm Tredinnick fixing bug #154294 + related to saving to python file objects. + +Sat Oct 2 21:08:51 PDT 2004 William Brack + + * tree.c: changed xmlHasNsProp to properly handle a request for + the default namespace (bug 153557) + +Sat Oct 2 18:18:27 PDT 2004 William Brack + + * parser.c: fixed problem with dictionary handling within + xmlParseInNodeContext (bug 153175) + +Sat Oct 2 15:46:37 PDT 2004 William Brack + + * check-relaxng-test-suite.py, check-relaxng-test-suite2.py, + check-xinclude-test-suite.py, check-xml-test-suite.py, + check-xsddata-test-suite.py, doc/examples/index.py: changed + changed sys.path setting from 'append' to 'insert' (patch + supplied by Malcolm Tredinnick) (bug 153716) + +Sat Oct 2 15:03:14 PDT 2004 William Brack + + * include/libxml/parserInternals.h: added two new macros + IS_ASCII_LETTER and IS_ASCII_DIGIT used with (html) + parsing and xpath for testing data not necessarily + unicode. + * HTMLparser.c, xpath.c: changed use of IS_LETTER_CH and + IS_DIGIT_CH macros to ascii versions (bug 153936). + +Fri Oct 1 20:37:25 PDT 2004 William Brack + + * error.c: added some coding to attempt to display which file + contains an error when using XInclude (bug 152623) + +Thu Sep 30 11:19:17 CEST 2004 Daniel Veillard + + * configure.in: stupid cut'n paste bug in xmllint detection + +Wed Sep 29 17:47:56 CEST 2004 Daniel Veillard + + * configure.in doc/*: releasing 2.6.14, rebuilding the docs + +Wed Sep 29 15:00:11 CEST 2004 Kasimier Buchcik + + * xmlschemas.c include/libxml/xmlerror.h include/libxml/xmlschemas.h + include/libxml/schemasInternals.h: Parsing of + - handle attribute 'mixed', catch illegal attributes. + Parsing of - handle attributes 'abstract', + 'final' and 'block', catch illegal attributes. + Validation of complex types - handle abstract types. + Added handling of default/fixed attributes and element values. + Per validation option attribute nodes/text nodes are created + on the instance. + Added the corresponding constraints for fixed/default. + Added xmlSchemaSetValidOptions, xmlSchemaGetValidOptions + to the external API. + Extended element declaration constraints. + Got rid of perseverative creation of temporery validation/parser + contexts. + Added handling of xsi:schemaLocation and + xsi:noNamespaceSchemaLocation. + Fixed xsi:type component resolution if using non-prefixed + QNames. + * xmlregexp.c xmlschemas.c include/libxml/xmlautomata.h: + Enabled namespace awareness of the content model if using the + model group "all". + * test/schemas/bug152470_1.xsd: Removed an "abstract" attribute, + which broke the test. + * xstc/xstc.py: Workaround to accomodate case insensitive + test definitions in ms-test.def.xml (was missing in a previous + commit). + +Wed Sep 29 11:03:10 CEST 2004 Daniel Veillard + + * python/drv_libxml2.py: another patch from Malcolm Tredinnick + adding option not to load dtd from the drv_libxml2.py module + #134633 + +Tue Sep 28 14:30:22 CEST 2004 Daniel Veillard + + * acconfig.h config.h.in configure.in xmlIO.c xmlregexp.c xmlschemas.c + xmlschemastypes.c: another patch from Malcolm Tredinnick fixing + warning generated by the Nonstop Kernel Open System Services + compiler #151710 + +Tue Sep 28 13:07:37 CEST 2004 Daniel Veillard + + * python/libxml.py: applied patch from Malcolm Tredinnick fixing + python exception hierarchy #139824 + +Sun Sep 26 16:40:24 CEST 2004 Daniel Veillard + + * valid.c TODO: applied patch from Malcolm Tredinnick fixing errata + E20 concerning NMTOKENS and co. validation #153722 + * result/VC/AttributeNmtokens test/VC/AttributeNmtokens + test/VCM/AttributeNmtokens.xml: also added tests from Malcolm + +Sun Sep 26 16:24:44 CEST 2004 Daniel Veillard + + * xstc/xstc.py: applied patch from Malcolm Tredinnick fixing space/tabs + #153713 + * xpath.c: fixed a realloc potential problem + +Fri Sep 24 16:14:12 CEST 2004 Daniel Veillard + + * Makefile.am: fixed make valgrind xstc + +Thu Sep 23 18:23:46 CEST 2004 Daniel Veillard + + * xmlschemastypes.c: fixing an out of bound addressing issue + +Thu Sep 23 15:14:12 CEST 2004 Daniel Veillard + + * HTMLparser.c parser.c relaxng.c xmlschemas.c: more memory related + code cleanups. + +Thu Sep 23 01:04:30 CEST 2004 Daniel Veillard + + * parser.c: fixed a bunch of errors when realloc failed. + +Wed Sep 22 23:56:05 CEST 2004 Daniel Veillard + + * threads.c uri.c: couple of memory fixes from Mark Vakoc reported + by Purify on Windows. + +Mon Sep 20 22:01:47 CEST 2004 Daniel Veillard + + * xmllint.c: added --timing --copy timing for the copy + * vms/build_libxml.com: applied patch from Craig Berry + to build with recent releases + +Fri Sep 17 21:25:33 PDT 2004 William Brack + + * nanohttp.c, include/libxml/nanohttp.h: added the routine + xmlNanoHTTPContentLength to the external API (bug151968). + * parser.c: fixed unnecessary internal error message (bug152060); + also changed call to strncmp over to xmlStrncmp. + * encoding.c: fixed compilation warning (bug152307). + * tree.c: fixed segfault in xmlCopyPropList (bug152368); fixed + a couple of compilation warnings. + * HTMLtree.c, debugXML.c, xmlmemory.c: fixed a few compilation + warnings; no change to logic. + +Fri Sep 17 10:40:23 CEST 2004 Daniel Veillard + + * parser.c: removed some extern before function code reported by + Kjartan Maraas on IRC + * legacy.c: fixed compiling when configuring out the HTML parser + * Makefile.am: added a declaration for CVS_EXTRA_DIST + * HTMLparser.c: beginning of an attempt at cleaning up the construction + of the HTML parser data structures, current data generate a huge + amount of ELF relocations at loading time. + +Fri Sep 17 10:36:23 CEST 2004 Daniel Veillard + + * ChangeLog: applied fix from Stepan Kasal to fix duplication + in the change log and cleanup of space/tabs issues. + +Thu Sep 16 13:24:27 CEST 2004 Kasimier Buchcik + + * xmlschemas.c include/libxml/schemasInternals.h + test/schemas/bug152470_1.* result/schemas/bug152470_1_1*: + Simpified attribute wildcard creation and assignment to get rid + of memory leaks. + Restructured the validation process. + Restructured and expanded parsing of . + Added initial handing of xsi:type. + Advanced handling of xsi:nil (should work now for simple types). + Added construction of schemata using xsi:schemaLocation and + xsi:noNamespaceSchemaLocation; this is not enabled, since + no corresponding API exists yet. + Moved the content model to complex type components. + Resolution of types for attributes will look for simple types + only (incl. all the built-in simple types). + Extended parsing of 'anyAttribute'. + Fixed content-type type for complex types if derived from + 'anyType' using the short-hand form (see bug # 152470, + submitted by Thilo Jeremias). + * include/libxml/xmlschematypes.h: Cleaned up some comments. + * xstc/xstc.py: Workaround to accomodate case insensitive + test definitions in ms-test.def.xml. + * result/schemas/deter0_0_0.err result/schemas/ns0_0_2.err + result/schemas/ns0_1_2.err: Adapted. + +Sat Sep 11 09:04:22 PDT 2004 William Brack + + * xmlwriter.c: changed char array initialisation to avoid a + complaint from some compiler(s) (bug 152308) + +Thu Sep 9 07:22:11 PDT 2004 William Brack + + * encoding.c: applied fixes for the UTF8ToISO8859x transcoding + routine suggested by Mark Itzcovitz + +Wed Sep 8 22:50:27 CEST 2004 Daniel Veillard + + * valid.c xmlsave.c: fixed 2 problems raised by #152140, one + which is that notation not in the internal subset should + not be saved, and the second more nasty on an error saving + NOTATIONs, if there is a proof that nobody uses notations ! + +Wed Sep 8 11:04:27 CEST 2004 Kasimier Buchcik + + * xmlschemas.c include/libxml/xmlschemas.h: Added the function + xmlSchemaValidateOneElement to the XML Schema validation API, + as proposed by Jeffrey Fink - see bug # 152073. + +Tue Sep 7 11:10:36 CEST 2004 Daniel Veillard + + * configure.in doc/Makefile.am xstc/Makefile.am: some cleanup + checking for xmllint and xsltproc in configure.in, fixed + make dist w.r.t. the new xstc subdir. + * doc/*: rebuilt + +Mon Sep 6 16:42:59 CEST 2004 Kasimier Buchcik + + * xstc/xstc.py: Changed to finally validate instance documents. + +Mon Sep 6 16:04:01 CEST 2004 Daniel Veillard + + * xstc/Makefile.am Makefile.am: integrated to "make valgrind", + heavy ... weight 250MB of VM ! + +Mon Sep 6 14:54:39 CEST 2004 Daniel Veillard + + * xstc/Makefile.am xstc/xstc-to-python.xsl xstc/xstc.py Makefile.am: + more cleanup in integrating the xstc testsuite + +Mon Sep 6 13:56:28 CEST 2004 Daniel Veillard + + * Makefile.am configure.in xstc/.cvsignore xstc/Makefile.am: + starting to integrate the xstc suite in the normal regression + tests + +Mon Sep 6 13:14:11 CEST 2004 Kasimier Buchcik + + * xstc/sun-test-def.xml: The "tsDir" attribute was not + set correctly. + +Mon Sep 6 11:52:50 CEST 2004 Daniel Veillard + + * check-xinclude-test-suite.py: when output and expected do not match + exactly run diff to put the differences in the log c.f. #148691 + +Mon Sep 6 11:17:35 CEST 2004 Kasimier Buchcik + + * xstc/xstc-to-python.xslt xstc/ms-test-def.xml xstc/nist-test-def.xml + xstc/sun-test-def.xml: Initial release of generation files to + create python test scripts, which will run the W3C XML Schema Test + Collection. The ms-test-def.xml and sun-test-def.xml files + were extracted from the online HTML XSTC results [1], since they did + not exist for the SUN tests, and only partially did exist for the + MS tests. The NIST definition file was created by concatenation + of the existing definition files for each single datatype. + The stylesheet "xstc-to-python.xslt" should be run against the + definition files to produce the python scripts. + [1] "http://www.w3.org/XML/2001/05/xmlschema-test-collection/ + results-master.html" + +Fri Sep 3 20:29:59 CEST 2004 Kasimier Buchcik + + * xmlschemas.c include/libxml/schemasInternals.h + include/libxml/xmlerror.h: Fixed a seg fault in xmlGetQNameProp: + a format argument was missing. + Fixed wrong assignment of the owner of a wildcard in + xmlSchemaBuildAttributeValidation (in the shorthandform of + ; this caused a seg fault, due to a double-free + of the wildcard. + Added a check for circular attribute group references. + Added a check for circular model group definition references. + Fixed a duplicate xmlParserErrors enum value - see bug #151738. + +Fri Sep 3 10:08:13 PDT 2004 William Brack + + * xmlstring.c: modified comments on xmlGetUTF8Char in + response to bug 151760 (no change to logic) + +Tue Aug 31 09:46:18 PDT 2004 William Brack + + * xmlstring.c: fixed error reported on the list caused by + my last change + +Tue Aug 31 15:41:52 CEST 2004 Daniel Veillard + + * NEWS configure.in doc/*: release of libxml2-2.6.13 + +Tue Aug 31 14:14:30 CEST 2004 Daniel Veillard + + * xmlIO.c: fixing #151456, an encoding error could generate + a serialization loop. + +Tue Aug 31 11:34:04 CEST 2004 Daniel Veillard + + * Makefile.am: also produce a tar ball with just the sources + * xmllint.c: added --path option and --load-trace options to + xmllint, RFE #147740 based on xsltproc versions + * doc/xmllint.* doc/*: updated the man page and rebuilt + +Tue Aug 31 10:37:23 CEST 2004 Daniel Veillard + + * xmlschemastypes.c: "" is a valid hexbinary string dixit xmlschema-dev + * result/schemas/hexbinary_0_1.err test/schemas/hexbinary_1.xml: + update the test. + * test/ns5 result//ns5*: added a test for the namespace bug fixed + in previous commit. + * Makefile.am: added a message in the regression tests + +Mon Aug 30 23:36:21 PDT 2004 William Brack + + * SAX2.c: fixed bug introduced during OOM fixup causing problems + with default namespace when a named prefix with the same href + was present (reported on the mailing list by Karl Eichwalder. + * xmlstring.c: modified xmlCheckUTF8 with suggested code from + Julius Mittenzwei. + * dict.c: added a typecast to try to avoid problem reported by + Pascal Rodes. + +Mon Aug 30 12:45:46 CEST 2004 Kasimier Buchcik + + * xmlschemas.c: Fixed a bug in xmlSchemasCheckFacet, which did + not create a computed value on a facet and thus crashed during + validation of instances. + Expanded validity checks for min/maxOccurs attributes. + Expanded validity checks for the value of the attribute "form". + +Fri Aug 27 18:32:24 PST 2004 William Brack + + * xmlstring.c: fixed a problem with xmlCheckUTF8 reported on the + mailing list by Julius Mittenzwei + +Fri Aug 27 00:13:39 CEST 2004 Daniel Veillard + + * libxml.spec.in: added BuildRequires: zlib-devel, fixes + Red Hat bug #124942 + +Thu Aug 26 12:27:23 CEST 2004 Daniel Veillard + + * parser.c: remove a warning on Solaris + * xmlschemastype.c: fix a crashing bug #151111 + +Wed Aug 25 22:20:18 CEST 2004 Kasimier Buchcik + + * test/schemas/import-bad-1_0.imp: Added missing test file. + * xmlschemas.c include/libxml/xmlerror.h include/libxml/xmlschemas.h: + Substituted the obsolete xmlSchemaValidError(s) for xmlParserErrors + - see #150840. + Changed the import of schemas to allow failure of location + of a resource to be imported. + * result/schemas/all_* result/schemas/any3_0_0.err + result/schemas/choice_* result/schemas/import1_0_0.err + result/schemas/list0_0_1.err result/schemas/list0_1_0.err + result/schemas/list0_1_1.err result/schemas/ns0_0_2.err + result/schemas/ns0_1_2.err: Adapted regression test results. + +Tue Aug 24 20:49:15 MDT 2004 John Fleck + + * doc/tutorial/xmltutorial.xml, xmltutorial.pdf, *.html + fix Xpath memory leak (thanks to sKaBoy and William Brack) + +Tue Aug 24 21:10:59 CEST 2004 Igor Zlatkovic + + * parser.c: fixed path problem in DTD loading reported by + Sameer Abhinkar + +Tue Aug 24 16:40:51 CEST 2004 Igor Zlatkovic + + * win32/configure.js: added support for version extra + * win32/Makefile.*: upgraded to zlib 1.2.1 + +Mon Aug 23 14:33:54 CEST 2004 Daniel Veillard + + * configure.in: removing -O -g from default gcc flags #150828 + +Sun Aug 22 16:26:46 CEST 2004 Daniel Veillard + + * configure.in doc/* NEWS: preparing 2.6.12 release, updated and + and rebuilt the docs. + +Sun Aug 22 16:07:20 CEST 2004 Daniel Veillard + + * python/libxml.c: fix a problem on last commit + +Sun Aug 22 15:16:53 CEST 2004 Daniel Veillard + + * xmllint.c xpath.c include/libxml/xpath.h + include/libxml/xpathInternals.h python/libxml.c + python/libxml_wrap.h: trying to remove some warning when compiling + on Fedora Core 3 and 64bits + +Sat Aug 21 0:035:10 CET 2004 Kasimier Buchcik + + * xmlschemas.c: modified parsing of , , , + , , , . + Fixed schema defaults (elementFormDefault, etc.) for included + schemas. + Fixed a bug which reported attributes as invalid on + elements declarations with the built-in type 'anyType'. + Added "lax" validation of the content of elements of type + 'anyType'. + Fixed: element declarations with the same name were treated + as duplicate if located in the subtree of -> . + (This was bug 150623, submitted by Roland Lezuo) + Fixed cleanup of error codes in xmlSchemaValidateDoc as proposed + by Igor Kapitanker. (This was bug 150647, submitted by Igor + Kapitanker) + * xmlschemastypes.c: Changed the type of anyType to + XML_SCHEMAS_ANYTYPE. + * include/libxml/xmlerror.h: Added schema parser errors. + * result/schemas/bug145246_0_0* + result/schemas/extension1_0_2.err: Changed test results. + * result/schemas/ct-sc-nobase_0_0* + result/schemas/facet-whiteSpace_0_0* + result/schemas/import1_0_0* result/schemas/import2_0_0* + result/schemas/include2_0_0* result/schemas/include3_0_0* + result/schemas/restriction-attr1_0_0* + result/schemas/seq-dubl-elem1_0_0* + result/schemas/xsd-list-itemType_0_0*: Added new rest results. + test/schemas/bug145246.xsd.imp test/schemas/ct-sc-nobase_0* + test/schemas/facet-whiteSpace_0* test/schemas/import1_0* + test/schemas/import2_0* test/schemas/include2_0* + test/schemas/include3_0* test/schemas/restriction-attr1_0* + test/schemas/seq-dubl-elem1_0* test/schemas/xml.xsd + test/schemas/xsd-list-itemType_0*: Added new tests and missing + files. + +Fri Aug 20 18:51:36 CEST 2004 Daniel Veillard + + * Makefile.am configure.in: a bit of cleanup and a extra variable for + CVS dist + +Thu Aug 19 07:44:07 MDT 2004 John Fleck + + * doc/xmllint.xml, xmllint.1, xmllint.html: + Edit and rebuild the man pages with Daniel's C14 update + +Wed Aug 18 19:15:27 PDT 2004 William Brack + + * parser.c: fixed missing line numbers on entity as reported + on the list by Steve Cheng + +Wed Aug 18 14:04:31 PDT 2004 William Brack + + * configure.in globals.c include/libxml/xmlversion.h.in + include/libxml/xmlwin32version.h.in: added some code to + include the CVS ChangeLog version in the xmlParserVersion + string (printed by xmllint with --version) + +Wed Aug 18 11:14:06 CEST 2004 Daniel Veillard + + * xmlschemas.c include/libxml/xmlschemas.h python/generator.py + python/libxml.c python/libxml_wrap.h python/types.c + python/tests/schema.py python/tests/Makefile.am: Applied patch + from Torkel Lyng to add Schemas support to the Python bindings + and extend the schemas error API, registered a new test. + * doc/* elfgcchack.h: rebuilt to regenerate the bindings + +Mon Aug 16 14:36:25 CEST 2004 Daniel Veillard + + * debugXML.c: added help for new set shell command + * xinclude.c xmllint.c xmlreader.c include/libxml/parser.h: + added parser option to not generate XInclude start/end nodes, + added a specific option to xmllint to test it fixes #130769 + * Makefile.am: regression test the new feature + * doc/xmllint.1 doc/xmllint.xml: updated man page to document option. + +Mon Aug 16 02:42:30 CEST 2004 Daniel Veillard + + * xmlIO.c: small typo pointed out by Mike Hommey + * doc/xmllint.xml, xmllint.html, xmllint.1: slightly improved + the --c14n description, c.f. #144675 . + * nanohttp.c nanoftp.c: applied a first simple patch from + Mike Hommey for $no_proxy, c.f. #133470 + * parserInternals.c include/libxml/parserInternals.h + include/libxml/xmlerror.h: cleanup to avoid 'error' identifier + in includes #137414 + * parser.c SAX2.c debugXML.c include/libxml/parser.h: + first version of the implementation of parsing within + the context of a node in the tree #142359, new function + xmlParseInNodeContext(), added support at the xmllint --shell + level as the "set" function + * test/scripts/set* result/scripts/* Makefile.am: extended + the script based regression tests to instrument the new function. + +Sat Aug 14 18:53:08 MDT 2004 John Fleck + + * doc/xmllint.xml, xmllint.html, xmllint.1: + add c14n to man page (man, it's hard to keep up with + Daniel!) + +Sat Aug 14 18:45:38 MDT 2004 John Fleck + + * doc/xmllint.xml, xmllint.html, xmllint.1: + add pattern, walker, maxmem, output and xmlout to man page + fixes #144675 + +Sun Aug 15 00:41:12 CEST 2004 Daniel Veillard + + * xmllint.c: added a --c14n option to canonicalize the output + should close the RFE #143226 + +Sat Aug 14 23:50:10 CEST 2004 Daniel Veillard + + * tree.c: Dodji pointed out a bug in xmlGetNodePath() + * xmlcatalog.c: applied patch from Albert Chin to add a + --no-super-update option to xmlcatalog see #145461 + and another patch also from Albert Chin to not crash + on -sgml --del without args see #145462 + * Makefile.am: applied another patch from Albert Chin to + fix a problem with diff on Solaris #145511 + * xmlstring.c: fix xmlCheckUTF8() according to the suggestion + in bug #148115 + * python/libxml.py: apply fix from Marc-Antoine Parent about + the errors in libxml(2).py on the node wrapper #135547 + +Sat Aug 14 13:18:57 CEST 2004 Daniel Veillard + + * Makefile.am: added a dumb rule to able to compile tst.c + when people submit a sample test program + * xmlschemas.c: applied small patch from Eric Haszlakiewicz + to document xmlSchemasSetValidErrors() limitations, #141827 + * error.c: Add information in generic and structured error + setter functions that this need to be done per thread #144308 + * xmlsave.c: fixed bug whith missing NOTATION(s) serialization + bug #144162 + * doc/xmllint.xml: typo fix #144840 + +Tue Aug 10 07:19:31 PDT 2004 Daniel Veillard + + * configure.in xmlregexp.c xmlschemas.c xmlschemastypes.c + include/libxml/schemasInternals.h include/libxml/xmlerror.h + include/libxml/xmlschemastypes.h: applied Schemas patches + from Kasimier Buchcik + * test/ result/ bug141333* annot-err* any[1-4]* bug145246* + element-err* element-minmax-err* include1* restrict-CT-attr-ref*: + lot of new tests for things fixed by the patch + +Fri Aug 6 09:22:34 PDT 2004 William Brack + + * valid.c: fixed my mis-handling of External ID on last + change. + +Wed Aug 4 23:40:21 PDT 2004 William Brack + + * valid.c: changed the parsing of a document's DTD to use + the proper base path (bug 144366) + +Wed Aug 4 16:58:08 CEST 2004 Daniel Veillard + + * Makefile.am config.h.in configure.in python/Makefile.am: + applied a patch from Gerrit P. Haase to get python bindings + on Cygwin + +Tue Aug 3 15:08:22 PDT 2004 William Brack + + * include/libxml/valid.h: elaborated on description of + xmlValidityWarningFunc and xmlValidityErrorFunc (bug + 144760) + * xmlIO.c, xmlschemastypes.c, include/libxml/schemasinternals.h: + minor fixes to comments for doc rebuilding errors. + * doc/*.html: rebuilt the docs + +Tue Aug 3 23:59:23 CEST 2004 Daniel Veillard + + * doc/ChangeLog.xsl doc/downloads.html doc/xml.html doc/*: + fixes documentation glitches raised by Oliver Stoeneberg + +Tue Aug 3 09:42:31 PDT 2004 William Brack + + * tree.c: fixed problem with memory leak on text nodes in DTD + (bug 148965) with patch provided by Darrell Kindred + +Tue Aug 3 08:14:44 PDT 2004 William Brack + + * HTMLparser.c: fixed initialisation problem for htmlReadMemory + (bug 149041) + +Sat Jul 31 11:01:33 PDT 2004 William Brack + + * doc/buildDocBookCatalog: enhanced per bug 119876. Further + info posted to the mailing list. + +Sat Jul 31 09:12:44 PDT 2004 William Brack + + * SAX2.c, encoding.c, error.c, parser.c, tree.c, uri.c, xmlIO.c, + xmlreader.c, include/libxml/tree.h: many further little changes + for OOM problems. Now seems to be getting closer to "ok". + * testOOM.c: added code to intercept more errors, found more + problems with library. Changed method of flagging / counting + errors intercepted. + +Fri Jul 30 13:57:55 CEST 2004 Daniel Veillard + + * tree.c: applied a couple of patch one from Oliver Stoeneberg + and another one from Rob Richards fixing #148448 + +Thu Jul 29 13:20:28 CEST 2004 Daniel Veillard + + * HTMLparser.c: 1 line patch, apparently htmlNewDoc() was not + setting doc->charset. + +Thu Jul 29 00:05:58 PDT 2004 William Brack + + * SAX2.c, tree.c, uri.c, xmlIO.c, xmlreader.c: further + fixes for out of memory condition, mostly from Olivier + Andrieu. + * testOOM.c: some further improvement by Olivier, with + a further small enhancement for easier debugging. + +Tue Jul 27 00:34:07 PDT 2004 William Brack + + * SAX2.c, error.c, parser.c, tree.c, xmlreader.c: + implemented patches supplied by Olivier Andrieu + (bug 148588), plus made some further enhancements, to + correct some problems with out of memory conditions. + * testOOM.c: improved with patches from Olivier Andrieu + +Mon Jul 26 11:03:18 PDT 2004 William Brack + + * tree.c: put in patch for Windows buffer re-allocation + submitted by Steve Hay (bug 146697) + +Sun Jul 25 17:18:39 PDT 2004 William Brack + + * xinclude.c: added some code to check, when an include is + done, whether the requested URL gets mapped to some other + location (e.g. with a catalog entry) and, if so, take care + of the xml:base properly (bug 146988) + +Sun Jul 25 14:02:24 PDT 2004 William Brack + + * error.c: fixed to assure user data param is set correctly + when user structured error handler is called (bug 144823) + +Thu Jul 22 10:14:48 PDT 2004 William Brack + + * xmlreader.c: fixed problem with reader state after + processing attributes (bug 147993) + +Wed Jul 21 17:04:27 HKT 2004 William Brack + + * configure.in, Makefile.am: put in an auto* check for the + path to perl (if it exists), and modified make Timingtests + to use that path instead of just executing the dbgenattr.pl + script (bug 148056) + +Fri Jul 16 18:36:33 HKT 2004 William Brack + + * python/generator.py: added a check on the argument for some + classes (e.g. xmlDoc and xmlNode) to prevent a segfault (as + reported on the list). Further enhancement should be done + to auto-create the appropriate object. + * python/libxml.c: minor fix for a warning message; added a + routine, currently not used, to report the description of a + PyCObject. + * python/libxml2class.txt: regenerated + +Fri Jul 16 11:01:40 CEST 2004 Daniel Veillard + + * catalog.c test/catalogs/white* result/catalogs/white*: + applied patches from Peter Breitenlohner to fix handling + of white space normalization in public ids and add tests + +Tue Jul 13 17:24:13 CEST 2004 Daniel Veillard + + * xmlmemory.c: applied a small fix from Steve Hay + +Tue Jul 13 23:02:19 HKT 2004 William Brack + + * xpath.c: Added code to in PREDICATE/FILTER handling to reset + the xpath context document pointer (part of fix to libxslt + bug 147445) + +Tue Jul 13 00:14:08 HKT 2004 William Brack + + * python/libxml.py: ran 'expand' on the file to get rid of mixture + of tabs and spaces (bug 147424) + +Sun Jul 11 22:38:29 HKT 2004 William Brack + + * python/drv_libxml.py: added an encoding "special comment" to avoid + warning message in python2.3 (bug 146889) + * Makefile.am, python/Makefile.am, python/tests/Makefile.am: small + change to make "make tests" a little quieter (MAKEFLAGS+=--silent) + * xpath.c: enhanced to take advantage of current libxslt handling + of tmpRVT. Fixes bug 145547. + +Fri Jul 9 14:02:54 CEST 2004 Daniel Veillard + + * libxml.h uri.c: fixed a couple of problems in the new + elfgcchack.h trick pointed by Peter Breitenlohner + +Wed Jul 7 00:45:48 CEST 2004 Daniel Veillard + + * elfgcchack.h doc/apibuild.py doc/libxml2-api.xml: fixed a bug + which prevented building with --with-minimum + +Mon Jul 5 19:43:51 CEST 2004 Daniel Veillard + + * configure.in doc/*: releasing 2.6.11, updated and regenerated the + docs + +Mon Jul 5 18:43:47 CEST 2004 Daniel Veillard + + * parser.c: make the push interfaces synchronous + * python/tests/sync.py: added a specific test + * python/tests/Makefile.am doc/examples/Makefile.am + doc/examples/index.py: added the new test, cleaning up + "make tests" output + +Mon Jul 5 15:09:17 CEST 2004 Daniel Veillard + + * xmlschemas.c: applied patch from Kasimier to fix some Relax-NG + datatype facet problem with recent changes. + +Sat Jul 3 11:31:02 HKT 2004 William Brack + + * python/libxml.c: Changed the number of XPath extension functions + allowed to be variable-length (patch supplied by Marc-Antoine + Parent, bug 143805). Added code to "unregister" the functions + when the parser cleanup takes place. + +Fri Jul 2 14:22:14 CEST 2004 Daniel Veillard + + * xmlmemory.c python/libxml.c python/libxml2-python-api.xml: + some updates with memory debugging facilities while messing + with libxslt python bindings + +Thu Jul 1 14:53:36 CEST 2004 Daniel Veillard + + * python/libxml.c python/generator.py python/libxml.py + python/libxml2-python-api.xml python/libxml2class.txt: + applied patch from Stéphane Bidoul to fix some Python bindings + initialization, then had to change the parserCleanup() + to handle memory released there. + * xmlmemory.c: added more debugging comments. + +Thu Jul 1 13:18:02 CEST 2004 Daniel Veillard + + * xmlreader.c: seems the reader buffer could be used while not + allocated, fixes bug #145218 + +Thu Jul 1 11:34:10 CEST 2004 Daniel Veillard + + * python/generator.py: do not provide functions used as destructor + of classes as public methods to avoid double-free problem like + in bug #145185 + +Wed Jun 30 19:45:23 HKT 2004 William Brack + + * xmlschemas.c, xmlschemastypes.c: warning message cleanup. + Now compiles warning-free, all tests passed. + * SAX2.c: small change to comments for documentation. + No change to logic. + +Tue Jun 29 15:00:13 PDT 2004 Daniel Veillard + + * xmlschemas.c: more fixes with Kasimier, looks far cleaner :-) + +Tue Jun 29 23:00:05 CEST 2004 Daniel Veillard + + * xmlschemas.c: Kasimier Buchcik fixed the memory access and + allocation problem + +Tue Jun 29 19:00:32 CEST 2004 Daniel Veillard + + * xmlschemas.c xmlschemastypes.c include/libxml/xmlerror.h + include/libxml/schemasInternals.h include/libxml/xmlschemastypes.h: + applied Schemas patches from Kasimier Buchcik, there is still + one open issue about referencing freed memory. + * test/schemas/* result/schemas/*: updated with new tests from + Kasimier + +Tue Jun 29 14:52:18 CEST 2004 Daniel Veillard + + * include/libxml/globals.h include/libxml/xmlIO.h + doc/libxml2-api.xml doc/libxml2-refs.xml: moved some definitions + to globals.h to avoid some troubles pointed out by Rob Richards + +Mon Jun 28 11:25:31 CEST 2004 Daniel Veillard + + * libxml.m4: applied changes suggested by Mike Hommey, remove + libxml1 support and use CPPFLAGS instead of CFLAGS + +Sun Jun 27 14:17:15 CEST 2004 Daniel Veillard + + * libxml.spec.in: another, more 'experimental' feature to + get compiler optimization based on gcc runtime profiling + +Sun Jun 27 14:02:36 CEST 2004 Daniel Veillard + + * elfgcchack.h doc/elfgcchack.xsl libxml.h: hack based on Arjan van de + Ven suggestion to reduce ELF footprint and generated code. Based on + aliasing of libraries function to generate direct call instead of + indirect ones + * doc/libxml2-api.xml doc/Makefile.am doc/apibuild.py: added automatic + generation of elfgcchack.h based on the API description, extended + the API description to show the conditionals configuration flags + required for symbols. + * nanohttp.c parser.c xmlsave.c include/libxml/*.h: lot of cleanup + * doc/*: regenerated the docs. + +Sun Jun 27 10:02:28 HKT 2004 William Brack + + * regressions.py, regressions.xml: new files for running + regression tests under Python. Not yet complete, but + should provide good testing under both Linux and Windows. + * testHTML.c, testSAX.c, xmllint.c: changed the 'fopen' used + for --push testing to include the 'rb' param when compiled + under Windows. + +Fri Jun 25 13:38:57 HKT 2004 William Brack + + * uri.c: fixed a problem when base path was "./xxx" + * result/XInclude/*: 5 test results changed by above. + * Makefile.am: fixed a couple of spots where a new + result file used different flags that the testing one. + +Thu Jun 24 16:27:44 HKT 2004 William Brack + + * valid.c: suppressed warnings from within xmlValidGetValidElements + (bug 144644) + * doc/examples/testWriter.c: corrected typo in comment for ISO-8859-1 + (bug 144245) + +Thu Jun 24 10:17:31 HKT 2004 William Brack + + * valid.c: implemented bugfix from Massimo Morara for DTD + dumping problem. + * test/valid/t10.xml, result/valid/t10.*: added regression + for above + * configure.in: small change for my profile settings + +Wed Jun 23 20:18:19 MDT 2004 John Fleck + + * doc/xmlcatalog_man.xml, xmlcatalog.1 + Docs patch from Ville Skytta, bugzilla #144841 + +Sat Jun 19 18:34:11 MDT 2004 John Fleck + + * doc/xmllint.xml, xmllint.html, xmllint.1 + update man page to reflect William's newly disciplined return + code mojo + +Thu Jun 17 00:51:55 CEST 2004 Daniel Veillard + + * doc/examples/io2.c doc/examples/parse4.c: fixing a couple of + compilation errors when configured with --with-minimum + +Wed Jun 16 16:07:10 CEST 2004 Daniel Veillard + + * debugXML.c: applied patch from Stefano Debenedetti to register + namespaces in the debug shell + +Mon Jun 14 21:56:31 CEST 2004 Daniel Veillard + + * xmlreader.c: fix from Steve Ball and update of the comment. + * Makefile.am result/errors/*.str: William pointed out that + the streaming error checking part wasn't streaming, fixing + +Mon Jun 14 14:11:52 CEST 2004 Daniel Veillard + + * catalog.c: patch from Igor for the default catalog path on Windows + +Sat Jun 12 09:03:57 HKT 2004 William Brack + + * configure.in: apparently wasn't updated last time + +Thu Jun 10 20:57:48 HKT 2004 William Brack + + * configure.in, xmlmemory.c, globals.c: fixed problem when + configuring using --with-thread-alloc + +Wed Jun 9 16:31:24 CEST 2004 Igor Zlatkovic + + * win32/configure.js win32/Makefile.* minor changes for the new + layout of the Windows binary package + +Tue Jun 8 19:50:25 CEST 2004 Daniel Veillard + + * xmlschemas.c include/libxml/xmlerror.h: applied another patch + from Kasimier Buchcik for Schema Component Constraints + * test/schemas/* result/schemas/*: added the regression tests + +Tue Jun 8 21:27:03 HKT 2004 William Brack + + * xmllint.c: fixed missing error return code for schema + validation (bug 143880), also changed over to an enum for + defining the error return codes for all conditions. + +Tue Jun 8 14:01:14 CEST 2004 Daniel Veillard + + * parser.c xmlreader.c include/libxml/parser.h: fixed a serious + problem when substituing entities using the Reader, the entities + content might be freed and if rereferenced would crash + * Makefile.am test/* result/*: added a new test case and a new + test operation for the reader with substitution of entities. + +Tue Jun 8 12:14:16 CEST 2004 Daniel Veillard + + * globals.c xmlIO.c include/libxml/globals.h include/libxml/xmlIO.h: + applied patch from Rob Richards for the per thread I/O mappings + +Tue Jun 8 09:58:31 HKT 2004 William Brack + + * xinclude.c: some further enhancement to take care of + xml:base for XPointer elements (bug 143886). Also fixed + a problem when xml:base was already specified on an + XInclude'd element. + +Mon Jun 7 22:14:58 HKT 2004 William Brack + + * relaxng.c: fixed a problem with internal cleanup of
element + (bug 143738). + +Mon Jun 7 16:57:43 HKT 2004 William Brack + + * uri.c, include/libxml/uri.h: added a new routine + xmlBuildRelativeURI needed for enhancement of xinclude.c + * xinclude.c: changed handling of xml:base (bug 135864) + * result/XInclude/*: results of 5 tests changed as a result + of the above change + +Fri Jun 4 11:27:37 CEST 2004 Daniel Veillard + + * test/schemas/* result/schemas/*: added a bunch of tests from + Kasimier Buchcik posted on May 11 + +Thu Jun 3 17:58:25 CEST 2004 Daniel Veillard + + * xmlschemas.c: new patch from Kasimier Buchcik for processContents + of wildcards attribute handling + * test/schemas/anyAttr-* result/schemas/anyAttr-*: added specific + regression tests + +Thu Jun 3 13:20:36 CEST 2004 Daniel Veillard + + * parser.c: fixed a bug where invalid charrefs may not be detected + sometimes as pointed by Morus Walter. + * test/errors/charref1.xm result/errors/charref1.xml*: added the + test in the regression suite. + +Thu Jun 3 18:38:27 HKT 2004 William Brack + + * xmlschemas.c: small change to xmlSchemaValidateAttributes, + also corrected typo on error code enum. + * include/libxml/xmlerror.h: corrected typo on schema error + code enum + +Thu Jun 3 10:12:38 HKT 2004 William Brack + + * xmlschemas.c: minor cosmetic changes, no change to logic. + * result/schemas/attruse_0_[12].err: regenerated + * globals.c: added a newline at end to make gcc happy + +Wed Jun 2 21:16:26 CEST 2004 Daniel Veillard + + * xmlschemas.c include/libxml/schemasInternals.h + include/libxml/xmlerror.h: applied a patch from Kasimier Buchcik + implementing attribute uses and wildcards. + * test/schemas/* result/schemas/*: added/fixed a bunch of tests + +Wed Jun 2 18:15:51 CEST 2004 Daniel Veillard + + * globals.c xmlIO.c include/libxml/globals.h: applied patch from + Rob Richards for custom I/O BufferCreateFilenane fixes bug + #143366 + +Wed Jun 02 16:25:32 HKT 2004 William Brack + + * xpath.c: fixed problem with predicate evaluation on an + empty nodeset (bug 143409) + +Wed Jun 02 11:26:41 HKT 2004 William Brack + + * testSAX.c: fixed problem with attribute listing (bug 142674) + and added macro LIBXML_TEST_VERSION to assure xmlInitParser + gets called (bug 142686) + +Sat May 29 21:35:52 CEST 2004 Daniel Veillard + + * test/schemas/date_0.xml xmlschemastypes.c: applied a patch from + Charles Bozeman fixing a side effect in date handling + +Thu May 27 19:47:48 MDT 2004 John Fleck + + * doc/tutorial/xmltutorial.xml fix lack of cast in Xpath example + * doc/tutorial/*.html, xmltutorial.pdf rebuild html, pdf + +2004-05-25 Aleksey Sanin + + * c14n.c: fixed c14n bug with serializing attribute namespaces + +Mon May 24 08:22:48 HKT 2004 William Brack + + * xpath.c: fixed to allow '+' in exponent of number + (bug 143005) + * SAX2.c: fixed typo in last commit + +Sat May 22 09:08:24 HKT 2004 William Brack + + * SAX2.c: skipped call to xmlValidateNCName when compiling + --with-minimum (bug 142917) + +Tue May 18 06:48:00 CEST 2004 Daniel Veillard + + * catalog.c: reverted the broken change. + +Mon May 17 23:07:15 CEST 2004 Daniel Veillard + + * NEWS doc/*: updated the docs for 2.6.10 + +Mon May 17 05:52:03 CEST 2004 Daniel Veillard + + * configure.in : releasing 2.6.10 + +Sun May 16 23:12:35 CEST 2004 Daniel Veillard + + * tree.c: avoid returning default namespace when searching + from an attribute + * entities.c xmlwriter.c: reverse xmlEncodeSpecialChars() behaviour + back to escaping " since the normal serialization routines do not + use it anymore, should close bug #134477 . Tried to make + the writer avoid it too but it didn't work. + +Sun May 16 01:07:16 CEST 2004 Daniel Veillard + + * doc/ChangeLog.awk doc/ChangeLog.xsl: fixed escaping + handling and added direct links to bugzilla report for + bug numbers. + +Sun May 16 11:11:13 HKT 2004 William Brack + + * error.c: modified to assure proper user data is sent to + structured error routine (bug 142598) + +Sun May 16 03:18:52 CEST 2004 Daniel Veillard + + * catalog.c: a couple of large static variable which should really + not be declared as such cluttered the .bss section. + +Sun May 16 03:06:31 CEST 2004 Daniel Veillard + + * doc/ChangeLog.awk: fixed a couple of problems when parsing + libxslt ChangeLog + +Sat May 15 20:14:21 CEST 2004 Daniel Veillard + + * doc/ChangeLog.awk doc/ChangeLog.xsl: first steps of a good + ChangeLog page generation. The awk shoudl escape characters + not okay in XML and the xslt should make links to functions + or variables or bug reported in the entries. + +Sat May 15 14:57:40 CEST 2004 Daniel Veillard + + * xmlsave.c include/libxml/xmlsave.h: start adding API for + escaping customization. + +Sat May 15 12:38:17 CEST 2004 Daniel Veillard + + * xmlsave.c: more xmlSave cleanup, optimization and refactoring + +Fri May 14 17:51:48 CEST 2004 Daniel Veillard + + * xmlIO.c xmlsave.c: third pass at the escaping refactoring. + +Fri May 14 12:37:24 HKT 2004 William Brack + + * parser.c: enhanced the enhancement, fixed another couple of + special cases. + +Fri May 14 11:48:33 HKT 2004 William Brack + + * parser.c: small enhancement to dtd handling of (a?)+ (bug 142487) + +Thu May 13 23:19:00 CEST 2004 Daniel Veillard + + * xmlIO.c xmlsave.c include/libxml/xmlIO.h: second pass on escaping + handling, start to looks better, need to be completed and added + directly at the saving context level. + +Thu May 13 10:31:28 CEST 2004 Daniel Veillard + + * xmlIO.c xmlsave.c include/libxml/xmlIO.h: first pass at refactoring + the escape on save routines for better performances (less malloc) + and more flexibility using the new saving context. Preliminary + work, interface will change. + +Wed May 12 22:34:03 HKT 2004 William Brack + + * xmlschemas.c: added code in xmlSchemaBuildAContentModel to handle + element reference within the xs:all construct (bug 139897) + +Wed May 12 17:27:18 HKT 2004 William Brack + + * xinclude.c: a little further fixing of fallback processing, this + time for fallback with children (bug 139520). + +Wed May 12 08:21:33 HKT 2004 William Brack + + * xmlschemas.c: added code in xmlSchemaBuildContentModel to + allow ref in group definition (bug 134411). Also fixed + misc compilation warning messages. + * result/schema/group0_0_0, result/schema/group0_0_0.err: + regenerated (now no error reported). + +Tue May 11 11:55:59 CEST 2004 Daniel Veillard + + * xmlIO.c: fix to the fix for #141864 from Paul Elseth + * HTMLparser.c result/HTML/doc3.htm: apply fix from David Gatwood for + #141195 about text between comments. + +Tue May 11 23:04:47 HKT 2004 William Brack + + * xmlschemas.c, include/libxml/schemasInternals.h, + include/libxml/xmlerror.h: Applied patches supplied by + Kasimier Buchcik. + * test/schemas/po1_0.xml, test/schemas/po1_0.xsd: + changed test to account for above patch. + +Tue May 11 09:06:53 CEST 2004 Daniel Veillard + + * python/tests/tstLastError.py: better portability fix for f(*args), + use apply(f, args) as Stéphane Bidoul suggested + +Mon May 10 15:49:22 HKT 2004 William Brack + + * xmlregexp.c: enhanced xmlRegStateAddTrans to check if transition + is already present and, if so, to ignore the request to add it. + This has a very dramatic effect on memory requirements as well + as efficiency. It also fixes bug 141762. + +Sun May 9 20:40:59 CEST 2004 Daniel Veillard + + * Makefile.am python/tests/Makefile.am python/tests/tstLastError.py: + applied patch from Ed Davis to allow "make tests" to work + with Python 1.5 + +Sun May 9 19:46:13 CEST 2004 Daniel Veillard + + * xmlsave.c: apply fix for XHTML1 formatting from Nick Wellnhofer + fixes bug #141266 + * test/xhtmlcomp result//xhtmlcomp*: added the specific regression + test + +Sun May 9 14:07:21 CEST 2004 Daniel Veillard + + * Makefile.am: fix for a pedantic make check without make all request + +Sat May 8 22:56:22 CEST 2004 Daniel Veillard + + * uri.c xmlIO.c: fixing some problems in URI unescaping + and output buffer opening, this should fix #141864 + +Fri May 7 22:31:54 CEST 2004 Daniel Veillard + + * valid.c include/libxml/valid.h: fixes the use of 'list' as a parameter + * xmlIO.c include/libxml/xmlIO.h: added xmlPopInputCallback for + Matt Sergeant + +Thu May 6 21:14:38 PDT 2004 William Brack + + * xmlregexp.c: enhanced the handling of subexpression ranges + which have a minOccurs of 0 (bug 140478 again); cleaned up + comments throughout the module. + +Tue May 4 00:52:16 CEST 2004 Daniel Veillard + + * xmllint.c: adding a --maxmem option to check memory used. + +Sat May 1 01:08:44 CEST 2004 Daniel Veillard + + * xmllint.c xmlsave.c python/generator.py python/libxml.c: Fixed + bug #141529 i.e. various problems when building with --without-html + +Fri Apr 30 18:12:31 CEST 2004 Daniel Veillard + + * xmllint.c xmlreader.c: fixing bug #141384 where the reader didn't + call the deregistering functions. Also added the check to + xmllint --stream --chkregister . + +Fri Apr 30 08:57:47 CEST 2004 Daniel Veillard + + * win32/Makefile.msvc: applied a second patch from Mark Vakoc for + regression tests on Windows + +Thu Apr 29 21:47:23 CEST 2004 Daniel Veillard + + * xmlreader.c: never commit without running make tests first ! + +Thu Apr 29 20:15:20 CEST 2004 Daniel Veillard + + * xmlreader.c: fix a nasty problem with reading over the end + * xmlsave.c: fix a reported memory leak apparently + +Thu Apr 29 17:05:00 CEST 2004 Daniel Veillard + + * win32/Makefile.msvc: patch from Mark Vakoc for regression tests + on Windows. + * xpath.c: the NaN problem also shows up on Borland + +Mon Apr 26 23:37:12 HKT 2004 William Brack + + * xmlregexp.c: enhanced xmlFARegExec range evaluation for min + occurs 0 problems - fixes bug 140478. + +Thu Apr 22 09:12:47 CEST 2004 Daniel Veillard + + * rngparser.c: tiny path fixes the "xmlConvertCRNGFile" function name + from Kasimier Buchcik + * xmlschemas.c: recursive xs:extension fix from taihei goi + +Wed Apr 21 00:19:29 CEST 2004 Daniel Veillard + + * tree.c: small buffer resizing improvement from Morten Welinder + closes #140629 + +Tue Apr 20 23:40:14 CEST 2004 Daniel Veillard + + * xpath.c: last version of the fix for MSC version 1200 + +Tue Apr 20 19:40:37 CEST 2004 Daniel Veillard + + * parser.c: killing the strncmp vs. memcmp controversy and #140593 + +Tue Apr 20 13:27:06 CEST 2004 Daniel Veillard + + * include/libxml/SAX2.h: Kasimier Buchcik pointed out some + inexistent functions, cleaned them out. + +Tue Apr 20 11:42:50 CEST 2004 Daniel Veillard + + * error.c: Johnson Cameron pointed out that + initGenericErrorDefaultFunc() was really wrong. + * xmlreader.c include/libxml/xmlreader.h: xmlTextReaderMode enum + must be made public, added some missing comments on the XMLReader + header. + * c14n.c: Alexsey fixed C14N bug with processing namespaces + from attributes + +Mon Apr 19 23:27:46 CEST 2004 Daniel Veillard + + * xpath.c: fixed a stupid () error + Mark name. + +Sun Apr 18 23:45:46 CEST 2004 Daniel Veillard + + * configure.in: preparing 2.6.9 release + * doc/* News: updated and rebuilt the docs + +Sun Apr 18 22:51:43 CEST 2004 Daniel Veillard + + * xpath.c: relaxed id() to not check taht the name(s) passed + are actually NCName, decided this in agreement with Aleksey Sanin + since existing specs like Visa3D broke that conformance checking + and other tools seems to not implement it sigh... + * SAX2.c: check attribute decls for xml:id and the value is an + NCName. + * test/xmlid/id_err* result/xmlid/id_err*: added error testing + +Sun Apr 18 21:46:17 CEST 2004 Daniel Veillard + + * xpath.c: work around Microsoft compiler NaN bug raise reported + by Mark Vakoc + * xmlschemas.c include/libxml/schemasInternals.h + include/libxml/xmlerror.h: fixed a recusive extention schemas + compilation error raised by taihei goi + +Sun Apr 18 16:57:02 CEST 2004 Daniel Veillard + + * libxml.spec.in: keep the ChangeLog compressed + * xmlreader.c: fix a segfault when using Close() + * python/tests/Makefile.am python/tests/reader8.py: test for + the Close() reader API. + +Sat Apr 17 22:42:13 HKT 2004 William Brack + + * xmlschemas.c, xmlwriter.c, doc/examples/parse4.c, + doc/examples/io2.c: minor warning cleanup (no change to logic) + * xinclude: fixed return value for internal function + xmlXIncludeLoadFallback (now always 0 or -1) + +Sat Apr 17 21:32:32 HKT 2004 William Brack + + * valid.c: small enhancement to fix bug 139791 + +Fri Apr 16 18:44:47 CEST 2004 Daniel Veillard + + * xmlschemas.c include/libxml/schemasInternals.h + include/libxml/xmlerror.h: applied patches from Kasimier Buchcik + for the attribute use support + * test/schemas/attruse* result/schemas/attruse*: added the + tests to the regression suite. + +Fri Apr 16 18:22:25 CEST 2004 Daniel Veillard + + * xmlsave.c: move the TODO as comments as the function while not + finished are usable as-is + * xmlschemas.c include/libxml/xmlerror.h: patch from Kasimier Buchcik + implementing union + * test/schemas/union_0_0.x* result/schemas/union_0_0*: added example + * python/Makefile.am: applied fix from Mike Hommey + +Fri Apr 16 23:58:42 HKT 2004 William Brack + + * parser.c: fixed problem with detecting external dtd + encoding (bug 135229). + * Makefile.am: minor change to test label + +Fri Apr 16 16:09:31 HKT 2004 William Brack + + * xinclude.c: fixed problem causing duplicate fallback + execution (bug 139520) + * test/XInclude/docs/fallback2.xml result/XInclude/fallback2.*: + added testcase + +Fri Apr 9 23:49:37 CEST 2004 Daniel Veillard + + * SAX2.c include/libxml/tree.h: adding xml:id draft support + * Makefile.am test/xmlid/id_tst* result/xmlid/id_tst*: adding + 4 first regression tests + +Fri Apr 9 11:56:08 CEST 2004 Daniel Veillard + + * libxml.spec.in: fixing Red Hat bug #120482 , libxml2-python + should depend on the version of python used to compile it. + +Mon Apr 5 09:07:24 CEST 2004 Daniel Veillard + + * HTMLparser.c: applied patch from James Bursa, frameset should + close head. + +Fri Apr 2 22:02:24 HKT 2004 William Brack + + * relaxng.c: fixed problem in xmlRelaxNGCompareNameClasses + which was causing check-relaxng-test-suite.py test 351 to fail. + +Fri Apr 2 17:03:48 HKT 2004 William Brack + + * nanohttp.c: implemented fix for M$ IIS redirect provided + by Ian Hummel + * relaxng.c: fixed problem with notAllowed compilation + (bug 138793) + +Thu Apr 1 22:07:52 CEST 2004 Daniel Veillard + + * uri.c: fix for xmlUriEscape on "http://user@somewhere.com" + from Mark Vakoc. + +2004-04-01 Johan Dahlin + + * python/.cvsignore: Add generated files, to make cvs silent. + +Thu Apr 1 12:41:36 CEST 2004 Daniel Veillard + + * xmlschemas.c: small signed-ness patch from Steve Little + +Wed Mar 31 17:47:28 CEST 2004 Daniel Veillard + + * xmlregexp.c: patched a bug in parsing production 1 and 2 of + xmlschemas regexp that William pointed out while working on + #134120 + * test/regexp/branch result/regexp/branch: added a specific + regression test + +Wed Mar 31 09:50:32 HKT 2004 William Brack + + * Makefile.am: added PYTHONPATH to python tests for Schemas + and RelaxNG + * test/xsdtest/xsdtestsuite.xml: added testfile for + SchemasPythonTests + +Mon Mar 29 16:56:49 CEST 2004 Daniel Veillard + + * doc/examples/examples.xsl doc/examples/index.html: added + information about compiling on Unix + +Mon Mar 29 14:18:12 CEST 2004 Daniel Veillard + + * catalog.c: fixes the comments for xmlCatalogDump and xmlDumpACatalog + * doc/*: rebuilt to update + +Sun Mar 28 18:11:41 CEST 2004 Daniel Veillard + + * xmlsave.c: optimize indentation based on the new context + +Sun Mar 28 14:17:10 CEST 2004 Daniel Veillard + + * doc/examples/xpath2.c doc/examples/xpath2.res: handle and explain + a very tricky problem when modifying the tree based on an XPath + result query. + +Sat Mar 27 09:56:14 PST 2004 William Brack + + * relaxng.c: fixed problem with IS_COMPILABLE flag + (bug 130216) + +Fri Mar 26 18:28:32 CET 2004 Daniel Veillard + + * parser.c: applied patch from Dave Beckett to correct line number + errors when using push with CDATA + +Fri Mar 26 14:53:58 CET 2004 Daniel Veillard + + * doc/examples/xpath1.c: added a test template + * doc/examples/xpath2.c doc/examples/xpath2.res doc/examples/*: + added a new example, and make valgrind target + +Fri Mar 26 11:47:29 CET 2004 Daniel Veillard + + * parser.c: apply fix for #136693 + +Thu Mar 25 20:21:01 MST 2004 John Fleck + + * doc/examples/io2.c + * doc/examples/io2.res + add xmlDocDumpMemory example in response to mailing list FAQ + (rebuilt xml and html also) + +Thu Mar 25 10:33:05 CET 2004 Daniel Veillard + + * debugXML.c testXPath.c xmllint.c xmlschemastypes.c: applied + patch from Mark Vakoc avoiding using xmlParse* option and use + xmlRead* instead + * win32/Makefile.bcb: patch to Borland C++ builder from Eric Zurcher + to avoid problems with some pathnames. + +Tue Mar 23 12:35:08 CET 2004 Daniel Veillard + + * configure.in doc/* News: preparing 2.6.8 release, updated and rebuilt + the docs. + * Makefile.am: use valgring fro the new Python based regression tests + +Mon Mar 22 20:07:27 CET 2004 Daniel Veillard + + * relaxng.c: remove a memory leak on schemas type facets. + * check-relaxng-test-suite.py check-relaxng-test-suite2.py + check-xsddata-test-suite.py: reduce verbosity + * configure.in Makefile.am: incorporated the Python regressions + tests for Relax-NG and Schemas Datatype to "make tests" + +Mon Mar 22 16:16:18 CET 2004 Daniel Veillard + + * xmlwriter.c include/libxml/xmlwriter.h doc/* : applied patch from + Alfred Mickautsch for better DTD support. + * SAX2.c HTMLparser.c parser.c xinclude.c xmllint.c xmlreader.c + xmlschemas.c: fixed bug #137867 i.e. fixed properly the way + reference counting is handled in the XML parser which had the + side effect of removing a lot of hazardous cruft added to try + to fix the problems associated as they popped up. + * xmlIO.c: FILE * close fixup for stderr/stdout + +Sun Mar 21 19:19:41 HKT 2004 William Brack + + * relaxng.c: added an error message when an element is not + found within a (bug 126093) + +Sat Mar 20 22:25:18 HKT 2004 William Brack + + * xmlregexp.c: enhanced the logic of parsing char groups to + better handle initial or ending '-' (bug 135972) + +Sat Mar 20 19:26:03 HKT 2004 William Brack + + * relaxng.c: added check for external reference in + xmlRelaxNGGetElements (bug 137718) + * test/relaxng/rngbug-001.*, result/relaxng/rngbug-001*: added + regression test for above + +Wed Mar 17 16:37:22 HKT 2004 William Brack + + * nanohttp.c: added a close for the local file descriptor + (bug 137474) + +Mon Mar 15 15:46:59 CET 2004 Daniel Veillard + + * xmlsave.c: switched the output routines to use the new context. + +Mon Mar 15 10:37:18 HKT 2004 William Brack + + * relaxng.c: enhanced to ignore XML_XINCLUDE_START and XML_XINCLUDE_END + nodes (bug 137153) + +Sun Mar 14 13:19:20 CET 2004 Daniel Veillard + + * xmlschemastypes.c: applied patch from John Belmonte for anyURI. + +Wed Mar 10 17:22:48 CET 2004 Daniel Veillard + + * parser.c: fix bug reported by Holger Rauch + * test/att8 result/noent/att8 result/att8 result/att8.rdr + result/att8.sax: added the test to th regression suite + +Wed Mar 10 19:42:22 HKT 2004 William Brack + + * doc/search.php: Minor change for later verson of php requiring + $HTTP_GET_VARS. + +Wed Mar 10 00:12:31 HKT 2004 William Brack + + * tree.c: Changed the flag to xmlDocCopyNode (and similar routines), + previously used only for recursion, to use a value of '2' to + indicate copy properties & namespaces, but not children. + * xinclude.c: changed the handling of ranges to use the above new + facility. Fixes Bug 134268. + +Tue Mar 9 18:48:51 HKT 2004 William Brack + + * win32/Makefile.bcb, win32/Makefile.mingw, win32/Makefile.msvc: + added new module xmlsave with patch supplied by Eric Zurcher + (second attempt - don't know what happened to the first one!) + +Tue Mar 9 09:59:25 CET 2004 Daniel Veillard + + * python/libxml.c python/libxml.py: applied patch from Anthony Carrico + providing Python bindings for the Canonicalization C14N support. + +Mon Mar 8 11:12:23 CET 2004 Hagen Moebius + + * .cvsignore and python/.cvsignore patched + +Mon Mar 8 22:33:14 HKT 2004 William Brack + + * xinclude.c: enhanced to assure that if xpointer is called + for a document, the XML_PARSE_NOENT flag is set before parsing + the included document so that entities will automatically get + taken care of. + * xpointer.c: corrected code so that, if an XML_ENTITY_REF node + is encountered, it will log it and not crash (bug 135713) + +Sun Mar 7 19:03:48 HKT 2004 William Brack + + * xinclude.c: modified to make sub-includes inherit the + parse flags from the parent document (bug 132597) + +Fri Mar 5 01:13:22 CET 2004 Daniel Veillard + + * xmlschemas.c: QName handling fixes for the XML Schemas + support from Adam Dickmeiss + * test/schemas/po1_0.xsd: also fix the schemas + * test/schemas/ns[12]* result/schemas/ns[12]*: added the specific + regression tests + +Thu Mar 4 23:03:02 CET 2004 Daniel Veillard + + * configure.in doc/Makefile.am include/libxml/Makefile.am: + paalied patch from Julio M. Merino Vidal fixing bug #134751 + to fix --with-html-dir option. + * doc/*: rebuilt fully the docs + * doc/html/libxml-xmlsave.html: new file from new header. + +Thu Mar 4 16:57:50 CET 2004 Daniel Veillard + + * debugXML.c testHTML.c tree.c doc/examples/*.c + include/libxml/xmlsave.h: fixing compilation bug with some options + disabled as well as --with-minimum should fix #134695 + +Thu Mar 4 15:00:45 CET 2004 Daniel Veillard + + * xmlcatalog.c: allow fallback to URI lookup when SYSTEM fails, + should close #134092 + +Thu Mar 4 14:39:38 CET 2004 Daniel Veillard + + * Makefile.am tree.c xmlsave.c include/libxml/xmlsave.h: commiting + the new xmlsave module before the actuall big code change. + +Thu Mar 4 12:38:53 CET 2004 Daniel Veillard + + * xmlschemas.c: applied patch from Adam Dickmeiss for mixed content + * test/schemas/mixed* result/schemas/mixed*: added his regression + tests too. + +Mon Mar 1 15:22:06 CET 2004 Daniel Veillard + + * testSAX.c: fix a compilation problem about a missing timb include + +Sat Feb 28 22:35:32 HKT 2004 William Brack + + * testSAX.c: small enhancement to prevent trying to print + strings with null pointers (caused "make tests" errors on + HP-UX) + +Thu Feb 26 20:19:40 MST 2004 John Fleck + + * doc/xmllint.xml + * doc/xmllint.1 + * doc/xmllint.html + * doc/xmlcatalog_man.xml + * doc/xmlcatalog.1 + * doc/xmlcatalog_man.html + applying patch from Mike Hommey to clarify XML_CATALOG_FILES + use + +Thu Feb 26 23:47:43 CET 2004 Daniel Veillard + + * Makefile.am: patch for cross-compilation to Windows from + Christophe de VIENNE. + +Thu Feb 26 18:52:11 HKT 2004 William Brack + + * doc/*.html, doc/html/*.html: regenerated docs using older + version of xsltproc pending resolution of AVT problem + +Thu Feb 26 10:56:29 CET 2004 Daniel Veillard + + * Makefile.am: applied patch from Charles Bozeman to not use + the system xmllint. + +Wed Feb 25 18:07:05 CET 2004 Daniel Veillard + + * include/libxml/xmlexports.h: applied patch from Roland Schwingel + for MingW + +Wed Feb 25 13:57:25 CET 2004 Daniel Veillard + + * Makefile.am catalog.c configure.in: applied a cleanup patch + from Peter Breitenlohner + * tree.c: removed a doc build warning by fixing a param comment + * doc/* : rebuilt the docs + +Wed Feb 25 13:33:07 CET 2004 Daniel Veillard + + * valid.c HTMLparser.c: avoid ID error message if using + HTML_PARSE_NOERROR should fix #130762 + +Wed Feb 25 12:50:53 CET 2004 Daniel Veillard + + * debugXML.c relaxng.c valid.c xinclude.c xmllint.c xmlreader.c: + fixing compilation and link option when configuring with + --without-valid should fix #135309 + +Wed Feb 25 11:36:06 CET 2004 Daniel Veillard + + * catalog.c: fixed the main issues reported by Peter Breitenlohner + * parser.c: cleanup + * valid.c: speedup patch from Petr Pajas + +Wed Feb 25 16:07:14 HKT 2004 William Brack + + * xpath.c: fixed a memory leak (xmlXPathLangFunction) reported + on the list by Mike Hommey + +Mon Feb 23 17:28:34 CET 2004 Daniel Veillard + + * doc/* NEWS configure.in: preparing 2.6.7 release, updated and + rebuilt the documentation. + +Mon Feb 23 11:52:12 CET 2004 Daniel Veillard + + * python/tests/*.py: applied patch from Malcolm Tredinnick + to avoid tabs in python sources, should fix #135095 + +Sun Feb 22 23:16:23 CET 2004 Daniel Veillard + + * testSAX.c: add --timing option + * relaxng.c: use the psvi field of the nodes instead of _private + which may be used for other purposes. + +Sat Feb 21 16:57:48 CET 2004 Daniel Veillard + + * encoding.c: small patch to try to fix a warning with Sun One compiler + +Sat Feb 21 16:22:35 CET 2004 Daniel Veillard + + * encoding.c: small patch removing a warning with MS compiler. + +Sat Feb 21 13:52:30 CET 2004 Daniel Veillard + + * debugXML.c: added "relaxng" option to the debugging shell + * Makefile.am test/errors/* result/errors/*: some regression tests + for some error tests cases. + +Fri Feb 20 09:56:47 CET 2004 Daniel Veillard + + * tree.c: xmlAttrSerializeTxtContent don't segfault if NULL + is passed. + * test/att7 result//att7*: adding an old regression test + laying around on my laptop + +Thu Feb 19 17:33:36 CET 2004 Daniel Veillard + + * xmlreader.c: fixed xmllint --memory --stream memory consumption + on large file by using xmlParserInputBufferCreateStatic() with + the mmap'ed file + +Thu Feb 19 13:56:53 CET 2004 Daniel Veillard + + * tree.c: some clarification in xmlDocDumpMemory() documentation + * xmllint.c: fixed xmllint --stream --timing to get timings back + +Wed Feb 18 15:20:42 CET 2004 Daniel Veillard + + * parser.c: fixed a problem in push mode when attribute contains + unescaped '>' characters, fixes bug #134566 + * test/att6 result//att6*: added the test to the regression suite + +Tue Feb 17 17:26:31 CET 2004 Daniel Veillard + + * valid.c: removing a non-linear behaviour from ID/IDREF raised + by Petr Pajas. Call xmlListAppend instead of xmlListInsert in + xmlAddRef + +Tue Feb 17 13:27:27 CET 2004 Daniel Veillard + + * python/tests/indexes.py python/tests/reader.py: indicated + encoding of the test file, needed for python 2.3 + +Tue Feb 17 21:08:11 HKT 2004 William Brack + + * xpath.c: fixed problem with numbers having > 19 + fractional places (bug 133921) + +Tue Feb 17 12:47:20 CET 2004 Daniel Veillard + + * xpath.c: applied optimization patch from Petr Pajas + +Tue Feb 17 12:39:08 CET 2004 Daniel Veillard + + * xmlwriter.c include/libxml/xmlwriter.h: applied update + from Alfred Mickautsch and the added patch from Lucas Brasilino + +Sun Feb 15 12:01:30 CET 2004 Daniel Veillard + + * benchmark.png index.html xml.html: updating the benchmark + graph and using a PNG instead of a GIF + * xmlreader.c: updated the TODO + +Sat Feb 14 18:55:40 MST 2004 John Fleck + + * doc/tutorial/xmltutorial.xml + * doc/tutorial/xmltutorial.pdf + * doc/tutorial/*.html + Fix bug in XPath example in the tutorial, thanks to Carlos, whose + last name I don't know, for pointing this out + +Thu Feb 12 16:28:12 CET 2004 Daniel Veillard + + * NEWS configure.in: preparing release of 2.6.6 + * doc/*: updated the docs and rebuilt them + +Thu Feb 12 13:41:16 CET 2004 Daniel Veillard + + * xmlregexp.c: fixing bug #132930 with the provided patch, a bit + suspicious about it but this is fairly contained and regression + tests still passes. + * test/schemas/all1* result/schemas/all1*: added the test to + the regression suite. + +Thu Feb 12 12:54:26 CET 2004 Daniel Veillard + + * parser.c: fixed bug #132575 about finding the end of the + internal subset in push mode. + * test/intsubset.xml result/intsubset.xml* result/noent/intsubset.xml: + added the test to the regression suite + +Wed Feb 11 14:19:31 CET 2004 Daniel Veillard + + * parserInternals.c xmlIO.c encoding.c include/libxml/parser.h + include/libxml/xmlIO.h: added xmlByteConsumed() interface + * doc/*: updated the benchmark rebuilt the docs + * python/tests/Makefile.am python/tests/indexes.py: added a + specific regression test for xmlByteConsumed() + * include/libxml/encoding.h rngparser.c tree.c: small cleanups + +Wed Feb 11 08:13:58 HKT 2004 William Brack + + * encoding.c: applied patch supplied by Christophe Dubach + to fix problem with --with-minimum configuration + (bug 133773) + * nanoftp.c: fixed potential buffer overflow problem, + similar to fix just applied to nanohttp.c. + +Mon Feb 9 18:40:21 CET 2004 Igor Zlatkovic + + * nanohttp.c: fixed the fix for the buffer overflow, thanx + William :-) + +Mon Feb 9 22:37:14 HKT 2004 William Brack + + * acinclude.m4, configure.in: fixed problem concerning + determining SOCKLEN_T as pointed out by Daniel Richard G. + on the mailing list + +Mon Feb 9 15:31:24 CET 2004 Igor Zlatkovic + + * nanohttp.c: fixed buffer overflow reported by Yuuichi Teranishi + +Mon Feb 9 13:45:59 CET 2004 Daniel Veillard + + * xpath.c: small patch from Philip Ludlam to avoid warnings. + +Mon Feb 9 13:41:47 CET 2004 Daniel Veillard + + * encoding.c: applied a small patch from Alfred Mickautsch + to avoid an out of bound error in isolat1ToUTF8() + +Mon Feb 9 13:35:50 CET 2004 Daniel Veillard + + * xinclude.c: remove the warning on the 2001 namespace + * parser.c parserInternals.c xpath.c: remove some warnings + when compiling with MSVC6 + * nanohttp.c: applied a patch when using _WINSOCKAPI_ + +Sun Feb 8 12:09:55 HKT 2004 William Brack + + * xinclude.c: added a small hack to fix interference between + my fixes for bugs 132585 and 132588. + * python/libxml.c: fixed problem with serialization of namespace + reported on the mailing list by Anthony Carrico + +Sat Feb 7 16:53:11 HKT 2004 William Brack + + * xinclude.c: fixed problem with function xmlXIncludeCopyRange + (bug 133686). + +Fri Feb 6 21:03:41 HKT 2004 William Brack + + * xmlwriter.c: fixed problem with return value of + xmlTextWriterWriteIndent() (bug 133297) + +Fri Feb 6 19:07:04 HKT 2004 William Brack + + * xinclude.c: changed coding to output good XIncludes when + one or more bad ones are present (bug 132588) + +Fri Feb 6 17:34:21 HKT 2004 William Brack + + * xinclude.c: corrected handling of empty fallback condition + (bug 132585) + +Fri Feb 6 15:28:36 HKT 2004 William Brack + + * HTMLparser.c: added initialisation for ctxt->vctxt + in HTMLInitParser (bug 133127) + * valid.c: minor cosmetic change (removed ATTRIBUTE_UNUSED + from several function params) + +Tue Feb 3 16:48:57 PST 2004 William Brack + + * xinclude.c: fixed problem regarding freeing of dictionary + when there are errors within an XInclude file (bug 133106). + Thanks to Oleg Paraschenko for the assistance. + +Tue Feb 3 09:53:18 PST 2004 William Brack + + * xmlschemastypes.c: fixed validation of maxLength with no + content using patch submitted by Eric Haszlakiewicz + (bug 133259) + +Tue Feb 3 09:21:09 CET 2004 Igor Zlatkovic + + * include/libxml/xmlreader.h include/libxml/xmlmemory.h: added + calling convention to the public function prototypes (rep by + Cameron Johnson) + * include/libxml/xmlexports.h: fixed mingw+msys compilation + (rep by Mikhail Grushinskiy) + +Mon Feb 2 20:22:18 PST 2004 William Brack + + * xmlwriter.c: enhanced output indenting (bug 133264) + +Mon Feb 2 16:13:33 PST 2004 William Brack + + * xmlreader.c, include/libxml/xmlreader.h: applied patch from + Steve Ball to provide structured error reports. + +Sun Feb 1 01:48:14 PST 2004 William Brack + + * tree.c, include/libxml/tree.h: moved serialization of + attribute text data (xmlSerializeContent) into a separate + routine (xmlSerializeTxtContent) so it can be used by xmlwriter.c + * xmlwriter.c: changed handling of attribute string to use the + routine above (fixed bug 131548) + +Sat Jan 31 08:22:02 MST 2004 John Fleck 2.6, rebuild + html - this time doing it correctly :-) + +Fri Jan 30 20:45:36 MST 2004 John Fleck + + * doc/examples/examples.xml + * doc/examples/*.html + add note that reader examples need libmxl2 > 2.6, rebuild + html + +Thu Jan 29 23:51:48 PST 2004 William Brack + + * xpath.c: added (void *) type override to prevent + warning on Solaris (Bug 132671) + +Wed Jan 28 07:20:37 MST 2004 John Fleck + + * doc/examples/Makefile.am + per Jan. 15 email to the list from oliverst, the index.html + file from this directory wasn't making it into the tarball + +Mon Jan 26 18:01:00 CET 2004 Daniel Veillard + + * acinclude.m4: applied fix from Alexander Winston for a problem + related to automake-1.8 , c.f. #132513 and #129861 + +Mon Jan 26 12:53:11 CET 2004 Daniel Veillard + + * doc/examples/index.py: don't rely on . being on the path for + make tests, should keep Mr. Crozat quiet until next time... + +Sun Jan 25 21:45:03 CET 2004 Daniel Veillard + + * configure.in NEWS doc/*: preparing release 2.6.5, rebuilt the + docs, checked rngparser stuff does not end up in the tarball + +Sun Jan 25 20:59:20 CET 2004 Daniel Veillard + + * python/libxml.c: applied patch from Frederic Peters + fixing the wrong arg order in xpath callback in bug #130980 + +Sun Jan 25 20:52:09 CET 2004 Daniel Veillard + + * xinclude.c: fixing #130453 XInclude element with no href attribute + * relaxng.c rngparser.c include/libxml2/relaxng.h: fully integrating + the compact syntax will require more work, postponed for the + 2.6.5 release. + +Sat Jan 24 09:30:22 CET 2004 Daniel Veillard + + * include/libxml/schemasInternals.h xmlschemas.c: applied patch from + Steve Ball to avoid a double-free. + +Fri Jan 23 14:03:21 CET 2004 Daniel Veillard + + * doc/examples/*: added io1.c an example ox xmlIO usage and io1.res + test result, fixed a awful lot of memory leaks showing up in + testWriter.c, changed the examples and the Makefiles to test + memory leaks. + * xmlwriter.c: fixed a memory leak + * Makefile.am: run the doc/examples regression tests as part of + make tests + * xpath.c include/libxml/xpath.h: added xmlXPathCtxtCompile() to + compile an XPath expression within a context, currently the goal + is to be able to reuse the XSLT stylesheet dictionary, but this + opens the door to others possible optimizations. + * dict.c include/libxml/dict.h: added xmlDictCreateSub() which allows + to build a new dictionary based on another read-only dictionary. + This is needed for XSLT to keep the stylesheet dictionary read-only + while being able to reuse the strings for the transformation + dictionary. + * xinclude.c: fixed a dictionary reference counting problem occurring + when document parsing failed. + * testSAX.c: adding option --repeat for timing 100times the parsing + * doc/* : rebuilt all the docs + +Thu Jan 22 14:17:05 2004 Aleksey Sanin + + * xmlmemory.c: make xmlReallocLoc() accept NULL pointer + +Thu Jan 22 08:26:20 CET 2004 Daniel Veillard + + * xmlschemastypes.c: applied patch from John Belmonte for + normalizedString datatype support. + +Thu Jan 22 10:43:22 HKT 2004 William Brack + + * xpath.c: fixed problem with union when last() is used + in predicate (bug #131971) + * xpointer.c: minor change to comment for doc generation + +Wed Jan 21 17:03:17 CET 2004 Daniel Veillard + + * parser.c: fixed bug #131745 raised by Shaun McCance with the + suggested patch + +Wed Jan 21 10:59:55 CET 2004 Daniel Veillard + + * xmlwriter.c: applied patch from Alfred Mickautsch fixing a memory + leak reported on the list. + +Thu Jan 15 00:48:46 CET 2004 Daniel Veillard + + * python/generator.py python/tests/tstLastError.py: applied + patch from Stéphane Bidoul to add enums to the Python bindings. + +Tue Jan 13 21:50:05 CET 2004 Daniel Veillard + + * testHTML.c: another small patch from Mark Vakoc + +Tue Jan 13 21:39:58 CET 2004 Daniel Veillard + + * HTMLparser.c relaxng.c testRelax.c testSchemas.c: applied + patch from Mark Vakoc to not use SAX1 unless necessary. + +Mon Jan 12 17:22:57 CET 2004 Daniel Veillard + + * dict.c parser.c xmlstring.c: some parser optimizations, + xmllint --memory --timing --repeat --stream ./db10000.xml + went down from 16.5 secs to 15.5 secs. + +Thu Jan 8 17:57:50 CET 2004 Daniel Veillard + + * xmlschemas.c: removed a memory leak remaining from the switch + to a dictionary for string allocations c.f. #130891 + +Thu Jan 8 17:48:46 CET 2004 Daniel Veillard + + * xmlreader.c: fixing some problem if configured --without-xinclude + c.f. #130902 + +Thu Jan 8 17:42:48 CET 2004 Daniel Veillard + + * configure.in: changed AC_OUTPUT() macro to avoid a cygwin problem + c.f. #130896 + +Thu Jan 8 00:36:00 CET 2004 Daniel Veillard + + * win32/Makefile.bcb win32/Makefile.mingw win32/Makefile.msvc: + applying patch from Mark Vakoc for Windows + * doc/catalog.html doc/encoding.html doc/xml.html: applied doc + fixes from Sven Zimmerman + +Tue Jan 6 23:51:46 CET 2004 Daniel Veillard + + * python/libxml2-python-api.xml python/libxml_wrap.h python/types.c + python/tests/Makefile.am python/tests/tstLastError.py: applied + patch from Stéphane Bidoul for structured error handling from + python, and the associated test + +Tue Jan 6 23:18:11 HKT 2004 William Brack + + * configure.in: fixed Bug130593 + * xmlwriter.c: fixed compilation warning + +Tue Jan 6 15:15:23 CET 2004 Daniel Veillard + + * include/libxml/xmlstring.h: fixed the comment in the header + * doc/*: rebuilt the docs + +Tue Jan 6 19:40:04 HKT 2004 William Brack + + * encoding.c, parser.c, xmlstring.c, Makefile.am, + include/libxml/Makefile.am, include/libxml/catalog.c, + include/libxml/chvalid.h, include/libxml/encoding.h, + include/libxml/parser.h, include/libxml/relaxng.h, + include/libxml/tree.h, include/libxml/xmlwriter.h, + include/libxml/xmlstring.h: + moved string and UTF8 routines out of parser.c and encoding.c + into a new module xmlstring.c with include file + include/libxml/xmlstring.h mostly using patches from Reid + Spencer. Since xmlChar now defined in xmlstring.h, several + include files needed to have a #include added for safety. + * doc/apibuild.py: added some additional sorting for various + references displayed in the APIxxx.html files. Rebuilt the + docs, and also added new file for xmlstring module. + * configure.in: small addition to help my testing; no effect on + normal usage. + * doc/search.php: added $_GET[query] so that persistent globals + can be disabled (for recent versions of PHP) + +Mon Jan 5 20:47:07 MST 2004 John Fleck + + * doc/tutorial/customfo.xsl + * doc/tutorial/customhtml.xsl + update custom tutorial-building stylesheets in preparation + for tutorial update + +Tue Jan 6 00:10:33 CET 2004 Daniel Veillard + + * rngparser.c: commiting the compact relax ng parser. It's not + completely finished, it's not integrated but I want to save the + current state + +Mon Jan 5 22:22:48 HKT 2004 William Brack + + * doc/apibuild.py, doc/APIconstructors.html, doc/libxml2-refs.xml, + win32/libxml2.def.src: fixed apibuild.py's generation of + "constructors" to be in alphabetical order (instead of previous + random sequence); regenerated resulting files. + +Mon Jan 5 14:03:59 CET 2004 Daniel Veillard + + * xmlwriter.c: applied patch from Lucas Brasilino fixing an indent + problem. + +Sun Jan 4 18:54:29 MST 2004 John Fleck + + * doc/newapi.xsl: change background color of function + declaration to improve readability + * doc/*: rebuild docs with new stylesheet + +Sun Jan 4 22:45:14 HKT 2004 William Brack + + * parser.c, include/libxml/parser.h: added a routine + xmlStrncatNew to create a new string from 2 frags. + * tree.c: added code to check if node content is from + dictionary before trying to change or concatenate. + +Sun Jan 4 08:57:51 HKT 2004 William Brack + + * xmlmemory.c: applied suggestion from Miloslav Trmac (see + Bug 130419) and eliminated xmlInitMemoryDone. More + improvement needed. + * xml2-config.in: added an additional flag (--exec-prefix) to + allow library directory to be different from include directory + (Bug 129558). + +Fri Jan 2 21:22:18 CET 2004 Daniel Veillard + + * error.c: applied patch from Stéphane Bidoul for structured error + reporting. + +Fri Jan 2 21:03:17 CET 2004 Daniel Veillard + + * include/libxml/xmlwriter.h xmlwriter.c: applied the patch from + Lucas Brasilino to add indentation support to xmlWriter + +Fri Jan 2 22:58:29 HKT 2004 William Brack + + * xinclude.c: fixed problem with "recursive" include (fallback + contains another include - Bug 129969) + +Fri Jan 2 11:40:06 CET 2004 Daniel Veillard + + * SAX2.c: found and fixed a bug misallocating some non + blank text node strings from the dictionary. + * xmlmemory.c: fixed a problem with the memory debug mutex + release. + +Wed Dec 31 22:02:37 HKT 2003 William Brack + + * xinclude.c: fixed problem caused by wrong dictionary + reference count, reported on the list by Christopher + Grayce. + +Wed Dec 31 15:55:55 HKT 2003 William Brack + + * python/generator.py, python/libxml2class.txt: fixed problem + pointed out by Stéphane Bidoul on the list. + * xinclude.c, xpointer.c, xpath.c, include/libxml/xpointer.h: + completed modifications required to fix Bug 129967 (at last!). + Now wait to see how long before further trouble... + +Tue Dec 30 16:26:13 HKT 2003 William Brack + + * parser.c, xmlmemory.c, include/libxml/xmlmemory.h: Fixed + memory leak reported by Dave Beckett + * xmlschemas.c: Removed spurious comment reported on the mailing + list + * xinclude.c, xpath.c, xpointer.c, libxml/include/xpointer.h: + Further work on Bug 129967 concerning xpointer range handling + and range-to function; much better, but still not complete + +Mon Dec 29 18:08:05 CET 2003 Daniel Veillard + + * valid.c: xmlValidateElement could crash for element holding a + namespace declaration but not in a namespace. Oliver Fischer + provided the example. + +Mon Dec 29 11:29:31 CET 2003 Daniel Veillard + + * xmllint.c: issue validation status on stderr, not stdout as suggested + by Pawel Palucha + * result/relaxng/*: this change slightly all the output from RNG + regressions. + +Mon Dec 28 10:47:32 HKT 2003 William Brack + + * xmlschemas.c: edited a couple of comments in accordance with + posting on the mailing list (no logic change) + * xpointer.c: working on Bug 129967, added check for NULL + nodeset to prevent crash. Further work required. + * xpath.c: working on Bug 129967, added code to handle + XPATH_LOCATIONSET in RANGETO code, also added code to + handle it in xmlXPathEvaluatePredicateResult. Further + work required. + +Sat Dec 27 12:32:58 HKT 2003 William Brack + + * xmlschemas.c: added tests for xs:all to assure minOccurs + and maxOccurs <= 1 (Bug 130020) + +Sat Dec 27 09:53:06 HKT 2003 William Brack + + * xmlregexp.c: fixed xmlFAParseCharRange for Unicode ranges + with patch from Charles Bozeman. + +Fri Dec 26 14:03:41 HKT 2003 William Brack + + * xmlregexp.c: fixed problem causing segfault on validation error + condition (reported on mailing list) + +Thu Dec 25 21:16:22 HKT 2003 William Brack + + * xmlschemas.c: fixed missing dictionaries for Memory and Doc + parser contexts (problem reported on mailing list) + * doc/apibuild.py: small change to prevent duplicate lines + on API functions list. It will take effect the next time + the docs are rebuilt. + +Wed Dec 24 12:54:25 CET 2003 Daniel Veillard + + * configure.in NEWS doc/*: updated the docs and prepared a new + release 2.6.4 + +Wed Dec 24 12:07:52 CET 2003 Daniel Veillard + + * legacy.c: remove deprecated warning on startElement() + +Wed Dec 24 12:04:35 CET 2003 Daniel Veillard + + * xinclude.c result/XInclude/nodes2.*: XInclude xpointer support + was broken with the new namespace. Fixes #129932 + +Wed Dec 24 00:29:30 CET 2003 Daniel Veillard + + * xmlschemas.c include/libxml/schemasInternals.h: types might be + redefined in includes, quick fix to allow this but lacks the + equality of the redefinition test. + +Tue Dec 23 15:14:37 HKT 2003 William Brack + + * valid.c: fixed bug concerning validation using external + dtd of element with mutiple namespace declarations + (Bug 129821) + +Tue Dec 23 11:41:42 HKT 2003 William Brack + + * tree.c: inhibited production of "(null):" in xmlGetNodePath + when node has default namespace (Bug 129710) + +Tue Dec 23 09:29:14 HKT 2003 William Brack + + * xpath.c: small enhancement to xmlXPathCmpNodes to assure + document order for attributes is retained (Bug 129331) + +Mon Dec 22 19:06:16 CET 2003 Daniel Veillard + + * parser.c xmlreader.c: change xmlReadFd() xmlCtxtReadFd() + xmlReaderNewFd() xmlReaderForFd(), change those to not close + the file descriptor. Updated the comment, should close #129683 + +Mon Dec 22 00:34:09 CET 2003 Daniel Veillard + + * xinclude.c: fixed a serious problem in XInclude #129021 + +Sun Dec 21 13:59:54 CET 2003 Daniel Veillard + + * parser.c: fixed bug #129489, propagation of parsing flags + in entities. + * parser.c xmlreader.c: improved the comments of parsing options + +Sun Dec 21 18:14:04 HKT 2003 William Brack + + * python/Makefile.am, python/tests/Makefile.am, + doc/Makefile.am: applied fixes to allow build from + 'outside' directory (Bug 129172) + +Sat Dec 20 16:42:07 MST 2003 John Fleck + + * tree.c - add explanation of namespace inheritance when + ns is NULL to xmlNewChild and xmlNewTextChild API doc + +Sat Dec 20 18:17:28 HKT 2003 William Brack + + * include/libxml/xpathInternals.h: undid last change (my + bad). Put necessary fix in libxslt/libexslt instead. + * include/libxml/DOCBparser.h: put test for __GCC__ on + warning directive (Bug 129105) + +Sat Dec 20 10:48:37 HKT 2003 William Brack + + * include/libxml/xpathInternals.h: fixed xmlXPathReturnString + to cater for NULL pointer (bug 129561) + * globals.c: added comment to suppress documentation warning + * doc/apibuild.py: fixed problem which caused last APIchunkxx.html + to be lost. Rebuilt doc/* (including adding APIchunk26.html) + +Fri Dec 19 18:24:02 CET 2003 Daniel Veillard + + * xmlreader.c: trying to fix #129692 xmlTextReaderExpand() when + using an xmlReaderWalker() + +Thu Dec 18 20:10:34 MST 2003 John Fleck + + * tree.c: fix misc. typos in doc comments + * include/libxml/tree.h: elaborate on macro define doc comments + * doc/*: rebuild docs + +Wed Dec 17 16:07:33 CET 2003 Daniel Veillard + + * doc/examples/*: don't call the result files .out but .res as + the Makefiles tend to try generating binaries for .out targets... + +Tue Dec 16 20:53:54 MST 2003 John Fleck + + * doc/html/libxml-pattern.html: - cvs add API docs for new + pattern stuff + +Tue Dec 16 20:40:40 MST 2003 John Fleck + + * tree.c + * doc/*: + Elaborate in documentation discussion of xmlNewChild + and xmlNewTextChild. Thanks to Steve Lenti for pointing + out the usefulness of a more explicit explanation of the + reserved character escaping issue. + +Fri Dec 12 15:55:15 CET 2003 Daniel Veillard + + * xmlcatalog.c: applied patch from Stefan Kost + +Thu Dec 11 15:15:31 CET 2003 Daniel Veillard + + * doc/examples/testWriter.c: applied small fix from Lucas Brasilino + +Thu Dec 11 14:55:22 CET 2003 Igor Zlatkovic + + * win32/Makefile.* win32/configure.js: Added pattern support + +Wed Dec 10 14:11:20 CET 2003 Daniel Veillard + + * configure.in doc/* libxml.spec.in: preparing release of + libxml2-2.6.3, updated and regenerated the docs. + +Wed Dec 10 11:43:33 CET 2003 Daniel Veillard + + * SAX2.c pattern.c: removed some compilation warnings + +Wed Dec 10 11:16:29 CET 2003 Daniel Veillard + + * xmllint.c: fixing bug #119264 xmllint failing to report + serialization errors in some cases. + +Tue Dec 9 23:50:23 CET 2003 Daniel Veillard + + * entities.c: fixed an XML entities content serialization + potentially triggered by XInclude, see #126817 + +Tue Dec 9 16:12:50 CET 2003 Daniel Veillard + + * xmlwriter.c: applied the patch to xmlTextWriterStartPI() + suggested by Daniel Schulman in #128313 + +Tue Dec 9 15:18:32 CET 2003 Daniel Veillard + + * configure.in Makefile.am: another patch from Kenneth Haley + for Mingw, c.f. #128787 + +Tue Dec 9 15:07:09 CET 2003 Daniel Veillard + + * include/libxml/xmlexports.h: applied patch from Kenneth Haley + for compiling on Mingw see #128786 + +Tue Dec 9 14:52:59 CET 2003 Daniel Veillard + + * xmllint.c: some flags were not passed down correctly as + parsing options. Fixes #126806 + +Tue Dec 9 12:29:26 CET 2003 Daniel Veillard + + * xinclude.c xmllint.c xmlreader.c include/libxml/xinclude.h + include/libxml/xmlerror.h: augmented the XInclude API + to be able to pass XML parser flags down to the Inclusion + process. Also resynchronized with the Last Call W3C Working + Draft 10 November 2003 for the xpointer attribute. + * Makefile.am test/XInclude/docs/nodes[23].xml + result/XInclude/*: augmented the tests for the new namespace and + testing the xpointer attribute, changed the way error messages + are tested + * doc/*: regenerated the documentation + +Mon Dec 8 18:38:26 CET 2003 Daniel Veillard + + * error.c: filter warning messages if the global setting blocks them + * xinclude.c xmlreader.c include/libxml/xinclude.h + include/libxml/xmlerror.h: updated the change of namespace at + the XInclude level, raise a warning if the old one is found, + and some cleanup + +Mon Dec 8 13:09:39 CET 2003 Daniel Veillard + + * tree.c: tentative fix for #126117 character reference in + attributes output problem in some cornercase. + +Mon Dec 8 11:08:45 CET 2003 Daniel Veillard + + * python/libxml.py: tried to fix the problems reported in + bug #126735 + * xpath.c SAX2.c error.c parser.c valid.c include/libxml/xmlerror.h: + fixed again some problem trying to use the structured error + handlers, c.f. bug #126735 + * result/VC/ElementValid: tiny change due to the fix + +Sun Dec 7 22:27:31 CET 2003 Daniel Veillard + + * error.c: fixed __xmlRaiseError to use structured error handlers + defined by xmlSetStructuredErrorFunc(), fixes bug #126211 + +Sun Dec 7 20:30:53 CET 2003 Daniel Veillard + + * parser.c: attempt to fix #126211 ... + +Fri Dec 5 17:07:29 CET 2003 Daniel Veillard + + * pattern.c xmlreader.c xmllint.c include/libxml/pattern.h + include/libxml/xmlreader.h: fixed the pattern interfaces + but not yet the parser to handle the namespaces. + * doc/examples/reader3.c doc/*: fixed the example, rebuilt the docs. + +Fri Dec 5 15:49:44 CET 2003 Daniel Veillard + + * globals.c xmlwriter.c doc/apibuild.py include/libxml/globals.h + include/libxml/pattern.h include/libxml/schemasInternals.h + include/libxml/xmlexports.h include/libxml/xmlwriter.h: cleanup + the make rebuild in doc, this include new directive to stop + documentation warnings + * doc/* doc/html/*: rebuilt the docs + * pattern.c xmlreader.c include/libxml/pattern.h + include/libxml/xmlreader.h: adding xmlTextReaderPreservePattern() + to save nodes while scanning the tree with the reader, cleanup + the way element were freed, and xmlTextReaderPreserve() + implementation, the API might change for namespace binding support + when compiling patterns. + * doc/examples/*: added reader3.c exposing the xmlTextReaderPreserve() + +Thu Dec 4 15:10:57 CET 2003 Daniel Veillard + + * python/libxml.py: oops forgot to modify/commit the new code. + +Thu Dec 4 13:29:19 CET 2003 Daniel Veillard + + * python/generator.py python/libxml.c python/libxml_wrap.h: + cleanup the output buffer support to at least get the basic + to work + * python/tests/outbuf.py python/tests/serialize.py: fixes and + cleanup. + * include/libxml/xmlwriter.h: cleanup + +Wed Dec 3 21:38:56 MST 2003 John Fleck + + * include/libxml/xmlversion.h.in + * doc/*: add WITH_TRIO comment so it shows up in the docs, rebuild + docs + +Wed Dec 3 13:10:08 CET 2003 Daniel Veillard + + * config.h.in configure.in xmlregexp.c: fix bug #128401 affecting + regexp quantifiers + +Tue Dec 2 23:29:56 CET 2003 Daniel Veillard + + * pattern.c include/libxml/pattern.h: adding the pattern node + selection code. Inheried in part from libxslt but smaller. + * Makefile.am configure.in include/libxml/xmlversion.h.in: + integrated the pattern module, made it a configure time option + * xmllint.c: added --pattern to test when doing --stream + +Tue Dec 2 11:25:25 CET 2003 Daniel Veillard + + * xmlreader.c: fixed a problem in xmlreader validation when + streaming exposed by reader2 example. + +Mon Dec 1 20:40:51 MST 2003 John Fleck + + * doc/xml.html + * doc/docs.html: + add reference to the Code Examples page to docs.html list + of resources + +Mon Dec 1 12:30:28 CET 2003 Igor Zlatkovic + + * win32/Makefile.bcb win32/configure.js: Applied the BCB patch + from Eric + +Sun Nov 30 21:33:37 MST 2003 John Fleck + + * include/libxml/xinclude.h + * doc/*: Add comments for macro definitions in xinclude.h and + rebuild the docs + +Sun Nov 30 21:06:29 MST 2003 John Fleck + + * doc/docdescr.doc + Updating William's explanation of how to build docs, + reflecting Daniel's new docs build system + +Sat Nov 29 18:38:22 HKT 2003 William Brack + + * xmlmemory.c: enhanced by adding mutex to protect global + structures in a multi-threading environment. This fixed + some random errors on the Threads regression tests. + +Fri Nov 28 21:39:49 MST 2003 John Fleck + + * doc/xml.html doc/python.html: fix tst.py text, which didn't + import sys + +Fri Nov 28 17:28:47 HKT 2003 William Brack + + * encoding.c, include/libxml/encoding.h: Enhanced the handling of + UTF-16, UTF-16LE and UTF-16BE encodings. Now UTF-16 output is + handled internally by default, with proper BOM and UTF-16LE + encoding. Native UTF-16LE and UTF-16BE encoding will not generate + BOM on output, and will be automatically recognized on input. + * test/utf16lebom.xml, test/utf16bebom.xml, result/utf16?ebom*: + added regression tests for above. + +Thu Nov 27 19:25:10 CET 2003 Igor Zlatkovic + + * win32/Makefile.* win32/configure.js: Modified to allow coexistent + build with all compilers. Added C-Runtime option for MSVC. Included + xmlWriter. + * xmlwriter.c: Added IN_LIBXML macro + +Wed Nov 26 21:54:01 CET 2003 Igor Zlatkovic + + * win32/Makefile.bcb: applied patch from Eric + +Wed Nov 26 21:33:14 CET 2003 Daniel Veillard + + * include/libxml/tree.h: stefan on IRC pointed out that XML_GET_LINE + is broken on 2.6.x + +Tue Nov 25 18:39:44 CET 2003 Daniel Veillard + + * entities.c: fixed #127877, never output " in element content + * result/isolat3 result/slashdot16.xml result/noent/isolat3 + result/noent/slashdot16.xml result/valid/REC-xml-19980210.xml + result/valid/index.xml result/valid/xlink.xml: this changes the + output of a few tests + +Tue Nov 25 16:36:21 CET 2003 Daniel Veillard + + * include/libxml/schemasInternals.h include/libxml/xmlerror.h + testSchemas.c xmlschemas.c: added xsd:include support, fixed + testSchemas behaviour when a schemas failed to parse. + * test/schemas/vdv-* result/schemas/vdv-first5_0_0*: added one + test for xsd:include from Eric Van der Vlist + +Tue Nov 25 08:18:12 CET 2003 Daniel Veillard + + * parser.c: swapped the attribute defaulting and attribute checking + parts of parsing a new element start, fixes bug #127772 + * result/valid/127772.* test/valid/127772.xml + test/valid/dtds/127772.dtd: added the example in the regression tests + +Tue Nov 25 08:00:15 CET 2003 Daniel Veillard + + * parser.c: moved xmlCleanupThreads() to the end of xmlCleanupParser() + to avoid bug #127851 + +Mon Nov 24 15:26:21 CET 2003 Daniel Veillard + + * xmlregexp.c: fixing some Negative Character Group and + Character Class Subtraction handling. + +Mon Nov 24 14:01:57 CET 2003 Daniel Veillard + + * xmlregexp.c xmlschemas.c: more XML Schemas fixes based + on Eric van der Vlist examples + * result/schemas/vdv-first4* test/schemas/vdv-first4*: + added regression tests + * doc/examples/Makefile.am doc/examples/index.py: do not + regenerate the index on make all target, but only on + make rebuild to avoid troubles. + +Sat Nov 22 21:35:42 CET 2003 Daniel Veillard + + * xmlschemas.c xmlschemastypes.c include/libxml/xmlerror.h + include/libxml/schemasInternals.h: lot of bug fixes, cleanup, + starting to add proper namespace support too. + * test/schemas/* result/schemas/*: added a number of tests + fixed the result from some regression tests too. + +Fri Nov 21 20:50:59 MST 2003 John Fleck + + * doc/xml.html, docs.html: remove reference to gtk-doc now that + Daniel has removed it, fix link to George's IBM article, other + minor edits + +Fri Nov 21 01:26:00 CET 2003 Daniel Veillard + + * xmlschemas.c: applied patch from Robert Stepanek to start + import os schemas support, cleaned up stuff and the patch. + * test/schemas/import0_0.* result/schemas/import0_0_0*: added test + to regression, fixed a few regressions too. + +Thu Nov 20 22:58:00 CET 2003 Daniel Veillard + + * HTMLparser.c: applied two parsing fixes from James Bursa + +Thu Nov 20 19:20:46 CET 2003 Daniel Veillard + + * doc/examples/*: added two xmlReader examples + * xmlreader.c: cleaned up some bugs in the process + +Thu Nov 20 12:54:30 CET 2003 Daniel Veillard + + * xmlwriter.c include/libxml/xmlwriter.h: applied patch from + Alfred Mickautsch, bugfixes and comments + * doc/examples/*: added his test as the xmlWriter example + * doc/html/ doc/*.html: this resulted in some improvements + * include/libxml/hash.h: fixed an inclusion problem when + wasn't preceeded by + +Wed Nov 19 17:19:35 CET 2003 Daniel Veillard + + * xinclude.c: fix an error message + * doc/examples/*: added tree2 example from Lucas Brasilino + +Wed Nov 19 17:50:47 HKT 2003 William Brack + + * doc/newapi.xsl: improve the sort sequence for page content + * doc/html/*.html: regenerate the web pages + +Wed Nov 19 00:48:56 CET 2003 Daniel Veillard + + * Makefile.am: do not package cvs versioning temp files. + * doc/apibuild.py doc/libxml2-api.xml doc/newapi.xsl: more cleanup, + slightly improved the API xml format, fixed a lot of small + rendering problems + * doc/html/libxml*.html: rebuilt + +Tue Nov 18 21:51:15 CET 2003 Daniel Veillard + + * include/libxml/*.h include/libxml/*.h.in: modified the file + header to add more informations, painful... + * genChRanges.py genUnicode.py: updated to generate said changes + in headers + * doc/apibuild.py: extract headers, add them to libxml2-api.xml + * *.html *.xsl *.xml: updated the stylesheets to flag geprecated + APIs modules. Updated the stylesheets, some cleanups, regenerated + * doc/html/*.html: regenerated added back book1 and libxml-lib.html + +Tue Nov 18 14:43:16 CET 2003 Daniel Veillard + + * doc/Makefile.am doc/*.xsl doc/*.html doc/apibuild.py: cleaned up + the build process to remove all remains from the old gtk-doc + inherited, libxml2-refs.xml is now generated by apibuild.py, the + stylesheets have been improved, and the API*html now generated + are XHTML1 valid too + +Tue Nov 18 14:28:32 HKT 2003 William Brack + + * genChRanges.py, chvalid.c, include/libxml/chvalid.h: minor + enhancement to prevent comment with unreferenced variable. + * threads.c xmlreader.c xmlwriter.c: edited some comments to + improve auto-generation of documentation + * apibuild.py: minor change to an error message + +Mon Nov 17 17:55:51 CET 2003 Daniel Veillard + + * doc/apibuild.py doc/libxml2-api.xml doc/newapi.xsl: more cleanup, + improving navigation + * doc/html/*.html: updated the result + +Mon Nov 17 14:54:38 CET 2003 Daniel Veillard + + * doc/Makefile.am doc/apibuild.py doc/libxml2-api.xml doc/newapi.xsl: + improvement of the stylesheets, fixed a API generation problem, + switched the stylesheet and Makefile to build the HTML output. + * doc/html/*.html: complete update, ditched some old files, might + introduce some breakage... + +Mon Nov 17 12:50:28 CET 2003 Daniel Veillard + + * doc/newapi.xsl: lot of improvements, this starts looking good + enough to be usable. + +Mon Nov 17 00:58:09 CET 2003 Daniel Veillard + + * doc/newapi.xsl: stylesheet to build HTML pages from the + API XML description, Work in Progress + +Sun Nov 16 16:03:24 HKT 2003 William Brack + + * xpath.c: fixed bug 126976 (string != empty nodeset + should be false) + +Sun Nov 16 14:00:08 HKT 2003 William Brack + + * doc/html/*.html: Finally - found the problem with the + page generation (XMLPUBFUN not recognized by gtkdoc). + Re-created the pages using a temporary version of + include/libxml/*.h. + * testOOMlib.c,include/libxml/encoding.h, + include/libxml/schemasInternals.h,include/libxml/valid.h, + include/libxml/xlink.h,include/libxml/xmlwin32version.h, + include/libxml/xmlwin32version.h.in, + include/libxml/xpathInternals.h: minor edit of comments + to help automatic documentation generation + * doc/docdescr.doc: small elaboration + * doc/examples/test1.c,doc/examples/Makefile.am: re-commit + (messed up on last try) + * xmlreader.c: minor change to clear warning. + +Sat Nov 15 19:20:32 CET 2003 Daniel Veillard + + * Copyright: fixed some wording + * libxml.spec.in: make sure doc/examples is packaged + * include/libxml/tree.h valid.c xmlreader.c: fixed the really + annoying problem about xmlRemoveID and xmlReader streaming. + Thing looks fixed now, had to add a doc reference to the + xmlID structure though... + +Sat Nov 15 09:53:36 MST 2003 John Fleck + + * doc/docdescr.doc: added description of man page building + +Sat Nov 15 19:08:22 HKT 2003 William Brack + + * doc/html/libxml-chvalid.html, doc/html/libxml-dict.html, + doc/html/libxml-list.html, doc/html/libxml-testOOMlib.html, + doc/html/libxml-wincecompat, doc/html/winsockcompat.html, + doc/html/libxml-xmlexports.html, doc/html/libxml-xmlversion.html, + doc/html/libxml-xmlwin32version.html, doc/html/libxml-xmlwriter.html: + added missing pages for the website. + +Sat Nov 15 18:23:48 HKT 2003 William Brack + + * doc/Makefile.am doc/*.html doc/html/*.html: rebuilt the + generated pages (again), manually restored doc/html/index.html + and manually edited generated file doc/gnome-xml.xml to put + in appropriate headings. + * doc/docdescr.doc: new file to describe details of the + document generation (helps my memory for the next time) + * genChRanges.py,chvalid.c,include/libxml/chvalid.h: minor + enhancement to please the automatic documentation generation. + +Fri Nov 14 23:47:31 HKT 2003 William Brack + + * catalog.c,relaxng.c,testAutomata.c,xpointer.c,genChRanges.py, + chvalid.c,include/libxml/chvalid.h,doc/examples/test1.c: + minor error cleanup for gcc-3.3.[12] compilation warnings. + +Fri Nov 14 15:08:13 HKT 2003 William Brack + + * tree.c: minor changes to some comments + * doc/*.html: rebuilt the generated HTML pages for changes + from jfleck (bug 126945) + +Thu Nov 13 12:44:14 CET 2003 Daniel Veillard + + * doc/examples/*: added Dodji's example, added output handling + +Thu Nov 13 11:35:35 CET 2003 Daniel Veillard + + * doc/examples/*: added Aleksey XPath example, fixed bugs + in the indexer + +Wed Nov 12 23:48:26 CET 2003 Daniel Veillard + + * doc/*: integrating the examples in the navigation menus + * doc/examples/*: added make tests, updated the navigation, + added a new test, cleanups, updates. + +Wed Nov 12 17:50:36 CET 2003 Daniel Veillard + + * doc/*.html: rebuilt the generated HTML pages + * doc/examples/*: updated the stylesheets, added a synopsis, + Makefile.am is now generated by index.py + +Wed Nov 12 01:38:16 CET 2003 Daniel Veillard + + * doc/site.xsl doc/examples/Makefile.am doc/examples/index.html: + added autogeneration of a web page for the examples + * doc/examples/example1.c doc/examples/.cvsignore + doc/examples/examples.xml doc/examples/index.py: updated the + informations extracted, improved the format and indexing. + +Tue Nov 11 22:08:59 CET 2003 Daniel Veillard + + * check-xinclude-test-suite.py: less verbose on difference + * libxml.spec.in: cleanup + * parser.c: fixed xmlCleanupParser() doc + * doc/Makefile.am doc/apibuild.py doc/libxml2-api.xml + doc/examples/Makefile.am doc/examples/example1.c + doc/examples/examples.xml doc/examples/index.py + doc/examples/test1.xml: work on adding C examples and + generating automated information about those. examples.xml + is autogenerated describing the examples. + * example/Makefile.am: cleanup + +Mon Nov 10 23:47:03 HKT 2003 William Brack + + * genUnicode.py, xmlunicode.c, include/libxml/xmlunicode.h: + fixed missing '-' in block names, enhanced the hack for + ABI aliasing. + +Sun Nov 9 20:28:21 HKT 2003 William Brack + + * genUnicode.py, xmlunicode.c, include/libxml/xmlunicode.h, + python/libxml2class.txt: enhanced for range checking, + updated to Unicode version 4.0.1 (API docs also updated) + * python/generator.py: minor change to fix a warning + +Wed Nov 5 23:46:36 CET 2003 Daniel Veillard + + * Makefile.am: apply fix from Karl Eichwalder for script path + +Wed Nov 5 10:49:20 CET 2003 Daniel Veillard + + * win32/configure.js: applied patch from Mark Vakoc to simplify + his work from CVS checkouts. + +Tue Nov 4 21:16:47 MST 2003 John Fleck + + * doc/xmlreader.html: minor cleanups + +Tue Nov 4 15:52:28 PST 2003 William Brack + + * include/libxml/xmlversion.h.in: changed macro ATTRIBUTE_UNUSED + for gcc so that, if undefined, it's defined as + __attribute__((unused)) + +Tue Nov 4 15:28:07 PST 2003 William Brack + + * python/generator.py: small enhancement to assure ATTRIBUTE_UNUSED + appears after the variable declaration. + * valid.c: trivial change to eliminate a warning message + +Tue Nov 4 11:24:04 CET 2003 Daniel Veillard + + * configure.in NEWS doc/*: preparing release 2.6.2, updated and + rebuilt the docs + +Tue Nov 4 09:38:46 CET 2003 Daniel Veillard + + * xmllint.c: change --html to make sure we use the HTML serialization + rule by default when HTML parser is used, add --xmlout to allow to + force the XML serializer on HTML. + * HTMLtree.c: ugly tweak to fix the output on

element and + solve #125093 + * result/HTML/*: this changes the output of some tests + +Mon Nov 3 17:51:28 CET 2003 Daniel Veillard + + * xinclude.c: fixed bug #125812, about XPointer in XInclude + failing but not returning an error. + +Mon Nov 3 17:18:22 CET 2003 Daniel Veillard + + * valid.c: fixed bug #125811 related to DTD post validation + where the DTD doesn't pertain to a document. + +Mon Nov 3 15:25:58 CET 2003 Daniel Veillard + + * parser.c xmlIO.c include/libxml/parserInternals.h: implemented + the XML_PARSE_NONET parser option. + * xmllint.c: converted xmllint.c to use the option instead of + relying on the global resolver variable. + +Mon Nov 3 13:26:32 CET 2003 Daniel Veillard + + * xinclude.c xmlreader.c include/libxml/xinclude.h: adding XInclude + support to the reader interface. Lot of testing of the walker, + various bug fixes. + * xmllint.c: added --walker and made sure --xinclude --stream --debug + works as expected + * Makefile.am result/dtd11.rdr result/ent6.rdr test/dtd11 test/ent6 + result/XInclude/*.rdr: added regression tests for the walker and + XInclude xmlReader support, had to slightly change a couple of tests + because the walker can't distinguish from + +Sat Nov 1 17:42:27 CET 2003 Daniel Veillard + + * tree.c nanohttp.c threads.c: second BeOS patch from + Marcin 'Shard' Konicki + +Fri Oct 31 15:35:20 CET 2003 Daniel Veillard + + * parser.c: always generate line numbers + +Fri Oct 31 11:53:46 CET 2003 Daniel Veillard + + * parser.c: fixed another regression introduced in fixing #125823 + +Fri Oct 31 11:33:18 CET 2003 Daniel Veillard + + * python/libxml.c: previous fix for #124044 was broken, correct + fix provided. + * HTMLparser.c parser.c parserInternals.c xmlIO.c: fix xmlStopParser() + and the error handlers to address #125877 + +Thu Oct 30 23:10:46 CET 2003 Daniel Veillard + + * parser.c: side effect of #123105 patch, namespace resolution + would fail when defined in internal entities, fixes #125823 + +Thu Oct 30 14:10:42 CET 2003 Daniel Veillard + + * python/libxml.c: be more defensive in the xmlReader python bindings + fixing bug #124044 + +Thu Oct 30 11:14:31 CET 2003 Daniel Veillard + + * valid.c: the a-posteriori DTD validation code was not validating + the namespace declarations, this fixes #124110 + +Wed Oct 29 14:13:03 PDT 2003 William Brack + + * xmlIO.c: enhanced to bypass compression detection code + when input file is stdin (bug 125801) + +Wed Oct 29 18:21:00 CET 2003 Daniel Veillard + + * xmlIO.c: fix needed when HTTP is not compiled in by Mark Vakoc + +Wed Oct 29 18:05:53 CET 2003 Daniel Veillard + + * xpath.c: more fixes about unregistering objects + * include/libxml/relaxng.h: applied patch from Mark Vakoc + missing _cplusplus processing clause + +Wed Oct 29 07:49:52 2003 Aleksey Sanin + + * include/libxml/parser.h parser.c: added xmlStrVPrintf function + +Wed Oct 29 14:37:40 CET 2003 Daniel Veillard + + * nanoftp.c nanohttp.c testThreads.c threads.c: applied patch from + Marcin 'Shard' Konicki to provide BeOS thread support. + +Wed Oct 29 14:20:14 CET 2003 Daniel Veillard + + * xmlschemas.c include/libxml/xmlschemas.h: applied patch + from Steve Ball to make a schema parser from a preparsed document. + +Wed Oct 29 13:52:25 CET 2003 Daniel Veillard + + * tree.c: applied a couple of patches from Mark Lilback about text + nodes coalescing + +Wed Oct 29 12:16:52 CET 2003 Daniel Veillard + + * xpath.c: change suggested by Anthony Carrico when unregistering + a namespace prefix to a context + * hash.c: be more careful about calling callbacks with NULL payloads. + +Wed Oct 29 00:04:26 CET 2003 Daniel Veillard + + * configure.in NEWS doc/*: preparing release 2.6.1, updated and + regenerated docs and APIs + * parser.c: cleanup and last change to fix #123105 + +Tue Oct 28 23:02:29 CET 2003 Daniel Veillard + + * HTMLparser.c: Fix #124907 by simply backporting the same + fix as for the XML parser + * result/HTML/doc3.htm.err: change to ID detecting modified one + test result. + +Tue Oct 28 22:28:50 CET 2003 Daniel Veillard + + * parser.c include/libxml/parser.h: included a new function + to reuse a Push parser context, based on Graham Bennett original + code + * valid.c: in HTML, a name in an input is not an ID + * TODO: bug list update + +Tue Oct 28 19:54:37 CET 2003 Daniel Veillard + + * xpath.c: applied patch from nico@xtradyne.com for #125030 + +Tue Oct 28 16:42:16 CET 2003 Daniel Veillard + + * Makefile.am: cleanup + * error.c valid.c include/libxml/xmlerror.h: fixing bug #125653 + sometimes the error handlers can get a parser context on DTD + errors, and sometime they don't. So be very careful when trying + to grab those informations. + +Tue Oct 28 15:26:18 CET 2003 Daniel Veillard + + * tree.c: applied patch from Kasimier Buchcik which fixes a + problem in xmlSearchNs introduced in 2.6.0 + +Tue Oct 28 14:57:03 CET 2003 Daniel Veillard + + * parser.c: fixed #123263, the encoding is mandatory in a textdecl. + +Tue Oct 28 13:48:52 CET 2003 Daniel Veillard + + * tree.c: fix bug #125047 about serializing when finding a + document fragment node. + +Mon Oct 27 11:11:29 EST 2003 Daniel Veillard + + * testSAX.c: fix bug #125592 need a NULL check + * include/libxml/chvalid.h: rename a parameter + +Mon Oct 27 09:43:48 EST 2003 Daniel Veillard + + * parser.c: applied patch from #123105 about defaulted attributes + from element coming from an entity + +Mon Oct 27 21:12:27 HKT 2003 William Brack + + * xmllint.c: fixed warning message from IRIX (bug 125182) + * python/libxml.py: removed tabs, replaced with spaces + (bug 125572) + +Mon Oct 27 06:17:30 EST 2003 Daniel Veillard + + * libxml.h parserInternals.c xmlIO.c: make sure we report errors + if xmlNewInputFromFile() fails. + * xmlreader.c: avoid using _private for the node or document + elements. + +Sat Oct 25 17:33:59 CEST 2003 Igor Zlatkovic + + * win32/configure.js: added declaration for verMicroSuffix + +Fri Oct 24 23:08:17 CEST 2003 Daniel Veillard + + * libxml.m4: applied patch from Patrick Welche provided in + bug #125432 , future proofing the .m4 file. + * parser.c: resetting the context should also reset the error + * TODO: problem of conformance w.r.t. E20 was raised in the + XML Core telconf and libxml2 isn't conformant there. + +Wed Oct 22 14:33:05 CEST 2003 Daniel Veillard + + * xmlwriter.c: applied patch from Alfred Mickautsch fixing #125180 + +Wed Oct 22 10:50:31 CEST 2003 Daniel Veillard + + * chvalid.c genChRanges.py: Stéphane Bidoul pointed out another + small glitch missing a const + +Wed Oct 22 10:43:21 CEST 2003 Daniel Veillard + + * chvalid.c genChRanges.py: Stéphane Bidoul pointed out that + it doesn't define IN_LIBXML + +Tue Oct 21 21:14:55 CEST 2003 Daniel Veillard + + * win32/Makefile.mingw: typo pointed out by Stéphane Bidoul + +Tue Oct 21 11:26:36 CEST 2003 Daniel Veillard + + * win32/Makefile.bcb win32/Makefile.mingw win32/Makefile.msvc + win32/configure.js: set of Win32 patches for 2.6.0 by Joachim Bauch + +Tue Oct 21 02:07:22 CEST 2003 Daniel Veillard + + * tree.c: last minute patch from Eric Zurcher making it into 2.6.0 + +Tue Oct 21 02:03:03 CEST 2003 Daniel Veillard + + * configure.in NEWS doc/libxml2.xsa: preparing libxml2-2.6.0 + * doc/*: updated and regenerated the docs and API + +Tue Oct 21 01:01:55 CEST 2003 Daniel Veillard + + * SAX2.c error.c tree.c: moved the line number to their proper + field in elements now. + +Tue Oct 21 00:28:20 CEST 2003 Daniel Veillard + + * configure.in xmlwriter.c Makefile.am include/libxml/xmlwriter.h + include/libxml/Makefile.am include/libxml/xmlversion.h.in: + added the xmlWriter module contributed by Alfred Mickautsch + * include/libxml/tree.h: added room for line and extra information + * xmlreader.c python/tests/reader6.py: bugfixing some problem some + of them introduced in September + * win32/libxml2.def.src doc/libxml2-api.xml: regenerated the API + +Mon Oct 20 19:02:53 CEST 2003 Daniel Veillard + + * Makefile.am configure.in xmldwalk.c xmlreader.c + include/libxml/Makefile.am include/libxml/xmldwalk.h + include/libxml/xmlversion.h.in: removing xmldwalk module + since it got merged with the xmlreader. + * parser.c: cleanup + * win32/libxml2.def.src python/libxml2class.txt doc/libxml2-api.xml: + rebuilt the API + * python/tests/Makefile.am python/tests/reader7.py + python/tests/walker.py: adding regression testing for the + new xmlreader APIs, new APIs for reader creation, including + makeing reader "walker" operating on preparsed document trees. + +Sun Oct 20 22:37:03 HKT 2003 William Brack + + * entities.c, valid.c: fixed problem reported on the mailing + list by Melvyn Sopacua - wrong argument order on functions + called through xmlHashScan. + +Sun Oct 19 23:57:45 CEST 2003 Daniel Veillard + + * valid.c xmlIO.c: fixes for compiling using --with-minimum + +Sun Oct 19 23:46:04 CEST 2003 Daniel Veillard + + * tree.c: cleanup xmlNodeGetContent() reusing xmlNodeBufGetContent(), + tested it through the xslt regression suite. + +Sun Oct 19 22:42:16 CEST 2003 Daniel Veillard + + * tree.c include/libxml/tree.h: adding xmlNodeBufGetContent() + allowing to grab the content without forcing allocations. + * python/libxml2class.txt doc/libxml2-api.xml: rebuilt the API + * xpath.c xmldwalk.c: removed a couple of comment errors. + +Sun Oct 19 16:39:36 CEST 2003 Daniel Veillard + + * parser.c: applied patch from Chris Anderson to change back + memcmp with CMPx() + +Sun Oct 19 16:24:19 CEST 2003 Daniel Veillard + + * HTMLparser.c: fixed to not send NULL to %s printing + * python/tests/error.py result/HTML/doc3.htm.err + result/HTML/test3.html.err result/HTML/wired.html.err + result/valid/t8.xml.err result/valid/t8a.xml.err: cleaning + up some of the regression tests error + +Sun Oct 19 15:31:43 CEST 2003 Daniel Veillard + + * include/libxml/nanohttp.h include/libxml/parserInternals.h + include/libxml/xmlIO.h nanohttp.c parserInternals.c xmlIO.c: + Fixed the HTTP<->parser interraction, which should fix 2 long + standing bugs #104790 and #124054 , this also fix the fact that + HTTP error code (> 400) should not generate data, we usually + don't want to parse the HTML error information instead of the + resource looked at. + +Sun Oct 19 19:20:48 HKT 2003 William Brack + + * doc/Makefile.am: enhanced the installation of tutorial files + to avoid installing CVS subdirectories (bug 122943) + +Sun Oct 19 17:33:27 HKT 2003 William Brack + + * xmlIO.c: fixed segfault when input file not present + * tree.c: changed output formatting of XML_CDATA_SECTION + (bug 120917) + +Sun Oct 19 00:15:38 HKT 2003 William Brack + + * include/libxml/parserInternals.h HTMLparser.c HTMLtree.c + SAX2.c catalog.c debugXML.c entities.c parser.c relaxng.c + testSAX.c tree.c valid.c xmlschemas.c xmlschemastypes.c + xpath.c: Changed all (?) occurrences where validation macros + (IS_xxx) had single-byte arguments to use IS_xxx_CH instead + (e.g. IS_BLANK changed to IS_BLANK_CH). This gets rid of + many warning messages on certain platforms, and also high- + lights places in the library which may need to be enhanced + for proper UTF8 handling. + +Sat Oct 18 20:34:18 HKT 2003 William Brack + + * genChRanges.py, chvalid.c, include/libxml/chvalid.h, + doc/apibuild.py: enhanced to include enough comments to + make the api doc generation happy. + +Sat Oct 18 07:28:25 EDT 2003 Daniel Veillard + + * nanohttp.c xmlIO.c include/libxml/nanohttp.h: starting work + to fix the HTTP/XML parser integration. + +Sat Oct 18 11:04:32 CEST 2003 Daniel Veillard + + * xmlreader.c include/libxml/xmlreader.h: added new APIs + for creating reader from sources or reusing a reader with + a new source, like the xmlReadxx and xmlCtxtReadxxx + * win32/libxml2.def.src doc/libxml2-api.xml doc/apibuild.py + doc/Makefile.am: regenerated the APIs + * doc/xml.html: applied a patch from Stefan Kost for namespace docs + +Sat Oct 18 12:46:02 HKT 2003 William Brack + + * genChRanges.py, chvalid.c, include/libxml/chvalid.h, + include/libxml/parserInternals.h: enhanced macros to avoid + breaking ABI from previous versions. + * catalog.c, parser.c, tree.c: modified to use IS_* macros + defined in parserInternals.h. Makes maintenance much easier. + * testHTML.c, testSAX.c, python/libxml.c: minor fixes to avoid + compilation warnings + * configuration.in: fixed pushHTML test error; enhanced for + better devel (me) testing + +Fri Oct 17 14:38:54 CEST 2003 Daniel Veillard + + * legacy.c: remove the warning for startDocument(), as it is used by + glade (or glade-python) + * parser.c relaxng.c xmlschemastypes.c: fixed an assorted set of + invalid accesses found by running some Python based regression + tests under valgrind. There is still a few leaks reported by the + relaxng regressions which need some attention. + * doc/Makefile.am: fixed a make install problem c.f. #124539 + * include/libxml/parserInternals.h: addition of xmlParserMaxDepth + patch from crutcher + +Wed Oct 15 12:47:33 CEST 2003 Daniel Veillard + + * parser.c: Marc Liyanage pointed out that xmlCleanupParser() + was missing xmlCleanupInputCallbacks and xmlCleanupOutputCallbacks + calls. + +Wed Oct 15 10:16:47 CEST 2003 Daniel Veillard + + * vms/build_libxml.com trionan.c: VMS patch from Craig A. Berry + +Mon Oct 13 21:46:25 CEST 2003 Daniel Veillard + + * Makefile.am: small fix from Bjorn Reese + +Mon Oct 13 15:59:25 CEST 2003 Daniel Veillard + + * valid.c: fix a call missing arguments + +Sun Oct 12 18:42:18 HKT 2003 William Brack + + * genChRanges.py, chvalid.c, include/libxml/chvalid.h: fixed + a bug in the range search; enhanced range generation (inline code + if a small number of intervals); enhanced the readability of the + output files. + +Sun Oct 12 00:52:14 CEST 2003 Daniel Veillard + + * chvalid.def chvalid.c include/libxml/chvalid.h: rebuilt + chvalid.def from scratch based on XML 2nd edition REC + and regenerated the code. + +Sat Oct 11 22:54:13 CEST 2003 Daniel Veillard + + * check-xml-test-suite.py: removed some annoying warnings + * chvalid.def chvalid.c include/libxml/chvalid.h: fixed a bug + in the PubidChars definition, regenerated, there is still + a bug left somewhere + * genChRanges.py: save the header directly in include/libxml/ + * configure.in: I generated a 2.6.0beta6 earlier today + +Sat Oct 11 23:32:47 HKT 2003 William Brack + + * fixed small error on previous commit (chvalid.h in + base dir instead of include directory) + +Sat Oct 11 23:11:22 HKT 2003 William Brack + + * genChRange.py, chvalid.def, chvalid.c, include/libxml/chvalid.h: + new files for a different method for doing range validation + of character data. + * Makefile.am, parserInternals.c, include/libxml/Makefile.am, + include/libxml/parserInternals.h: modified for new range method. + * catalog.c: small enhance for warning message (using one + of the new range routines) + +Sat Oct 11 13:24:57 CEST 2003 Daniel Veillard + + * valid.c include/libxml/valid.h: adding an serror field to + the validation context breaks the ABI for the xmlParserCtxt + structure since it's embedded by content and not by reference + +Sat Oct 11 12:46:49 CEST 2003 Daniel Veillard + + * configure.in: patch from Mike Hommey + * threads.c: applied Windows patch from Jesse Pelton and Stephane + Bidoul + * parser.c: fix the potentially nasty access to ctxt->serror + without checking first that the SAX block is version 2 + +Fri Oct 10 21:34:01 CEST 2003 Daniel Veillard + + * SAX2.c: fixed a nasty bug with interning some text strings + * configure.in: prepare for beta5 of 2.6.0 + * libxml.h nanoftp.c nanohttp.c xmlIO.c include/libxml/xmlerror.h: + better error handling for I/O and converted FTP and HTTP + * parser.c: fixed another bug + +Fri Oct 10 16:45:20 CEST 2003 Daniel Veillard + + * SAX2.c: fixed uninitialized new field. + * result/VC/OneID2 result/relaxng/*.err: fixed a typo updating + all messages + +Fri Oct 10 16:19:17 CEST 2003 Daniel Veillard + + * include/libxml/tree.h: make room in Doc, Element, Attributes + for PSVI type informations. + +Fri Oct 10 16:08:02 CEST 2003 Daniel Veillard + + * HTMLparser.c c14n.c catalog.c error.c globals.c parser.c + parserInternals.c relaxng.c valid.c xinclude.c xmlIO.c xmlregexp.c + xmlschemas.c xpath.c xpointer.c include/libxml/globals.h + include/libxml/parser.h include/libxml/valid.h + include/libxml/xmlerror.h: Setting up the framework for structured + error reporting, touches a lot of modules, but little code now + the error handling trail has been cleaned up. + +Fri Oct 10 14:29:42 CEST 2003 Daniel Veillard + + * c14n.c include/libxml/xmlerror.h: converted the C14N module too + +Fri Oct 10 13:40:51 CEST 2003 Daniel Veillard + + * xpath.c: cleanup + * xpointer.c include/libxml/xmlerror.h: migrated XPointer module + to the new error mechanism + +Fri Oct 10 12:49:53 CEST 2003 Daniel Veillard + + * error.c xmlschemas.c: a bit of cleanup + * result/schemas/*.err: updated with the new result strings + +Fri Oct 10 03:58:39 PDT 2003 William Brack + + * xpath.c: fixed bug 124061 + +Fri Oct 10 02:47:22 CEST 2003 Daniel Veillard + + * Makefile.am: cleanup + * encoding.c: fix a funny typo + * error.c xmlschemas.c xmlschemastypes.c include/libxml/xmlerror.h: + converted the Schemas code to the new error handling. PITA, + still need to check output from regression tests. + +Thu Oct 9 15:13:53 CEST 2003 Daniel Veillard + + * HTMLtree.c include/libxml/xmlerror.h: converted too + * tree.c: small cleanup + +Thu Oct 9 13:44:57 CEST 2003 Daniel Veillard + + * xinclude.c: comment fix + * catalog.c include/libxml/xmlerror.h: migrating the catalog code + to the new infrastructure + +Thu Oct 9 00:36:03 CEST 2003 Daniel Veillard + + * xmlIO.c: final error handling cleanup + * xinclude.c error.c: converted XInclude to the new error handling + * include/libxml/xmlerror.h: added XInclude errors + +Wed Oct 8 23:31:23 CEST 2003 Daniel Veillard + + * parser.c: bug in compression saving was crashing galeon + reported by teuf + +Wed Oct 8 21:18:12 CEST 2003 Daniel Veillard + + * error.c tree.c xmlIO.c xmllint.c: more cleanup through the + I/O error path + +Wed Oct 8 20:57:27 CEST 2003 Daniel Veillard + + * xmlIO.c: better handling of error cases + +Wed Oct 8 13:51:14 CEST 2003 Daniel Veillard + + * xmlIO.c xmllint.c include/libxml/xmlerror.h: first pass at + cleaning up error handling in the I/O module. + +Wed Oct 8 10:52:05 CEST 2003 Daniel Veillard + + * xmlregexp.c include/libxml/xmlerror.h: error handling + cleanup of the Regexp module. + +Wed Oct 8 01:09:05 CEST 2003 Daniel Veillard + + * tree.c: converting the tree module too + * error.c include/libxml/xmlerror.h: created a simpler internal + error reporting function. + +Tue Oct 7 23:19:39 CEST 2003 Daniel Veillard + + * error.c include/libxml/xmlerror.h include/libxml/xpath.h + include/libxml/xpathInternals.h xpath.c: cleaning up XPath + error reporting that time. + * threads.c: applied the two patches for TLS threads + on Windows from Jesse Pelton + * parser.c: tiny safety patch for xmlStrPrintf() make sure the + return is always zero terminated. Should also help detecting + passing wrong buffer size easily. + * result/VC/* result/valid/rss.xml.err result/valid/xlink.xml.err: + updated the results to follow the errors string generated by + last commit. + +Tue Oct 7 14:16:45 CEST 2003 Daniel Veillard + + * relaxng.c include/libxml/xmlerror.h: last cleanup of error + handling in the Relax-NG module. + +Tue Oct 7 13:30:39 CEST 2003 Daniel Veillard + + * error.c relaxng.c include/libxml/xmlerror.h: switched Relax-NG + module to the new error reporting. Better default report, adds + the element associated if found, context and node are included + in the xmlError + * python/tests/reader2.py: the error messages changed. + * result/relaxng/*: error message changed too. + +Mon Oct 6 10:46:35 CEST 2003 Daniel Veillard + + * win32/Makefile.bcb win32/Makefile.mingw win32/Makefile.msvc + win32/configure.js: applied patch from Stéphane Bidoul to + fix the compilation of 2.6.0 code on Win32 + +Mon Oct 6 10:16:30 CEST 2003 Daniel Veillard + + * check-xml-test-suite.py: fixing the script + * parser.c: replace sequences of RAW && NXT(.) == '.' with + memcmp calls, seems to not break conformance, slightly inflate + the size of the gcc generated code though. + +Sun Oct 5 23:30:48 CEST 2003 Daniel Veillard + + * parserInternals.c parser.c valid.c include/libxml/parserInternals.h: + more cleanup of error handling in parserInternals, sharing the + routine for memory errors. + +Sun Oct 5 15:49:14 CEST 2003 Daniel Veillard + + * HTMLparser.c Makefile.am legacy.c parser.c parserInternals.c + include/libxml/xmlerror.h: more code cleanup, especially around + error messages, the HTML parser has now been upgraded to the new + handling. + * result/HTML/*: a few changes in the resulting error messages + +Sat Oct 4 23:06:41 CEST 2003 Daniel Veillard + + * parser.c include/libxml/xmlerror.h: more error/warning + handling cleanups, the XML parser module should be okay now. + +Sat Oct 4 01:58:27 CEST 2003 Daniel Veillard + + * Makefile.am configure.in xmldwalk.c include/libxml/Makefile.am + include/libxml/xmldwalk.h include/libxml/xmlversion.h.in: + integrated the xmlDocWalker API given by Alfred Mickautsch, + and providing an xmlReader like API but working on a xmlDocPtr. + +Sat Oct 4 00:18:29 CEST 2003 Daniel Veillard + + * Makefile.am: more cleanup in make tests + * error.c valid.c parser.c include/libxml/xmlerror.h: more work + in the transition to the new error reporting strategy. + * python/tests/reader2.py result/VC/* result/valid/*: + few changes in the strings generated by the validation output + +Fri Oct 3 00:19:02 CEST 2003 Daniel Veillard + + * Makefile.am: changed 'make tests' to use a concise output, + scrolling to see where thing broke wasn't pleasant + * configure.in: some beta4 preparation, but not ready yet + * error.c globals.c include/libxml/globals.h include/libxml/xmlerror.h: + new error handling code, last error informations are stored + in the parsing context or a global variable, new APIs to + handle the xmlErrorPtr type. + * parser.c parserInternals.c valid.c : started migrating to the + new error handling code, it's a royal pain. + * include/libxml/parser.h include/libxml/parserInternals.h: + moved the definition of xmlNewParserCtxt() + * parser.c: small potential buffer access problem in push code + provided by Justin Fletcher + * result/*.sax result/VC/PENesting* result/namespaces/* + result/valid/*.err: some error messages were sligthly changed. + +Thu Oct 2 13:01:13 2003 Aleksey Sanin + + * include/libxml/parser.h parser.c: introduced xmlStrPrintf + function (wrapper around snprintf) + +Wed Oct 1 21:12:06 CEST 2003 Daniel Veillard + + * entities.c: Fix error on output of high codepoint charref like + 􏿿 , reported by Eric Hanchrow + +Wed Oct 1 14:20:10 CEST 2003 Daniel Veillard + + * DOCBparser.c include/libxml/DOCBparser.h: let's see how much + of a pain murrayc is really gonna be. + +Wed Oct 1 11:03:40 CEST 2003 Daniel Veillard + + * xmlreader.c: Applied fix for bug #123481 reported by Peter Derr + +Tue Sep 30 15:34:31 CEST 2003 Daniel Veillard + + * entities.c legacy.c parser.c: made the predefined entities + static predefined structures to avoid the work, memory and + hazards associated to initialization/cleanup. + +Tue Sep 30 14:30:47 CEST 2003 Daniel Veillard + + * HTMLparser.c Makefile.am configure.in legacy.c parser.c + parserInternals.c testHTML.c xmllint.c include/libxml/HTMLparser.h + include/libxml/parser.h include/libxml/parserInternals.h + include/libxml/xmlversion.h.in: added a new configure + option --with-push, some cleanups, chased code size anomalies. + Now a library configured --with-minimum is around 150KB, + sounds good enough. + +Tue Sep 30 12:31:00 AEST 2003 Malcolm Tredinnick + + * libxml-2.0-uninstalled.pc.in: New file for building against + uninstalled libxml2 builds. + * configure.in, Makefile.am: Support the *-uninstalled.pc file. + * .cvsignore: Ignore the new generated *.pc file. + +Tue Sep 30 02:38:16 CEST 2003 Daniel Veillard + + * Makefile.am SAX.c SAX2.c configure.in globals.c parser.c + parserInternals.c testReader.c testSAX.c xmlIO.c xmllint.c + xmlreader.c example/gjobread.c include/libxml/xmlversion.h.in: + added 2 new configure option: --with-reader --with-sax1 + to allow removing the reader or non-xmlReadxxx() interfaces. + +Mon Sep 29 19:58:26 CEST 2003 Daniel Veillard + + * configure.in entities.c tree.c valid.c xmllint.c + include/libxml/tree.h include/libxml/xmlversion.h.in: + Adding a configure option to remove tree manipulation + code which is not strictly needed by the parser. + +Mon Sep 29 15:23:41 CEST 2003 Daniel Veillard + + * nanoftp.c nanohttp.c: last finishing touch to the BeOS + patch from Marcin 'Shard' Konicki + +Mon Sep 29 15:15:08 CEST 2003 Daniel Veillard + + * HTMLtree.c SAX2.c c14n.c catalog.c configure.in debugXML.c + encoding.c entities.c nanoftp.c nanohttp.c parser.c relaxng.c + testAutomata.c testC14N.c testHTML.c testRegexp.c testRelax.c + testSchemas.c testXPath.c threads.c tree.c valid.c xmlIO.c + xmlcatalog.c xmllint.c xmlmemory.c xmlreader.c xmlschemas.c + example/gjobread.c include/libxml/HTMLtree.h include/libxml/c14n.h + include/libxml/catalog.h include/libxml/debugXML.h + include/libxml/entities.h include/libxml/nanohttp.h + include/libxml/relaxng.h include/libxml/tree.h + include/libxml/valid.h include/libxml/xmlIO.h + include/libxml/xmlschemas.h include/libxml/xmlversion.h.in + include/libxml/xpathInternals.h python/libxml.c: + Okay this is scary but it is just adding a configure option + to disable output, this touches most of the files. + +Mon Sep 29 12:53:56 CEST 2003 Daniel Veillard + + * xmlmemory.c: better fix, avoids breaking the python bindings + +Mon Sep 29 11:21:33 CEST 2003 Daniel Veillard + + * xmlmemory.c: fix a compilation problem when configuring + with debug but without mem-debug + +Sun Sep 28 20:53:17 CEST 2003 Daniel Veillard + + * Makefile.am: cleanup, creating a new legacy.c module, + made sure make tests ran in reduced conditions + * SAX.c SAX2.c configure.in entities.c globals.c parser.c + parserInternals.c tree.c valid.c xlink.c xmlIO.c xmlcatalog.c + xmlmemory.c xpath.c xmlmemory.c include/libxml/xmlversion.h.in: + increased the modularization, allow to configure out + validation code and legacy code, added a configuration + option --with-minimum compiling only the mandatory code + which then shrink to 200KB. + +Sun Sep 28 02:15:07 CEST 2003 Daniel Veillard + + * parser.c: fix a bug raised by the Mips compiler. + * include/libxml/SAX.h include/libxml/parser.h: move the + SAXv1 block definitions to parser.h fixes bug #123380 + * xmlreader.c include/libxml/xmlreader.h: reinstanciate + the attribute and element pool borken 2 commits ago. + Start playing with an entry point to preserve a subtree. + * entities.c: remove a warning. + +Sat Sep 27 12:19:38 PDT 2003 William Brack + + * encoding.c, parser.c, relaxng.c: further (final?) minor + changes for compilation warnings. No change to logic. + +Fri Sep 26 18:03:42 PDT 2003 William Brack + + * parser.c: fixed small problem with missing entities (test/ent2) + +Sat Sep 27 01:25:39 CEST 2003 Daniel Veillard + + * parser.c: William's change allowed to spot a nasty bug in xmlDoRead + if the result is not well formed that ctxt->myDoc is not NULL + and uses the context dictionary. + +Fri Sep 26 21:09:34 CEST 2003 Daniel Veillard + + * parser.c: other patches from William Brack to avoid + compilation warnings on AIX. + +Fri Sep 26 11:03:08 PDT 2003 William Brack + + * HTMLparser.c, entities.c, xmlreader.c: minor change to + avoid compilation warnings on some (e.g. AIX) systems + +Fri Sep 26 16:49:25 CEST 2003 Daniel Veillard + + * parserInternals.c: fixed a backward compatibility problem + when formatting "deprecated SAXv1 function ignorableWhitespace" + could be reproduced by xmllint --format + +Fri Sep 26 15:50:44 CEST 2003 Daniel Veillard + + * doc/libxml2-api.xml: rebuilt the API + * xmllint.c doc/xmllint.1 doc/xmllint.xml: added the new options + --nocdata and --nsclean to remove CDATA section and surperfluous + namespace declarations + * parser.c SAX2.c: implementation of the 2 new options + +Fri Sep 26 14:41:53 CEST 2003 Daniel Veillard + + * HTMLparser.c testHTML.c xmllint.c include/libxml/HTMLparser.h: + added the same htmlRead APIs than their XML counterparts + * include/libxml/parser.h: new parser options, not yet implemented, + added an options field to the context. + * tree.c: patch from Shaun McCance to fix bug #123238 when ]]> + is found within a cdata section. + * result/noent/cdata2 result/cdata2 result/cdata2.rdr + result/cdata2.sax test/cdata2: add one more cdata test + +Thu Sep 25 23:03:23 CEST 2003 Daniel Veillard + + * parser.c xmllint.c doc/libxml2-api.xml include/libxml/parser.h: + Changed the new xmlRead/xmlCtxtRead APIs to have an extra + base URL parameter when not loading from a file or URL. + +Thu Sep 25 16:23:58 CEST 2003 Daniel Veillard + + * configure.in: preparing a beta3 solving the ABI problems + * globals.c parser.c parserInternals.c testHTML.c HTMLparser.c SAX.c + include/libxml/globals.h include/libxml/SAX.h: make sure the + global variables for the default SAX handler are V1 ones to + avoid ABI compat problems. + * xmlreader.c: cleanup of uneeded code + * hash.c: fix a comment + +Thu Sep 25 14:16:51 CEST 2003 Daniel Veillard + + * SAX2.c hash.c parser.c include/libxml/xmlexports.h + include/libxml/xmlmemory.h include/libxml/xmlversion.h.in: + fixing some comments to avoid warnings from apibuild.py + +Wed Sep 24 23:42:08 CEST 2003 Daniel Veillard + + * win32/configure.js: patch from Stéphane Bidoul for configuring + the beta2 version #123104 + +Wed Sep 24 23:17:59 CEST 2003 Daniel Veillard + + * Makefile.am: adding repeated parsing and validating tests + * SAX2.c parser.c tree.c include/libxml/parser.h: make the new + DOM tree building interfaces use the dictionary from the + parsing context to build the element and attributes names + as well as formatting spaces and short text nodes + * include/libxml/dict.h dict.c: added some reference counting + for xmlDictPtr because they can be shared by documents and + a parser context. + * xmlreader.c: a bit of cleanup, remove the specific tree freeing + functions and use the standard ones now. + * xmllint.c: add --nodict + * python/libxml.c: fix a stupid bug so that ns() works on + attribute nodes. + +Tue Sep 23 23:07:45 CEST 2003 Daniel Veillard + + * parser.c include/libxml/parser.h: adding a new set of + API for parsing xmlReadDoc() xmlReadFile() ... xmlReadIO() + and xmlCtxtReadDoc() ... xmlCtxtReadIO(). That with + a clear define of xmlParserOption, xmlCtxtUseOptions() + should simplify custom parsing without being tempted to + use global variables, and xmlCtxtReset() should allow reuse + of a context for multiple parsing. + * xmllint.c: switched to use xmlReadXXX, allow options to + be used simultaneously with less troubles. + * tree.c: simple warning removal + * doc/apibuild.py: small fix + * doc/libxml2-api.xml win32/libxml2.def.src: updated + +Tue Sep 23 11:15:23 CEST 2003 Daniel Veillard + + * parser.c: revert xmlCreateDocParserCtxt() since this break + the parseDoc() python bindings + +Tue Sep 23 11:00:18 CEST 2003 Daniel Veillard + + * parser.c: make sure xmlDetectSAX2() is called only at + parsing time to avoid breaking apps changing the SAX + callbacks after context allocation, change xmlCreateDocParserCtxt() + to use an immutable buffer instead of a copy + +Tue Sep 23 09:40:33 CEST 2003 Daniel Veillard + + * xmlIO.c: applied patch from Markus Keim fixing a problem + with I/O callback registration. + * include/libxml/xmlerror.h: fixed #122994 comment numbering + for xmlParserErrors + +Mon Sep 22 12:21:11 CEST 2003 Daniel Veillard + + * tree.c include/libxml/tree.h: the uri arg to xmlNodeSetBase is + really a const xmlChar* + * xmlreader.c include/libxml/xmlreader.h: addin the + xmlTextReaderConstString() to get an interned string from + the reader + +Sun Sep 20 17:22:20 PDT 2003 William Brack + + * error.c: fixed a warning message (trivial) + * doc/search.php: removed incorrect warning message when word + search not found in last of multiple tables (bug 119535) + +Fri Sep 19 14:26:28 CEST 2003 Daniel Veillard + + * configure.in: preparing a 2.6.0-beta2 release + * xmlIO.c: avoid a warning + * tree.c: avoid duplicate code in xmlReplaceNode as pointed out + by Chris Ryland + * include/libxml/dict.h: add a QName access lookup to the + dictionary. + * xmlreader.c include/libxml/xmlreader.h: adding const access + based on the dictionary interface for string read from the + reader, the node content access is still TODO, it's too different + +Fri Sep 19 00:01:08 CEST 2003 Daniel Veillard + + * SAX2.c: fixing namespace DTD validations + * result/valid/ns2.xml result/valid/ns.xml: the output of defaulted + namespaces is slightly different now. + * Makefile.am: report the memory used in Timingtests (as well as time) + +Thu Sep 18 15:29:46 CEST 2003 Daniel Veillard + + * Makefile.am: add streaming on memory regression tests, found + bad bugs in the reader interface + * xmlreader.c: fixing bugs w.r.t. very large names, and special + condition in end of file. + * xmlIO.c tree.c include/libxml/tree.h include/libxml/xmlIO.h: + adding immutable buffers, and parser input based on those, + but this should not be used (yet) for general parsing + * parser.c: added a comment about using immutable buffers for + general parsing. + * result/bigname.xml.rdr result/bigname2.xml.rdr: fixing the + output of the regression tests + * xmllint.c: using the immutable buffers when streaming on + mmaped file (--stream --memory) + +Thu Sep 18 12:04:50 CEST 2003 Daniel Veillard + + * dict.c: the last patch broke unicity of returned strings, removed + +Thu Sep 18 00:31:02 CEST 2003 Daniel Veillard + + * Makefile.am: add a Timingtests target to check bad behaviour + from the streaming engine + * dbgen.pl dbgenattr.pl: perl script to generate big instances + * xmlreader.c: fix a bad behaviour on large buffer inputs + +Wed Sep 17 23:25:47 CEST 2003 Daniel Veillard + + * dict.c xmlreader.c: two small improvements + +Wed Sep 17 22:53:32 CEST 2003 Daniel Veillard + + * parserInternals.c: avoid a leak with previous patch + +Wed Sep 17 22:06:11 CEST 2003 Daniel Veillard + + * python/libxml.c: use stderr and not stdout for default errors + in python environment bug #122552 + +Wed Sep 17 21:33:57 CEST 2003 Daniel Veillard + + * parserInternals.c: small fix from Rob Richards for input filename + * xmllint.c: fixes for --repeat and --memory/--stream for speed tests + * xmlIO: adding a guard in one function + +Wed Sep 17 15:57:44 CEST 2003 Daniel Veillard + + * SAX2.c xmlreader.c include/libxml/parser.h: more performance hunting + reducing memory allocation and free and avoiding expensive routines + +Wed Sep 17 12:23:41 CEST 2003 Daniel Veillard + + * SAX2.c parser.c parserInternals.c xmlreader.c: started messing + seriously with per-document dict and element and attribute nodes + reuse in the xmlReader. This seems to lead to an interesting + speedup of the xmlReader already. + +Wed Sep 17 01:07:56 CEST 2003 Daniel Veillard + + * dict.c include/libxml/dict.h: do string allocations in large + pools, allowing to find if a string pertain to a dict quickly + * xmllint.c: fix --stream --repeat --timing + * Makefile.am: the testThreads run output should be seen. + +Mon Sep 15 16:46:28 CEST 2003 Daniel Veillard + + * SAX2.c include/libxml/parser.h: starting work on reusing the + parser dictionary for the element and attribute tag names. + Add pools for Element and Attributes in the parser context, + which should help speeding up the reader. + * Makefile.am result/*.rdr : adding non-python reader regression + tests. + +Mon Sep 15 14:54:42 CEST 2003 Daniel Veillard + + * SAX2.c parser.c valid.c: starting to cleanup some of the + problems exposed by the W3C/NIST regression suite. + * result/ent7.sax result/xml2.sax: small fixes. + +Mon Sep 15 11:46:47 CEST 2003 Daniel Veillard + + * parser.c: more parser error factoring + +Sun Sep 14 21:53:39 PDT 2003 William Brack + + * HTMLtree.c: Fixed bug 121394 - missing ns on attributes + +Sun Sep 14 21:43:32 CEST 2003 Daniel Veillard + + * parser.c include/libxml/xmlerror.h: factoring of more + error handling code, serious size reduction and more lisibility + of the resulting code. + * parserInternals.c parser.c include/libxml/parserInternals.h + include/libxml/parser.h: changing the way VC:Proper Group/PE Nesting + checks are done, use a counter for entities. Entities where freed and + reallocated at the same address failing the check. + * tree.c: avoid a warning + * result/valid/* result/VC/*: this slightly changes some validation + error messages. + +Sun Sep 14 11:03:27 PDT 2003 William Brack + + * valid.c: fixed bug 121759 - early declaration of + attribute-list in external DTD + +Sat Sep 13 14:42:11 CEST 2003 Daniel Veillard + + * parser.c include/libxml/xmlerror.h: starting cleaning up + error handling, factorize error processing + * doc/xmllint.html: update of the page, remove --sgml + +Sat Sep 13 02:13:50 CEST 2003 Daniel Veillard + + * Makefile.am DOCBparser.c parserInternals.c testDocbook.c + xmllint.c doc/xmllint.xml doc/xmllint.1: removing the + broken pseudo SGML DocBook parser code. + +Fri Sep 12 17:24:11 CEST 2003 Daniel Veillard + + * xpath.c: fix a problem with strcpy() in xmlXPathFormatNumber() + valgrind pointed out the strings overlapped. cleanup . + +Fri Sep 12 11:43:12 CEST 2003 Daniel Veillard + + * tree.c: applied speedup to xmlSearchNs() as suggested by + Luca Padovani. Cleaned up xmlSearchNsByHref() in the process + applying the same trick. + +Fri Sep 12 01:36:20 CEST 2003 Daniel Veillard + + * parser.c parserInternals.c tree.c include/libxml/parser.h + include/libxml/xmlerror.h: adding namespace checkings + while making sure they still parse as wellformed documents. + Add an nsWellFormed status report to the context, and + provide new appropriate error codes. + * Makefile.am result/namespaces/* test/namespaces/*: add + specific regression testing for the new namespace support + * test/att5 result/noent/att5 result/att5 result/att5.sax: + add more coverage for the attribute parsing and normalization + code. + +Fri Sep 12 01:34:19 CEST 2003 Daniel Veillard + + * threads.c: backport of a thread bugfix from 2_5_X branch + +Thu Sep 11 18:29:18 CEST 2003 Daniel Veillard + + * parser.c: fixed a bug in one corner case of attribute parsing. + +Thu Sep 11 16:21:53 CEST 2003 Daniel Veillard + + * configure.in doc/* : 2.6.0beta1 changes + * SAX2.c hash.c parser.c parserInternals.c: Fixing attribute + normalization, might not be totally fixed but this should + make sure SAX event provide the right strings for attributes + except entities for which libxml2 is different by default + This should fix #109564 + * result/attrib.xml.sax result/ent3.sax result/p3p.sax: minor changes + in attribute callback values + * result/c14n/with-comments/example-4 + result/c14n/without-comments/example-4: this also fixes a subtle + bug in the canonicalization tests. + +Wed Sep 10 12:38:44 CEST 2003 Daniel Veillard + + Time to commit 3 days of work rewriting the parser internal, + fixing bugs and migrating to SAX2 interface by default. There + is some work letf TODO, like namespace validation and attributes + normalization (this break C14N right now) + * Makefile.am: fixed the test rules + * include/libxml/SAX2.h include/libxml/parser.h + include/libxml/parserInternals.h SAX2.c parser.c + parserInternals.c: changing the parser, migrating to SAX2, + adding new interface to switch back to SAX1 or initialize a + SAX block for v1 or v2. Most of the namespace work is done + below SAX, as well as attribute defaulting + * globals.c: changed initialization of the default SAX handlers + * hash.c tree.c include/libxml/hash.h: added QName specific handling + * xmlIO.c: small fix + * xmllint.c testSAX.c: provide a --sax1 switch to test the old + version code path + * result/p3p result/p3p.sax result/noent/p3p test/p3p: the new code + pointed out a typo in a very old test namespace + +Sun Sep 7 19:58:33 PTD 2003 William Brack + + * xmlIO.c include/libxml/xmlIO.h parser.c: Implemented detection + of compressed files, setting doc->compressed appropriately + (bug #120503). + +Sun Sep 7 22:53:06 CEST 2003 Daniel Veillard + + * parser.c: try to cope with the fact that apps may still + have allocated smaller SAX callbak block + +Sun Sep 7 11:11:45 CEST 2003 Daniel Veillard + + * dict.c: allow to give -1 for undefined length in lookups + * include/libxml/parser.h parser.c parserInternals.c testSAX.c: + first round of work on the new SAX2 interfaces, the API + will change but commiting before changing for historical + reference. + +Sat Sep 6 10:55:01 PTD 2003 William Brack + + * SAX2.c, xmlIO.c: fixed bug #121210 (callback to sax->error, + sax->warning with wrong params). + +Fri Sep 5 10:33:42 CEST 2003 Daniel Veillard + + * include/libxml/globals.h: patch from Stéphane Bidoul to export + globals entry points to the python bindings + +Wed Sep 3 15:24:41 CEST 2003 Daniel Veillard + + * HTMLparser.c: when creating a DOCTYPE use "html" lowercase + by default instead of "HTML" + * parser.c xmlreader.c: optimization, gain a few % parsing speed by + avoiding calls to "areBlanks" when not needed. + * include/libxml/parser.h include/libxml/tree.h: some structure + extensions for future work on using per-document dictionaries. + +Wed Sep 3 15:08:06 CEST 2003 Daniel Veillard + + * Makefile.am results/*.sax SAXResult/*: removing the SAXresults + tree, keeping result in the same tree, added SAXtests to the + default "make tests" + +Tue Sep 2 15:59:04 CEST 2003 Igor Zlatkovic + + * include/libxml/xmlexports.h: defined additional macros which + affect exports and added mingw section + +Mon Sep 1 15:15:18 PDT 2003 William Brack + + * doc/index.py: fixed problem parsing xhtml docs + * doc/xmlreader.html,doc/guidelines.html: small modification + to avoid problem in python parsing. + * doc/search.php: fixed upper case filename problem for XSLT docs + +Mon Sep 1 22:55:09 CEST 2003 Daniel Veillard + + * xinclude.c: patch from Mark Vakoc that allows compiling + with XInclude but without XPointer support. + +Mon Sep 1 22:31:38 CEST 2003 Daniel Veillard + + * configure.in xml2-config.in: Applied a patch from Kevin P. Fleming + to add --libtool-libs option to xml2-config script. + +Sun Aug 31 21:52:12 PDT 2003 William Brack + + * doc/README.docs, doc/Makefile.am: new file added, + giving some description of the documentation generation process + * doc/search.php: fixed problem with upper case on filenames + +Fri Aug 29 12:25:01 CEST 2003 Igor Zlatkovic + + * win32/Makefile.bcb: updates by Eric Zurcher + +Thu Aug 28 22:58:38 PDT 2003 William Brack + + * doc/apibuild.py, doc/libxml2-api.xml: enhanced code + to compensate for pollution from Igor's header taint + (quick before Daniel notices) + +Thu Aug 28 23:01:36 CEST 2003 Daniel Veillard + + * SAX2.c: fixed a namespace error on attribute reporting bug + pointed out by Tobias Reif + * test/p3p result/p3p result/noent/p3p: this test case was wrong + using xmlsn instead of xmlns... + +Thu Aug 28 18:25:07 CEST 2003 Igor Zlatkovic + + * include/libxml/globals.h include/libxml/xmlexports.h: fixed + typos reported by Mark Vakoc + +Thu Aug 28 08:59:51 MDT 2003 John Fleck + + add: + * doc/tutorial/api.html + * doc/tutorial/ar01s09.html + * doc/tutorial/includexpath.c + updated + * doc/tutorial/*.html + fix my bad - forgot to check in new files when I last + updated + +Thu Aug 28 14:31:13 CEST 2003 Igor Zlatkovic + + * win32/Makefile.bcb: new file, support for Borland C++ + * xmllint.c: fixed time inclusion for various compilers + +Thu Aug 28 12:32:59 CEST 2003 Igor Zlatkovic + + * parser.c parserInternals.c DOCBparser.c HTMLparser.c: added + few casts to shut the compiler warnings + +Thu Aug 28 12:23:51 CEST 2003 Igor Zlatkovic + + * win32/Makefile.* win32/configure.js: fixed for mingw + +Thu Aug 28 10:01:44 CEST 2003 Daniel Veillard + + * globals.c threads.c: fixing bug #120870 try to avoid problem + with uninitialized mutexes + +Wed Aug 27 16:12:41 CEST 2003 Daniel Veillard + + * relaxng.c: fixed an error reporting bug in Relax-NG when we end + up with multiple states, select the "best" one. Fix #120682 + * result/relaxng/tutor11_2_3.err: small change resulting + +Wed Aug 27 11:25:25 CEST 2003 Daniel Veillard + + * xmlschemastypes.c: applied base64 support patch from Anthony Carrico + +Wed Aug 27 10:58:51 CEST 2003 Igor Zlatkovic + + * include/libxml/[threads-xpointer].h: realigned parameters + after taint + +Wed Aug 27 09:59:54 CEST 2003 Igor Zlatkovic + + * include/libxml/xmlexports.h: fixed defs for Borland compiler, + as reported by Eric Zurcher + +Tue Aug 26 15:54:04 CEST 2003 Daniel Veillard + + * relaxng.c: fixed bug #120386 again a problem introduced when + trying to reuse automata for content validation. Fix a bug report + problem on zeroOrMore + * result/relaxng/tutor3_7_err: change slightly error reporting. + +Mon Aug 25 13:24:57 CEST 2003 Daniel Veillard + + * include/libxml/Makefile.am: make sure the new header will + be included when generating a new distribution. + +Mon Aug 25 12:37:05 CEST 2003 Daniel Veillard + + * relaxng.c: fixed a couple of stupid bugs in the state allocation + routines which led to bug #120040 and the ones reported by + Martijn Faassen + +Mon Aug 25 12:37:23 CEST 2003 Igor Zlatkovic + + * include/libxml/parserInternals.h include/libxml/relaxng.h + include/libxml/SAX.h include/libxml/SAX2.h: realigned the + parameters after taint. + +Mon Aug 25 11:16:01 CEST 2003 Igor Zlatkovic + + * include/libxml/xmlversion.h.in: moved export defs to a separate + file for consistency. + * include/libxml/xmlexports.h: new file, contains export defs. + +Mon Aug 25 11:01:49 CEST 2003 Igor Zlatkovic + + * include/libxml/*.h genUnicode.py: exportability taint + of the headers. + +Thu Aug 21 12:37:46 CEST 2003 Daniel Veillard + + * SAX.c: make the deprecated interfaces log an error message + to be sure it won't get used. + +Thu Aug 21 00:50:32 CEST 2003 Daniel Veillard + + * Makefile.am SAX2.c include/libxml/Makefile.am include/libxml/SAX2.h: + Adding new version of the SAX interface, it's not there yet, + currently just preparing the work + * globals.c parser.c SAX.c include/libxml/SAX.h + include/libxml/globals.h include/libxml/parser.h: doing some + refactoring of the SAXv1 interfaces, obsoleting a bunch of them + while keeping functionalities, preparing SAX2 integration. + * dict.c: small cleanup. + +Wed Aug 20 00:20:01 CEST 2003 Daniel Veillard + + * tree.c: fixes a small bug introduced in last commit and detected + by valgrind. + +Tue Aug 19 16:54:18 CEST 2003 Daniel Veillard + + * dict.c hash.c: optimization when freeing hash tables. + * parser.c xmlIO.c include/libxml/tree.h: some tuning of buffer + allocations + * parser.c parserInternals.c include/libxml/parser.h: keep a + single allocated block for all the attributes callbacks, + avoid useless malloc()/free() + * tree.c: do not realloc() when growing a buffer if the buffer + ain't full, malloc/memcpy/free avoid copying memory. + +Mon Aug 18 18:37:01 CEST 2003 Daniel Veillard + + * xmllint.c doc/xmllint.xml doc/xmllint.1: added option + --dtdvalidfpi for Tobias Reif + +Mon Aug 18 14:03:03 CEST 2003 Daniel Veillard + + * dict.c include/libxml/dict.h Makefile.am include/libxml/Makefile.am: + new dictionary module to keep a single instance of the names used + by the parser + * DOCBparser.c HTMLparser.c parser.c parserInternals.c valid.c: + switched all parsers to use the dictionary internally + * include/libxml/HTMLparser.h include/libxml/parser.h + include/libxml/parserInternals.h include/libxml/valid.h: + Some of the interfaces changed as a result to receive or return + "const xmlChar *" instead of "xmlChar *", this is either + insignificant from an user point of view or when the returning + value changed, those function are really parser internal methods + that no user code should really change + * doc/libxml2-api.xml doc/html/*: the API interface changed and + the docs were regenerated + +Sun Aug 17 23:05:38 CEST 2003 Daniel Veillard + + * parser.c: applied patch to xmlCleanupParser from Dave Beckett + +Sat Aug 16 22:53:42 HKT 2003 William Brack + + * doc/parsedecl.py, doc/libxml2-refs.xml, doc/API*.html: + fixed part (2) of bug 119535 (wrong alpha case on filenames) + +Sat Aug 16 20:35:28 HKT 2003 William Brack + + * doc/API*.html, doc/html/*: regenerated API documentation + for xmlsoft.org (part of Bug 119535) + +Fri Aug 15 14:58:37 HKT 2003 William Brack + + * encoding.c, threads.c, include/libxml/HTMLparser.h, + doc/libxml2-api.xml: Minor changes to comments, etc. for + improving documentation generation + * doc/Makefile.am: further adjustment to auto-generation of + win32/libxml2.def.src + +Fri Aug 15 02:24:20 CEST 2003 Daniel Veillard + + * News configure.in: preparing libxml2-2.5.10 release + * doc/* : updated the doc and rebuilt + +Fri Aug 15 01:55:53 CEST 2003 Daniel Veillard + + * parser.c: fixing the xmlSAXParseDTD bug #119536 raised by + Malcolm Tredinnick with the patch he suggested. + +Fri Aug 15 01:37:10 CEST 2003 Daniel Veillard + + * HTMLparser.c: allocation error #119784 raised by Oliver Stoeneberg + +Fri Aug 15 00:41:58 CEST 2003 Daniel Veillard + + * uri.c: fixing an use of strcpy() where both strings overlap + pointed out by valgrind. + +Thu Aug 14 17:10:39 CEST 2003 Daniel Veillard + + * DOCBparser.c globals.c include/libxml/xmlmemory.h: get rid of + some compilation warnings. + * xinclude.c: fix the performance problem reported by Kevin Ruscoe + plus some cleanup and better error reporting. + +Thu Aug 14 14:13:43 CEST 2003 Daniel Veillard + + * encoding.c: applied UTF-16 encoding handling patch provided by + Mark Itzcovitz + * encoding.c parser.c: more cleanup and fixes for UTF-16 when + not having iconv support. + +Thu Aug 14 03:19:08 CEST 2003 Daniel Veillard + + * Makefile.am configure.in example/Makefile.am libxml.h nanoftp.c + nanohttp.c xmllint.c: Applied patch from Mikhail Grushinskiy for + mingw compiler on Windows. + +Thu Aug 14 02:28:36 CEST 2003 Daniel Veillard + + * parser.c: fixed the serious CPU usage problem reported by + Grant Goodale + * HTMLparser.c: applied patch from Oliver Stoeneberg about a free + missing in htmlSAXParseDoc + +Tue Aug 12 22:48:10 HKT 2003 William Brack + + * doc/Makefile.am: Removed dependency from libxml2.def.src + +Tue Aug 12 18:55:08 HKT 2003 William Brack + + * autogen.sh: took away the requirement for automake-1.4, + changed the messages for getting auto* tools to current + gnu pages. + * configure.in: added check for Linux Dec alpha requiring + -ieee flag, fixed test for ipv6 + * trionan.c: fixed problem for compiling on Linux Dec alpha + using native compiler + * doc/Makefile.am: implemented regeneration of win32/libxml2.def.src + whenever libxml2-api.xml is changed. + +Mon Aug 11 17:02:23 CEST 2003 Daniel Veillard + + * parser.c: cleaning up a problem when parsing UTF-16 and libiconv + is not used. + +Sun Aug 10 08:13:22 HKT 2003 William Brack + + * win32/libxml2.def.src: renerated with fixed libxml2-api.xml + +Sun Aug 10 00:22:55 CEST 2003 Daniel Veillard + + * News configure.in: preparing libxml2-2.5.9 release + * doc/* : updated the doc and rebuilt + +Sat Aug 9 20:00:13 CEST 2003 Daniel Veillard + + * include/libxml/xmlreader.h doc/libxml2-api.xml: changing an enum + definition to get a correct API XML description. This was apparently + breaking Windows build. + +Sat Aug 9 13:41:21 CEST 2003 Daniel Veillard + + * HTMLparser.c: fixed a nasty bug #119387, bad heuristic from + the progressive HTML parser front-end on large character data + island leading to an erroneous end of data detection by the + parser. Some cleanup too to get closer from the XML progressive + parser. + +Sat Aug 9 00:42:47 HKT 2003 William Brack + + * win32/configure.js: Added in support for the ISO8859X + module (patch provided by Jesse Pelton) + +Fri Aug 8 15:56:32 CEST 2003 Daniel Veillard + + * HTMLtree.c tree.c threads.c: hum try to avoid some troubles + when the library is not initialized and one try to save, the + locks in threaded env might not been initialized, playing safe + * xmlschemastypes.c: apply patch for hexBinary from Charles Bozeman + * test/schemas/hexbinary_* result/schemas/hexbinary_*: also added + his tests to the regression suite. + +Fri Aug 8 18:47:38 HKT 2003 William Brack + + * win32/defgen.xsl, win32/libxml2.def.src: Bug 119343 + (with apologies to Igor) - Enhanced handling of docb and + nanohttp. + +Thu Aug 7 21:13:22 HKT 2003 William Brack + + * encoding.c: further small changes for warnings when + configured with --with-iconv=no + +Wed Aug 6 12:32:11 HKT 2003 William Brack + + * error.c trionan.[ch] testThreads.c python/generator.py: + further small changes to elminate most of the remaining + warnings. + +Tue Aug 5 23:51:21 HKT 2003 William Brack + + * error.c HTMLparser.c testC14N.c testHTML.c testURI.c + xmlcatalog.c xmlmemory.c xmlreader.c xmlschemastypes.c + python/libxml.c include/libxml/xmlmemory.h: small changes + to syntax to get rid of compiler warnings. No changes + to logic. + +Mon Aug 4 22:40:54 CEST 2003 Daniel Veillard + + * doc/libxml2-api.xml doc/html/*: rebuilt the API and docs. + +Mon Aug 4 21:40:34 CEST 2003 Daniel Veillard + + * tree.c: fixed a small problem in the patch for #118763 + * result/HTML/doc3.htm*: this reverts back to the previous result + +Sun Aug 3 21:41:49 EDT 2003 Daniel Veillard + + * doc/FAQ.html doc/xml.html: applied doc patch to xml.html + and rebuilt, apparently some C++ wrappers are not available, + c.f. bug #118943 + +Sun Aug 3 21:30:31 EDT 2003 Daniel Veillard + + * tree.c: fixing HTML attribute serialization bug #118763 + applying a modified version of the patch from Bacek + * result/HTML/doc3.htm*: this modifies the output from one test + +Sun Aug 3 21:02:30 EDT 2003 Daniel Veillard + + * tree.c include/libxml/tree.h: added a new API to split a + QName without generating any memory allocation + * valid.c: fixed another problem with namespaces on element + in mixed content case + * python/tests/reader2.py: updated the testcase with + Bjorn Reese fix to reader for unsignificant white space + * parser.c HTMLparser.c: cleanup. + +Sun Aug 3 20:55:40 EDT 2003 Daniel Veillard + + * catalog.c: trying to fix #118754 of possible recursion in the + catalogs. Not fantastically happy about the current fix since + it's likely to break under very thread intensive concurrent + access to the catalog. Better solution might to keep the depth + an extra argument to the resolution functions. + +Sun Aug 3 18:56:54 EDT 2003 Daniel Veillard + + * valid.c: fixed bug #118712 about mixed content, and namespaced + element names. + * test/valid/mixed_ns.xml result/valid/mixed_ns*: added a check + in the regression tests + +Fri Aug 1 23:55:23 HKT 2003 William Brack + + Coninuing work on bug 118559 + * DOCBparser.c: removed 2 unsed vars + * xmlregexp.c: changed some numeric const to their enum symbols + * xmlreader.c: changed one var define from int to enum + (a little more to be done, awaiting co-ordination) + * relaxng.c: deleted one unused var + * xmllint.c: deleted some unused vars, changed one arg + val from int to enum + * testHTML.c, testDocbook.c: changed some arg vals to enum const + * xmlIO.c: fixed typo from last night (small warning msg) + +Thu Jul 31 22:44:33 HKT 2003 William Brack + + Working on bug 118559 + * error.c: deleted unused variable + * parserInternals.c: deleted unneeded 'const' qualifier + * parser.c: changed variable type for enum temp storage + * xmlIO.c: changed debugging var to be inside #ifdef + * valid.c: removed unused variable + * HTMLparser.c: removed some unneeded 'const' qualifiers + * xpath.c: added some type casts, removed some unused vars + * xinclude.c: added one type cast + * nanohttp.c: repositioned some #ifdef to avoid unused var + * nanoftp.c: removed unused var + +Wed Jul 30 14:57:55 EDT 2003 Daniel Veillard + + * HTMLparser.c: applied a patch from William Brack about + the problem of parsing very large HTML instance with comments + as raised by Nick Kew + +Wed Jul 30 12:29:38 EDT 2003 Daniel Veillard + + * xmlreader.c include/libxml/xmlreader.h: applying cleanup + patch from Bjorn Reese for xmlTextReaderNodeType() and + significant whitespace. There is an enum for node type + values now. + +Wed Jul 30 11:08:21 EDT 2003 Daniel Veillard + + * encoding.c: applying patch from Peter Jacobi to added + ISO-8859-x encoding support when iconv is not available + * configure.in include/libxml/xmlversion.h.in + include/libxml/xmlwin32version.h.in: added the glue needed + at the configure level and made it the default for Windows + +Tue Jul 29 16:43:48 EDT 2003 Daniel Veillard + + * python/generator.py python/libxml.c python/libxml2class.txt: + patch from Joachim Bauch + cleanup for Relax NG error callbacks + in python + +Tue Jul 29 12:46:08 EDT 2003 Daniel Veillard + + * parser.c parserInternals.c tree.c: applied Peter Jacobi encoding + cleanup patch, and also avoided a possible memory leak + +Tue Jul 29 09:28:09 EDT 2003 Daniel Veillard + + * encoding.c: fix the previous commit + +Tue Jul 29 12:28:17 HKT 2003 William Brack + + * HTMLparser.c: fixed problem with comments reported by Nick Kew + * encoding.c: added routines xmlUTF8Size and xmlUTF8Charcmp for + some future cleanup of UTF8 handling + +Mon Jul 28 16:39:14 EDT 2003 Daniel Veillard + + * xpath.c: applied a change suggested by Sean Griffin in bug + #118494 about a memory leak in EXSLT + +Sun Jul 27 14:30:56 EDT 2003 Daniel Veillard + + * relaxng.c: fixed a Relax-NG compilation/streaming bug introduced + when fixing the previous Relax-NG bugs + * result/relaxng/*: This slightly changes the output messages of + some regression tests. + * configure.in: added support of -with-fexceptions for nested C++ + support. + +Thu Jul 24 15:46:02 MDT 2003 John Fleck + + * doc/tutorial/apa.html + * doc/tutorial/apb.html + * doc/tutorial/apc.html + * doc/tutorial/apd.html + * doc/tutorial/ape.html + * doc/tutorial/apf.html + * doc/tutorial/apg.html + * doc/tutorial/aph.html + * doc/tutorial/ar01s02.html + * doc/tutorial/ar01s03.html + * doc/tutorial/ar01s04.html + * doc/tutorial/ar01s05.html + * doc/tutorial/ar01s06.html + * doc/tutorial/ar01s07.html + * doc/tutorial/ar01s08.html + * doc/tutorial/index.html + * doc/tutorial/ix01.html + * doc/tutorial/xmltutorial.pdf + * doc/tutorial/xmltutorial.xml + update tutorial with XPath example + +Thu Jul 24 17:07:06 IST 2003 Daniel Veillard + + * SAX.c parser.c: fixing a bug about a special case of namespace + handling, this closes bug #116841 + +Wed Jul 23 20:52:36 IST 2003 Daniel Veillard + + * relaxng.c result/relaxng/*: checked and fixed the compilation + of RNG schemas, fixes a couple of bugs #117097 and #117001 . + This slightly changes the output messages of some regression tests. + +Wed Jul 23 15:15:08 IST 2003 Daniel Veillard + + * xmlreader.c: fixed an out of bound error #118052 , the good + part if that base64 code was not in use yet ... + +Tue Jul 22 19:42:15 MDT 2003 John Fleck + + * doc/xmllint.html + include html version of the xmllint man page, so an + up-to-date version is visible on the Web + +Mon Jul 21 21:53:43 IST 2003 Daniel Veillard + + * xinclude.c include/libxml/xinclude.h: added a new API + xmlXIncludeProcessTree() to process XInclude only on a subtree + this should fix bug #115385 + +Fri Jul 18 17:11:42 CEST 2003 Daniel Veillard + + * relaxng.c include/libxml/relaxng.h: adding Get interface for + the error callback and parameters of parsing and validation + contexts + * xmlreader.c: patch to fix bug #117702 about incomplete Read() + on text nodes. + +Wed Jul 16 23:15:53 CEST 2003 Daniel Veillard + + * parserInternals.c: patch from Dodji Seketeli about UTF16 BOM + when using the push XML parser. + * result/utf16bom.xml result/noent/utf16bom.xml test/utf16bom.xml: + added the test to the regression suite. + +Tue Jul 15 22:03:13 CEST 2003 Daniel Veillard + + * globals.c: add xmlThrDefMutex = NULL in xmlCleanupGlobals() + as suggested by Rob Richards + +Tue Jul 15 15:30:55 CEST 2003 Daniel Veillard + + * DOCBparser.c HTMLparser.c entities.c parser.c relaxng.c + xmlschemas.c xpath.c: removed some warnings by casting xmlChar + to unsigned int and a couple of others. + +Fri Jul 11 16:44:22 CEST 2003 Daniel Veillard + + * xmlschemastypes.c: fixes a segfault on empty hexBinary strings + +Thu Jul 10 16:02:47 CEST 2003 Daniel Veillard + + * nanoftp.c nanohttp.c: cleanup patches from Peter Breitenlohner + +Tue Jul 8 16:02:19 CEST 2003 Daniel Veillard + + * globals.c threads.c: fixes some problem when freeing unititialized + mutexes + +Tue Jul 8 14:15:07 CEST 2003 Daniel Veillard + + * nanoftp.c nanohttp.c: the modules should not import + directly, some cleanups + * xmlschemas.c: Peter Sobisch found a nasty bug in the Schemas + validation code. + +Mon Jul 7 18:00:51 CEST 2003 Daniel Veillard + + * win32/configure.js: Jesse Pelton pointed out a problem in the + javascript code. + +Mon Jul 7 16:39:31 CEST 2003 Daniel Veillard + + * NEWS doc/*: regenerated + * nanoftp.c nanohttp.c: might fix includes problems with the + Ipv6 support on solaris + * tree.c: patch from Markus Keim about xmlHasNsProp() on attributes + defined as #IMPLIED + +Sun Jul 6 23:09:13 CEST 2003 Daniel Veillard + + * configure.in doc/*: preparing release 2.5.8 + * nanohttp.c: changed some preprocessor block + * xmlschemastypes.c: applied patch from Charles Bozeman adding + hexBinary schema datatype and adding support for totalDigits and + fractionDigits facets. + +Sun Jul 6 19:56:18 CEST 2003 Daniel Veillard + + * debugXML.c xpath.c: fixed 2 bugs pointed in #116448 + +Sun Jul 6 19:34:17 CEST 2003 Daniel Veillard + + * xinclude.c: fixed bug #116095 removing the error message when + reapplying XInclude to a document. + +Sat Jul 5 22:40:23 CEST 2003 Daniel Veillard + + * xmlIO.c: applied small changes to portability layer for + compilation on DJGPP Ms-DOS compiler. + +Sat Jul 5 22:30:25 CEST 2003 Daniel Veillard + + * parser.c HTMLparser.c: use the character() SAX callback + if the cdataBlock ain't defined. + * xpath.c: fix bug #115349 allowing compilation when configured + with --without-xpath since the Schemas code needs NAN and co. + +Sat Jul 5 00:51:30 HKT 2003 William Brack + + Fixed problem with multi-threading, shown by the test program + testThreads. After fix, ran mutiple tests on various speed + machines (single and dual processor X86), which all seem okay. + + * catalog.c: added missing xmlRMutexUnlock in xmlLoadCatalog + + * threads.c: added missing initialisation for condition variable + in xmlNewRMutex. + +Sat Jun 21 16:10:24 CEST 2003 Daniel Veillard + + Applying IPv6 patch from Archana Shah + closing bug #114837 + + * configure.in: Added checks for IPv6 support and getaddrinfo(). + + * acconfig.h: Defined HAVE_GETADDRINFO and SUPPORT_IP6. + + * config.h.in: Defined HAVE_GETADDRINFO and SUPPORT_IP6. + + * nanoftp.c: Structure xmlNanoFTPCtxt contains either sockaddr_storage + field or sockaddr_in field, depending upon the availability of IPv6 + support. + have_ipv6(): Added to check for run-time IPv6 support. + (xmlNanoFTPScanURL), (xmlNanoFTPUpdateURL), (xmlNanoFTPScanProxy): + Modified to parse a URI with IPv6 address given in []. + (xmlNanoFTPConnect): Changed to use getaddrinfo for address + resolution, if it is available on the system, as gethostbyname + does not return IPv6 addresses on some platforms. + (xmlNanoFTPGetConnection): Modified type of dataAddr variable to + sockaddr_storage or sockaddr_in depending upon the IPv6 support. + Sending EPSV, EPRT or PASV, PORT depending upon the type of address + we are dealing with. + + * nanohttp.c: (have_ipv6): Added to check for run-time IPv6 support. + (xmlNanoHTTPScanURL), (xmlNanoHTTPScanProxy): Modified to parse + a URI with IPv6 address given in []. + (xmlNanoHTTPConnectHost): Modified to use getaddrinfo if it is + available on the system. Also IPv6 addresses will be resolved by + gethostbyname only if IPv6 run-time support is available. + (xmlNanoHTTPConnectAttempt): Modified to deal with IPv6 address. + +Sat Jun 14 18:46:51 CEST 2003 Igor Zlatkovic + + * win32/configure.js include/win32config.h + include/libxml/xmlversion.h.in: Applied the patch for BCB + by Eric Zurcher. + +Fri Jun 13 14:27:19 CEST 2003 Daniel Veillard + + * doc/Makefile.am doc/html/*: reverted back patch for #113521, + due to #115104 and while fixing #115101 . HTML URLs must not + be version dependent. + +Fri Jun 13 12:03:30 CEST 2003 Daniel Veillard + + * entities.c: do not generate " for " outside of attributes + * result//*: this changes the output of some tests + +Mon Jun 9 12:28:58 CEST 2003 Daniel Veillard + + * parser.c xmlIO.c: trying to fix #114277 about when file + remapping and escaping should really be attempted. + +Mon Jun 9 11:06:09 CEST 2003 Daniel Veillard + + * doc/*: applied a patch from Gman for building docs + * valid.c xmllint.c include/libxml/valid.h: applied a patch from + Gary Pennington to provide an allocator for xmlValidCtxt + * xmlreader.c: applied patch from Jacek Konieczny fixing bug + #113580 about data not being passed immediately. + +Thu Jun 5 11:31:02 CEST 2003 Daniel Veillard + + * tree.c: applied a couple of patches from Mark Itzcovitz + to handle saving back "UTF-16" documents. + +Mon Jun 2 21:56:15 MVT 2003 Daniel Veillard + + * relaxng.c xmlschemas.c include/libxml/schemasInternals.h: commiting + some work done while in the Maldives (hence the timezone on the + laptop !) + * result/schemas/length3* test/schemas/deter0_* + test/schemas/group0_*: some tests added too + +Mon Jun 2 15:34:17 CEST 2003 Daniel Veillard + + * encoding.c: small fix + * xmlIO.c: fixed an error message + +Tue May 20 14:21:23 CEST 2003 Daniel Veillard + + * parserInternals.c: fixing Red Hat bug #91013 where xmllint was + accepting an improper UTF8 sequence + +Sat May 17 12:53:11 CEST 2003 Igor Zlatkovic + + * threads.c: applied the patch from Stéphane Bidoul for getting + rid of extra threads in a dynamic library. + * win32/configure.js: threads default to 'native' now. + +Fri May 16 13:17:52 EDT 2003 Daniel Veillard + + * HTMLtree.c: fixing bug #112904: html output method escaped + plus sign character in URI attribute. + +Thu May 15 18:06:18 EDT 2003 Daniel Veillard + + * build_glob.py global.data globals.c parser.c + include/libxml/globals.h: patch from Stéphane Bidoul for setting + up threads global defaults. + * doc/libxml2-api.xml: this extends the API with new functions + * python/tests/Makefile.am python/tests/reader2.py + python/tests/thread2.py: integrated the associated testcase and + fixed the error string used in reader2 + +Wed May 14 14:56:46 EDT 2003 Daniel Veillard + + * configure.in libxml.spec.in python/Makefile.am: trying + to conciliate --with-python= requirements and RPM builds, + a PITA really... + +Tue May 13 18:30:34 EDT 2003 Daniel Veillard + + * HTMLparser.c: oops last commit introduced a memory leak. + +Tue May 13 18:10:38 EDT 2003 Daniel Veillard + + * xmllint.c doc/xmllint.xml: added --nonet option + * doc/Makefile.am: fixing #112803 by adding --nonet when calling + xsltproc or xmllint + * doc/xmllint.xml doc/xmllint.1: also added --schema doc and + rebuilt + * HTMLparser.c: cleaned up the HTML parser context build when + using an URL + +Tue May 13 16:35:04 EDT 2003 Daniel Veillard + + * libxml.spec.in: added a comment about bug #112902 + +Mon May 12 21:58:00 EDT 2003 William Brack + + * minor cleanup of configure '--help' display + * error.c: enhanced xmlParserPrintFileContext to fix bug #109942 + +Mon May 12 17:53:30 EDT 2003 Daniel Veillard + + * tree.c: PI nodes in external subset were not freed :-\ + fixes bug #112842 + +Mon May 12 11:23:27 EDT 2003 Daniel Veillard + + * xmllint.c: added --schema option to run WXS schema validation + * xmlschemas.c xmlschemastypes.c include/libxml/schemasInternals.h: + tried to improve error reporting in the Schema code, some cleanup + too. + +Sun May 11 16:13:20 EDT 2003 Daniel Veillard + + * xmlschemas.c: fixed some problems in the handling of errors, + and attributes addressed by references. + * test/schemas/* result/schemas/*: dropped the verbosity level + and added a couple of new tests + +Sat May 10 16:01:21 EDT 2003 Daniel Veillard + + * relaxng.c: Stéphane Bidoul found an off by one addressing + error on the error handling. + +Fri May 9 19:08:20 EDT 2003 Daniel Veillard + + * xmlschemastypes.c: trying to fix #112673 + +Fri May 9 18:14:16 EDT 2003 Daniel Veillard + + * DOCBparser.c catalog.c parser.c relaxng.c: removed multiple + warning, this fixed a bug and should close #111574 + +Fri May 9 15:34:32 EDT 2003 Daniel Veillard + + * xmlschemas.c: fixing bug #104081 with xs:all with an element + holding minOccurs="0" + * test/schemas/all_* result/schemas/all_*: added some regression + tests for that bug + * xmllint.c xmlreader.c: patches from Joerg Schmitz-Linneweber and + Garry Pennington to compile without schemas support. + +Thu May 1 10:02:35 CEST 2003 Daniel Veillard + + * tree.c: fixed a problem with xmlUnlinkNode() for DTDs. + +Wed Apr 30 14:16:08 CEST 2003 Daniel Veillard + + * xml2-config.in: try to fix Red hat bug #89957, do not + output -L/usr/lib64 + * xmlreader.c: fixed a typo in a comment + +Tue Apr 29 07:32:02 MDT 2003 John Fleck + + * doc/tutorial/aph.html, ix01.html + forgot to cvs add the new files. Thanks to Roland van Laar + for pointing this out + +Tue Apr 29 14:36:49 CEST 2003 Daniel Veillard + + * xmlschemas.c doc/libxml2-api.xml: fixing a function comment + * doc/Makefile.am doc/apibuild.py doc/gnome-xml.sgml: switching + to the XML/XSLT doc generation closing #111799 + * doc/html/*: complete update of the HTML results + +Mon Apr 28 14:51:41 CEST 2003 Igor Zlatkovic + + * win32/defgen.xsl: fixed the conditional for unicode map, + removed hardcoded schema entries + +Mon Apr 28 02:19:00 CEST 2003 Igor Zlatkovic + + * win32/defgen.xsl: new file, stylesheet for generating + win32/libxml2.def.src from doc/libxml2-api.xml + * win32/libxml2.def.src: is autogenerated from now on, changes + to this file will not appear here anymore + +Mon Apr 28 00:12:11 CEST 2003 Daniel Veillard + + * win32/configure.js python/setup.py.in: applied patch + from Stéphane Bidoul for the Python bindings on the new + release. + +Sun Apr 27 17:56:21 CEST 2003 Igor Zlatkovic + + * debugXML.c: included libxml/uri.h for xmlCanonicPath + declaration + * win32/configure.js: thread-enabled build is now default + * win32/libxml2.def.src: added more exports + +Sun Apr 27 00:23:05 CEST 2003 Daniel Veillard + + * NEWS doc/*.xsl doc/*.html: updated the web site separated + developers from common pages, made the transition to XHTML1, + added validity checking to the makefile rules. + +Sat Apr 26 23:17:51 CEST 2003 Daniel Veillard + + * parser.c: fix for xmlIOParseDTD same as previous and reported + by Petr Pajas + +Sat Apr 26 15:26:04 CEST 2003 Daniel Veillard + + * parser.c: applied fix to xmlSAXParseDTD from Malcolm Tredinnick + closing #111638 + +Sat Apr 26 14:00:58 CEST 2003 Daniel Veillard + + * python/generator.py: fixed a problem in the generator where + the way functions are remapped as methods on classes was + not symmetric and dependent on python internal hash order, + as reported by Stéphane Bidoul + +Fri Apr 25 21:52:33 MDT 2003 John Fleck + + * doc/tutorial: + xmltutorial.xml + xmltutorial.pdf + *.html + add appendix on generating compiler flags, more indexing + +Sat Apr 26 01:10:48 CEST 2003 Daniel Veillard + + * triodef.h vms/build_libxml.com: applied patch from Craig A. Berry + to get libxml-2.5.7 to compile on OpenVMS + +Fri Apr 25 18:42:35 CEST 2003 Daniel Veillard + + * parser.c: fixing an xmlParseDTD bug raised by Petr Pajas + +Fri Apr 25 15:20:29 CEST 2003 Daniel Veillard + + * doc/Makefile.am doc/xmlcatalog.1 doc/xmlcatalog_man.xml + doc/xmllint.1 doc/xmllint.xml: automated the generation of the + man page based on xsltproc and a stylesheet PI in the XML. + +Fri Apr 25 12:37:33 CEST 2003 Daniel Veillard + + * doc/xmllint.*: trying to fix #110541 where   generated + character preventing rendering by the man command. + +Fri Apr 25 01:09:23 CEST 2003 Daniel Veillard + + * NEWS configure.in: preparing release 2.5.7 + * doc/*: updated and rebuilt the docs + * doc/apibuild.py: fixed the script + +Thu Apr 24 19:11:12 CEST 2003 Daniel Veillard + + * Makefile.am doc/apibuild.py: make sure the OOM code don't + get in the way of the builds + * doc/libxml2-api.xml python/libxml2class.txt: automatic update + +Thu Apr 24 18:01:46 CEST 2003 Daniel Veillard + + * Makefile.am testOOM.c testOOMlib.[ch] : integrated the Out Of + Memory test from Havoc Pennington #109368 + * SAX.c parser.c parserInternals.c tree.c uri.c valid.c + xmlmemory.c xmlreader.c xmlregexp.c include/libxml/tree.h + include/libxml/parser.h: a lot of memory allocation cleanups + based on the results of the OOM testing + * check-relaxng-test-suite2.py: seems I forgot to commit the + script. + +Wed Apr 23 17:16:41 CEST 2003 Daniel Veillard + + * xmlschemastypes.c: trivial fix for 109774 removing a warning + +Wed Apr 23 15:49:32 CEST 2003 Daniel Veillard + + * DOCBparser.c SAX.c catalog.c debugXML.c parser.c: try to find + more places where xmlCanonicPath() must be used to convert + filenames to URLs, trying to fix #111088 + +Wed Apr 23 09:35:12 CEST 2003 Daniel Veillard + + * python/libxml.c python/libxml.py: applied patch from + Brent M Hendricks adding binding for xmlCatalogAddLocal + +Tue Apr 22 15:18:01 CEST 2003 Daniel Veillard + + * HTMLparser.c: tried to fix #98879 again in a more solid + way. + +Tue Apr 22 13:58:43 CEST 2003 Igor Zlatkovic + + * win32/libxml2.def.src: added more exports from the relaxng and + xmlreader clan + +Tue Apr 22 10:35:13 CEST 2003 Daniel Veillard + + * SAX.c test/valid/ns* test/result/ns*: applied the patch + provided by Brent Hendricks fixing #105992 and integrated the + examples in the testsuite. + +Tue Apr 22 01:06:09 CEST 2003 Daniel Veillard + + * TODO: updated a bit + * configure.in: fixed the comment, threads now default to on + * parserInternals.c: fixed an erroneous xmlMallocAtomic() call + +Mon Apr 21 23:33:38 CEST 2003 Daniel Veillard + + * globals.c libxml.h parser.c parserInternals.c tree.c xmllint.c + xmlreader.c include/libxml/parser.h: a lot of performance work + especially the speed of streaming through the reader and push + interface. Some thread related optimizations. Nearly doubled the + speed of parsing through the reader. + +Sun Apr 20 10:36:05 MDT 2003 John Fleck + + * doc/xmllint.xml + * doc/xmllint.1 + update man page to explain use of --stream + +Sat Apr 19 02:03:24 CEST 2003 Daniel Veillard + + * DOCBparser.c HTMLparser.c c14n.c catalog.c encoding.c globals.c + nanohttp.c parser.c parserInternals.c relaxng.c tree.c uri.c + xmlmemory.c xmlreader.c xmlregexp.c xpath.c xpointer.c + include/libxml/globals.h include/libxml/xmlmemory.h: added + xmlMallocAtomic() to be used when allocating blocks which + do not contains pointers, add xmlGcMemSetup() and xmlGcMemGet() + to allow registering the full set of functions needed by + a garbage collecting allocator like libgc, ref #109944 + +Fri Apr 18 16:37:41 CEST 2003 Daniel Veillard + + * configure.in: switched to have thread support enabled by default, + didn't got troubles with ABI compatibility on Linux, hope it + won't break on strange OSes, if yes, report the system ID + * doc/libxml2-api.xml: just rebuilt the API + +Fri Apr 18 14:31:15 CEST 2003 Daniel Veillard + + * libxml.h include/libxml/parser.h parser.c xmlIO.c DOCBparser.c: + added support for large file, tested with a 3+GB instance, + and some cleanup. + * catalog.c: added a TODO + * Makefile.am: added some "make tests" comments + +Thu Apr 17 14:51:57 CEST 2003 Daniel Veillard + + * relaxng.c: some cleanups + * doc/xmlreader.html: extended the document to cover RelaxNG and + tree operations + * python/tests/Makefile.am python/tests/reader[46].py: added some + xmlReader example/regression tests + * result/relaxng/tutor*.err: updated the output of a number of tests + +Thu Apr 17 11:35:37 CEST 2003 Daniel Veillard + + * relaxng.c: valgrind pointed out an uninitialized variable error. + +Thu Apr 17 11:06:28 CEST 2003 Daniel Veillard + + * include/libxml/relaxng.h relaxng.c include/libxml/xmlreader.h + xmlreader.c: augnemting the APIs, cleanups. + * parser.c: cleanup bug #111005 + * xmlIO.c: added some missing comments + +Wed Apr 16 17:46:50 CEST 2003 Daniel Veillard + + * relaxng.c xmllint.c: more work on RelaxNG streaming validation + trying to improve the subset compiled, and more testing. + * doc/downloads.html doc/xml.html doc/xmlmem.html: some updates on the + documentation + * test/relaxng/tutor11_1_3.xml: fixes the DTD path + * result/relaxng/*.err: fix some of the outputs + +Wed Apr 16 01:28:15 CEST 2003 Daniel Veillard + + * relaxng.c xmlreader.c xmllint.c include/libxml/relaxng.h + include/libxml/xmlreader.h: implemented streaming of + RelaxNG (when possible) on top of the xmlReader interface, + provided it as xmllint --stream --relaxng .rng .xml + This seems to mostly work. + * Makefile.am: updated to test RelaxNG streaming + +Mon Apr 14 18:08:33 CEST 2003 Daniel Veillard + + * relaxng.c include/libxml/relaxng.h: integrated the regexp + based validity checking of fragments of the document for + which the RNG can be compiled to regexps. Works on all regression + tests, only fix needed is related to error messages. + +Sun Apr 13 21:51:00 CEST 2003 Daniel Veillard + + * relaxng.c xmlregexp.c include/libxml/xmlautomata.h + include/libxml/xmlregexp.h: Starting work precompiling + parts of RelaxNG schemas. Not plugged onto validity checking + yet, just the regexp building part. Needed to extend some + of the automata and regexp APIs. + +Fri Apr 11 21:36:21 CEST 2003 Daniel Veillard + + * xmllint.c xmlreader.c include/libxml/xmlreader.h: make sure + xmllint --stream and xmllint --stream --valid returns errors + code appropriately + +Fri Apr 11 10:59:24 CEST 2003 Daniel Veillard + + * xmlreader.c include/libxml/xmlreader.h: Added the Expand() + and Next() operation to work on subtrees within the reader + framework. + * doc/libxml2-api.xml python/libxml2class.txt: resulting updates + * python/tests/reader5.py: added an example for those new + functions of the reader. + +Thu Apr 10 23:38:13 CEST 2003 Daniel Veillard + + * HTMLtree.c: patch from Vasily Tchekalkin to fix #109865 + +Thu Apr 10 15:32:44 CEST 2003 Daniel Veillard + + * xmlreader.c: fixing HasValue for namespace as raised by + Denys Duchier + +Wed Apr 9 14:07:18 CEST 2003 Daniel Veillard + + * HTMLparser.c include/libxml/HTMLparser.h: exported + htmlCreateMemoryParserCtxt() it was static + +Wed Apr 9 13:21:48 CEST 2003 Daniel Veillard + + * xmlschemas.c xmlschemastypes.c include/libxml/xmlschemas.h: + update from Charles Bozeman for date and duration types + * test/schemas/date_0.* test/schemas/dur_0.* + result/schemas/date_0.* result/schemas/dur_0.*: updated too + +Mon Apr 7 12:19:26 CEST 2003 Daniel Veillard + + * tree.c valid.c xpath.c include/libxml/tree.h include/libxml/valid.h: + fixing bug #107129, removing excessive allocation and calls + to *printf in the code to build QName strings. + +Sat Apr 5 11:41:36 CEST 2003 Igoe Zlatkovic + + * win32/libxml2.def.src: fixed conditional exports, reported by + Luke Murray. + +Fri Apr 4 18:08:00 CEST 2003 Daniel Veillard + + * parser.c: fixed a possible problem with xmlRecoverMemory() + +Thu Apr 3 17:24:44 CEST 2003 Daniel Veillard + + * trio.c trio.h triodef.h trionan.c trionan.h triop.h triostr.c + triostr.h: Bjorn sent an update for the TRIO portability layer. + +Tue Apr 1 21:57:26 CEST 2003 Igor Zlatkovic + + * win32/libxml2.def.src: exported new functions + +Tue Apr 1 13:09:46 CEST 2003 Daniel Veillard + + * configure.in NEWS: preparing release 2.5.6 + * doc/*: updated and rebuilt the docs + +Tue Apr 1 11:52:15 CEST 2003 Daniel Veillard + + * SAX.c: fixed an uninitialized memory access pointed by valgrind + on C14Ntests + +Tue Apr 1 00:12:28 CEST 2003 Daniel Veillard + + * relaxng.c: one more fixup of error message reporting + +Mon Mar 31 18:36:32 CEST 2003 Daniel Veillard + + * relaxng.c: more work on bug #109225, and fixed an uninitialized + variable pointed out by valgrind + +Mon Mar 31 18:05:22 CEST 2003 Daniel Veillard + + * relaxng.c: try to work on bug #109225 and provide better + error reports. + * result/relaxng/* : this change the output of a number of tests + * xinclude.c: fixing the parsed entity redefinition problem + raised on the list. + * test/schemas/date_0.xsd: updated the date test c.f. E2-12 + +Mon Mar 31 13:19:04 CEST 2003 Daniel Veillard + + * xmlschemastypes.c: fixed date comparison to handle the tzo + The only failures left are disagreements on Notations and + '+1' not being allowed for ulong, uint, ushort and ubyte. + +Mon Mar 31 12:11:47 CEST 2003 Daniel Veillard + + * xmlschemastypes.c: fixed gMonth parsing routine accordingly + to the XML Schemas errata + http://www.w3.org/2001/05/xmlschema-errata#e2-12 + +Sun Mar 30 23:04:18 CEST 2003 Daniel Veillard + + * relaxng.c xmlschemastypes.c: more work on XML Schemas datatypes + and facets support. Currently only schemas with binHex or + base64 don't compile. A few error left in the test suite: + found 1035 test instances: 919 success 23 failures + most are gdate or gdateyear failing check, and a few cases where + James clark tests results are strange. + * valid.c: allow to reuse the Notation checking routine without + having a validation context. + * SAX.c: removed a #if 0 + +Sat Mar 29 17:35:05 CET 2003 Daniel Veillard + + * xinclude.c: forgot to apply one check from #106931 patch + * xmlschemastypes.c: more work on XML Schemas datatypes + +Sat Mar 29 11:49:25 CET 2003 Daniel Veillard + + * relaxng.c include/libxml/relaxng.h xmlschemastypes.c: more work + on cleaning up XML Schemas datatypes based on James Clark tests + test/xsdtest/xsdtest.xml + +Fri Mar 28 14:24:08 CET 2003 Daniel Veillard + + * relaxng.c: implemented comparisons for Schemas values. + * xmlschemastypes.c include/libxml/xmlschemastypes.h: fixed + some bugs in duration handling, comparisons for durations + and decimals, removed all memory leaks pointed out by James + testsuite. Current status is now + found 238 test schemas: 197 success 41 failures + found 1035 test instances: 803 success 130 failures + +Fri Mar 28 00:41:55 CET 2003 Daniel Veillard + + * xmlschemas.c include/libxml/xmlschemas.h: fixed bugs and memory + leaks in the W3C XML Schemas code + * xmlschemastypes.c: implemented nonPositiveInteger + * test/schemas/length2_0.xsd result/schemas/length2_0_0.err: + fixed the test and result. + +Thu Mar 27 22:23:07 CET 2003 Daniel Veillard + + * HTMLparser.c tree.c: two patches from James Bursa on the HTML + parser and a typo + * xmlschemastypes.c: reindenting, fixing a memory access + problem with dates. + +Thu Mar 27 15:53:35 CET 2003 Daniel Veillard + + * parser.c: fixing #109227 providing more context in case of + start/end tag mismatch + * python/tests/ctxterror.py python/tests/readererr.py: update the + tests accordingly + +Thu Mar 27 15:22:41 CET 2003 Daniel Veillard + + * xinclude.c: should fix #109327 errors on memory accesses + +Thu Mar 27 15:06:13 CET 2003 Daniel Veillard + + * HTMLtree.c: Fixed reopening of #78662

+ is an URI reference + +Wed Mar 26 22:38:39 CET 2003 Daniel Veillard + + * xpath.c: fixed bug #109160 on non-ASCII IDs + +Wed Mar 26 17:30:37 CET 2003 Daniel Veillard + + * parser.c: Norm suggested a nicer error message for xml:space values + errors + +Wed Mar 26 01:34:19 CET 2003 Daniel Veillard + + * xpath.c include/libxml/xpath.h: first part of the fix to + performance bug #108905, adds xmlXPathOrderDocElems() providing + document order for nodes. + * python/libxml.c: Python may require TRIO as Albert Chin pointed out + +Tue Mar 25 16:07:00 CET 2003 Daniel Veillard + + * xmlschemastypes.c: removing a warning with Sun compiler + bug #109154 + +Tue Mar 25 07:02:56 MST 2003 John Fleck + + * doc/xmllint.xml + * doc/xmllint.1 + update xmllint man page with --relaxng option + +Tue Mar 25 12:07:03 CET 2003 Daniel Veillard + + * python/setup.py.in : was missing "drv_libxml2.py" + +Mon Mar 24 19:38:05 CET 2003 Daniel Veillard + + * tree.c xpath.c: some changes related to the new way of + handling Result Value Tree, before 2.5.5 + +Mon Mar 24 16:36:23 CET 2003 Daniel Veillard + + * configure.in NEWS: preparing release 2.5.5 + * doc/* : updated the documentation and regenerated it. + +Mon Mar 24 14:56:01 CET 2003 Daniel Veillard + + * xpath.c: fixed some problems related to #75813 about handling + of Result Value Trees + +Sun Mar 23 22:57:20 CET 2003 Daniel Veillard + + * uri.c: applied a set of patches from Lorenzo Viali correcting + URI parsing errors. + +Sun Mar 23 22:00:14 CET 2003 Daniel Veillard + + * parser.c: validity status was not passed back when validating in + entities, but raised by Oliver Fischer + +Sun Mar 23 21:30:50 CET 2003 Daniel Veillard + + * HTMLtree.c: avoid escaping ',' in URIs + +Sun Mar 23 12:57:00 CET 2003 Daniel Veillard + + * parser.c: fixing bug #108976 get the ID/REFs to reference + the ID in the document content and not in the entity copy + * SAX.c include/libxml/parser.h: more checking of the ID/REF + stuff, better solution for #107208 + * xmlregexp.c: removed a direct printf, dohhh + * xmlreader.c: fixed a bug on streaming validation of empty + elements in entities + * result/VC/ElementValid8 test/VCM/v20.xml result/valid/xhtml1.xhtml: + cleanup of the validation tests + * test/valid/id* test/valid/dtds/destfoo.ent result/valid/id*: + added more ID/IDREF tests to the suite + +Sat Mar 22 23:38:08 CET 2003 Daniel Veillard + + * xmlreader.c: fixed #107043 removing 2 warnings with Sun One + compiler. + +Sat Mar 22 18:50:45 CET 2003 Daniel Veillard + + * relaxng.c: valgrind'ed and cleaned up a couple of memory issues. + +Sat Mar 22 16:15:50 CET 2003 Daniel Veillard + + * SAX.c: fix bug #107208 avoid false duplicates when ID/REFs are + defined in entities content + +Sat Mar 22 15:53:27 CET 2003 Daniel Veillard + + * SAX.c: Fixed validation bug #108858 on namespace names using + entities and reported by Brent Hendricks + * xmllint.c: report xmlTextReaderHasValue() result in --stream + --debug output. + +Sat Mar 22 13:32:39 CET 2003 Daniel Veillard + + * xmlreader.c: fixed bug #108801 reported by Malcolm Tredinnick + about the DocType node not being reported sometimes. + * python/tests/reader.py: added to test to the regression checks + +Sat Mar 22 01:57:40 CET 2003 Daniel Veillard + + * xmlreader.c: fixed bug #108546 on long CDATA (or text nodes) + reported by Edd Dumbill + +Sat Mar 23 01:00:24 CET 2003 Daniel Veillard + + * HTMLparser.c parser.c parserInternals.c: patch from + johan@evenhuis.nl for #107937 fixing some line counting + problems, and some other cleanups. + * result/HTML/: this result in some line number changes + +Fri Mar 21 22:19:14 CET 2003 Daniel Veillard + + * configure.in Makefile.am: fixed Red Hat bug #86118 use libxml2.spec + instead of libxml.spec + * relaxng.c: fixed some of the error reporting excessive + verbosity + * catalog.c debugXML.c valid.c xmlreader.c xmlschemas.c xpath.c + xmlschemastypes.c: removed some warnings from gcc + * doc/libxml2-api.xml: rebuilt + +Fri Mar 21 17:25:23 CET 2003 Daniel Veillard + + * relaxng.c: another optimization, for choice this time + * result/relaxng/spec1* result/relaxng/tutor12_1* + result/relaxng/tutor3_7: cleanups. + +Fri Mar 21 13:41:23 CET 2003 Daniel Veillard + + * relaxng.c: fixed xmlRelaxNGNodeMatchesList + * test/relaxng/testsuite.xml: augmented the test suite + * result/relaxng/spec1* result/relaxng/tutor12_1*: this fixes + some schemas validation tests in the presence of foreign + namespaces. + +Fri Mar 21 02:23:34 CET 2003 Daniel Veillard + + * relaxng.c: added another interleave speedup. + +Thu Mar 20 17:22:00 CET 2003 Daniel Veillard + + * xmlschemastypes.c: added integer and fixed one of the + IDREFS regression tests pbm + * result/relaxng/docbook_0.err: updated + +Wed Mar 19 21:58:47 CET 2003 Daniel Veillard + + * valid.c xmlschemastypes.c: attempt to cope with ID/IDREF(S) + declared both in the DTD and in the Schemas + * relaxng.c: more debug, added a big optimization for + * test/relaxng/testsuite.xml: augmented the testsuite + * test/relaxng/ result/relaxng: added the RelaxNG spec and a + DocBook example to the regression tests + +Wed Mar 19 11:34:10 CET 2003 Daniel Veillard + + * check-xsddata-test-suite.py: cosmetic change for output + * relaxng.c: try to minimize calls to malloc/free for states. + +Tue Mar 18 17:50:31 CET 2003 Daniel Veillard + + * tree.c: removed a warning + * xmlschemastypes.c: more cleanup, added ENTITY and ENTITIES + support + * check-relaxng-test-suite.py check-xsddata-test-suite.py: + cleanup/improvements of the regression tests batch + * test/relaxng/testsuite.xml: augmented libxml2 own testsuite + +Tue Mar 18 12:36:22 CET 2003 Daniel Veillard + + * relaxng.c: fixed error msg cleanup deallocation + * xmlschemastypes.c: added a function to handle lists of + atomic types, added support for IDREFS + +Tue Mar 18 01:28:15 CET 2003 Daniel Veillard + + * relaxng.c valid.c xmlschemastypes.c: added Datatype ID + and IDREF, usable from RelaxNG now + * include/libxml/xmlschemastypes.h: need to add a new interface + because the validation modifies the infoset + * test/relaxng/testsuite.xml: extended the testsuite + +Mon Mar 17 16:34:07 CET 2003 Daniel Veillard + + * relaxng.c: fixed the last core RelaxNG bug known #107083, + schemas datatype ID/IDREF support still missing though. + * xmlreader.c: fix a crashing bug with prefix raised by + Merijn Broeren + * test/relaxng/testsuite.xml: augmented the testsuite with + complex inheritance tests + +Sun Mar 16 18:45:50 CET 2003 Daniel Veillard + + * relaxng.c: switched back to the previous Relax-NG code base, + the derivation algorithm need severe constraining code to avoid + combinatorial explosion. Fixed the problem with Sebastian Rahtz + TEI based example and other bugs + * result/relaxng/*err: updated the results + * test/relaxng/testsuite.xml: started a new test suite + +Sat Mar 15 22:26:46 CET 2003 Daniel Veillard + + * relaxng.c include/libxml/relaxng.h: After coming to the conclusion + that the original RelaxNG validation code was un-fixeable, it got + rewritten to use the derivation algorithm from James Clark and + redebugged it (nearly) from scratch: + found 373 test schemas: 372 success 1 failures + found 529 test instances: 529 success 0 failures + +Tue Mar 11 12:08:23 CET 2003 Daniel Veillard + + * SAX.c parser.c: fix some recursion problems introduced in the + last release. + * relaxng.c: more debugging of the RNG validation engine, still + problems though. + +Mon Mar 10 14:10:47 CET 2003 Daniel Veillard + + * Makefile.am: stop generating wrong result file with * in name + * relaxng.c: fixing the include bug raised by Sebastian Rahtz + * result/relaxng/demo* test/relaxng/demo: added the tests from + Sebastian reproducing the problem. + +Sun Mar 9 18:02:31 MST 2003 John Fleck + + * doc/xmllint.1: regenerating man page from xmllint.xml to pick + up Aleksey's change + +Sun Mar 9 13:53:16 2003 Aleksey Sanin + + * xmllint.c doc/xmllint.xml: use $XMLLINT_INDENT environment + variable to control the indentation for the xmllint "--format" + option + +Sat Mar 8 14:27:43 CET 2003 Igor Zlatkovic + + * encoding.c: applied Gennady's patch against buffer overrun + +Fri Mar 7 19:29:40 CET 2003 Daniel Veillard + + * test/xsdtest/xsdtest.xml uri.c: after and exchange with James + Clark it appeared I had bug in URI parsing code ... + * relaxng.c include/libxml/relaxng.h: completely revamped error + reporting to not lose message from optional parts. + * xmllint.c: added timing for RNG validation steps + * result/relaxng/*: updated the result, all error messages changed + +Fri Mar 7 15:18:32 CET 2003 Daniel Veillard + + * xpath.c: fix bug #107804, the algorithm used for document order + computation was failing on attributes. + +Thu Mar 6 22:35:50 CET 2003 Daniel Veillard + + * valid.c: fix bug #107764 , possibility of buffer overflow + in xmlValidDebug() + +Wed Mar 5 17:41:37 CET 2003 Daniel Veillard + + * nanoftp.c include/libxml/nanoftp.h: adding xmlNanoFTPDele() + from Philipp Dunkel + +Wed Mar 5 10:57:09 CET 2003 Daniel Veillard + + * xmlschemastype.c: made powten array static it should not be exported + * HTMLparser.c: fix bug #107361 by reusing the code from the XML + parser function. + * testHTML.c: get rid of valgrind messages on the HTML SAX tests + +Fri Feb 28 00:23:00 CET 2003 Daniel Veillard + + * tree.c: fixed a node dump crash on attributes + * test/xsdtest/xsdtest.xml test/xsdtest/xsdtest.xsl: fixed + an URI test bug and get better output. + +Thu Feb 27 22:28:40 CET 2003 Daniel Veillard + + * check-xsddata-test-suite.py: give more infos + * relaxng.c: fix a bug reported by Sebastian Rahtz and + REF->DEF in attribute values. + +Thu Feb 27 21:09:32 CET 2003 Daniel Veillard + + * check-xsddata-test-suite.py test/xsdtest/xsdtest.xml + test/xsdtest/xsdtest.xsl: import of the XSD Datatype + regression tests from James Clark. + +Thu Feb 27 18:40:04 CET 2003 Daniel Veillard + + * relaxng.c xmlschemas.c xmlschemastypes.c + include/libxml/xmlschemastypes.h: added param support for relaxng + type checking, started to increment the pool of simple types + registered, still much work to be done on simple types and + facets checkings. + +Wed Feb 26 16:45:39 CET 2003 Daniel Veillard + + * entities.c: fixes again one of the problem raised by + James Clark in #106788 + +Wed Feb 26 15:46:48 CET 2003 Daniel Veillard + + * relaxng.c: Fixed a couple of problem raised by James Clark + in bug #107083, the support for ID/IDREF/IDREFS at the WXS + datatype level still not fixed though. + +Mon Feb 24 21:09:19 CET 2003 Daniel Veillard + + * configure.in: preparing release 2.5.4 + * doc/*: updated and rebuilt the docs + * relaxng.c: removed warnings + * result/relaxng/*: updated the results + +Mon Feb 24 20:53:17 CET 2003 Daniel Veillard + + * valid.c: fixes a DTD regexp generation problem. + +Mon Feb 24 20:12:57 CET 2003 Daniel Veillard + + * parser.c: fixes bug #105998 about false detection of + attribute consumption loop. + +Mon Feb 24 19:14:57 CET 2003 Daniel Veillard + + * xinclude.c: Fixes bug #106931 in XInclude entities merging. + +Mon Feb 24 18:50:35 CET 2003 Daniel Veillard + + * SAX.c: fixed bug #105992 + +Mon Feb 24 18:14:16 CET 2003 Daniel Veillard + + * tree.c: fixed xmlSetProp and al. when the node passed is not an + element. + * relaxng.c: fixed bugs 7.3 (though not complete) and memory leaks + found 373 test schemas: 369 success 4 failures + found 529 test instances: 525 success 4 failures + * check-relaxng-test-suite.py: added memory debug reporting + +Mon Feb 24 12:41:54 CET 2003 Daniel Veillard + + * uri.c parser.c: some warning removal on Igor's patch + * tree.c: seems I messed up with #106788 fix + * python/libxml.c: fixed some base problems when Python provides + the resolver. + * relaxng.c: fixed the interleave algorithm + found 373 test schemas: 364 success 9 failures + found 529 test instances: 525 success 4 failures + the resulting failures are bug in the algorithm from 7.3 and + lack of support for params + +Sun Feb 23 14:49:39 CET 2003 Daniel Veillard + + * parser.c: another fix for nodeinfo in entities problem + * tree.c entities.c: fixed bug #106788 from James Clark + some spaces need to be serialized as character references. + +Sat Feb 22 18:28:16 CET 2003 Igor Zlatkovic + + * parser.c uri.c: fixed the bug I introduced in the path + handling, reported by Sebastian Bergmann + +Sat Feb 22 00:19:48 CET 2003 Daniel Veillard + + * parser.c: fixing some nodeinfo in entities problem raised + by Glenn W. Bach + * relaxng.c: implemented the first section 7.3 check + * result/relaxng/*: updated the results + +Fri Feb 21 18:12:19 CET 2003 Daniel Veillard + + * relaxng.c: fixed some problems in the previous commit + and finished implementing 4.16 rules checking + found 373 test schemas: 353 success 20 failures + found 529 test instances: 519 success 6 failures + * result/relaxng/*: updated the results + +Fri Feb 21 16:37:39 CET 2003 Daniel Veillard + + * relaxng.c: implemented checks from section 7.2 + +Thu Feb 20 16:00:31 CET 2003 Daniel Veillard + + * relaxng.c: implemented the checks from section 7.1, fixed + some of the 4.20 and 4.21 problems. + found 373 test schemas: 338 success 35 failures + found 529 test instances: 519 success 6 failures + * result/relaxng/*: updated the results + +Thu Feb 20 01:09:24 CET 2003 Daniel Veillard + + * relaxng.c: implemented the 4.20 and 4.21 simplification rules. + * result/relaxng/*: updated the results + +Wed Feb 19 18:30:30 CET 2003 Daniel Veillard + + * relaxng.c: more bugfixes + * result/relaxng/*: updated the results + +Wed Feb 19 15:39:56 CET 2003 Igor Zlatkovic + + * DOCBparser.c: obsoleted xmlNormalizeWindowsPath + * HTMLparser.c: obsoleted xmlNormalizeWindowsPath + * SAX.c: ensured xmlDoc.URL is always canonic + * parser.c: obsoleted xmlNormalizeWindowsPath + * uri.c include/libxml/uri.h: introduced xmlCanonicPath + * xmlIO.c include/libxml/xmlIO.h: obsoleted xmlNormalizeWindowsPath + * win32/libxml2.def.src: added few exports + +Wed Feb 19 14:26:51 CET 2003 Daniel Veillard + + * Makefile.am configure.in: patched to have shared libraries + for Python regression tests and static binaries for gdb debug + in my development environment + * relaxng.c: more bugfixes + found 373 test schemas: 296 success 77 failures + found 529 test instances: 516 success 8 failures + * result/relaxng/*: updated the results + +Wed Feb 19 01:17:48 CET 2003 Daniel Veillard + + * relaxng.c: guess what ! Relax-NG bugfixing, what a surprize... + +Tue Feb 18 22:09:50 CET 2003 Daniel Veillard + + * xmlschemastypes.c: float/double check bugfix + * tree.c include/libxml/tree.h: exported a function for NMTOKEN + validation + * xmlreader.c: add a TODO for Jody + * relaxng.c: bugfix bugfix bugfix + found 373 test schemas: 300 success 73 failures + found 529 test instances: 507 success 10 failures + * result/relaxng/*: updated the results + +Tue Feb 18 00:33:17 CET 2003 Daniel Veillard + + * relaxng.c check-relaxng-test-suite.py: more RelaxNG bug hunting + +Mon Feb 17 18:23:32 CET 2003 Daniel Veillard + + * relaxng.c check-relaxng-test-suite.py: more work on the + RelaxNG implementation conformance testing. + found 373 test schemas: 284 success 89 failures + found 529 test instances: 448 success 47 failures + * result/relaxng/*: updated the results + +Sun Feb 16 16:48:38 CET 2003 Daniel Veillard + + * ChangeLog tree.c doc/libxml-doc.el doc/libxml2-api.xml: applied + a patch from Kjartan Maraas to fix some typos + +Sun Feb 16 16:40:52 CET 2003 Daniel Veillard + + * relaxng.c: more bug-hunting + * testRelax.c include/libxml/relaxng.h: added --tree to dump the + intermediate rng tree + * python/generator.py: patch from Stéphane Bidoul to fix the generator + on python < 2.2 + +Fri Feb 14 17:49:26 CET 2003 Daniel Veillard + + * check-relaxng-test-suite.py relaxng.c: more testing on the + Relax-NG front, cleaning up the regression tests failures + current state and I forgot support for "mixed": + found 373 test schemas: 280 success 93 failures + found 529 test instances: 401 success 68 failures + * tree.c include/libxml/tree.h xmlschemastypes.c: finished and + moved the Name, NCName and QName validation routine in tree.c + * uri.c: fixed handling of URI ending up with #, i.e. having + an empty fragment ID. + * result/relaxng/*: updated the results + +Thu Feb 13 16:49:24 CET 2003 Daniel Veillard + + * check-xinclude-test-suite.py: improved the script accordingly + to the XInclude regression tests updates + * xpointer.c: Implemented XPointer element() Scheme W3C PR of 13 + November 2002 + * result/XPath/xptr/chapterschildseq result/XPath/xptr/vidchildseq + test/XPath/xptr/chapterschildseq test/XPath/xptr/vidchildseq: + augmented the Xpointer testsuite for the element() scheme + +Thu Feb 13 12:00:30 CET 2003 Daniel Veillard + + * relaxng.c: added TODO for the DTD compatibility spec + * xinclude.c: more bug fixes driven by the testsuite + +Tue Feb 11 19:01:02 CET 2003 Daniel Veillard + + * check-xinclude-test-suite.py xinclude.c: Work on the W3C/NIST + regression tests for XInclude, improved the script, improving + XInclude error reporting mechanism + +Mon Feb 10 17:19:14 CET 2003 Daniel Veillard + + * NEWS doc/* configure.in: preparing release 2.5.3 + +Mon Feb 10 17:11:22 CET 2003 Daniel Veillard + + * tree.c: trying to fix #104934 about some XHTML1 serialization + issues. + +Mon Feb 10 16:41:13 CET 2003 Daniel Veillard + + * encoding.c xmlIO.c: fixing bug #104646 about iconv based + encoding conversion when the input buffer stops in the + middle of a multibyte char + +Mon Feb 10 15:24:47 CET 2003 Daniel Veillard + + * test/relaxng/OASIS/spectest.xml: OASIS RelaxNG testsuite + * check-relaxng-test-suite.py: python script to run regression + against OASIS RelaxNG testsuite + * relaxng.c: some cleanup tweaks + * HTMLparser.c globals.c: cleanups in comments + * doc/libxml2-api.xml: updated the API + * result/relaxng/*: errors moved files, so large diffs but + no changes at the semantic level. + +Mon Feb 10 01:00:31 CET 2003 Daniel Veillard + + * tree.c: fixing #105678 problem when dumping a namespace node. + +Mon Feb 10 00:30:01 CET 2003 Daniel Veillard + + * xpath.c: fixed doc comment problems + * python/generator.py python/libxml_wrap.h python/types.c: adding + RelaxNG wrappers + * python/tests/Makefile.am python/tests/relaxng.py: added a specific + test of those early Python RelaxNG bindings + +Sun Feb 9 15:18:43 CET 2003 Daniel Veillard + + * libxml.spec.in: fixes a libtool problem on AMD 64bits builds + * relaxng.c: found the validation problem I had with interleave + when not covering all remaining siblings + * Makefile.am test.relaxng/* result/relaxng/*: augmented the + testsuite and check the RNG schemas against the RNG schemas + given in appendix A + +Sat Feb 8 18:55:43 CET 2003 Igor Zlatkovic + + * win32/Makefile.msvc: updates for RelaxNG + * win32/Makefile.mingw: updates for RelaxNG + * win32/libxml2.def.src: added RelaxNG exports + +Fri Feb 7 14:00:53 CET 2003 Daniel Veillard + + * xinclude.c: applied another bug fix from Sean Chittenden + +Fri Feb 7 13:34:08 CET 2003 Daniel Veillard + + * configure.in xmllint.c: I f...ed up the default configuration + of schemas and --relaxng option display in xmllint, pointed by + Morus Walter. + * xlink.c: Sean Chittenden pointed a couple of errors in the XLink + detection module, fixes bug #105374. + +Fri Feb 7 01:43:38 CET 2003 Daniel Veillard + + * xmlschemastypes.c: added the boolean base type. + +Thu Feb 6 10:23:52 CET 2003 Daniel Veillard + + * xmlschemastypes.c: started implementing some of the missing + default simple types + * result/relaxng/*: updated the results + +Wed Feb 5 15:28:04 CET 2003 Daniel Veillard + + * NEWS doc/*: updated the docs, ready for 2.5.2 release + +Wed Feb 5 14:15:59 CET 2003 Daniel Veillard + + * HTMLparser.c tree.c xmlIO.c: comments cleanups + * Makefile.am: use xmllint for doing the RelaxNG tests + * configure.in: preparing 2.5.2 made schemas support default to + on instead of off + * relaxng.c: removed the verbosity + * xmllint.c: added --relaxng option + * python/generator.py python/libxml_wrap.h: prepared the integration + of the new RelaxNG module and schemas + * result/relaxng/*: less verbose output + +Wed Feb 5 12:00:36 CET 2003 Daniel Veillard + + * valid.c: do not run content model validation if the + content is not determinist + +Wed Feb 5 11:43:58 CET 2003 Daniel Veillard + + * SAX.c: added the redefinition of namespaced attribute + check that was missing as Fabrice Desré pointed out. + +Wed Feb 5 11:09:29 CET 2003 Daniel Veillard + + * HTMLparser.c include/libxml/HTMLparser.h: applied HTML + improvements from Nick Kew, allowing to do more checking + to HTML elements and attributes. + +Tue Feb 4 23:47:06 CET 2003 Daniel Veillard + + * xinclude.c: fixing bug #105137 about entities declaration + needing to be copied to the including document. + +Tue Feb 4 20:26:22 CET 2003 Daniel Veillard + + * catalog.c: fixed bug #104817 with delegateURI + * xpath.c: fixing bugs #104123 and #104125 + +Tue Feb 4 17:12:56 CET 2003 Daniel Veillard + + * configure.in valid.c xmlreader.c python/libxml_wrap.h + python/types.c: fixing #104096 to compile without regexps + +Tue Feb 4 16:31:55 CET 2003 Daniel Veillard + + * valid.c: fixing bug #103969 forgot to add an epsilon transition + when building the automata for elem* + +Tue Feb 4 16:21:07 CET 2003 Daniel Veillard + + * HTMLparser.c: applied patch from Arne de Bruijn fixing + bug #103827 + +Tue Feb 4 16:17:09 CET 2003 Daniel Veillard + + * HTMLparser.c: updating a comment, fixing #103776 + +Tue Feb 4 16:05:53 CET 2003 Daniel Veillard + + * parser.c: fixing bug 105049 for validity checking of content + within recursive entities. + +Tue Feb 4 15:40:54 CET 2003 Daniel Veillard + + * HTMLparser.c: try to fix # 105049 + * relaxng.c xmlschemastypes.c: a couple of changes and extensions + * tree.c: updated a function comment + +Tue Feb 4 00:20:58 CET 2003 Daniel Veillard + + * relaxng: more work on grammars and refs/defs + * test/relaxng/* result/relaxng/*: augmented/updated the + regression tests + +Mon Feb 3 14:16:59 CET 2003 Daniel Veillard + + * relaxng: more work on name classes, except support + * test/relaxng/* result/relaxng/*: augmented/updated the + regression tests + +Mon Feb 3 11:56:05 CET 2003 Daniel Veillard + + * relaxng: more work on name classes, the "validate all" schemas + seems to work now. + * test/relaxng/* result/relaxng/*: augmented/updated the + regression tests + +Mon Feb 3 09:50:26 CET 2003 Daniel Veillard + + * python/libxml.c: removed an unprotedted debug message Aleksi Suhonen + * parser.c: put a guard against infinite document depth, basically + trying to avoid another kind of DoS attack. + * relaxng.c: some code w.r.t. nameClasses + +Sun Feb 2 17:01:43 CET 2003 Daniel Veillard + + * test/relaxng/* result/relaxng/*: check all the namespace support + was actually correct based on tutorial section 10. + +Sun Feb 2 15:33:38 CET 2003 Daniel Veillard + + * relaxng: include seems to work okay now + * test/relaxng/* result/relaxng/*: augmented/updated the + regression tests + +Sat Feb 1 19:44:58 CET 2003 Daniel Veillard + + * relaxng.c: a bit of work done in the train back. + * test/relaxng/*: added one of the include tests + +Thu Jan 30 14:06:55 CET 2003 Daniel Veillard + + * relaxng: more work done in the train + * test/relaxng/* result/relaxng/*: augmented/updated the + regression tests + +Wed Jan 29 23:44:58 CET 2003 Daniel Veillard + + * relaxng.c: debugging of externalRef + * test/relaxng/* result/relaxng/*: augmented/updated the + regression tests + +Wed Jan 29 22:06:04 CET 2003 Daniel Veillard + + * relaxng.c: more work on Relax-NG, implementing externalRef + * test/relaxng/* result/relaxng/*: augmented/updated the + regression tests + * Makefile.am: cleanup to Relaxtests target + +Wed Jan 29 00:08:38 CET 2003 Daniel Veillard + + * relaxng.c: more work on Relax-NG, implementing interleave + * test/relaxng/* result/relaxng/*: augmented/updated the + regression tests + +Tue Jan 28 21:56:49 CET 2003 Daniel Veillard + + * relaxng.c: more work on Relax-NG, implementing interleave + * test/relaxng/* result/relaxng/*: augmented/updated the + regression tests + +Mon Jan 27 07:35:29 MST 2003 John Fleck + + * doc/tutorial/customfo.xsl + * doc/tutorial/customhtml.xsl + adding stylesheet customizations used to generate fo + for pdf and html + +Mon Jan 27 13:29:43 CET 2003 Daniel Veillard + + * relaxng.c: more work on Relax-NG + * test/relaxng/* result/relaxng/*: augmented/updated the + regression tests + * xmlschemastypes.c: added a number of base type definition but not + the associated checks, those are still TODOs + +Sun Jan 26 17:37:06 MST 2003 John Fleck + + in docs/tutorial: + * apa.html + * apb.html + * apc.html + * apd.html + * ape.html + * apf.html + * apg.html + * ar01s02.html + * ar01s03.html + * ar01s04.html + * ar01s05.html + * ar01s06.html + * ar01s07.html + * ar01s08.html + * index.html + * xmltutorial.pdf + * xmltutorial.xml + add index to tutorial + +Sun Jan 26 17:02:29 MST 2003 John Fleck + + * doc/xmlcatalog.1 + * doc/xmlcatalog_man.html + * doc/xmlcatalog_man.xml + belatedly fixing bug #93622 (adds rewriteURI type to + "--add" option in xmlcatalog man page + +Sun Jan 26 20:47:26 CET 2003 Daniel Veillard + + * xmlcatalog.c xmllint.c: applied patch for NetBSD by + Julio Merino, closing #104475 + +Sun Jan 26 20:38:43 CET 2003 Daniel Veillard + + * relaxng.c: more work on Relax-NG + * test/relaxng/* result/relaxng/*: augmented/updated the + regression tests + +Sun Jan 26 01:49:58 CET 2003 Daniel Veillard + + * relaxng.c: more work on Relax-NG + * test/relaxng/* result/relaxng/*: augmented/updated the + regression tests + +Sat Jan 25 18:59:54 CET 2003 Daniel Veillard + + * README: updated the policy on private mail answers + * relaxng.c: more work on Relax-NG + * test/relaxng/* result/relaxng/*: augmented/updated the + regression tests + +Fri Jan 24 15:12:44 CET 2003 Daniel Veillard + + * error.c parser.c tree.c: applied a documentation patch from + Stefan Kost + +Fri Jan 24 02:00:50 CET 2003 Daniel Veillard + + * relaxng.c: more work on Relax-NG + * doc/*: regenerated the docs + * test/relaxng/* result/relaxng/*: updated and augmented the + Relax-NG regression tests and results + +Thu Jan 23 19:26:20 CET 2003 Daniel Veillard + + * Makefile.am configure.in relaxng.c include/libxml/relaxng.h: + First commit of the new Relax-NG validation code, not generally + useful yet. + * test/relaxng/* result/relaxng/*: current state of the regression + tests + +Thu Jan 23 19:22:54 CET 2003 Daniel Veillard + + * tree.c: minimized the memory allocated for GetContent + and a bit of cleanup. + +Thu Jan 23 17:41:37 CET 2003 Daniel Veillard + + * python/generator.py: seems there is no good reasons to + not generate bindings for XPointer + +Tue Jan 21 13:19:35 CET 2003 Daniel Veillard + + * xmlreader.c doc/apibuild.py: applied a new patch from + Stéphane Bidoul for cleanups + * doc/libxml2-api.xml: rebuilt the API description with + new entry points + +Mon Jan 20 23:25:00 CET 2003 Daniel Veillard + + * xmlreader.c python/drv_libxml2.py python/generator.py + python/libxml.c python/libxml.py python/libxml_wrap.h + python/types.c: patch from Stéphane Bidoul for better per + context error message APIs + * python/tests/ctxterror.py python/tests/readererr.py: + update of the tests + +Sun Jan 19 17:09:28 MST 2003 John Fleck + + * doc/guidelines.html + grammar and spelling cleanup + +Fri Jan 17 00:31:30 CET 2003 Daniel Veillard + + * xmlreader.c include/libxml/xmlreader.h python/generator.py + python/libxml.c python/libxml.py win32/libxml2.def.src: applied + a patch from Stéphane Bidoul to allow per XMLtextReader error + and warning handling + * python/tests/Makefile.am python/tests/readererr.py: adding the + specific regression test + +Tue Jan 14 17:00:08 CET 2003 Daniel Veillard + + * xpath.c: Alexey Efimov pointed out that concat('a', 'b', ) + should raise a syntax error + +Tue Jan 14 15:39:14 CET 2003 Daniel Veillard + + * python/libxml.c: cleanup patch from Stéphane Bidoul + +Tue Jan 14 14:41:18 CET 2003 Daniel Veillard + + * encoding.c: fixing bug #103100 with a dummy UTF8ToUTF8 copy + +Tue Jan 14 12:40:29 CET 2003 Daniel Veillard + + * python/generator.py python/libxml.c python/libxml.py + python/libxml_wrap.h python/types.c: applied and fixed a patch + from Stéphane Bidoul to provide per parser error handlers at the + Python level. + * python/tests/Makefile.am python/tests/ctxterror.py: added a + regression test for it. + +Tue Jan 14 01:15:04 CET 2003 Daniel Veillard + + * xmlreader.c: fixed the streaming property of the reader, + it was generating tree faster than consuming it. Pointed out + by Nate Myers + * tree.c: fixed a bug in xmlSaveFormatFileEnc if passed a NULL doc + +Sun Jan 12 22:18:02 CET 2003 Igor Zlatkovic + + * win32/libxml2.def.src: added more xmlreader and other exports + +Fri Jan 10 18:04:32 CET 2003 Daniel Veillard + + * xpath.c: fix to the XPath implementation for parent and + ancestors axis when operating on a Result Value Tree. + Fixes bug #100271 + +Fri Jan 10 17:07:01 CET 2003 Daniel Veillard + + * nanoftp.c nanohttp.c xmlIO.c: patch from Stefano Zacchiroli + to fix some URI/file escaping problems + +Fri Jan 10 16:20:34 CET 2003 Daniel Veillard + + * python/generator.py: fixed a bug raised by Raymond Wiker, + docSetRootElement() should not raise an exception if the + return is None + +Fri Jan 10 14:13:03 CET 2003 Daniel Veillard + + * python/libxml.py python/libxml.c python/libxml2-python-api.xml: + fixed bug #102181 by applying the suggested change and fixing + the generation/registration problem. + +Fri Jan 10 13:47:55 CET 2003 Daniel Veillard + + * HTMLparser.c: fixed bug #102960 by reusing the XML name parsing + routines. + +Fri Jan 10 00:16:49 CET 2003 Daniel Veillard + + * parser.c: one more IsEmptyElement craziness, that time in + external parsed entities if substitution is asked. + * python/tests/reader3.py: added a specific test. + +Thu Jan 9 22:35:31 CET 2003 Daniel Veillard + + * python/drv_libxml2.py: update from Stéphane Bidoul: python 2.1 + support and improved error handler registration + +Thu Jan 9 14:16:38 CET 2003 Daniel Veillard + + * HTMLtree.c tree.c: fixes #102920 about namespace handling in + HTML output and section 16.2 "HTML Output Method" of XSLT-1.0 + * README: fixed a link + +Wed Jan 8 18:32:25 CET 2003 Daniel Veillard + + * configure.in doc/* NEWS: preparing 2.5.1 release + * SAX.c parser.c: fixing XmlTextReader bug + +Wed Jan 8 00:13:01 CET 2003 Daniel Veillard + + * SAX.c: fuck, I introduced a memory leak on external parsed + entities in 2.5.0 :-( + +Tue Jan 7 12:12:45 CET 2003 Daniel Veillard + + * xmllint.c: another fix needed as pointed by Christophe Merlet + for --stream --debug if compiled without debug support. + +Mon Jan 6 20:53:08 MST 2003 John Fleck + + * doc/xmllint.xml + * doc/xmllint.1: + update man page with --stream and --chkregister + +Tue Jan 7 01:17:26 CET 2003 Daniel Veillard + + * globals.c: fixed --with-threads compile + * xmllint.c: fixed --without-debug compile + * include/libxml/globals.h: cleanup + * include/libxml/schemasInternals.h: add a missing include + +Mon Jan 6 14:06:07 CET 2003 Daniel Veillard + + * configure.in NEWS: preparing 2.5.0 release + * SAX.c: only warn in pedantic mode about namespace name + brokeness + * globals.c: fix a doc generation problem + * uri.c: fix #101520 + * doc/*: updated and rebuilt the doc for the release, includuding + stylesheet update + * python/Makefile.am: fix a filename bug + +Mon Jan 6 12:05:12 CET 2003 Daniel Veillard + + * doc/tutorial/* : fixed #101894 if doc == NULL xmlFreeDoc + should not be called. + +Mon Jan 6 11:59:09 CET 2003 Daniel Veillard + + * libxml-2.0.pc.in: applied the patch to fix #101894 + +Sun Jan 5 23:35:47 CET 2003 Daniel Veillard + + * tree.c : applied patch from Lukas Schroeder for register callbacks + * valid.c: modified patch from Lukas Schroeder to test + register callbacks with --chkregister + +Sun Jan 5 02:23:20 CET 2003 Daniel Veillard + + * xmlreader.c: seriously changed the way data are pushed to + the underlying parser, go by block of 512 bytes instead of + tryng to detect tag boundaries at that level. Changed the + way empty element are detected and tagged. + * python/tests/reader.py python/tests/reader2.py + python/tests/reader3.py: small changes mostly due to context + reporting being different and DTD node being reported. Some + errors previously undetected are now caught and fixed. + * doc/xmlreader.html: flagged last section as TODO + +Sat Jan 4 20:40:28 CET 2003 Daniel Veillard + + * python/libxml.py: integrated the Python 2.2 optimizations + from Hannu Krosing, while maintaining compatibility with + 1.5 and 2.1 + +Sat Jan 4 17:33:17 CET 2003 Daniel Veillard + + * xmllint.c: a bit of cleanup + * xmlreader.c: small fix + * doc/xmlreader.html: more work on the XmlTextReader tutorial + * python/libxml.py: a few fixes pointed out by Hannu Krosing + +Sat Jan 4 13:46:14 CET 2003 Daniel Veillard + + * python/setup.py.in: patch from Stéphane Bidoul to include + drv_libxml2.py in setup.py + +Sat Jan 4 01:43:06 CET 2003 Daniel Veillard + + * doc/xmlreader.html: starting documenting the new XmlTextReader + interface. + +Fri Jan 3 17:18:32 CET 2003 Daniel Veillard + + * xmllint.c: added the --stream flag to use the TextReader API + * xmlreader.c: small performance tweak + +Fri Jan 3 13:50:55 CET 2003 Daniel Veillard + + * xmlreader.c python/tests/reader2py: okay the DTD validation + code on top of the XMLTextParser API should be solid now. + +Fri Jan 3 02:17:18 CET 2003 Daniel Veillard + + * xmlreader.c python/tests/reader2py: Fixing some more mess + with validation and recursive entities while using the + reader interface, it's getting a bit messy... + +Thu Jan 2 15:15:26 CET 2003 Daniel Veillard + + * xmlreader.c python/tests/reader.py: another couple of problem + related to IsEmptyElement reported by Stéphane Bidoul needed + some fixes. + +Thu Jan 2 13:57:07 CET 2003 Daniel Veillard + + * libxml.spec.in python/Makefile.am python/drv_libxml2.py: + integrated drv_libxml2.py Python xml.sax driver from Stéphane Bidoul + based on the python XmlTextReader interface. + +Wed Jan 1 22:05:40 CET 2003 Daniel Veillard + + * tree.c: backing out one change in the last patch which broke the + regression tests + +Wed Jan 1 21:57:28 CET 2003 Daniel Veillard + + * global.data globals.c tree.c include/libxml/globals.h: applied + an old patch from Lukas Schroeder to track node creation and + destruction. Probably missing a lot of references at the moment + and not usable reliably. + +Wed Jan 1 20:12:07 CET 2003 Daniel Veillard + + * NEWS doc/Makefile.am doc/news.xsl: generate the NEWS file + from doc/news.html and a stylesheet + +Wed Jan 1 16:09:57 CET 2003 Daniel Veillard + + * xmlreader.c python/tests/reader.py: fixed another couple of + xmlreader bugs reported by Stéphane Bidoul and added tests. + +Wed Jan 1 15:42:54 CET 2003 Daniel Veillard + + * xmlreader.c python/tests/reader2.py: fixed another validity + checking in external parsed entities raised by Stéphane Bidoul + and added a specific regression test. + * python/tests/reader3.py: cleanup + +Tue Dec 31 15:44:02 CET 2002 Daniel Veillard + + * xmlreader.c python/tests/reader2.py: fixed a problem with + validation within entities pointed by Stéphane Bidoul, augmented + the tests to catch those. + +Tue Dec 31 12:15:37 CET 2002 Daniel Veillard + + * python/generator.py: modified the generator to allow keeping + class references when creating new classes, needed to fix a bug + pointed by Stéphane Bidoul where the input buffer of the + xmlTextReader instance gets destroyed if the python wrapper for + the input is not referenced anymore. + +Mon Dec 30 19:39:36 CET 2002 Daniel Veillard + + * xmlreader.c python/tests/reader.py: fixed another pair of problem + pointed by Stéphane Bidoul: depth start at 0 and a parse problem. + +Mon Dec 30 13:36:50 CET 2002 Daniel Veillard + + * xmlreader.c python/tests/reader.py: fixed another problem + pointed by Stéphane Bidoul + +Mon Dec 30 12:39:55 CET 2002 Daniel Veillard + + * xmlreader.c python/tests/reader.py: fixed a limit case problem + with "" + +Mon Dec 30 11:53:44 CET 2002 Daniel Veillard + + * SAX.c: warn on xmlns:prefix="foo" + * xmlreader.c python/tests/reader.py: fixed a couple of problem + for namespace attributes handling. + +Mon Dec 30 00:59:07 CET 2002 Daniel Veillard + + * entities.c parser.c tree.c include/libxml/entities.h: Fixed + a really nasty problem raised by a DocBook XSLT transform + provided by Sebastian Bergmann + +Sun Dec 29 12:13:18 CET 2002 Daniel Veillard + + * xmlreader.c python/tests/reader.py: fixed a bug pointed out + by Stéphane Bidoul and integrated it into the tests + +Sat Dec 28 23:49:12 CET 2002 Daniel Veillard + + * xmlreader.c include/libxml/xmlreader.h doc/libxml2-api.xml: + extended the XmlTextReader API a bit, addding accessors for + the current doc and node, and an entity substitution mode for + the parser. + * python/libxml.py python/libxml2class.txt: related updates + * python/tests/Makefile.am python/tests/reader.py + python/tests/reader2.py python/tests/reader3.py: updated a bit + the old tests and added a new one to test the entities handling + +Sat Dec 28 22:11:57 CET 2002 Daniel Veillard + + * python/generator.py python/libxml2class.txt + python/tests/reader.py python/tests/reader2.py: changed the + generator to provide casing for the XmlTextReader similar to + C# so that examples and documentation are more directly transposable. + Fixed the couple of tests in the suite. + +Sat Dec 28 15:55:32 CET 2002 Daniel Veillard + + * doc/guidelines.html: added a document on guildeline for + publishing and deploying XML + +Fri Dec 27 20:35:15 CET 2002 Daniel Veillard + + * valid.c xmlreader.c: final touch running DTD validation + on the XmlTextReader + * python/tests/Makefile.am python/tests/reader2.py: added a + specific run based on the examples from test/valid/*.xml + +Fri Dec 27 15:17:20 CET 2002 Daniel Veillard + + * python/libxml.py: added a few predefined xmlTextReader parser + configuration values. + +Fri Dec 27 12:57:22 CET 2002 Daniel Veillard + + * python/libxml_wrap.h: trying to fix #102037 + +Fri Dec 27 12:18:14 CET 2002 Daniel Veillard + + * SAX.c: fixing bug #95296, when the predefined entities + are redefined in the DTD the default one must be used + instead anyway. + +Wed Dec 25 19:22:06 MST 2002 John Fleck + + * doc/xmllint.xml + * doc/xmllint.1 + Add discussion of XML_DEBUG_CATALOG to xmllint man + page - bug #100907 + +Mon Dec 23 16:54:22 CET 2002 Daniel Veillard + + * xmlreader.c: Fixed the empty node detection to avoid reporting + an nonexistent close tag. + +Mon Dec 23 15:42:24 CET 2002 Daniel Veillard + + * python/libxml.c python/setup.py.in: patch from Stéphane Bidoul + for Python 2.1 + +Sun Dec 22 11:24:06 CET 2002 Daniel Veillard + + * testC14N.c vms/config.vms: applied Craig A. Berry patches for VMS + +Fri Dec 20 11:27:49 CET 2002 Daniel Veillard + + * doc/libxml2-api.xml python/tests/reader.py: one really need + to provide the base URI information when creating a reader parser + from an input stream. Updated the API and the example using it. + +Fri Dec 20 01:11:30 CET 2002 Daniel Veillard + + * testReader.c xmlreader.c valid.c include/libxml/tree.h + include/libxml/valid.h include/libxml/xmlreader.h: working on + DTD validation on top of xml reader interfaces. Allows to + validate arbitrary large instances. This required some extensions + to the valid module interface and augmenting the size of xmlID + and xmlRef structs a bit. + * uri.c xmlregexp.c: simple cleanup. + +Wed Dec 18 15:51:22 CET 2002 Daniel Veillard + + * xmlreader.c include/libxml/xmlreader.h doc/libxml2-api.xml: more + work on the xml reader interfaces. + * AUTHORS MAINTAINERS doc/* win32/*: updated Igor's mail and the + Web page for the Windows binaries. + +Tue Dec 17 19:31:07 CET 2002 Daniel Veillard + + * xmlIO.c: applied a patch for VMS following the report by + Nigel Hall + +Tue Dec 17 11:29:41 CET 2002 Daniel Veillard + + * parser.c: the parseStartTag bug fix wasn't complete. + +Mon Dec 16 23:00:05 CET 2002 Daniel Veillard + + * parser.c: Vyacheslav Pindyura managed to trigger a bug in + parseStartTag, fixing it. + * test/att4 result/att4 result/noent/att4: adding the test + * xmlreader.c include/libxml/xmlreader.h doc/libxml2-api.xml: added + more methods to XmlTextReader. + +Mon Dec 16 19:31:16 CET 2002 Igor Zlatkovic + + * win32/libxml2.def.src: added more xml reader exports + * win32/Makefile.msvc win32/Makefile.mingw: added xml reader interface + to the build + +Mon Dec 16 06:36:54 MST 2002 John Fleck + + * doc/tutorial/xmltutorial.xml + plus generated html and pdf + Updating tutorial again based on further comments from Niraj + Tolia on the last iteration + +Sun Dec 15 21:27:30 MST 2002 John Fleck + + * doc/tutorial/xmltutorial.xml + * doc/tutorial/includekeyword.c + * doc/tutorial/includegetattribute.c + plus generated html and pdf + Adding fix from Niraj Tolia to tutorial to properly free memory. + +Mon Dec 16 00:34:25 CET 2002 Daniel Veillard + + * xmlreader.c include/libxml/xmlreader.h doc/libxml2-api.xml: added + more methods of XmlTextReader. + * python/libxml2class.txt python/tests/reader.py: this increased the + methods in the bndings, augmented the test to check those new + functions. + +Sat Dec 14 23:57:39 CET 2002 Daniel Veillard + + * xmlreader.c doc/libxml2-api.xml: added the close and getattribute + methods of XmlTextReader. + * python/generator.py python/libxml_wrap.h python/types.c + python/libxml2class.txt: added the reader to the Python bindings + * python/tests/Makefile.am python/tests/reader.py: added a specific + test for the Python bindings of the Reader APIs + * parser.c: small cleanup. + +Fri Dec 13 11:39:44 CET 2002 Daniel Veillard + + * xinclude.c: fallback was only copying the first child not the + full child list of the fallback element, closes #89684 as reopened + by Bernd Kuemmerlen + +Thu Dec 12 13:34:59 CET 2002 Igor Zlatkovic + + * win32/libxml2.def.src: exported htmlNodeDumpOutput + +Thu Dec 12 10:59:11 CET 2002 Daniel Veillard + + * configure.in: preparing release of 2.4.30 + * doc/apibuild.py doc/libxml2-api.xml: fixups to the api builder, + gives enum values, fix functype return type, put back fields in + structs + * doc/*: updated the docs rebuilt + +Thu Dec 12 01:09:34 CET 2002 Daniel Veillard + + * HTMLtree.c include/libxml/HTMLtree.h: patch from Mark Vakoc + about htmlNodeDumpOutput location. + * xpath.c: removed an undefined function signature + * doc/apibuild.py doc/libxml2-api.xml: the script was exporting + too many symbols in the API breaking the python bindings. + Updated with the libxslt/libexslt changes. + +Wed Dec 11 20:26:15 CET 2002 Daniel Veillard + + * configure.in: preparing release of 2.4.29 + * doc/*: rebuilt the docs and API + * xmlreader.c: a few more fixes for the XmlTextReader API + +Wed Dec 11 18:01:15 CET 2002 Igor Zlatkovic + + * include/win32config.h: applied mingw patch from Magnus Henoch + +Wed Dec 11 16:58:48 CET 2002 Daniel Veillard + + * catalog.c doc/libxml2-api.xml: a bit more cleanup + +Wed Dec 11 14:54:47 CET 2002 Daniel Veillard + + * doc/apibuild.py doc/libxml2-api.xml doc/Makefile.am: new API + building Python script, does the C parsing directly, generates + a better API description including structure fieds defs and + enums. Still a couple of bugs, but good enough for the python + wrappers now. + * DOCBparser.c SAX.c nanohttp.c parser.c parserInternals.c tree.c + valid.c xmlIO.c xmlmemory.c xmlreader.c xmlregexp.c xmlschemas.c + include/libxml/schemasInternals.h include/libxml/tree.h: more + cleanup based on the python analysis script reports. + * libxml.spec.in: make sure the API XML description is part of the + devel package. + +Tue Dec 10 16:16:34 CET 2002 Daniel Veillard + + * DOCBparser.c HTMLparser.c c14n.c debugXML.c encoding.c hash.c + nanoftp.c nanohttp.c parser.c parserInternals.c testC14N.c + testDocbook.c threads.c tree.c valid.c xmlIO.c xmllint.c xmlmemory.c + xmlreader.c xmlregexp.c xmlschemas.c xmlschemastypes.c xpath.c: + code cleanup, especially the function comments. + * tree.c: fixed a small bug when freeing nodes which are XInclude ones. + +Mon Dec 9 15:08:17 CET 2002 Daniel Veillard + + * Makefile.am xmlreader.c include/libxml/Makefile.am + include/libxml/xmlreader.h: Adding a new set of APIs based on + the C# TextXmlReader API but converted to C. Allow to parse + in constant memory usage, far simpler to program and explain + than the SAX like APIs, unfinished but working. + * testReader.c: test program + +Sun Dec 8 18:36:01 CET 2002 Igor Zlatkovic + + * win32/libxml2.def.src: applied YALDSP from Mark Vakoc + +Wed Dec 4 16:08:49 CET 2002 Daniel Veillard + + * tree.c: Chip turner indicated that XHTML1 serialization + rule for style actually break on both IE and Mozilla, + try to avoid the rule if escaping ain't necessary + +Wed Dec 4 12:43:28 CET 2002 Daniel Veillard + + * nanhttp.c: handle HTTP URL escaping, problem reported by + Glen Nakamura and Stefano Zacchiroli + +Sat Nov 30 12:19:17 CET 2002 Daniel Veillard + + * DOCBparser.c HTMLparser.c parser.c valid.c xpath.c: code cleanup + +Thu Nov 28 12:53:22 CET 2002 Daniel Veillard + + * uri.c: Johann Richard pointed out some XPointer problems for + URN based URI references in XInclude. Modified the URI parsing + and saving routines to allow correct parsing and saving of + XPointers, especially when attached to "opaque" scheme accordingly + to RFC 2396 + +Wed Nov 27 20:36:08 CET 2002 Daniel Veillard + + * HTMLtree.c include/libxml/HTMLtree.h: applied the same kind + of refactoring to the HTML saving code. + * doc/libxml2-*.xml doc/API*.html: slight API changes got reflected + in the doc. + +Wed Nov 27 12:40:16 CET 2002 Daniel Veillard + + * tree.c include/libxml/tree.h: refactored the XML dump of a node + to a buffer API to reuse the generic dump to an OutputIO layer, + this reduces code, fixes xmlNodeDump() for XHTML, also made + xmlNodeDump() now return the number of byte written. + +Wed Nov 27 09:00:00 CET 2002 Daniel Veillard + + * python/setup.py.in: another patch from Stéphane Bidoul for + Python bindings on Windows + * doc/parsedecl.py: small cleanup + +Mon Nov 25 17:28:53 CET 2002 Daniel Veillard + + * libxml.spec.in configure.in: add a line in %changelog for releases + +Mon Nov 25 14:18:27 CET 2002 Daniel Veillard + + * parser.c: patch from Marcus Clarke fixing a problem in entities + parsing that was detected in KDe documentations environment. + +Mon Nov 24 14:13:21 CET 2002 ERDI Gergo + + * python/libxml.c (libxml_prev): Return the previous as opposed to + the next node (I guess this is the result of some cut & paste programming:) + +Sat Nov 23 17:22:22 CET 2002 Daniel Veillard + + * doc/Makefile.am: Jan Rafaj pointed a bug in the Makefile. + +Sat Nov 23 12:21:24 CET 2002 Daniel Veillard + + * python/generator.py python/libxml.c python/setup.py.in: trying + to fix the Python bindings build on Windows (Stéphane Bidoul) + +Fri Nov 22 22:41:34 CEST 2002 Igor Zlatkovic + + * win32/configure.js: added option for python bindings + * win32/libxml2.def.src: added more exports + +Fri Nov 22 18:50:34 CET 2002 Igor Zlatkovic + + * win32/Makefile.mingw: fixed unresolved symbols when linking with + pthreads + * win32/wince/*: applied updates to Windows CE port from Javier + +Fri Nov 22 15:51:22 CET 2002 Daniel Veillard + + * configure.in: preparing 2.4.28 + * libxml.spec.in doc/Makefile.am: some cleanup + * doc/*: updated the news and regenerated. + +Fri Nov 22 14:15:14 CET 2002 Daniel Veillard + + * HTMLparser.c: final touch at closing #87235

end tags + need to be generated. + * result/HTML/cf_128.html result/HTML/test2.html result/HTML/test3.html: + this change slightly the output of a few tests + * doc/*: regenerated + +Fri Nov 22 13:26:19 CET 2002 Daniel Veillard + + * parserInternals.c: fixing bug #99190 when UTF8 document are + parsed using the progressive parser and the end of the chunk + is in the middle of an UTF8 multibyte character. + +Fri Nov 22 13:13:00 HKT 2002 William Brack + + * threads.c: fixed initialization problem in xmlNewGlobalState + which was causing crash. + * globals.c: removed duplicate call to initxmlDefaultSAXHandler + in xmlInitializeGlobalState. + * parserInternals.c: cleaned up ctxt->sax initialisation. + +Thu Nov 21 15:05:45 CET 2002 Daniel Veillard + + * tree.c include/libxml/tree.h: modified the existing APIs + to handle XHTML1 serialization rules automatically, also add + xmlIsXHTML() to libxml2 API. Some tweaking to make sure + libxslt serialization uses it when needed without changing + the library API. + * test/xhtml1 result/noent/xhtml1 result/valid/xhtml1.xhtml + result/xhtml1: added a new test specifically for xhtml1 output + and updated the result of one XHTML1 test + +Wed Nov 20 14:24:56 CET 2002 Daniel Veillard + + * xinclude.c parserInternals.c encoding.c: fixed #99082 + for xi:include encoding="..." support on text includes. + * result/XInclude/tstencoding.xml test/XInclude/docs/tstencoding.xml + test/XInclude/ents/isolatin.txt : added a specific regression test + * python/generator.py python/libxml2class.txt: fixed the generator + the new set of comments generated for doc/libxml2-api.xml were + breaking the python generation. + +Tue Nov 19 23:25:47 CET 2002 Daniel Veillard + + * doc/Makefile.am: repair some problem if gtk-doc fail or such + * configure.in: patch for Solaris on new autoconf closes #98880 + * doc/parsedecl.py: repair the frigging API building script, + did I say that python xmllib sucks ? + * doc/libxml2-api.xml doc/libxml2-refs.xml: regenerated, reordering + and some comment are no more truncated. + +Tue Nov 19 09:09:04 CET 2002 Daniel Veillard + + * parser.c: Martin Stoilov pointed out a potential leak in + xmlCreateMemoryParserCtxt + +Mon Nov 18 16:05:51 CET 2002 Daniel Veillard + + * HTMLparser.c: fixed bug #98879 a corner case when 0 is + included in HTML documents and using the push parser. + +Mon Nov 18 00:11:24 CET 2002 ERDI Gergo + + * configure.in (PYTHON_SITE_PACKAGES): If --with-python is + specified, look for the Python interpreter not just in the + specified root but also in the specified location. Fixes #98825 + +Sun Nov 17 23:36:06 CET 2002 Daniel Veillard + + * python/libxml.c: fixing bug #98792 , node may have no doc + and dereferencing without checking ain't good ... + +Sun Nov 17 10:25:43 CET 2002 Daniel Veillard + + * configure.in: preparing release 2.4.27 + * doc/* : updated and rebuilt the docs + * doc/Makefile.am libxml.spec.in: try to make sure the tutorial + and all the docs are actually packaged and in the final RPMs + * parser.c parserInternals.c include/libxml/parser.h: restore + xmllint --recover feature. + +Sat Nov 16 16:30:25 CET 2002 Daniel Veillard + + * parser.c xpath.c: fixing #96925 wich was also dependent on the + processing of parsed entities, and XPath computation on sustitued + entities. + * testXPath.c: make sure entities are substituted. + +Fri Nov 15 16:22:54 CET 2002 Daniel Veillard + + * parser.c: fixed #96594, which was totally dependent on the + processing of internal parsed entities, which had to be changed. + +Fri Nov 15 12:16:07 CET 2002 Daniel Veillard + + * Makefile.am python/Makefile.am python/tests/Makefile.am: + trying to fix bug #98517 about building outside the source tree + * doc/xml.html doc/FAQ.html: fixed the link to libiconv #94585 + +Thu Nov 14 18:41:55 CEST 2002 Igor Zlatkovic + + * include/win32config.h: cleanup + * win32/Makefile.mingw: integrated mingw in JScript configure + * win32/Makefile.msvc: modified to allow mingw coexistence + * win32/configure.js: integrated mingw + * win32/Readme.txt: cleanup + +Tue Nov 12 22:06:45 CET 2002 Daniel Veillard + + * HTMLparser.c: strengthen the guard in the Pop macros, + like in the XML parser, closes bug #97315 + +Tue Nov 12 21:56:39 CET 2002 Daniel Veillard + + * include/libxml/parser.h: fixed bug #98338 , fatalError SAX + callback is never used. + +Tue Nov 12 13:32:50 CET 2002 Daniel Veillard + + * parserInternals.c: fixed the initialization of the SAX structure + which was breaking xsltproc + * xpath.c: patch from Petr Pajas for CDATA nodes + * tree.c: patch from Petr Pajas improving xmlGetNodePath() + * parser.c include/libxml/parser.h: patch from Peter Jones + removing a leak in xmlSAXParseMemory() and adding the + function xmlSAXParseMemoryWithData() + +Mon Nov 11 20:47:03 MST 2002 John Fleck + + adding pdf of tutorial, changing web page to link to it + * doc/tutorial/xmltutorial.pdf + * doc/xml.html + * doc/docs.html + +Sun Nov 10 20:48:57 MST 2002 John Fleck + + * doc/tutorial/ar01s08.html + adding file what I forgot for tutorial + +Sun Nov 10 20:33:13 MST 2002 John Fleck + + Adding encoding discussion to tutorial + Added: + * doc/tutorial/images/*.png: DocBook admonition image files + * doc/tutorial/apf.html, apg.html: new generated html + * doc/tutorial/includeconvert.c: conversion code entity file + changed: + * doc/tutorial/xmltutorial.xml: DocBook original + * doc/tutorial/*.html: generated html + +Fri Nov 8 17:59:32 CEST 2002 Igor Zlatkovic + + * include/libxml/*.h: retired xmlwin32version.h + * doc/Makefile.am: retired xmlwin32version.h + * win32/configure.js: retired xmlwin32version.h + +Fri Nov 8 16:55:47 CEST 2002 Igor Zlatkovic + + * win32/libxml2.def.src: exported additional symbols + * include/libxml/xmlmemory.h: exported the rest of the xmlMem* + sisterhood + +Fri Nov 8 16:08:13 CET 2002 Daniel Veillard + + * globals.c: fixed a typo pointed out by Igor + * xpath.c: try to speed up node compare using line numbers + if available. + +Thu Nov 7 15:16:02 CET 2002 Daniel Veillard + + * tree.c: make xmlFreeNode() handle attributes correctly. + +Wed Nov 6 23:51:11 CET 2002 Igor Zlatkovic + + * catalog.c: completed the #96963 fix, as reported by Karl + Eichwalder + +Wed Nov 6 16:48:44 CET 2002 Daniel Veillard + + * xpointer.c: tried to fix bug #97852 reported by Nicolas Noffke + +Sun Nov 3 10:43:44 CET 2002 Daniel Veillard + + * Makefile.am: switched the order of a couple of includes + to fix bugs #97100 + +Thu Oct 31 17:11:46 CEST 2002 Igor Zlatkovic + + * catalog.c: fixed bug #96963, reverted to the old behaviour of + xmlLoadCatalogs that used to separate directories with a ':'. + +Thu Oct 31 16:55:21 CEST 2002 Igor Zlatkovic + + * threads.c: improvements to the Windows-side of thread handling + * testThreads.c: conditionally excluded unistd.h + * testThradsWin32.c: broke overlong lines + * include/win32config.h: adapted thread-related macros to the new + scheme and for pthreads on Windows + * win32/Makefile.msvc: introduced a more flexible thread build, + added testThreads[Win32].c to the build + * win32/configure.js: introduced a more flexible thread config + +2002-10-31 John Fleck + + * doc/xml.html (and, by implication, FAQ.html) + added UTF-8 conversaion FAQ from Marcus Labib Iskander + +Tue Oct 29 18:32:33 CET 2002 Igor Zlatkovic + + * configure.in: removed xmlwin32version.h + * include/libxml/Makefile.am: removed xmlwin32version.h + +Mon Oct 28 14:01:29 CET 2002 Daniel Veillard + + * tree.c: applied patch from Brian Stafford to fix a bug + in xmlReconciliateNs() + +Mon Oct 28 13:51:55 CET 2002 Daniel Veillard + + * tree.c: applied patch from Christian Glahn to allow + xmlNewChild() on document fragment nodes + +Sat Oct 26 15:27:00 CEST 2002 Daniel Veillard + + * parser.c: Christian Glahn found a problem with a recent + patch to xmlParseBalancedChunkMemoryRecover() + * xmlschemas.c: Charles Bozeman fixed some Schemas validation + problems + * result/schemas/elem* result/schemas/seq* test/schemas.elem* + test/schemas/seq*: added the test cases from Charles + +Wed Oct 23 16:42:29 CEST 2002 Daniel Veillard + + * Makefile.am config.h.in libxml.spec.in doc/Makefile.am: + serious cleanup of the spec file and associated changes + in the Makefiles. + * valid.c: try to remove some warnings on x86_64 + +Wed Oct 23 10:53:42 CEST 2002 Daniel Veillard + + * include/Makefile.am: added winsockcompat.h to EXTRA_DIST to + fix bug #96586 + +Tue Oct 22 21:13:06 CEST 2002 Daniel Veillard + + * HTMLparser.c: Mikhail Sogrine pointed out a bug in HTML + parsing, applied his patch + * result/HTML/attrents.html result/HTML/attrents.html.err + result/HTML/attrents.html.sax test/HTML/attrents.html: + added the test and result case provided by Mikhail Sogrine + +Tue Oct 22 19:33:20 CEST 2002 Daniel Veillard + + * vms/build_libxml.com vms/config.vms vms/readme.vms + include/libxml/parser.h include/libxml/parserInternals.h + include/libxml/tree.h include/libxml/xmlIO.h + HTMLparser.c catalog.c debugXML.c parser.c parserInternals.c + tree.c triodef.h trionan.c uri.c xmlIO.c xpath.c: + Applied the VMS update patch from Craig A. Berry + * doc/*.html: update + +Tue Oct 22 16:27:31 CEST 2002 Daniel Veillard + + * include/libxml/encoding.h encoding.c: made xmlGetUTF8Char public + +Tue Oct 22 16:25:18 CEST 2002 Daniel Veillard + + * debugXML.c: adding a grep command to --shell in xmllint + for T.V. Raman + +Tue Oct 22 16:23:57 CEST 2002 Daniel Veillard + + * xmlcatalog.c: tried to fix some of the problem with --sgml + +Mon Oct 21 09:57:10 CEST 2002 Daniel Veillard + + * parser.c: tried to fix bug #91500 where doc->children may + be overridden by a call to xmlParseBalancedChunkMemory() + +Mon Oct 21 09:04:32 CEST 2002 Daniel Veillard + + * catalog.c: tried to fix bug #90945 w.r.t. parsing of system + identifiers in SGML catalogs containing '&' + +Sun Oct 20 23:31:47 CEST 2002 Daniel Veillard + + * python/types.c: fixed bugs when passing result value tree + to Python functions. + +Fri Oct 18 13:18:53 CEST 2002 Daniel Veillard + + * configure.in: preparing the release of 2.4.26 + * doc/*: updated and rebuilt the documentation + +Wed Oct 16 20:01:46 CEST 2002 Daniel Veillard + + * parser.c: fixed a XML Namespace compliance bug reported by + Alexander Grimalovsky + +Wed Oct 16 17:18:42 CEST 2002 Daniel Veillard + + * HTMLtree.c: fixed serialization of script and style when + they are not lowercase (i.e. added using the API to the tree). + +Wed Oct 16 16:31:05 CEST 2002 Daniel Veillard + + * valid.c: make xmlValidateDocument emit a warning msg if there + is no DTD, pointed by Christian Glahn + +Wed Oct 16 16:05:38 CEST 2002 Daniel Veillard + + * xmlregexp.c xmlschemas.c: fixed the validation of sequences + content model when some of the blocks have min or max, and a couple + of bugs found in the process. + * result/schemas/list0* test/schemas/list0*: added some specific + regression tests + +Tue Oct 15 12:41:01 CEST 2002 Daniel Veillard + + * README: updated the contact informations + +Tue Oct 15 10:35:57 CEST 2002 Daniel Veillard + + * Makefile.am: use test -f instead of test -e since Solaris /bin/sh + misses it, reported by Peter Bray. + +Mon Oct 14 17:37:32 CEST 2002 Daniel Veillard + + * tree.c: investigating xmlNodeGetContent() on namespace nodes + and removed a few warnings + +Mon Oct 14 13:12:55 CEST 2002 Daniel Veillard + + * parser.c: Christian Glahn found a small bug in the push parser. + * xmlIO.c include/libxml/xmlIO.h: cleaned up and made xmlCheckFilename + public + +Wed Oct 9 23:11:02 CEST 2002 Daniel Veillard + + * xmlschemas.c include/libxml/xmlschemas.h: added + xmlSchemaNewMemParserCtxt to parse a schemas from a memory area + * testSchemas.c: added --memory to test the new interface + +Wed Oct 9 16:22:54 CEST 2002 Daniel Veillard + + * doc/index.py doc/search.php: integrated the XSLT indexing, + a few fixed in the indexer, added a scope selection at the + search level. + +Wed Oct 9 12:18:37 CEST 2002 Daniel Veillard + + * valid.c: Joe Marcus Clarke reported a segfault on FBsd + this was due to uninitialized parts of the validation context + +Tue Oct 8 23:24:20 CEST 2002 Daniel Veillard + + * debugXML.c: applied patch from Mark Vakoc except the API + change, preserved it. + * doc/*: updated the docs to point to the search engine for + information lookup or before bug/help reports. + +Tue Oct 8 18:53:31 CEST 2002 Daniel Veillard + + * doc/index.py doc/search.php: added mailing-list archives + indexing and lookup + +Tue Oct 8 10:25:07 CEST 2002 Daniel Veillard + + * tree.c: patch from Mark Vakoc to fix xmlNodeGetPath() + +Mon Oct 7 13:12:03 CEST 2002 Daniel Veillard + + * doc/index.py: improved HTML indexing + * doc/search.php: make the queries also lookup the HTML based indexes + +Sun Oct 6 23:50:29 CEST 2002 Daniel Veillard + + * doc/index.py: added HTML page indexing + +Fri Oct 4 15:33:55 CEST 2002 Igor Zlatkovic + + * xmlIO.c: extended Windows path normalisation to fix the base + problem in libxslt. + * catalog.c: fixed list handling in XML_CATALOG_FILES + +Fri Oct 4 13:43:02 CEST 2002 Daniel Veillard + + * valid.c: typo/bug found by Christian Glahn + +Sun Sep 29 19:44:10 CEST 2002 Igor Zlatkovic + + * xmlIO.c: applied Windows CE patch from Javier. + * win32/wince: new directory, contains support for the PocketPC + with Windows CE from Javier. + * include/win32config.h: reorganised, removed duplicate + definitions and applied WinCE patch from Javier. + * include/wsockcompat.h: new file, now contains WinSock + compatibility macros. + * win32/Makefile.msvc: introduced double-run compilation. + +Thu Sep 26 19:48:06 CEST 2002 Daniel Veillard + + * configure.in include/libxml/xmlwin32version.h: preparing release + of 2.4.25 + * doc/*: updated and regenerated the docs and web pages. + +Thu Sep 26 17:33:46 CEST 2002 Daniel Veillard + + * SAX.c valid.c include/libxml/valid.h: fixed bug #92518 validation + error were not covering namespace declarations. + * result/valid/dia.xml test/valid/dia.xml: the test wasn't valid, + it was missing the attribute declaration for the namespace + * result/VC/NS3: the fix now report breakages in that test + +Thu Sep 26 14:39:07 CEST 2002 Daniel Veillard + + * HTMLtree.c: fixing bug #94241 on HTML boolean attributes + +Thu Sep 26 14:25:33 CEST 2002 Daniel Veillard + + * doc/*: added the 3 new modules xmlregexp xmlautomata and xmlunicode + and regenerated the docs and web site + +Thu Sep 26 11:45:42 CEST 2002 Daniel Veillard + + * xinclude.c xmlschemas.c xmlschemastypes.c xpath.c: make sure + ATTRIBUTE_UNUSED is always put after the attribute declaration, + not before + +Thu Sep 26 11:33:28 CEST 2002 Daniel Veillard + + * python/generator.py python/libxml2class.txt: fixed a stupid error + breaking the python API + +Thu Sep 26 00:31:46 CEST 2002 Daniel Veillard + + * trio.c trio.h triodef.h trionan.c trionan.h triop.h + triostr.c triostr.h: applied a trio update patch from + Bjorn Reese which should work with MinGW + +Thu Sep 26 00:21:18 CEST 2002 Daniel Veillard + + * tree.c: improving some documentation comments + * xmlregexp.c: found and fixed a mem leak with python regression tests + * doc/*: rebuilt the doc and the API XML file including the + xmlregexp.h xmlautomata.h and xmlunicode.h headers + * python/generator.py python/libxml2class.txt python/libxml_wrap.h + python/types.c: added access to the XML Schemas regexps from + python + * python/tests/Makefile.am python/tests/regexp.py: added a + simple regexp bindings test + +Tue Sep 24 08:10:48 MDT 2002 John Fleck + + * doc/xml.html: + fixing ftp links - thanks to Vitaly Ostanin + +Tue Sep 24 16:08:17 CEST 2002 Daniel Veillard + + * xmlregexp.c: fixed the data callback on transition functionality + which was broken when using the compact form + * result/schemas/*: updated the results, less verbose, all tests + pass like before + * DOCBparser.c testAutomata.c testC14N.c testSchemas.c testThreads.c + testXPath.c valid.c xinclude.c xmllint.c xmlregexp.c xmlschemas.c + xmlschemastypes.c xpath.c python/libxml.c: removed a bunch of + annoying warnings + * xpath.c: try to provide better error report when possible + +Sat Sep 21 14:56:37 CEST 2002 Daniel Veillard + + * Makefile.am: fixed a breakage raised by Jacob + +Fri Sep 20 20:08:18 CEST 2002 Igor Zlatkovic + + * include/win32config.h: added HAVE_ERRNO_H definition for parts + which don't use sockets + +Fri Sep 20 18:40:50 CEST 2002 Igor Zlatkovic + + * win32/Makefile.msvc: applied zlib patch from Daniel Gehriger + * win32/configure.js: applied zlib patch from Daniel Gehriger + +Fri Sep 20 15:40:14 CEST 2002 Igor Zlatkovic + + * win32/configure.js: applied the patch from Mark Vakoc for + regexp support + * win32/libxml2.def.src: applied the patch from Mark Vakoc + for regexp support + +Fri Sep 20 15:35:33 CEST 2002 Daniel Veillard + + * xmlschemastypes.c: as pointed by Igor Float and Double + parsing ain't finished yet + +Fri Sep 20 14:00:16 CEST 2002 Daniel Veillard + + * Makefile.am configure.in: trying to fix #88412 by bypassing + all the python subdir if python ain't detected + +Thu Sep 19 21:46:53 CEST 2002 Daniel Veillard + + * Makefile.am configure.in include/libxml/xmlversion.h.in: + made configuring with regexps/automata/unicode the default + but without schemas ATM + * testRegexp.c valid.c xmlregexp.c include/libxml/xmlregexp.h: + fixed the regexp based DTD validation performance and memory + problem by switching to a compact form for determinist regexps + and detecting the determinism property in the process. Seems + as fast as the old DTD validation specific engine :-) despite + the regexp built and compaction process. + +Wed Sep 18 18:27:26 CEST 2002 Daniel Veillard + + * valid.c: determinism is debugged, new DTD checking code now works + but xmlFAComputesDeterminism takes far too much CPU and the whole + set usues too much memory to be really usable as-is + +Wed Sep 18 00:54:30 CEST 2002 Daniel Veillard + + * tree.c: fixed another stupid bug in xmlGetNodePath() + * xmllint.c: --version now report the options compiled in + +Tue Sep 17 23:48:07 CEST 2002 Daniel Veillard + + * HTMLparser.c: small cleanup + * valid.c xmlregexp.c: switched DTD validation to use only regexp + when configured with them. A bit of debugging around the determinism + checks is still needed + +Tue Sep 17 21:22:25 CEST 2002 Daniel Veillard + + * python/libxml_wrap.h: stupid bug found by mattam@netcourrier.com + +Tue Sep 17 19:58:26 CEST 2002 Daniel Veillard + + * xmlIO.c: small portability glitch fixed. + +Mon Sep 17 12:38:08 CEST 2002 Daniel Veillard + + * xmlschemastypes.c: incomplete steps for real/double support + * testAutomata.c include/libxml/xmlautomata.h + include/libxml/xmlregexp.h: avoiding a compilation problem + * valid.c include/libxml/valid.h: starting the work toward using + the regexps for actual DTD validation + +Fri Sep 13 16:46:14 CEST 2002 Daniel Veillard + + * hash.c: cosmetic cleanup + * valid.c include/libxml/tree.h include/libxml/valid.h: started + integrating a DTD validation layer based on the regexps + +Thu Sep 12 18:01:29 CEST 2002 Daniel Veillard + + * xmlregexp.c xmlschemas.c: fixed a bug reported by Jeff Goff, + the determinism was tested before eliminating the epsilon + transitions :-( + +Thu Sep 12 16:57:45 CEST 2002 Daniel Veillard + + * python/generator.py python/libxml.c python/libxml.py + python/libxml2-python-api.xml python/libxml2class.txt + python/libxml_wrap.h python/types.c: updated the python + bindings, added code for easier File I/O, and the ability to + define a resolver from Python fixing bug #91635 + * python/tests/Makefile.am python/tests/inbuf.py + python/tests/outbuf.py python/tests/pushSAXhtml.py + python/tests/resolver.py python/tests/serialize.py: updated + and augmented the set of Python tests. + +Tue Sep 10 21:05:28 CEST 2002 Igor Zlatkovic + + * win32/configure.js: added more readme info for the binary + package. + +Tue Sep 10 14:15:18 CEST 2002 Daniel Veillard + + * xmlIO.c: fixed a stupid out of bound array error + +Tue Sep 10 13:09:14 CEST 2002 Daniel Veillard + + * include/libxml/xmlIO.h xmlIO.c parser.c HTMLparser.c DOCBparser.c: + messing around with support for Windows path, cleanups, + trying to identify and fix the various code path to the + filename access. Added xmlNormalizeWindowsPath() + +Thu Sep 5 16:19:18 CEST 2002 Daniel Veillard + + * error.c valid.c: working on better error reporting of validity + errors, especially providing an accurate context. + * result/valid/xlink.xml.err result/valid/rss.xml.err: better + error reports in those cases. + +Thu Sep 5 13:29:47 CEST 2002 Daniel Veillard + + * DOCBparser.c HTMLparser.c c14n.c entities.c list.c + parser.c parserInternals.c xmlIO.c: get rid of all the + perror() calls made in the library execution paths. This + should fix both #92059 and #92385 + +Thu Sep 5 13:13:17 CEST 2002 Daniel Veillard + + * xmllint.c: memory leak reporting was broken after a change + of the preprocessor symbol used to activate it. + +Thu Sep 5 13:10:57 CEST 2002 Daniel Veillard + + * tree.c: try to make the copy function work for node of + type XML_DOCUMENT_FRAG_NODE, they are only created by the + DOM layers though, not libxml2 itself. + +Thu Sep 5 12:57:38 CEST 2002 Daniel Veillard + + * valid.c: try to provide file and line informations, not all + messages are covered, but it's a (good) start + +Thu Sep 5 12:49:35 CEST 2002 Daniel Veillard + + * xinclude.c: reimplemented a large part of the XInclude + processor, trying to minimize resources used, James Henstridge + provided a huge test case which was exhibiting severe memory + consumption problems. + +Thu Sep 5 10:07:13 CEST 2002 Daniel Veillard + + * python/Makefile.am: applied patch from Christophe Merlet to + reestablish DESTDIR + +Wed Sep 4 14:13:34 CEST 2002 Daniel Veillard + + * libxml.spec.in: fixes library path for x86_64 AMD + +Tue Sep 3 21:14:19 MDT 2002 John Fleck + + * doc/tutorial/includekeyword.c + * doc/tutorial/xmltutorial.xml: + (plus resulting generated html files) + fixing one spot I missed in the tutorial where I hadn't freed + memory properly + +Sat Aug 31 19:31:17 MDT 2002 John Fleck + + * doc/tutorial/includeaddattribute.c + * doc/tutorial/includeaddkeyword.c + * doc/tutorial/includegetattribute.c + * doc/tutorial/includekeyword.c + * doc/tutorial/xmltutorial.xml + * doc/tutorial/*.html: + update tutorial to properly free memory (thanks to Christopher + R. Harris for pointing out that this needs to be done) + * doc/tutorial/images/callouts/*.png: + added image files so the callouts are graphical, making it + easier to read ( use "--param callout.graphics 1" to generate + html with graphical callouts) + +Wed Aug 28 13:44:54 CEST 2002 Daniel Veillard + + * doc/Libxml2-Logo-180x168.gif doc/Libxml2-Logo-90x34.gif: + nice logos generated by Marc Liyanage + * doc/site.xsl *.html: changed the stylesheet to show the new + logo and regenerated the pages + +Sun Aug 25 16:38:05 CEST 2002 Daniel Veillard + + * xmlIO.c: handle Windows sepecific file://localhost/ semantic ... + +Thu Aug 22 22:03:19 CEST 2002 Daniel Veillard + + * xpath.c: possible mem leak patch from Jason Adams + +Thu Aug 22 17:27:30 CEST 2002 Daniel Veillard + + * xpath.c: integrated xf:escape-uri() from Wesley Terpstra + in the XQuery namespace + * configure.in: preparing 2.4.24 + * doc/*.html: updated the web pages + +Thu Aug 22 16:19:42 CEST 2002 Daniel Veillard + + * python/generator.py: closing bug #85258 by generating conditional + compile check to avoid linking to routines not configured in. + +2002-08-22 Havoc Pennington + + * autogen.sh: update error message for missing automake + +Thu Aug 22 11:45:50 CEST 2002 Daniel Veillard + + * python/Makefile.am: typo in target name resulted in libxml2.py + to not be rebuilt. fixed DESTDIR similarly to the libxslt one. + +Thu Aug 22 09:15:00 CEST 2002 Daniel Veillard + + * win32/win32/Makefile.mingw: updated with version from + Elizabeth Barham at http://soggytrousers.net/repository/ + +Tue Aug 20 16:40:48 CEST 2002 Igor Zlatkovic + + * win32/Makefile.msvc: added the prefix location to the include + and lib search path. + +2002-08-18 Havoc Pennington + + * autogen.sh: hardcode aclocal-1.4/automake-1.4 so that users with + both automake 1.6 and 1.4 installed get the right automake. Means + compilation from CVS will now require the latest automake 1.4 + release, or manually creating symlinks called "automake-1.4" and + "aclocal-1.4" + +Wed Aug 14 18:54:19 CEST 2002 Daniel Veillard + + * configure.in python/Makefile.am: more AMD 64 induced changes from + Frederic Crozat + +Wed Aug 14 16:43:53 CEST 2002 Daniel Veillard + + * xinclude.c: oops I was missing the xml:base fixup too + * result/XInclude/*.xml: this adds xml:base attributes to most + results of the tests + +Wed Aug 14 16:05:37 CEST 2002 Daniel Veillard + + * xinclude.c: quick but apparently working implementation of + xi:fallback, should close bug #89684 + * Makefile.am test/XInclude/docs/fallback.xml + result/XInclude/fallback.xml: added a basic test for fallback, + and run with --nowarning to avoid a spurious warning + * configure.in: applied patch from Frederic Crozat for python + bindings on AMD 64bits machines. + +Wed Aug 14 10:47:46 CEST 2002 Daniel Veillard + + * parser.c: xmlSAXUserParseMemory() really ought to fail if + the caller don't pass a SAX callback block. + +Wed Aug 14 10:29:02 CEST 2002 Daniel Veillard + + * tree.c: applied the same fix for the XML-1.0 namespace to + xmlSearchNsByHref() as was done for xmlSearchNs() + +Mon Aug 12 16:52:08 CEST 2002 Daniel Veillard + + * libxml.3: small cleanup of the man page + * HTMLtree.c: fixed a potential problem raised by Petr Vandrovec + when serializing HREF attributes generated by XSLT. + +Mon Aug 12 15:24:05 CEST 2002 Daniel Veillard + + * HTMLtree.c include/libxml/HTMLtree.h: integrated a cleaned up + version of Marc Liyanage' patch for boolean attributes in HTML + output + +Mon Aug 12 14:11:59 CEST 2002 Daniel Veillard + + * python/tests/serialize.py: fixed the test results, indenting + behaviour changed slightly + +Thu Aug 8 11:00:26 2002 Aleksey Sanin + + * win32/dsp/libxml2.def.src win32/libxml2.def.src: added + new c14n function to Windows def files + +Fri Aug 2 16:46:46 2002 Aleksey Sanin + + * c14n.c: fixed a memory leak in c14n code + +Sat Aug 3 00:15:06 CEST 2002 Daniel Veillard + + * parser.c include/libxml/parser.h: adding a new API for Christian + Glahn: xmlParseBalancedChunkMemoryRecover + * valid.c: patch from Rick Jones for some grammar cleanup in + validation messages + * result/VC/* result/valid/*: this slightly change some of the + regression tests outputs + +Thu Aug 1 14:50:28 CEST 2002 Daniel Veillard + + * tree.c: trying to fix a problem in namespaced attribute handling + raised by Christian Glahn + +Thu Aug 1 12:17:30 CEST 2002 Daniel Veillard + + * encoding.c include/libxml/encoding.h: Opening the interface + xmlNewCharEncodingHandler as requested in #89415 + * python/generator.py python/setup.py.in: applied cleanup + patches from Marc-Andre Lemburg + * tree.c: fixing bug #89332 on a specific case of losing + the XML-1.0 namespace on xml:xxx attributes + +Wed Jul 31 23:27:42 2002 Aleksey Sanin + + * c14n.c include/libxml/c14n.h: fixed one more c14n + namespaces + corner case from new Merlin's test suite and added a callback + that will be used to improve xmlsec performance + +Mon Jul 29 18:22:00 CEST 2002 Daniel Veillard + + * HTMLtree.c: trying to fix the + + diff --git a/result/HTML/53867.html.err b/result/HTML/53867.html.err new file mode 100644 index 0000000..e69de29 diff --git a/result/HTML/53867.html.sax b/result/HTML/53867.html.sax new file mode 100644 index 0000000..1bb0d14 --- /dev/null +++ b/result/HTML/53867.html.sax @@ -0,0 +1,26 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(style) +SAX.cdata( +....... +....................., 1000) +SAX.cdata(.............................., 1000) +SAX.cdata(.............................., 1000) +SAX.cdata(................ +............., 977) +SAX.endElement(style) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/result/HTML/758518-entity.html b/result/HTML/758518-entity.html new file mode 100644 index 0000000..e72b0cb --- /dev/null +++ b/result/HTML/758518-entity.html @@ -0,0 +1,2 @@ + +

diff --git a/result/HTML/758518-entity.html.err b/result/HTML/758518-entity.html.err new file mode 100644 index 0000000..0186677 --- /dev/null +++ b/result/HTML/758518-entity.html.err @@ -0,0 +1,3 @@ +./test/HTML/758518-entity.html:1: HTML parser error : htmlParseEntityRef: expecting ';' +Ù + ^ diff --git a/result/HTML/758518-entity.html.sax b/result/HTML/758518-entity.html.sax new file mode 100644 index 0000000..3d017ab --- /dev/null +++ b/result/HTML/758518-entity.html.sax @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.error: htmlParseEntityRef: expecting ';' +SAX.startElement(html) +SAX.startElement(body) +SAX.startElement(p) +SAX.characters(&, 1) +SAX.characters(Ù, 2) +SAX.endElement(p) +SAX.endElement(body) +SAX.endElement(html) +SAX.endDocument() diff --git a/result/HTML/758518-tag.html b/result/HTML/758518-tag.html new file mode 100644 index 0000000..f99f421 --- /dev/null +++ b/result/HTML/758518-tag.html @@ -0,0 +1,2 @@ + +

diff --git a/result/HTML/758518-tag.html.err b/result/HTML/758518-tag.html.err new file mode 100644 index 0000000..c912c91 --- /dev/null +++ b/result/HTML/758518-tag.html.err @@ -0,0 +1,3 @@ +./test/HTML/758518-tag.html:1: HTML parser error : PI is not started correctly +“ +^ diff --git a/result/HTML/758518-tag.html.sax b/result/HTML/758518-tag.html.sax new file mode 100644 index 0000000..fd4aa94 --- /dev/null +++ b/result/HTML/758518-tag.html.sax @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.error: PI is not started correctlySAX.startElement(html) +SAX.startElement(body) +SAX.startElement(p) +SAX.characters(“, 2) +SAX.endElement(p) +SAX.endElement(body) +SAX.endElement(html) +SAX.endDocument() diff --git a/result/HTML/758605.html b/result/HTML/758605.html new file mode 100644 index 0000000..60b01d3 --- /dev/null +++ b/result/HTML/758605.html @@ -0,0 +1,3 @@ + +

&ê +

diff --git a/result/HTML/758605.html.err b/result/HTML/758605.html.err new file mode 100644 index 0000000..2086f96 --- /dev/null +++ b/result/HTML/758605.html.err @@ -0,0 +1,3 @@ +./test/HTML/758605.html:1: HTML parser error : htmlParseEntityRef: expecting ';' +ê + ^ diff --git a/result/HTML/758605.html.sax b/result/HTML/758605.html.sax new file mode 100644 index 0000000..1f18426 --- /dev/null +++ b/result/HTML/758605.html.sax @@ -0,0 +1,14 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.error: htmlParseEntityRef: expecting ';' +SAX.startElement(html) +SAX.startElement(body) +SAX.startElement(p) +SAX.characters(&, 1) +SAX.characters(ê, 2) +SAX.characters( +, 1) +SAX.endElement(p) +SAX.endElement(body) +SAX.endElement(html) +SAX.endDocument() diff --git a/result/HTML/758606.html b/result/HTML/758606.html new file mode 100644 index 0000000..4f21f62 --- /dev/null +++ b/result/HTML/758606.html @@ -0,0 +1,2 @@ + + diff --git a/result/HTML/758606.html.err b/result/HTML/758606.html.err new file mode 100644 index 0000000..060433a --- /dev/null +++ b/result/HTML/758606.html.err @@ -0,0 +1,16 @@ +./test/HTML/758606.html:1: HTML parser error : Comment not terminated + + +Welcome to Copernic.com + + + + + + + + + + + + + + + + <body bgcolor="#FFFFFF" text="#000000" link="#000080" vlink="#000080" alink="#000080" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0"> + <p>This page uses frames, but your browser doesn't support them.</p> + </body> + + + diff --git a/result/HTML/doc2.htm.err b/result/HTML/doc2.htm.err new file mode 100644 index 0000000..5ac09cd --- /dev/null +++ b/result/HTML/doc2.htm.err @@ -0,0 +1,3 @@ +./test/HTML/doc2.htm:10: HTML parser error : Misplaced DOCTYPE declaration + + + +BP6.com #1 online resource for the BP6 Mobo.... + + + + + + + + + + + +

+

+
+ + + + + + + + + + + + + +
+
+

Monday, July 31st, 2000

+
+ + + + +
+
+

+

+ + + + + + +
+
+
+ + + + + + + + + + + + +
+

Abit BP6 Motherboard specification and information.
BP6 Specs +

+
+

How to cool the BX Chipset on your BP6.
BX Cooling +

+
+

The U;timate Gaming Contest - Coming Soon!
UGM Contest +

+
+

Cooling & Heatsink review for the BP6.
Heatsinks +

+
+

BP6 101 - Class is now in session. Welcome newbies!
BP6 101 +

+
+

Install guide for installing Windows 2000 on the BP6
Win2k Install +

+
+

Taking a first look at the Abit Linux release called
Gentus +

+
+
+
+
+
+
+ + + + + + + + +
+ + + + + + +
+
REVIEWS
+
+
BP6 Reviews
BP6 Watercooling
BX Chipset Cooling
Benchmarks
BP6FSB Utility
PowerLeap NEO S370
SETI on the BP6
Golden Orbs I
Golden Orbs II
VTT Solution

NAVIGATE +
+
News
Online Text Chat
Voice Chat
Messageboard
Temp. Converter
Picture Gallery
Latest BIOS
Drivers & Files
UGM of the week
BP6 Contest

OTHER STUFF + +
+
Who is Tim?
Contact BP6.com
Affiliates Section
Sponsors Section
Links

PC SPECIALS +
+
Vendor + Specials


Pic of the day +
+ +
+

No picture is available for today.

+
+
+
+
+
+
+
+
+

+

+ + + + + + +
+
+ +
+
Headlines
Chat + with ABIT - 8:09PM PDT
Fixed + wallpaper - 11:47PM PDT
Seti + update - 10:40PM PDT
Judge + gives Napster the Boot!! - 2:10PM PDT
Ram + Sinks.. more cooling for small places. - 8:54AM + PDT
is + it [H]ard? - 9:19PM PDT
WiLd + CaSe!! - 1:40PM PDT
What + the heck is a Peltier?!?! - 10:05AM PDT
HELLO + EVERYONE!!! - 10:03PM PDT
BP6 + Q3 server up and running.. - 2:06AM PDT

+ + + + + + +
Sunday, + July 30, 2000
+
Chat with + ABIT
Posted by Holodeck2 @ 8:09PM + PDT 0 comments + |top
I’m slacking a little. All game no + work makes Holodeck2 a happy boy :-)

Wallpaper update: I got + off my lazy ass and redid the 1280x1024 wall paper, now it has the 2 + celerons.

Fullon3d had a live chat with that Eric guy from Abit. + Submitted by: MJS

Here’s a little clip:
[Falcon] + BP6-2??
[EricBoeing] We already have a micro ATX dual flip-chip + board
[EricBoeing] but it's OEM only
[EricBoeing] the full ATX + version should be out Septemberish


+ + + + + + +
Thursday, + July 27, 2000
+
Fixed + wallpaper
Posted by Holodeck2 @ 11:47PM + PDT 5 comments + |top
Get them now!!
This is a + fixed bp6 wallpaper. In all the popular flavors, err... + resolutions.

It's still the Intels Inside one with a spelling + change; from "Mothboard" to "Motherboard"

Thanks to Matt for + pointing that out to me.
I would also like to thank Kevin for + hosting my last batch and Radu for the previous "DUEL"/"DUAL" + error.
And 1 more person, THANK YOU TIM for letting me borrow + your server space ;-)

If you need a weird resolution, feel + free to e-mail me requesting + for one.
If you have ideas or more errors to point out, mailto:Holodeck2@home.com

800x600
1024x768
1152x864
1280x1024
1600x1200
+

Enjoy :-)
+

+

Holodeck2,
[H]ard at + work on the Brand Spanking New Wallpaper.



Seti update
Posted by Holodeck2 @ 10:40PM + PDT 5 comments + |top

You like the + pic?

Bp6 User Group Update:
Completed 61531 + units!!
#168 on Top 200 All Groups (Going to pass CLRC in + a few days)
#74 on Top 200 Teams (Gaining fast on + Starfleet)

We are flying though at the speed of light (may be + a little slower).
Good job everyone!!

Check this page at + least once a day for new stuff :-)


Judge gives Napster the + Boot!!
Posted by Holodeck2 @ 2:10PM + PDT 0 comments + |top
Good afternoon for everyone living in + EST. I was going to post today morning but I didn't. Here's my + story:
I woke up and thought about posting something but I + decided to wax my car before the sun came up (draw your own + conclusions), wax on, wax off, wax on,..., did that for about an + hour. Then I saw the sun rise (Aaahh I'm melting... not). I sat in + front of my comp and started to search for good news to post. Saw + that a stoopid judge temporally shuts down napster. Goes to room and + cry. and now I'm here :-)

Judge shuts Napster down +


Check out the Goofy guy in the suit
He's Sean + Fanning, founder of Napster.

Got news?? mailto:Holodeck2@home.com


Ram Sinks.. more cooling for small + places.
Posted by tim @ 8:54AM PDT 0 comments + |top
Need some cooling for your Videocard + memory to get a little extra overclockability and FPS? Overclockers Hiedout Ram Sinks They just notified + me of their new design.


+ + + + + + +
Wednesday, July 26, + 2000
+
is it + [H]ard?
Posted by Holodeck2 @ 9:19PM + PDT 0 comments + |top
Big heatsinks are good, very good. The + bigger the better.
You can never can have a too big of heatsink + on a small chip (CPU, GPU, CHIPSET, etc)


My overclocked + Voodoo3 2000 with a BIG mofo heatsink on top.
Peltier and + watercooling next up :-)
(if you pry off the heatsink you void + the warranty )

it was originally posted on [H]ardOCP
I’m not only a + BP6er but also a [H]ardOCPer


WiLd CaSe!!
Posted by Holodeck2 @ 1:40PM + PDT 8 comments + |top
Now this person really knows how to + keep his case cool!!
Addin an 18" Fan!! WOW!!


Click to go to his + site.


What the heck is a + Peltier?!?!
Posted by Holodeck2 @ 10:05AM + PDT 6 comments + |top
This is for all you people who wanted + to know what a peltier is.

The quest fo the Perfect + Peltier

Thanks to + TweakMax.com +

Note: Today morning when I woke up I saw my whole screen + cluttered with a bunch of IMs!! I live in the USA on EST. If you + live somewhere else please check the time in my area. for example: + If you live in Europe and IM me in the morning your time I would be + sleeping it would be like 4 in the morning here. Just to let you + know
I'm not angry at anyone... + good thing I have a long fuse


+ + + + + + +
Tuesday, + July 25, 2000
+
HELLO + EVERYONE!!!
Posted by Holodeck2 @ 10:03PM + PDT
Hello + everyone, Woohoo!! I'm on!!
Who is this Holodeck2 person + anyways?!?! Read on :-)
I’m a regular on the bp6 messageboard, + trying to help people out with their problems.
I’m the + self-proclaimed bp6 cooling expert, If you have a cooling idea, I’ve + probably already done it and can offer some incite.
My computer + is always on so you can contact me whenever... problem is, I'm not + always in front of it. I'll try to update this page and keep + everyone happy :-)
Any Questions or comments, you can either + contact me or post it on the messageboard.

Ways to contact + me.
E-mail: Holodeck2@home.com (All E-mails + will be answered in 24 hours or less, I guarantee it.)
When you + write me an e-mail please put in the subject line "BP6" then the + rest of your subject so my e-mail program can sort it, thanks
AIM: Holodeck2 (instant response + if I’m in front of my comp and not trying to frag someone)
ICQ: 82640218 (rarely + on)

P.S. If someone named “Digital Vortex” on either Quake 3 + or 2 frags you, it’s probably me. ;-)


+ + + + + + +
Monday, + July 24, 2000
+
BP6 Q3 server up and + running..
Posted by tim @ 2:06AM PDT 3 comments + |top
Setup a Q3 server for anyone wanting + to practice in preparation for Quakecon.. Connect to bp6.dyndns.org + default port. (SERVER: BP6 system, 256 MB ram, celeron 600 on a T3 + connection)... Will be moved to another BP6 server eventually. This + is only a temporary test of the system and net connection.
(BTW- + there are a few bot's running around in there..)


BIOS Savior to the + rescue....
Posted by tim @ 12:53AM PDT 2 comments + |top
Do you sweat during the BIOS flashing + procedure on your BP6 mobo? If so then this little gadget maybe + worth a first look. It's called the "RD1 BIOS Savior" and it + plugs in between your BIOS ROM and the BIOS ROM socket on your mobo. + This device will backup your BIOS and and allow you to recover your + BIOS in the event that your flashing session goes wrong. In the + event of a bad flash, just flip a switch on the RDI and boot up your + system, and flash again. This is also good as a failsafe in case you + don't believe in Virus Protecting your computer. (Thanks to Fred for + link)
Manufacturers Brochure (PDF Format)
Another info page
Available for about $20



+ + + + + + +
Monday, + July 17, 2000
+
How To + Overclock
Posted by DareDevil @ 4:17PM + PDT 3 comments + |top
For those of you who are new to + overclocking, this guide will explain to you how to overclock, and + what some of the terms are. Like 'FSB' (what the heck is that!? + :0))

How To Overclock


The Cardcooler + XT
Posted by DareDevil @ 4:11PM + PDT 1 comments + |top
Wow! I am impressed! Nevermind keeping + the CPU's cool... Keep your whole board cool!

Even if your + not overclocking your system (or planning on it), this unit will + provide system stability and longevity. What would happen one day of + your GeForce or CPU fan went dead? You can also think of this + cooling unit as a backup to essential cooling fans in your + system.

Check this out!

http://www.brokenpixel.com/articles/coolerXT/cardcoolerXT_1.shtml +


'Nerd + Inside'
Posted by DareDevil @ 11:53AM + PDT 1 comments + |top
We all need to have some fun + sometimes! Check out this little web site that sells 'nerd' clothing + ;) (I like the bibs in the Junior Hackerz section) :-

+


Dual PSU Wiring diagram... (preview to + Part 1 Watercooling Project)
Posted by tim @ 12:43AM PDT 11 comments + |top
When is comes to overclocking your + system, cooling plays a big role. Powering all of those fans in your + system can cause quite a strain on your PSU (Power Supply Unit). + Depending on the number of peripherals in your system, adding a more + powerfull PSU or adding a second PSU may be neccesary. For + watercooling and using peltiers, dedicating a second PSU to power + the Peltiers (TEC's) is a good idea. Here I have come up with 2 + diagrams on how I wired dual 300 watt ATX power supply units for the + Blizzard BP6 watercooling project. Consider this part of Step 1. + More will follow this week. BTW.. hacking up your PSU's is very + dangerous and is not recommended unless you know what you are doing. +

View Diagram 1 here.
View Diagram 2 here.

I used Tap-In Squeeze Connectors and + 22 guage wire to connect the wires. You can get them at Radio Shack + Part# 64-3053 or click here.


+ + + + + + +
Sunday, + July 16, 2000
+
RAM Overclocking? + Hmmmmm.
Posted by DareDevil @ 9:57AM + PDT 3 comments + |top
I know we're pretty big overclockers + here at BP6.Com so, this is a post of choice ;-) I've seen the + question in the message boards, 'why can't I overclock any higher?' + Well, it's not always the CPU that's holding you back... Many other + things need to be taken care of to overclock such as your PCI + devices (can they handle the higher bus speed), the actual CPU, and + your RAM. I'm not saying that that a high quality stick of silicon + will enable you to overclock your 366MHz to 1 GHZ (I wish!), but, it + will certainly help =)

Extreme Overclocking has tested + (overclocked) PC133 RAM to there full potential. Here's a quote I + found and the link:

Well, the guys at Extreme Overclocking + have been hard at work again with their latest review. This time + they have put seven 128MB PC133 memory modules through the torture + tests to determine their maximum overclocking potential. Which one's + came out on top? Read the review to find out....

Cooked RAM... Yummie

The + .


CPU + Guide
Posted by DareDevil @ 9:17AM + PDT 0 comments + |top
A follow up on the 'Weekly CPU + Prices', this guide will help you determine which cpu is best for + you (and your board ;-)). Sent to me by Spanky, here's the + link:

+
  • http://www6.tomshardware.com/howto/00q2/000412/index.html


  • + + + + + + +
    Saturday, + July 15, 2000
    +
    Weekly CPU + Prices
    Posted by DareDevil @ 11:29AM + PDT 2 comments + |top
    Wow, found this very useful! Wanting + to buy a new CPU? Check out this detailed price list!

    Click Here.

    Thanks Sharky + Extreme!


    Fast Wallpapers
    Posted by DareDevil @ 9:51AM + PDT 0 comments + |top
    FAST-MHz has released some wallpapers! + Click here to view them. They come in sizes + 800x600 1024x768 and 1152x864. If you have your desktop set at a + larger size, just use the 'stretch' function in desktop properties + instead of 'center'. Works great.

    In other news, we want to + finnish off all the sections at BP6.Com so, to start, we're going to + work on the Picture Gallery. To help us out, you can send in + all your cool, wierd, crazy pics that you may have to: thedaredevil@bp6.com. (The + topic being computers, duh! :0) And no... I don't want to recieve + any porno piccies in my mailbox! I have enough of those!) Kidding + guys.

    Okay, that's all for now.

    The + .


    + + + + + + +
    Friday, + July 14, 2000
    +
    Hey + There!
    Posted by DareDevil @ 5:05PM + PDT 7 comments + |top
    Hey guys, just wanted to introduce + myself, some of you may have already met me on the BP6.com board. + I'll be posting up news from time to time now so, if you'd like, you + may send me some news to be posted if you find any ( we don't want + to flood Tim ;-) ).

    My e-mail address is killz@i82hq.com

    Ciao for + now.

    The .


    +
    +
    +
    +
    +
    +

    +

    + + + + + + +
    +
    + + +
    Newsletter


    + + +
    Search news


    News + archive +
    +
    + + + + + + + +
    + + + + +
    +
    +

    PC Price + Search

    +

    +
    +
    +



    BP6.com Special - Enter CODE: BP6-hd in the order (notes) to receive a discount
    BP6.COM + Special
    Code:BP6-hd
    + + + + + + +
    +
    +
    + +
    + + + + + + + + + +
    +

    Copyright + 1999-2000 BP6.com, All rights reserved.
    Got news? Send it to
    Tim

    +
    +
    + + + diff --git a/result/HTML/doc3.htm.err b/result/HTML/doc3.htm.err new file mode 100644 index 0000000..cdf715a --- /dev/null +++ b/result/HTML/doc3.htm.err @@ -0,0 +1,81 @@ +./test/HTML/doc3.htm:10: HTML parser error : Misplaced DOCTYPE declaration +

    + ^ +./test/HTML/doc3.htm:236: HTML parser error : Unexpected end tag : font + Specials




    + ^ +./test/HTML/doc3.htm:747: HTML parser error : Unexpected end tag : font +om/ad_static.asp?pid=2097&sid=1881&asid=7708"> + ^ +./test/HTML/doc3.htm:747: HTML parser error : Unexpected end tag : p +=7708">

    + ^ +./test/HTML/doc3.htm:772: HTML parser error : Unexpected end tag : form + archive
    Code:BP6-hd

    Code:BP6-hd

     

    < + ^ +./test/HTML/doc3.htm:840: HTML parser error : Unexpected end tag : td +
      + ^ diff --git a/result/HTML/doc3.htm.sax b/result/HTML/doc3.htm.sax new file mode 100644 index 0000000..fb33cf2 --- /dev/null +++ b/result/HTML/doc3.htm.sax @@ -0,0 +1,2878 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(HTML, -//W3C//DTD HTML 4.0 Transitional//EN, ) +SAX.comment( saved from url=(0025)http://bp6.gamesquad.net/ ) +SAX.comment( BEGIN Naviscope Javascript ) +SAX.startElement(html) +SAX.startElement(head) +SAX.startElement(title) +SAX.characters(BP6.com #1 online resource for, 47) +SAX.endElement(title) +SAX.characters( +, 2) +SAX.startElement(script, language='javascript') +SAX.cdata( + NS_ActualOpen=wind, 199) +SAX.endElement(script) +SAX.characters( +, 2) +SAX.comment( END Naviscope Javascript ) +SAX.error: Misplaced DOCTYPE declaration +SAX.internalSubset(HTML, -//W3C//DTD HTML 3.2//EN, ) +SAX.comment(last modified on Tuesday, February 22, 2000 11:47 PM ) +SAX.characters( +, 2) +SAX.startElement(meta, content='text/html;CHARSET=iso-8859-1', http-equiv='Content-Type') +SAX.endElement(meta) +SAX.characters( +, 2) +SAX.startElement(meta, content='Tim', name='Author') +SAX.endElement(meta) +SAX.characters( +, 2) +SAX.startElement(style, type='text/css') +SAX.cdata(A.nav { + COLOR: #003399; TEXT, 115) +SAX.endElement(style) +SAX.characters( + +, 4) +SAX.startElement(script, language='JavaScript') +SAX.cdata( +<!-- Idea by: Nic Wolfe (, 476) +SAX.endElement(script) +SAX.characters( + +, 4) +SAX.startElement(meta, content='MSHTML 5.00.3103.1000', name='GENERATOR') +SAX.endElement(meta) +SAX.endElement(head) +SAX.characters( +, 2) +SAX.startElement(body, alink='red', bgcolor='black', link='red', text='white', vlink='red') +SAX.characters( +, 2) +SAX.startElement(p) +SAX.characters( +, 2) +SAX.endElement(p) +SAX.startElement(div, align='center') +SAX.characters( +, 2) +SAX.startElement(table, border='0', cellpadding='0', cellspacing='0', width='80%') +SAX.characters( + , 4) +SAX.startElement(tbody) +SAX.characters( + , 4) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, valign='top', width='31') +SAX.startElement(a, href='http://bp6.gamesquad.net/') +SAX.startElement(img, align='bottom', border='0', height='74', src='doc3_files/logo.gif', width='252') +SAX.endElement(img) +SAX.endElement(a) +SAX.endElement(td) +SAX.characters( + , 6) +SAX.startElement(td, align='left', bgcolor='#000000') +SAX.startElement(img, height='15', src='doc3_files/spacer.gif', width='15') +SAX.endElement(img) +SAX.comment( START GAMESQUAD.NET IFRAME RICH MEDIA CODE ) +SAX.characters( , 1) +SAX.comment( © 2000 GameSquad.net All Rights Reserved. ) +SAX.startElement(iframe, border='0', frameborder='no', height='60', marginheight='0', marginwidth='0', scrolling='no', src='doc3_files/adcycle.htm', width='468') +SAX.characters( +, 1) +SAX.error: htmlParseEntityRef: expecting ';' +SAX.startElement(a, href='http://ads.gamesquad.net/addclick.exe/adclick.cgi?REGION=game|tech|ent&id=1', target='_top') +SAX.error: htmlParseEntityRef: expecting ';' +SAX.error: htmlParseEntityRef: expecting ';' +SAX.startElement(img, src='http://ads.gamesquad.net/addclick.exe/adcycle.cgi?group=52&media=1&id=1', width='468', height='60', border='0', alt='GSN ROS Ad') +SAX.endElement(img) +SAX.endElement(a) +SAX.characters( +, 1) +SAX.endElement(iframe) +SAX.comment( END GAMESQUAD.NET IFRAME RICH MEDIA CODE ) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(img, height='15', src='doc3_files/spacer.gif', width='400') +SAX.endElement(img) +SAX.characters( , 1) +SAX.endElement(td) +SAX.endElement(tr) +SAX.characters( + , 4) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#003399', colspan='2') +SAX.characters( + , 8) +SAX.startElement(p, align='right') +SAX.startElement(img, align='right', border='0', height='18', hspace='0', src='doc3_files/trcorner.gif', width='20') +SAX.endElement(img) +SAX.startElement(img, align='left', border='0', height='18', hspace='0', src='doc3_files/tlcorner.gif', width='20') +SAX.endElement(img) +SAX.startElement(font, face='Verdana', size='2') +SAX.characters(Monday, July 31st, 2000, 23) +SAX.endElement(font) +SAX.characters( , 1) +SAX.endElement(p) +SAX.endElement(td) +SAX.endElement(tr) +SAX.characters( + , 4) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, colspan='2') +SAX.characters( + , 8) +SAX.startElement(table, bgcolor='#003399', border='0', cellpadding='0', cellspacing='4', width='100%') +SAX.startElement(tbody) +SAX.characters( + , 10) +SAX.startElement(tr) +SAX.characters( + , 12) +SAX.startElement(td, bgcolor='#666666', width='100%') +SAX.characters( + , 14) +SAX.startElement(center) +SAX.characters( + , 14) +SAX.startElement(p) +SAX.characters( + , 14) +SAX.endElement(p) +SAX.startElement(table, bgcolor='black', border='0', cellpadding='0', cellspacing='1', width='100%') +SAX.characters( + , 16) +SAX.startElement(tbody) +SAX.characters( + , 16) +SAX.startElement(tr) +SAX.characters( + , 18) +SAX.startElement(td, background='doc3_files/hscan.gif', bgcolor='#666666', width='100%') +SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='738') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 20) +SAX.startElement(center) +SAX.characters( + , 20) +SAX.startElement(table, border='0', cellpadding='2', cellspacing='0', width='91%') +SAX.characters( + , 22) +SAX.startElement(tbody) +SAX.characters( + , 22) +SAX.startElement(tr) +SAX.characters( + , 24) +SAX.startElement(td, valign='top', width='15%') +SAX.characters( + , 26) +SAX.startElement(p, align='center') +SAX.startElement(a, href='http://bp6.gamesquad.net/specs.phtml') +SAX.startElement(img, align='bottom', alt='Abit BP6 Motherboard specification and information.', border='0', height='45', src='doc3_files/bp6icon.gif', width='70') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/specs.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(BP6 Specs, 9) +SAX.endElement(font) +SAX.endElement(a) +SAX.characters( + , 25) +SAX.endElement(p) +SAX.endElement(td) +SAX.characters( + , 24) +SAX.startElement(td, valign='top', width='15%') +SAX.characters( + , 26) +SAX.startElement(p, align='center') +SAX.startElement(a, href='http://bp6.gamesquad.net/bxcool.phtml') +SAX.startElement(img, align='bottom', alt='How to cool the BX Chipset on your BP6.', border='0', height='45', src='doc3_files/bxcool.gif', width='70') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(BX Cooling, 10) +SAX.endElement(font) +SAX.endElement(a) +SAX.characters( + , 27) +SAX.endElement(p) +SAX.endElement(td) +SAX.characters( + , 24) +SAX.startElement(td, valign='top', width='15%') +SAX.characters( + , 26) +SAX.startElement(p, align='center') +SAX.startElement(a, href='http://bp6.gamesquad.net/contest.phtml') +SAX.startElement(img, align='bottom', alt='The U;timate Gaming Contest - Coming Soon!', border='0', height='45', src='doc3_files/ugmcontest.gif', width='70') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/contest.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(UGM Contest, 11) +SAX.endElement(font) +SAX.endElement(a) +SAX.characters( + , 27) +SAX.endElement(p) +SAX.endElement(td) +SAX.characters( + , 24) +SAX.startElement(td, valign='top', width='15%') +SAX.characters( + , 26) +SAX.startElement(p, align='center') +SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml') +SAX.startElement(img, align='bottom', alt='Cooling & Heatsink review for the BP6.', border='0', height='45', src='doc3_files/alpha.gif', width='70') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Heatsinks, 9) +SAX.endElement(font) +SAX.endElement(a) +SAX.characters( + , 25) +SAX.endElement(p) +SAX.endElement(td) +SAX.characters( + , 24) +SAX.startElement(td, valign='top', width='15%') +SAX.characters( + , 26) +SAX.startElement(p, align='center') +SAX.startElement(a, href='http://bp6.gamesquad.net/101.phtml') +SAX.startElement(img, align='bottom', alt='BP6 101 - Class is now in session. Welcome newbies!', border='0', height='45', src='doc3_files/bp6101.gif', width='70') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/101.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(BP6 101, 7) +SAX.endElement(font) +SAX.endElement(a) +SAX.characters( + , 25) +SAX.endElement(p) +SAX.endElement(td) +SAX.characters( + , 24) +SAX.startElement(td, valign='top', width='15%') +SAX.characters( + , 26) +SAX.startElement(p, align='center') +SAX.startElement(a, href='http://bp6.gamesquad.net/win2k_install.phtml') +SAX.startElement(img, align='bottom', alt='Install guide for installing Windows 2000 on the BP6 ', border='0', height='45', src='doc3_files/win2kht.gif', width='70') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/win2k_install.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Win2k Install, 13) +SAX.endElement(font) +SAX.endElement(a) +SAX.characters( + , 27) +SAX.endElement(p) +SAX.endElement(td) +SAX.characters( + , 24) +SAX.startElement(td, valign='top', width='15%') +SAX.characters( + , 26) +SAX.startElement(p, align='center') +SAX.startElement(a, href='http://www.gentus.com/') +SAX.error: error parsing attribute name +SAX.startElement(img, align='bottom', alt='Taking a first look at the Abit Linux release called ', border='0', height='45', src='doc3_files/gentusbox.gif', width='70', gentus) +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.gentus.com/') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Gentus, 6) +SAX.endElement(font) +SAX.endElement(a) +SAX.characters( + , 21) +SAX.endElement(p) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.endElement(center) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.endElement(center) +SAX.error: Unexpected end tag : p +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.characters( +, 2) +SAX.startElement(table, bgcolor='#003399', border='0', cellspacing='6', width='80%') +SAX.characters( + , 4) +SAX.startElement(tbody) +SAX.characters( + , 4) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='black', valign='top', width='10%') +SAX.characters( + , 8) +SAX.startElement(table, border='0', cellpadding='3', cellspacing='0', width='100%') +SAX.characters( + , 10) +SAX.startElement(tbody) +SAX.characters( + , 10) +SAX.startElement(tr) +SAX.characters( + , 12) +SAX.startElement(td, width='100%') +SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='111') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(b) +SAX.startElement(font, color='yellow', face='Verdana', size='2') +SAX.characters(REVIEWS, 7) +SAX.endElement(font) +SAX.endElement(b) +SAX.startElement(font, face='Verdana', size='2') +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 14) +SAX.startElement(hr, align='center') +SAX.endElement(hr) +SAX.characters( + , 14) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/bp6reviews.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(BP6 Reviews, 11) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/h2o.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(BP6 Watercooling, 16) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/bxcool.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(BX Chipset Cooling, 18) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/benchmark.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Benchmarks, 10) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/bp6fsb.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(BP6FSB Utility, 14) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/powerleap.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(PowerLeap NEO S370, 18) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/seti.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(SETI on the BP6, 15) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/orbs.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Golden Orbs I, 13) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/orbs/orbs2.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Golden Orbs II, 14) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/Q6fix.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(VTT Solution, 12) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(b) +SAX.startElement(font, color='yellow', face='Verdana', size='2') +SAX.characters(NAVIGATE, 8) +SAX.endElement(font) +SAX.endElement(b) +SAX.startElement(font, color='yellow', face='Verdana', size='2') +SAX.characters( + , 15) +SAX.startElement(hr, align='center') +SAX.endElement(hr) +SAX.characters( + , 14) +SAX.endElement(font) +SAX.startElement(a, href='http://www.bp6.com/') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(News, 4) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/chat.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Online Text Chat, 16) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='javascript:popUp('chat_popup.htm')') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Voice Chat, 10) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://216.247.220.192/Forum') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Messageboard, 12) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/cooling') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Temp. Converter, 15) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Picture Gallery, 15) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/bios.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Latest BIOS, 11) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/files/') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Drivers , 8) +SAX.characters(&, 1) +SAX.characters( Files, 6) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(UGM of the week, 15) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/contest.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(BP6 Contest, 11) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(b) +SAX.startElement(font, color='yellow', face='Verdana', size='2') +SAX.characters(OTHER STUFF, 11) +SAX.endElement(font) +SAX.endElement(b) +SAX.startElement(font, color='yellow', face='Verdana', size='2') +SAX.characters( + + , 17) +SAX.startElement(hr, align='center') +SAX.endElement(hr) +SAX.characters( + , 14) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/whois.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Who is Tim?, 11) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='mailto:tim@bp6.com') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Contact BP6.com, 15) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Affiliates Section, 18) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(font, face='Verdana', size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Sponsors Section , 17) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(a, href='http://bp6.gamesquad.net/links.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Links, 5) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(font, color='yellow', face='Verdana', size='2') +SAX.characters(PC SPECIALS, 11) +SAX.endElement(font) +SAX.endElement(b) +SAX.startElement(font, color='yellow', face='Verdana', size='2') +SAX.characters( + , 15) +SAX.startElement(hr, align='center') +SAX.endElement(hr) +SAX.characters( + , 14) +SAX.endElement(font) +SAX.startElement(a, href='http://bp6.gamesquad.net/specials.phtml') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Vendor + Specials, 29) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.error: Unexpected end tag : font +SAX.error: Unexpected end tag : a +SAX.startElement(b) +SAX.startElement(font, color='yellow', face='Verdana', size='2') +SAX.characters(Pic of the day, 14) +SAX.endElement(font) +SAX.endElement(b) +SAX.characters( + , 14) +SAX.startElement(hr) +SAX.endElement(hr) +SAX.characters( + + , 29) +SAX.startElement(center) +SAX.characters( + , 14) +SAX.startElement(p, align='center') +SAX.startElement(font, face='Verdana, Arial, Helvetica', size='1') +SAX.startElement(a, href='http://bp6.gamesquad.net/cgi-bin/schlabo/potd.pl') +SAX.startElement(img, alt='No picture is available for today.', border='0', src='doc3_files/potd_na_110x83.gif') +SAX.endElement(img) +SAX.endElement(a) +SAX.characters( , 1) +SAX.endElement(font) +SAX.endElement(p) +SAX.endElement(center) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 14) +SAX.startElement(center) +SAX.endElement(center) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(FTP Help) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.endElement(td) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='white', valign='top', width='80%') +SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='490') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 8) +SAX.startElement(center) +SAX.characters( + , 8) +SAX.startElement(p) +SAX.characters( + , 8) +SAX.endElement(p) +SAX.startElement(table, bgcolor='white', border='0', cellpadding='10', cellspacing='0', height='100%', width='100%') +SAX.characters( + , 10) +SAX.startElement(tbody) +SAX.characters( + , 10) +SAX.startElement(tr) +SAX.characters( + , 12) +SAX.startElement(td, bgcolor='white', valign='top', width='100%') +SAX.characters( + , 14) +SAX.startElement(center) +SAX.startElement(a, href='http://www.encounter2001.com/', target='_blank') +SAX.startElement(img, border='0', height='60', src='doc3_files/banner2.gif', width='468') +SAX.endElement(img) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.endElement(center) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='news_top') +SAX.endElement(a) +SAX.startElement(font, color='#003366', face='verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Headlines, 9) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem965012956,78924,') +SAX.characters(Chat + with ABIT -, 41) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964766837,26344,') +SAX.characters(Fixed + wallpaper , 43) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964762841,25865,') +SAX.characters(Seti + update - 10, 39) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964732235,45502,') +SAX.characters(Judge + gives Naps, 57) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964713289,83675,') +SAX.characters(Ram + Sinks.. more, 83) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964671589,7831,') +SAX.characters(is + it [H]ard? - , 40) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964644047,60218,') +SAX.characters(WiLd + CaSe!! - 1:, 38) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964631110,84122,') +SAX.characters(What + the heck is, 58) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964587833,74573,') +SAX.characters(HELLO + EVERYONE!!, 45) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='arial', size='1') +SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964429577,13375,') +SAX.characters(BP6 + Q3 server up, 57) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( NP v3.7.5 ) +SAX.startElement(a, name='newsitem965012956,78924,') +SAX.endElement(a) +SAX.characters( + , 14) +SAX.startElement(table, bgcolor='#003399', width='100%') +SAX.characters( + , 16) +SAX.startElement(tbody) +SAX.characters( + , 16) +SAX.startElement(tr) +SAX.characters( + , 18) +SAX.startElement(td) +SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Sunday, + Ju, 41) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(
    ) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(Chat with + ABIT, 28) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com') +SAX.characters(Holodeck2, 9) +SAX.endElement(a) +SAX.characters( @ 8:09PM + PDT, 27) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/965012956,78924,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(0 comments, 10) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(I, 1) +SAX.characters(’, 3) +SAX.characters(m slacking a little. All game , 83) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Wallpaper update: I got + , 130) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(b) +SAX.startElement(a, href='http://fullon3d.com/chat/abit/', target='3d') +SAX.characters(Fullon3d had a live chat with , 69) +SAX.endElement(a) +SAX.endElement(b) +SAX.characters(Submitted by: MJS, 17) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Here, 4) +SAX.characters(’, 3) +SAX.characters(s a little clip:, 16) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters([Falcon] + BP6-2??, 30) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters([EricBoeing] We already have a, 75) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters([EricBoeing] but it's OEM only, 30) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters([EricBoeing] the full ATX + , 74) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964766837,26344,') +SAX.endElement(a) +SAX.characters( + , 14) +SAX.startElement(table, bgcolor='#003399', width='100%') +SAX.characters( + , 16) +SAX.startElement(tbody) +SAX.characters( + , 16) +SAX.startElement(tr) +SAX.characters( + , 18) +SAX.startElement(td) +SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Thursday, + , 43) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(
    ) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(Fixed + wallpaper, 29) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com') +SAX.characters(Holodeck2, 9) +SAX.endElement(a) +SAX.characters( @ 11:47PM + PDT, 28) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/964766837,26344,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(5 comments, 10) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.startElement(b) +SAX.characters(Get them now!!, 14) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(This is a + fixed , 106) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(img, height='180', src='doc3_files/3-800.jpg', width='240') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(It's still the Intels Inside o, 104) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Thanks to Matt for + , 57) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(I would also like to thank Kev, 133) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(And 1 more person, THANK YOU T, 90) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(If you need a weird resolution, 59) +SAX.startElement(a, href='mailto:Holodeck2@home.com') +SAX.characters(e-mail, 6) +SAX.endElement(a) +SAX.characters( me requesting + f, 37) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(If you have ideas or more erro, 47) +SAX.startElement(a, href='mailto:Holodeck2@home.com') +SAX.characters(mailto:Holodeck2@home.com, 25) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='doc3_files/3-800.jpg', target='800') +SAX.characters(800x600 , 8) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1024.jpg', target='800') +SAX.characters(1024x768 , 9) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1152.jpg', target='800') +SAX.characters(1152x864 , 9) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1280x1024.jpg', target='800') +SAX.characters(1280x1024 , 10) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1600.jpg', target='800') +SAX.characters(1600x1200 , 10) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 14) +SAX.startElement(p) +SAX.characters(Enjoy :-), 9) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 14) +SAX.endElement(p) +SAX.startElement(p) +SAX.startElement(a, href='mailto:Holodeck2@home.com') +SAX.characters(Holodeck2,, 10) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters([H]ard at + work o, 65) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(p) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964762841,25865,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(Seti update, 11) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com') +SAX.characters(Holodeck2, 9) +SAX.endElement(a) +SAX.characters( @ 10:40PM + PDT, 28) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/964762841,25865,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(5 comments, 10) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.startElement(img, height='54', src='doc3_files/setiupdate.jpg', width='400') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(You like the + pic, 31) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Bp6 User Group Update:, 22) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Completed 61531 + , 37) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(b) +SAX.characters(#168 on Top 200 All Groups, 26) +SAX.endElement(b) +SAX.characters( (Going to pass CLRC in + , 49) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(b) +SAX.characters(#74 on Top 200 Teams, 20) +SAX.endElement(b) +SAX.characters( (Gaining fast on + , 42) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(We are flying though at the sp, 82) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Good job everyone!!, 19) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Check this page at + , 67) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964732235,45502,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(Judge gives Napster the + , 44) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com') +SAX.characters(Holodeck2, 9) +SAX.endElement(a) +SAX.characters( @ 2:10PM + PDT, 27) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/964732235,45502,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(0 comments, 10) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Good afternoon for everyone li, 135) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(I woke up and thought about po, 488) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.msnbc.com/news/437532.asp', target='Judge vs Napster') +SAX.characters(Judge shuts Napster down + , 38) +SAX.startElement(p) +SAX.startElement(img, height='143', src='doc3_files/669915.jpg', width='200') +SAX.endElement(img) +SAX.endElement(p) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Check out the Goofy guy in the, 35) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(He's Sean + Fannin, 52) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Got news?? , 11) +SAX.startElement(a, href='mailto:Holodeck2@home.com') +SAX.characters(mailto:Holodeck2@home.com, 25) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964713289,83675,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(Ram Sinks.. more cooling for s, 56) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:tim@bp6.com') +SAX.characters(tim, 3) +SAX.endElement(a) +SAX.characters( @ 8:54AM PDT, 13) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/964713289,83675,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(0 comments, 10) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Need some cooling for your Vid, 106) +SAX.startElement(a, href='http://www.overclockershideout.com/RamSinks.html', target='_BLANK') +SAX.characters(Overclockers Hiedout Ram Sinks, 30) +SAX.endElement(a) +SAX.characters( They just notified + , 57) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(img, border='1', src='doc3_files/ramsink.jpg') +SAX.endElement(img) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964671589,7831,') +SAX.endElement(a) +SAX.characters( + , 14) +SAX.startElement(table, bgcolor='#003399', width='100%') +SAX.characters( + , 16) +SAX.startElement(tbody) +SAX.characters( + , 16) +SAX.startElement(tr) +SAX.characters( + , 18) +SAX.startElement(td) +SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Wednesday, July 26, + , 38) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(
    ) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(is it + [H]ard?, 27) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com') +SAX.characters(Holodeck2, 9) +SAX.endElement(a) +SAX.characters( @ 9:19PM + PDT, 27) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/964671589,7831,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(0 comments, 10) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Big heatsinks are good, very g, 71) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(You can never can have a too b, 99) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(img, height='173', src='doc3_files/voodooside2.jpg', width='230') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(My overclocked + V, 74) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Peltier and + wate, 50) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters((if you pry off the heatsink y, 66) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(it was originally posted on , 28) +SAX.startElement(a, href='http://www.hardocp.com/') +SAX.characters([H]ardOCP , 10) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(I, 1) +SAX.characters(’, 3) +SAX.characters(m not only a + BP6, 55) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964644047,60218,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(WiLd CaSe!!, 11) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com') +SAX.characters(Holodeck2, 9) +SAX.endElement(a) +SAX.characters( @ 1:40PM + PDT, 27) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/964644047,60218,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(8 comments, 10) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Now this person really knows h, 70) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Addin an 18" Fan!! WOW!!, 24) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.envador.com/Photos/PVCII/', target='_blank') +SAX.startElement(img, src='doc3_files/TN_OpenedUp1.jpg') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Click to go to his + , 38) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964631110,84122,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(What the heck is a + , 44) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com') +SAX.characters(Holodeck2, 9) +SAX.endElement(a) +SAX.characters( @ 10:05AM + PDT, 28) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/964631110,84122,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(6 comments, 10) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(This is for all you people who, 78) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(The quest fo the Perfect + , 46) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.tweakmax.com/html/peltier/peltier-1.cfm', target='_blank') +SAX.startElement(img, src='doc3_files/peltier.jpg') +SAX.endElement(img) +SAX.endElement(a) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Thanks to + , 24) +SAX.startElement(a, href='http://www.tweakmax.com/', target='_blank') +SAX.characters(TweakMax.com, 12) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Note: Today morning when I wok, 397) +SAX.startElement(img, src='doc3_files/smile.gif') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(I'm not angry at anyone... + , 71) +SAX.startElement(img, src='doc3_files/tongue.gif') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964587833,74573,') +SAX.endElement(a) +SAX.characters( + , 14) +SAX.startElement(table, bgcolor='#003399', width='100%') +SAX.characters( + , 16) +SAX.startElement(tbody) +SAX.characters( + , 16) +SAX.startElement(tr) +SAX.characters( + , 18) +SAX.startElement(td) +SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Tuesday, + J, 42) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(
    ) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(HELLO + EVERYONE!!, 31) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com') +SAX.characters(Holodeck2, 9) +SAX.endElement(a) +SAX.characters( @ 10:03PM + PDT, 28) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Hello + everyone, , 47) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Who is this Holodeck2 person , 66) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(I, 1) +SAX.characters(’, 3) +SAX.characters(m a regular on the bp6 message, 97) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(I, 1) +SAX.characters(’, 3) +SAX.characters(m the + self-procl, 85) +SAX.characters(’, 3) +SAX.characters(ve + probably alre, 68) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(My computer + is a, 200) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Any Questions or comments, you, 98) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Ways to contact + , 33) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(E-mail: , 8) +SAX.startElement(a, href='mailto:Holodeck2@home.com') +SAX.characters(Holodeck2@home.com, 18) +SAX.endElement(a) +SAX.characters( (All E-mails + wi, 82) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(When you + write m, 163) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.aol.com/aim') +SAX.characters(AIM: , 5) +SAX.endElement(a) +SAX.characters(Holodeck2 (instant response +, 46) +SAX.characters(’, 3) +SAX.characters(m in front of my comp and not , 53) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.icq.com/download') +SAX.characters(ICQ: , 5) +SAX.endElement(a) +SAX.characters(82640218 (rarely + , 34) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(P.S. If someone named , 22) +SAX.characters(“, 3) +SAX.characters(Digital Vortex, 14) +SAX.characters(”, 3) +SAX.characters( on either Quake 3 + , 51) +SAX.characters(’, 3) +SAX.characters(s probably me. ;-), 18) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964429577,13375,') +SAX.endElement(a) +SAX.characters( + , 14) +SAX.startElement(table, bgcolor='#003399', width='100%') +SAX.characters( + , 16) +SAX.startElement(tbody) +SAX.characters( + , 16) +SAX.startElement(tr) +SAX.characters( + , 18) +SAX.startElement(td) +SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Monday, + Ju, 41) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(
    ) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(BP6 Q3 server up and + , 44) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:tim@bp6.com') +SAX.characters(tim, 3) +SAX.endElement(a) +SAX.characters( @ 2:06AM PDT, 13) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/964429577,13375,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(3 comments, 10) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Setup a Q3 server for anyone w, 355) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters((BTW- + there are , 68) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem964425184,95812,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(BIOS Savior to the + , 43) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:tim@bp6.com') +SAX.characters(tim, 3) +SAX.endElement(a) +SAX.characters( @ 12:53AM PDT, 14) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/964425184,95812,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(2 comments, 10) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Do you sweat during the BIOS f, 167) +SAX.startElement(b) +SAX.characters(RD1 BIOS Savior, 15) +SAX.endElement(b) +SAX.characters(" and it + plugs i, 520) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.ioss.com.tw/eg/rd1/RD1info0004.PDF', target='_NEW') +SAX.characters(Manufacturers Brochure, 22) +SAX.endElement(a) +SAX.characters( (PDF Format), 13) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://192.216.185.10/mwave/doc/A06950.html', target='_BLANK"') +SAX.characters(Another info page, 17) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://192.216.185.10/mwave/ProdMB-AC-MW.hmx?UID=&CID=&updepts=MB&DNAME=%3Cb%3EMotherboards%3C%2Fb%3E&Back=ProdMB-AC-MW.hmx?', target='_BLANK') +SAX.characters(Available for about $20, 23) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(img, src='doc3_files/rd1.jpg') +SAX.endElement(img) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem963875853,12731,') +SAX.endElement(a) +SAX.characters( + , 14) +SAX.startElement(table, bgcolor='#003399', width='100%') +SAX.characters( + , 16) +SAX.startElement(tbody) +SAX.characters( + , 16) +SAX.startElement(tr) +SAX.characters( + , 18) +SAX.startElement(td) +SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Monday, + Ju, 41) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(
    ) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(How To + Overclock, 30) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com') +SAX.characters(DareDevil, 9) +SAX.endElement(a) +SAX.characters( @ 4:17PM + PDT, 27) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/963875853,12731,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(3 comments, 10) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(For those of you who are new t, 209) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://netkills.qgl.org/a_oc_comp.shtml', target='_blank') +SAX.characters(How To Overclock, 16) +SAX.endElement(a) +SAX.characters( , 1) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem963875485,23353,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(The Cardcooler + X, 31) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com') +SAX.characters(DareDevil, 9) +SAX.endElement(a) +SAX.characters( @ 4:11PM + PDT, 27) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/963875485,23353,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(1 comments, 10) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Wow! I am impressed! Nevermind, 98) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Even if your + not, 345) +SAX.endElement(i) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Check this out!, 15) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.brokenpixel.com/articles/coolerXT/cardcoolerXT_1.shtml', target='_blank') +SAX.characters(http://www.brokenpixel.com/art, 65) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem963859982,88982,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters('Nerd + Inside', 27) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com') +SAX.characters(DareDevil, 9) +SAX.endElement(a) +SAX.characters( @ 11:53AM + PDT, 28) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/963859982,88982,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(1 comments, 10) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(We all need to have some fun , 181) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 14) +SAX.startElement(div, align='center') +SAX.startElement(a, href='http://www.nerdgear.com/', target='_blank') +SAX.startElement(img, border='0', src='doc3_files/nerdinside.gif') +SAX.endElement(img) +SAX.endElement(a) +SAX.endElement(div) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem963819796,9688,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(Dual PSU Wiring diagram... (pr, 81) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:tim@bp6.com') +SAX.characters(tim, 3) +SAX.endElement(a) +SAX.characters( @ 12:43AM PDT, 14) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/963819796,9688,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(11 comments, 11) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(When is comes to overclocking , 848) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(View Diagram 1 , 15) +SAX.startElement(a, href='http://bp6.gamesquad.net/images/wiring.jpg', target='_BLANK') +SAX.characters(here, 4) +SAX.endElement(a) +SAX.characters(., 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(View Diagram 2 , 15) +SAX.startElement(a, href='http://bp6.gamesquad.net/images/psu2.gif', target='_BLANK') +SAX.characters(here, 4) +SAX.endElement(a) +SAX.characters(., 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(I used Tap-In Squeeze Connecto, 150) +SAX.startElement(a, href='http://www.radioshack.com/ProductCatalog/ProductDetail/Index/1,2098,,00.html?SKUString1=64&SKUString2=3053', target='_blank') +SAX.characters(click here, 10) +SAX.endElement(a) +SAX.characters(., 1) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem963766655,78511,') +SAX.endElement(a) +SAX.characters( + , 14) +SAX.startElement(table, bgcolor='#003399', width='100%') +SAX.characters( + , 16) +SAX.startElement(tbody) +SAX.characters( + , 16) +SAX.startElement(tr) +SAX.characters( + , 18) +SAX.startElement(td) +SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Sunday, + Ju, 41) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(
    ) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(RAM Overclocking? + , 39) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com') +SAX.characters(DareDevil, 9) +SAX.endElement(a) +SAX.characters( @ 9:57AM + PDT, 27) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/963766655,78511,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(3 comments, 10) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(I know we're pretty big overcl, 636) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Extreme Overclocking has teste, 145) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Well, the guys at Extreme Over, 344) +SAX.endElement(i) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.extremeoverclocking.com/reviews/memory/ram_roundup_1.html', target='_blank') +SAX.characters(Cooked RAM... Yummie, 20) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(The + ÐÐ., 23) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem963764236,76720,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(CPU + Guide, 23) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com') +SAX.characters(DareDevil, 9) +SAX.endElement(a) +SAX.characters( @ 9:17AM + PDT, 27) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/963764236,76720,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(0 comments, 10) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(A follow up on the 'Weekly CPU, 203) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 14) +SAX.startElement(li) +SAX.startElement(a, href='http://www6.tomshardware.com/howto/00q2/000412/index.html', target='_blank') +SAX.characters(http://www6.tomshardware.com/h, 57) +SAX.endElement(a) +SAX.endElement(li) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem963685749,28290,') +SAX.endElement(a) +SAX.characters( + , 14) +SAX.startElement(table, bgcolor='#003399', width='100%') +SAX.characters( + , 16) +SAX.startElement(tbody) +SAX.characters( + , 16) +SAX.startElement(tr) +SAX.characters( + , 18) +SAX.startElement(td) +SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Saturday, + , 43) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(
    ) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(Weekly CPU + Price, 31) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com') +SAX.characters(DareDevil, 9) +SAX.endElement(a) +SAX.characters( @ 11:29AM + PDT, 28) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/963685749,28290,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(2 comments, 10) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Wow, found this very useful! W, 104) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.sharkyextreme.com/hardware/weekly_cpu/', target='_blank') +SAX.characters(Click Here., 11) +SAX.endElement(a) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Thanks Sharky + Ex, 36) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem963679881,35277,') +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(Fast Wallpapers, 15) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com') +SAX.characters(DareDevil, 9) +SAX.endElement(a) +SAX.characters( @ 9:51AM + PDT, 27) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/963679881,35277,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(0 comments, 10) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(FAST-MHz has released some wal, 53) +SAX.startElement(a, href='http://64.29.18.111/wallpaper/index.html', target='_blank') +SAX.characters(Click here, 10) +SAX.endElement(a) +SAX.characters( to view them. They come in si, 241) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(In other news, we want to + , 135) +SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml', target='_blank') +SAX.characters(Picture Gallery, 15) +SAX.endElement(a) +SAX.characters(. To help us out, you can send, 103) +SAX.startElement(a, href='mailto:thedaredevil@bp6.com') +SAX.characters(thedaredevil@bp6.com, 20) +SAX.endElement(a) +SAX.characters(. (The + topic bei, 186) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Okay, that's all for now., 25) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(The + ÐÐ., 23) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, name='newsitem963619505,3764,') +SAX.endElement(a) +SAX.characters( + , 14) +SAX.startElement(table, bgcolor='#003399', width='100%') +SAX.characters( + , 16) +SAX.startElement(tbody) +SAX.characters( + , 16) +SAX.startElement(tr) +SAX.characters( + , 18) +SAX.startElement(td) +SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2') +SAX.startElement(b) +SAX.characters(Friday, + Ju, 41) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment(
    ) +SAX.startElement(b) +SAX.startElement(u) +SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2') +SAX.characters(Hey + There!, 24) +SAX.endElement(font) +SAX.endElement(u) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#0066cc', face='Arial', size='1') +SAX.startElement(small) +SAX.characters(Posted by , 10) +SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com') +SAX.characters(DareDevil, 9) +SAX.endElement(a) +SAX.characters( @ 5:05PM + PDT, 27) +SAX.endElement(small) +SAX.characters( , 2) +SAX.characters( , 1) +SAX.startElement(a, href='http://bp6.gamesquad.net/news/963619505,3764,.html') +SAX.startElement(img, border='0', src='doc3_files/comments.gif') +SAX.endElement(img) +SAX.characters(7 comments, 10) +SAX.endElement(a) +SAX.characters( + , 15) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top') +SAX.characters(top, 3) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='black', face='Arial', size='2') +SAX.characters(Hey guys, just wanted to intro, 312) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(My e-mail address is , 21) +SAX.startElement(a, href='mailto:killz@i82hq.com') +SAX.characters(killz@i82hq.com, 15) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Ciao for + now., 27) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(The ÐÐ., 9) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 14) +SAX.endElement(font) +SAX.startElement(center) +SAX.startElement(iframe, frameborder='0', height='60', marginheight='0', marginwidth='0', noresize, scrolling='no', src='doc3_files/ad_iframe.htm', width='468') +SAX.startElement(a, href='http://ads.adflight.com/go_static.asp?asid=7708', target='_top') +SAX.error: htmlParseEntityRef: expecting ';' +SAX.error: htmlParseEntityRef: expecting ';' +SAX.startElement(img, width='468', height='60', border='0', alt='Advertisement', src='http://ads.adflight.com/ad_static.asp?pid=2097&sid=1881&asid=7708') +SAX.endElement(img) +SAX.endElement(a) +SAX.endElement(iframe) +SAX.endElement(center) +SAX.error: Unexpected end tag : li +SAX.error: Unexpected end tag : font +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.endElement(center) +SAX.error: Unexpected end tag : p +SAX.endElement(td) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='silver', valign='top', width='10%') +SAX.characters( + , 8) +SAX.startElement(center) +SAX.characters( + , 8) +SAX.startElement(p) +SAX.characters( + , 8) +SAX.endElement(p) +SAX.startElement(table, bgcolor='silver', border='0', cellpadding='0', cellspacing='0', width='100%') +SAX.characters( + , 10) +SAX.startElement(tbody) +SAX.characters( + , 10) +SAX.startElement(tr) +SAX.characters( + , 12) +SAX.startElement(td, colstart='1') +SAX.characters( + , 14) +SAX.startElement(center) +SAX.comment(
    +
    +

    Newsletter
    +
    +
    +

    ) +SAX.characters( + , 14) +SAX.startElement(form, action='http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?emaillist', method='post') +SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='111') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1') +SAX.characters(Newsletter, 10) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(input, name='npemail', size='13', value='e-mail addr.') +SAX.endElement(input) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(input, name='npsubscribe', style='BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold', type='submit', value='Subscribe') +SAX.endElement(input) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( ) +SAX.endElement(font) +SAX.endElement(form) +SAX.startElement(font, size='1') +SAX.characters( + , 14) +SAX.startElement(form, action='http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?search', method='post') +SAX.characters(Search news, 11) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(input, name='searchstring', size='13') +SAX.endElement(input) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(input, name='submit', style='BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold', type='submit', value='Submit') +SAX.endElement(input) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?newsall') +SAX.characters(News + archive, 26) +SAX.endElement(a) +SAX.endElement(form) +SAX.endElement(font) +SAX.characters( , 1) +SAX.error: Unexpected end tag : form +SAX.endElement(center) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.comment( + + + +
    +

    +

    +) +SAX.characters( + , 8) +SAX.startElement(table, bgcolor='silver', border='0', cellpadding='0', cellspacing='0', width='100%') +SAX.characters( + , 10) +SAX.startElement(tbody) +SAX.characters( + , 10) +SAX.startElement(tr) +SAX.characters( + , 12) +SAX.startElement(td, align='middle', width='100%') +SAX.comment( BEGIN GoTo.com Search Box ) +SAX.characters( + , 14) +SAX.startElement(script, language='javascript', type='text/javascript') +SAX.cdata( + <!-- + if ((, 532) +SAX.error: Unexpected end tag : iframe +SAX.cdata("); + } else if ((parseI, 463) +SAX.error: End tag : expected '>' +SAX.error: Unexpected end tag : sc +SAX.cdata("); + document.write("RI, 361) +SAX.error: Unexpected end tag : a +SAX.cdata("); + } + // --, 37) +SAX.endElement(script) +SAX.characters( + , 14) +SAX.startElement(b) +SAX.startElement(noscript) +SAX.endElement(noscript) +SAX.endElement(b) +SAX.startElement(a, href='http://www.goto.com/d/search/ssn/?fromGIF=true', target='_blank') +SAX.startElement(img, align='bottom', border='0', height='90', ismap, src='doc3_files/100x90.gif', width='100') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(b) +SAX.startElement(a, href='http://www.goto.com/d/search/ssn/?fromGIF=true', target='_blank') +SAX.characters( + , 15) +SAX.endElement(a) +SAX.error: Unexpected end tag : a +SAX.endElement(b) +SAX.startElement(b) +SAX.error: Unexpected end tag : noscript +SAX.endElement(b) +SAX.startElement(b) +SAX.comment( END GoTo.com Search Box ) +SAX.endElement(b) +SAX.comment( Pricewatch Search Box ) +SAX.characters( + , 14) +SAX.startElement(form, action='http://www.pricewatch.com/search/search.asp', method='get', target='_Blank') +SAX.characters( + , 14) +SAX.startElement(center) +SAX.characters( + , 14) +SAX.startElement(p) +SAX.startElement(b) +SAX.startElement(font, color='white', face='ARIAL, HELVETICA', size='1') +SAX.characters(PC Price + Search, 29) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.endElement(b) +SAX.startElement(input, maxlength='30', name='criteria', size='10') +SAX.endElement(input) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(input, name='submit', style='BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold', type='submit', value='Search') +SAX.endElement(input) +SAX.characters( + , 15) +SAX.endElement(p) +SAX.error: Opening and ending tag mismatch: form and center +SAX.endElement(center) +SAX.endElement(form) +SAX.comment( Pricewatch Search Box ) +SAX.startElement(a, href='http://www.puicorp.com/bp6specials.htm', target='_BLANK') +SAX.startElement(img, src='doc3_files/puibp6.gif') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://store.yahoo.com/dunamis-site/maxtor.html', target='_BLANK') +SAX.startElement(img, alt='BP6.com Special - Enter CODE: BP6-hd in the order (notes) to receive a discount', src='doc3_files/hd5.gif') +SAX.endElement(img) +SAX.startElement(font, size='1') +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(BP6.COM + Special, 29) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Code:BP6-hd, 11) +SAX.endElement(font) +SAX.endElement(a) +SAX.characters( , 1) +SAX.error: Unexpected end tag : p +SAX.error: Opening and ending tag mismatch: center and td +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.characters( + , 8) +SAX.startElement(table, bgcolor='silver', border='0', cellpadding='0', cellspacing='0', height='100%', width='100%') +SAX.characters( + , 10) +SAX.startElement(tbody) +SAX.characters( + , 10) +SAX.startElement(tr) +SAX.characters( + , 12) +SAX.startElement(td, width='100%') +SAX.characters( , 2) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.error: Unexpected end tag : p +SAX.endElement(center) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.comment( ) +SAX.characters( +, 2) +SAX.startElement(center) +SAX.endElement(center) +SAX.error: Unexpected end tag : td +SAX.error: Unexpected end tag : tr +SAX.startElement(tr) +SAX.startElement(td, colspan='3', valign='TOP', height='70') +SAX.characters( , 2) +SAX.endElement(td) +SAX.characters( , 1) +SAX.endElement(tr) +SAX.error: Unexpected end tag : table +SAX.characters( +, 2) +SAX.startElement(table, border='0', width='780') +SAX.characters( + , 4) +SAX.startElement(tbody) +SAX.characters( + , 4) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, width='780') +SAX.characters( + , 8) +SAX.startElement(p, align='center') +SAX.startElement(font, color='#999999', face='verdana,arial', size='1') +SAX.characters(Copyright + ©1999-2, 59) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Got news? Send it to , 21) +SAX.endElement(font) +SAX.startElement(a, href='mailto:tim@bp6.com') +SAX.startElement(font, color='white', face='Verdana', size='1') +SAX.characters(Tim, 3) +SAX.endElement(font) +SAX.endElement(a) +SAX.characters( , 1) +SAX.endElement(p) +SAX.endElement(td) +SAX.endElement(tr) +SAX.comment(

    Site design by Tim Brinkley ) +SAX.endElement(tbody) +SAX.endElement(table) +SAX.endElement(div) +SAX.characters( +, 2) +SAX.startElement(script) +SAX.cdata( window.open=NS_ActualOpen; , 28) +SAX.endElement(script) +SAX.characters( +, 2) +SAX.endElement(body) +SAX.endElement(html) +SAX.characters( +, 2) +SAX.endDocument() diff --git a/result/HTML/entities.html b/result/HTML/entities.html new file mode 100644 index 0000000..f84424c --- /dev/null +++ b/result/HTML/entities.html @@ -0,0 +1,8 @@ + + +

    +a&b +a&b +a & b +

    + diff --git a/result/HTML/entities.html.err b/result/HTML/entities.html.err new file mode 100644 index 0000000..180fa9f --- /dev/null +++ b/result/HTML/entities.html.err @@ -0,0 +1,12 @@ +./test/HTML/entities.html:1: HTML parser error : htmlParseEntityRef: expecting ';' +

    + ^ +./test/HTML/entities.html:1: HTML parser error : htmlParseEntityRef: no name +

    + ^ +./test/HTML/entities.html:3: HTML parser error : htmlParseEntityRef: expecting ';' +a&b + ^ +./test/HTML/entities.html:4: HTML parser error : htmlParseEntityRef: no name +a & b + ^ diff --git a/result/HTML/entities.html.sax b/result/HTML/entities.html.sax new file mode 100644 index 0000000..3843f6d --- /dev/null +++ b/result/HTML/entities.html.sax @@ -0,0 +1,27 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.startElement(body) +SAX.error: htmlParseEntityRef: expecting ';' +SAX.error: htmlParseEntityRef: no name +SAX.startElement(p, tst='a&b', tst2='a&b', tst3='a & b') +SAX.characters( +a, 2) +SAX.characters(&, 1) +SAX.characters(b +a, 3) +SAX.error: htmlParseEntityRef: expecting ';' +SAX.characters(&, 1) +SAX.characters(b, 1) +SAX.characters( +a , 3) +SAX.error: htmlParseEntityRef: no name +SAX.characters(&, 1) +SAX.characters( b +, 3) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.endElement(html) +SAX.endDocument() diff --git a/result/HTML/entities2.html b/result/HTML/entities2.html new file mode 100644 index 0000000..8e854d3 --- /dev/null +++ b/result/HTML/entities2.html @@ -0,0 +1,8 @@ + + + +

    + +
    + + diff --git a/result/HTML/entities2.html.err b/result/HTML/entities2.html.err new file mode 100644 index 0000000..e69de29 diff --git a/result/HTML/entities2.html.sax b/result/HTML/entities2.html.sax new file mode 100644 index 0000000..131b813 --- /dev/null +++ b/result/HTML/entities2.html.sax @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(form) +SAX.characters( + , 3) +SAX.startElement(input, type='text', name='test', value='š') +SAX.endElement(input) +SAX.characters( +, 1) +SAX.endElement(form) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.endDocument() diff --git a/result/HTML/fp40.htm b/result/HTML/fp40.htm new file mode 100644 index 0000000..8affc19 --- /dev/null +++ b/result/HTML/fp40.htm @@ -0,0 +1,167 @@ + + + + + +README - Microsoft FrontPage 2000 Server Extensions + + + + + +

    Microsoft FrontPage 2000 Server Extensions, UNIX

    + +© Copyright Microsoft Corporation, 1999  + + +

    The FrontPage Server Extensions are a set of programs on the Web server that support: + +

    +
      +
    • Authoring FrontPage webs
    • +
    • Administering FrontPage webs
    • +
    • Browse-time FrontPage web functionality
    • +
    + + +

    Contents 

    + +Release Notes
    +Resources for More Information +

     

    +
    +

    Release Notes

    + +

    This section provides complementary or late-breaking +information to supplement the Microsoft FrontPage Server Extensions documentation.

    + +

    Apache 1.3.4 Support
    +Upgrading from previous version of FrontPage Server Extensions
    +Uploading files into executable folders

    + + +

    Top of Page

    + + +

    Apache 1.3.4 Support

    + +

    You need to take some special steps to run the FrontPage Server Extensions with Apache 1.3.4. +FrontPage Server Extensions expect to find all resource directives in the main server +configuration file, usually http.conf. To prevent the server extensions from using any secondary +configuration files (access.conf, srm.conf), add the following lines to http.conf:

    + + +
    +
    + +ResourceConfig /dev/null 
    +AccessConfig /dev/null
    +
    + + + +

    If you have some settings stored in secondary configuration files, move them to http.conf.

    + +

    You must stop and restart the web server for your changes to http.conf to take effect.

    + + + +

    Top of Section

    + + + +

    Upgrading from previous version of FrontPage Server Extensions

    + +

    Custom entries in frontpage.cnf are not migrated to FrontPage 2000.

    + +

    When you install FrontPage 2000 Server Extensions, a new frontpage.cnf file is created in the /usr/local/frontpage/version4.0 directory. +Any custom settings stored in a previous-version frontpage.cnf are not used. However, you can copy +your custom settings from the previous-version frontpage.cnf file after you install the FrontPage 2000 Server Extensions.

    + +

    Do not overwrite the FrontPage 2000 frontpage.cnf file with a frontpage.cnf file from an +earlier version of the FrontPage Server Extensions.

    + + + +

    Top of Section

    + + + +

    Uploading files into executable folders

    + + +

    After upgrading to FrontPage 2000, FrontPage authors will not be able to upload files into +executable folders. For security reasons, the default setting on FrontPage 2000 webs does not +allow authors to upload executable files into executable folders in a FrontPage web. This +setting protects servers so that authors do not inadvertently upload a program containing a bug +or a virus.

    + +

    To allow FrontPage authors to upload executables, set the NoExecutableCgiUpload configuration +variable to zero (0). For information about FrontPage Server Extension configuration variables, +see the FrontPage 2000 Server Extensions Resource Kit at http://officeupdate.microsoft.com/frontpage/wpp/serk/.

    + + + +

    Top of Section

    + + + +
    + + + +

    Resources for More Information

    + +

    This section lists sources of more information about the +FrontPage Server Extensions.

    + +

    Server Extensions Resource Kit
    +Server Extensions Resource Kit Update
    +Knowledge Base

    + + +

    Top of Page

    + + +

    Server Extensions Resource Kit

    + +

    The FrontPage 2000 Server Extensions include a full set of documentation: the Server +Extensions Resource Kit. This is an HTML document installed on the server machine (by +default) in /usr/local/frontpage/version4.0/serk. To view the Server Extensions Resource +Kit, open /usr/local/frontpage/version4.0/serk/default.htm in your Web browser.

    + +

    The Server Extensions Resource Kit contains detailed information about installing and +administering the FrontPage Server Extensions along with an overview of the Server +Extensions, a detailed discussion of Server Extensions security on UNIX and Windows, +troubleshooting information, and a full set of appendixes.

    + +

    Top of Section

    + + +

    Server Extensions Resource Kit Update

    + +

    For updated information about installing, setting up, and administrating the FrontPage Server +Extensions, see the Server Extensions Resource Kit Update at: http://officeupdate.microsoft.com/frontpage/wpp/serk/.

    + + +

    Top of Section

    + + +

    Microsoft Knowledge Base

    + +

    For further technical information on FrontPage, please consult Support Online. Use Support +Online to easily search Microsoft Product Support Services' collection of resources including +technical articles from Microsoft's extensive Knowledge Base, FAQs, & troubleshooters to find +fast, accurate answers. You can also customize the site to control your search using either +keywords or the site's natural language search engine, which uses normal everyday language for +answering inquiries, so you can write your question in your own words. To begin, go to +http://support.microsoft.com/support/.

    + +

    Top of Section

    + + +

     

    + +
    + + diff --git a/result/HTML/fp40.htm.err b/result/HTML/fp40.htm.err new file mode 100644 index 0000000..6ab388f --- /dev/null +++ b/result/HTML/fp40.htm.err @@ -0,0 +1,3 @@ +./test/HTML/fp40.htm:153: HTML parser error : htmlParseEntityRef: no name +technical articles from Microsoft's extensive Knowledge Base, FAQs, & troublesho + ^ diff --git a/result/HTML/fp40.htm.sax b/result/HTML/fp40.htm.sax new file mode 100644 index 0000000..a51668c --- /dev/null +++ b/result/HTML/fp40.htm.sax @@ -0,0 +1,463 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, -//IETF//DTD HTML//EN, ) +SAX.startElement(html) +SAX.characters( + +, 2) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(meta, name='GENERATOR', content='Microsoft FrontPage 4.0') +SAX.endElement(meta) +SAX.characters( +, 1) +SAX.startElement(title) +SAX.characters(README - Microsoft FrontPage 2, 51) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.startElement(meta, name='Microsoft Theme', content='none') +SAX.endElement(meta) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( + +, 2) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(font, face='Verdana') +SAX.characters( +, 1) +SAX.startElement(h1) +SAX.startElement(a, name='top') +SAX.characters(Microsoft FrontPage 2000 Serve, 48) +SAX.endElement(a) +SAX.endElement(h1) +SAX.characters( + +, 2) +SAX.startElement(font, size='2') +SAX.startElement(i) +SAX.characters(© Copyright Microsoft Cor, 40) +SAX.characters( , 2) +SAX.endElement(i) +SAX.endElement(font) +SAX.characters( + + +, 3) +SAX.startElement(p) +SAX.characters(The FrontPage Server Extension, 88) +SAX.endElement(p) +SAX.startElement(ul) +SAX.characters( + , 3) +SAX.startElement(li) +SAX.characters(Authoring FrontPage webs, 24) +SAX.endElement(li) +SAX.characters( + , 3) +SAX.startElement(li) +SAX.characters(Administering FrontPage webs, 28) +SAX.endElement(li) +SAX.characters( + , 3) +SAX.startElement(li) +SAX.characters(Browse-time FrontPage web func, 39) +SAX.endElement(li) +SAX.characters( +, 1) +SAX.endElement(ul) +SAX.characters( + + +, 3) +SAX.startElement(h2) +SAX.characters(Contents, 8) +SAX.characters( , 2) +SAX.endElement(h2) +SAX.characters( + +, 2) +SAX.startElement(a, href='#relnotes') +SAX.characters(Release Notes, 13) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='#moreinfo') +SAX.characters(Resources for More Information, 30) +SAX.endElement(a) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters( , 2) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.startElement(hr) +SAX.endElement(hr) +SAX.characters( +, 1) +SAX.startElement(h2) +SAX.startElement(a, name='relnotes') +SAX.characters(Release Notes, 13) +SAX.endElement(a) +SAX.endElement(h2) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(This section provides compleme, 136) +SAX.endElement(p) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.startElement(a, href='#apache') +SAX.characters(Apache 1.3.4 Support, 20) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='#upgrading') +SAX.characters(Upgrading from previous versio, 62) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='#executables') +SAX.characters(Uploading files into executabl, 39) +SAX.endElement(a) +SAX.endElement(p) +SAX.characters( + + +, 3) +SAX.startElement(p, align='right') +SAX.startElement(font, size='1') +SAX.startElement(a, href='#top') +SAX.characters(Top of Page, 11) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(p) +SAX.characters( + + +, 3) +SAX.startElement(h3) +SAX.startElement(a, name='apache') +SAX.characters(Apache 1.3.4 Support, 20) +SAX.endElement(a) +SAX.endElement(h3) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(You need to take some special , 360) +SAX.endElement(p) +SAX.characters( + + +, 3) +SAX.endElement(font) +SAX.characters( +, 1) +SAX.startElement(blockquote) +SAX.characters( + , 3) +SAX.startElement(font, face='Courier New') +SAX.characters( +ResourceConfig /dev/null, 25) +SAX.characters( , 2) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +AccessConfig /dev/null, 23) +SAX.endElement(font) +SAX.characters( +, 1) +SAX.endElement(blockquote) +SAX.characters( +, 1) +SAX.startElement(font, face='Verdana') +SAX.characters( + + +, 3) +SAX.startElement(p) +SAX.characters(If you have some settings stor, 90) +SAX.endElement(p) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(You must stop and restart the , 86) +SAX.endElement(p) +SAX.characters( + + + +, 4) +SAX.startElement(p, align='right') +SAX.startElement(font, size='1') +SAX.startElement(a, href='#relnotes') +SAX.characters(Top of Section, 14) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(p) +SAX.characters( + + + +, 4) +SAX.startElement(h3) +SAX.startElement(a, name='upgrading') +SAX.characters(Upgrading from previous versio, 62) +SAX.endElement(a) +SAX.endElement(h3) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(Custom entries in frontpage.cn, 67) +SAX.endElement(p) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(When you install FrontPage 200, 359) +SAX.endElement(p) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(Do not overwrite the FrontPage, 141) +SAX.endElement(p) +SAX.characters( + + + +, 4) +SAX.startElement(p, align='right') +SAX.startElement(font, size='1') +SAX.startElement(a, href='#relnotes') +SAX.characters(Top of Section, 14) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(p) +SAX.characters( + + + +, 4) +SAX.startElement(h3) +SAX.startElement(a, name='executables') +SAX.characters(Uploading files into executabl, 39) +SAX.endElement(a) +SAX.endElement(h3) +SAX.characters( + + +, 3) +SAX.startElement(p) +SAX.characters(After upgrading to FrontPage 2, 385) +SAX.endElement(p) +SAX.characters( + +, 3) +SAX.startElement(p) +SAX.characters(To allow FrontPage authors to , 249) +SAX.startElement(a, href='http://officeupdate.microsoft.com/frontpage/wpp/serk/') +SAX.characters(http://officeupdate.microsoft., 53) +SAX.endElement(a) +SAX.characters(., 1) +SAX.endElement(p) +SAX.characters( + + + +, 4) +SAX.startElement(p, align='right') +SAX.startElement(font, size='1') +SAX.startElement(a, href='#relnotes') +SAX.characters(Top of Section, 14) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(p) +SAX.characters( + + + +, 4) +SAX.startElement(hr) +SAX.endElement(hr) +SAX.characters( + + + +, 4) +SAX.startElement(h2) +SAX.startElement(a, name='moreinfo') +SAX.characters(Resources for More Information, 30) +SAX.endElement(a) +SAX.endElement(h2) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(This section lists sources of , 85) +SAX.endElement(p) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.startElement(a, href='#serk') +SAX.characters(Server Extensions Resource Kit, 30) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='#serkupdate') +SAX.characters(Server Extensions Resource Kit, 37) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='#kb') +SAX.characters(Knowledge Base, 14) +SAX.endElement(a) +SAX.endElement(p) +SAX.characters( + + +, 3) +SAX.startElement(p, align='right') +SAX.startElement(font, size='1') +SAX.startElement(a, href='#top') +SAX.characters(Top of Page, 11) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(p) +SAX.characters( + + +, 3) +SAX.startElement(h3) +SAX.startElement(a, name='serk') +SAX.characters(Server Extensions Resource Kit, 30) +SAX.endElement(a) +SAX.endElement(h3) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(The FrontPage 2000 Server Exte, 339) +SAX.endElement(p) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(The Server Extensions Resource, 312) +SAX.endElement(p) +SAX.characters( + +, 2) +SAX.startElement(p, align='right') +SAX.startElement(font, size='1') +SAX.startElement(a, href='#moreinfo') +SAX.characters(Top of Section, 14) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(p) +SAX.characters( + + +, 3) +SAX.startElement(h3) +SAX.startElement(a, name='serkupdate') +SAX.characters(Server Extensions Resource Kit, 37) +SAX.endElement(a) +SAX.endElement(h3) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(For updated information about , 157) +SAX.startElement(a, href='http://officeupdate.microsoft.com/frontpage/wpp/serk/') +SAX.characters(http://officeupdate.microsoft., 53) +SAX.endElement(a) +SAX.characters(., 1) +SAX.endElement(p) +SAX.characters( + + +, 3) +SAX.startElement(p, align='right') +SAX.startElement(font, size='1') +SAX.startElement(a, href='#moreinfo') +SAX.characters(Top of Section, 14) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(p) +SAX.characters( + + +, 3) +SAX.startElement(h3) +SAX.startElement(a, name='kb') +SAX.characters(Microsoft Knowledge Base, 24) +SAX.endElement(a) +SAX.endElement(h3) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.characters(For further technical informat, 254) +SAX.error: htmlParseEntityRef: no name +SAX.characters(&, 1) +SAX.characters( troubleshooters to find +fast, 302) +SAX.startElement(a, href='http://support.microsoft.com/support/') +SAX.characters(http://support.microsoft.com/s, 37) +SAX.endElement(a) +SAX.characters(., 1) +SAX.endElement(p) +SAX.characters( + +, 4) +SAX.startElement(p, align='right') +SAX.startElement(font, size='1') +SAX.startElement(a, href='#moreinfo') +SAX.characters(Top of Section, 14) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(p) +SAX.characters( + + +, 3) +SAX.startElement(p) +SAX.characters( , 2) +SAX.endElement(p) +SAX.characters( + +, 4) +SAX.endElement(font) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/result/HTML/html5_enc.html b/result/HTML/html5_enc.html new file mode 100644 index 0000000..44ceebc --- /dev/null +++ b/result/HTML/html5_enc.html @@ -0,0 +1,9 @@ + + + + + + +

    très

    + + diff --git a/result/HTML/html5_enc.html.err b/result/HTML/html5_enc.html.err new file mode 100644 index 0000000..e69de29 diff --git a/result/HTML/html5_enc.html.sax b/result/HTML/html5_enc.html.sax new file mode 100644 index 0000000..6c5802f --- /dev/null +++ b/result/HTML/html5_enc.html.sax @@ -0,0 +1,30 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(meta, charset='iso-8859-1') +SAX.endElement(meta) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( + , 3) +SAX.startElement(p) +SAX.characters(très, 5) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/result/HTML/liclose.html b/result/HTML/liclose.html new file mode 100644 index 0000000..62391dc --- /dev/null +++ b/result/HTML/liclose.html @@ -0,0 +1,15 @@ + + + + + + +
      +
    • First item +
    • +
    • Second item, closes the first one +
    • +
    + + + diff --git a/result/HTML/liclose.html.err b/result/HTML/liclose.html.err new file mode 100644 index 0000000..e69de29 diff --git a/result/HTML/liclose.html.sax b/result/HTML/liclose.html.sax new file mode 100644 index 0000000..50fa778 --- /dev/null +++ b/result/HTML/liclose.html.sax @@ -0,0 +1,38 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(HTML, -//W3C//DTD HTML 4.0 Transitional//EN, http://www.w3.org/TR/REC-html40/loose.dtd) +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( + , 3) +SAX.startElement(title) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(ul) +SAX.characters( +, 1) +SAX.startElement(li) +SAX.characters(First item +, 11) +SAX.endElement(li) +SAX.startElement(li) +SAX.characters(Second item, closes the first , 34) +SAX.endElement(li) +SAX.endElement(ul) +SAX.characters( + +, 2) +SAX.endElement(body) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/result/HTML/lt.html b/result/HTML/lt.html new file mode 100644 index 0000000..c29f74f --- /dev/null +++ b/result/HTML/lt.html @@ -0,0 +1,6 @@ + + + + + + diff --git a/result/HTML/lt.html.err b/result/HTML/lt.html.err new file mode 100644 index 0000000..e69de29 diff --git a/result/HTML/lt.html.sax b/result/HTML/lt.html.sax new file mode 100644 index 0000000..43e1b11 --- /dev/null +++ b/result/HTML/lt.html.sax @@ -0,0 +1,19 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(meta, name='Author', content='Root <root@aol.com>') +SAX.endElement(meta) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/result/HTML/noscript.html b/result/HTML/noscript.html new file mode 100644 index 0000000..454e943 --- /dev/null +++ b/result/HTML/noscript.html @@ -0,0 +1,10 @@ + + + + omg + + + +

    yo

    + + diff --git a/result/HTML/noscript.html.err b/result/HTML/noscript.html.err new file mode 100644 index 0000000..e69de29 diff --git a/result/HTML/noscript.html.sax b/result/HTML/noscript.html.sax new file mode 100644 index 0000000..a4d036f --- /dev/null +++ b/result/HTML/noscript.html.sax @@ -0,0 +1,38 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, , ) +SAX.startElement(html) +SAX.characters( + , 5) +SAX.startElement(head) +SAX.characters( + , 9) +SAX.startElement(title) +SAX.characters(omg, 3) +SAX.endElement(title) +SAX.characters( + , 9) +SAX.startElement(noscript) +SAX.startElement(link, rel='stylesheet', href='http://foo.com') +SAX.endElement(link) +SAX.endElement(noscript) +SAX.characters( + , 5) +SAX.endElement(head) +SAX.characters( + , 5) +SAX.startElement(body, id='xxx') +SAX.characters( + , 9) +SAX.startElement(p) +SAX.characters(yo, 2) +SAX.endElement(p) +SAX.characters( + , 5) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/result/HTML/pre.html b/result/HTML/pre.html new file mode 100644 index 0000000..f83a7cb --- /dev/null +++ b/result/HTML/pre.html @@ -0,0 +1,6 @@ + + + +
    + + diff --git a/result/HTML/pre.html.err b/result/HTML/pre.html.err new file mode 100644 index 0000000..e69de29 diff --git a/result/HTML/pre.html.sax b/result/HTML/pre.html.sax new file mode 100644 index 0000000..bdf1b75 --- /dev/null +++ b/result/HTML/pre.html.sax @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(pre) +SAX.startElement(a, href='toto') +SAX.endElement(a) +SAX.startElement(img, src='titi') +SAX.endElement(img) +SAX.endElement(pre) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/result/HTML/python.html b/result/HTML/python.html new file mode 100644 index 0000000..ea0be18 --- /dev/null +++ b/result/HTML/python.html @@ -0,0 +1,9 @@ + + + + +Python Programming Language + + + + diff --git a/result/HTML/python.html.err b/result/HTML/python.html.err new file mode 100644 index 0000000..e69de29 diff --git a/result/HTML/python.html.sax b/result/HTML/python.html.sax new file mode 100644 index 0000000..ec300d3 --- /dev/null +++ b/result/HTML/python.html.sax @@ -0,0 +1,29 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, -//W3C//DTD HTML 4.01 Transitional//EN, http://www.w3.org/TR/html4/loose.dtd) +SAX.processingInstruction(xml-stylesheet, href="./css/ht2html.css" type="text/css"?) +SAX.startElement(html) +SAX.characters( +, 1) +SAX.comment( THIS PAGE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(title) +SAX.characters(Python Programming Language, 27) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/result/HTML/reg1.html b/result/HTML/reg1.html new file mode 100644 index 0000000..893d6a2 --- /dev/null +++ b/result/HTML/reg1.html @@ -0,0 +1,12 @@ + + + +Regression test 1 + + +

    Regression test 1

    +

    +Ok file no problem +

    + + diff --git a/result/HTML/reg1.html.err b/result/HTML/reg1.html.err new file mode 100644 index 0000000..e69de29 diff --git a/result/HTML/reg1.html.sax b/result/HTML/reg1.html.sax new file mode 100644 index 0000000..758fd4f --- /dev/null +++ b/result/HTML/reg1.html.sax @@ -0,0 +1,36 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(title) +SAX.characters(Regression test 1, 17) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(h1) +SAX.characters(Regression test 1, 17) +SAX.endElement(h1) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters( +Ok file no problem +, 20) +SAX.endElement(p) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/result/HTML/reg2.html b/result/HTML/reg2.html new file mode 100644 index 0000000..88cf9d3 --- /dev/null +++ b/result/HTML/reg2.html @@ -0,0 +1,15 @@ + + + +Regression test 2 + + +

    Regression test 2

    +

    +Autoclose of tag P +

    +

    +Ok file no problem +

    + + diff --git a/result/HTML/reg2.html.err b/result/HTML/reg2.html.err new file mode 100644 index 0000000..e69de29 diff --git a/result/HTML/reg2.html.sax b/result/HTML/reg2.html.sax new file mode 100644 index 0000000..c9fe5cb --- /dev/null +++ b/result/HTML/reg2.html.sax @@ -0,0 +1,41 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(title) +SAX.characters(Regression test 2, 17) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(h1) +SAX.characters(Regression test 2, 17) +SAX.endElement(h1) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters( +Autoclose of tag P +, 20) +SAX.endElement(p) +SAX.startElement(p) +SAX.characters( +Ok file no problem +, 20) +SAX.endElement(p) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/result/HTML/reg3.html b/result/HTML/reg3.html new file mode 100644 index 0000000..d35ac0d --- /dev/null +++ b/result/HTML/reg3.html @@ -0,0 +1,16 @@ + + + +Regression test 3 + + +

    Regression test 3

    +

    +Autoclose of tag P +

    +
    +

    +Ok file no problem +

    + + diff --git a/result/HTML/reg3.html.err b/result/HTML/reg3.html.err new file mode 100644 index 0000000..e69de29 diff --git a/result/HTML/reg3.html.sax b/result/HTML/reg3.html.sax new file mode 100644 index 0000000..a2ea57e --- /dev/null +++ b/result/HTML/reg3.html.sax @@ -0,0 +1,45 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(title) +SAX.characters(Regression test 3, 17) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(h1) +SAX.characters(Regression test 3, 17) +SAX.endElement(h1) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters( +Autoclose of tag P +, 20) +SAX.endElement(p) +SAX.startElement(hr) +SAX.endElement(hr) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters( +Ok file no problem +, 20) +SAX.endElement(p) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/result/HTML/reg4.html b/result/HTML/reg4.html new file mode 100644 index 0000000..eb1ba09 --- /dev/null +++ b/result/HTML/reg4.html @@ -0,0 +1,14 @@ + + + +Regression test 4 + + +

    Regression test 4

    +

    +Wrong close of tag P +

    +
    + + + diff --git a/result/HTML/reg4.html.err b/result/HTML/reg4.html.err new file mode 100644 index 0000000..6515f70 --- /dev/null +++ b/result/HTML/reg4.html.err @@ -0,0 +1,3 @@ +./test/HTML/reg4.html:10: HTML parser error : Unexpected end tag : p +

    + ^ diff --git a/result/HTML/reg4.html.sax b/result/HTML/reg4.html.sax new file mode 100644 index 0000000..3ed6c9d --- /dev/null +++ b/result/HTML/reg4.html.sax @@ -0,0 +1,43 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.characters( +, 1) +SAX.startElement(title) +SAX.characters(Regression test 4, 17) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(h1) +SAX.characters(Regression test 4, 17) +SAX.endElement(h1) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters( +Wrong close of tag P +, 22) +SAX.endElement(p) +SAX.startElement(hr) +SAX.endElement(hr) +SAX.characters( +, 1) +SAX.error: Unexpected end tag : p +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/result/HTML/repeat.html b/result/HTML/repeat.html new file mode 100644 index 0000000..71cf72e --- /dev/null +++ b/result/HTML/repeat.html @@ -0,0 +1,7 @@ + + + + + + + diff --git a/result/HTML/repeat.html.err b/result/HTML/repeat.html.err new file mode 100644 index 0000000..e69de29 diff --git a/result/HTML/repeat.html.sax b/result/HTML/repeat.html.sax new file mode 100644 index 0000000..50b3a76 --- /dev/null +++ b/result/HTML/repeat.html.sax @@ -0,0 +1,14 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.startElement(body) +SAX.startElement(td) +SAX.endElement(td) +SAX.startElement(td) +SAX.comment( ) +SAX.characters( +, 1) +SAX.endElement(td) +SAX.endElement(body) +SAX.endElement(html) +SAX.endDocument() diff --git a/result/HTML/script.html b/result/HTML/script.html new file mode 100644 index 0000000..5b95a1f --- /dev/null +++ b/result/HTML/script.html @@ -0,0 +1,10 @@ + + +Script tests + + + + + diff --git a/result/HTML/script.html.err b/result/HTML/script.html.err new file mode 100644 index 0000000..e69de29 diff --git a/result/HTML/script.html.sax b/result/HTML/script.html.sax new file mode 100644 index 0000000..5925ecc --- /dev/null +++ b/result/HTML/script.html.sax @@ -0,0 +1,32 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.startElement(head) +SAX.startElement(title) +SAX.characters(Script tests, 12) +SAX.endElement(title) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(script, language='javascript') +SAX.cdata( + if (window.open<max) ;, 28) +SAX.endElement(script) +SAX.characters( +, 1) +SAX.startElement(input, onclick='if(window.open<max);') +SAX.endElement(input) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/result/HTML/script2.html b/result/HTML/script2.html new file mode 100644 index 0000000..2ad9b95 --- /dev/null +++ b/result/HTML/script2.html @@ -0,0 +1,17 @@ + + + + +Test Page + + +
    + +

    + Příliš žluťoučký kůň úpěl ďábelksé ódy; +

    +
    + + diff --git a/result/HTML/script2.html.err b/result/HTML/script2.html.err new file mode 100644 index 0000000..e69de29 diff --git a/result/HTML/script2.html.sax b/result/HTML/script2.html.sax new file mode 100644 index 0000000..405549d --- /dev/null +++ b/result/HTML/script2.html.sax @@ -0,0 +1,50 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.startElement(html, xmlns='http://www.w3.org/1999/xhtml') +SAX.characters( + , 2) +SAX.startElement(head) +SAX.characters( + , 3) +SAX.startElement(meta, http-equiv='Content-Type', content='text/html; charset=UTF-8') +SAX.endElement(meta) +SAX.characters( +, 1) +SAX.startElement(title) +SAX.characters(Test Page, 9) +SAX.endElement(title) +SAX.characters( +, 1) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(div, id='portal') +SAX.characters( +, 1) +SAX.startElement(script, type='text/javascript') +SAX.cdata( + documen.write("Př, 74) +SAX.endElement(script) +SAX.characters( + , 2) +SAX.startElement(p) +SAX.characters( + Příliš , 58) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.endElement(div) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( + +, 2) +SAX.endDocument() diff --git a/result/HTML/test2.html b/result/HTML/test2.html new file mode 100644 index 0000000..eaa8864 --- /dev/null +++ b/result/HTML/test2.html @@ -0,0 +1,38 @@ + + + Linux Today + + + +
    + + + + + + +
    +Atipa Linux solutions. Your reliable cluster, server, and workstation solution. Win a Free Celeron Linux Workstation! + + +Linux Today Logo
    linux.com partner

    +
    + +[
    headlines | +features | +commercial | +security | +jobs | +volt | +contribute/submit | +advertise | +search | +site digests | +mailing lists | +about us | +link us ] +
    +

    +

    + + diff --git a/result/HTML/test2.html.err b/result/HTML/test2.html.err new file mode 100644 index 0000000..e69de29 diff --git a/result/HTML/test2.html.sax b/result/HTML/test2.html.sax new file mode 100644 index 0000000..fd328dd --- /dev/null +++ b/result/HTML/test2.html.sax @@ -0,0 +1,145 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(HTML, -//W3C//DTD HTML 4.0 Transitional//EN, http://www.w3.org/TR/REC-html40/loose.dtd) +SAX.startElement(html) +SAX.startElement(head) +SAX.characters( , 1) +SAX.startElement(title) +SAX.characters(Linux Today, 11) +SAX.endElement(title) +SAX.endElement(head) +SAX.characters( +, 1) +SAX.startElement(body, bgcolor='White', link='Blue', text='Black', vlink='Black', alink='Red') +SAX.characters( + +, 2) +SAX.startElement(center) +SAX.characters( +, 1) +SAX.startElement(table, border='0', width='100%', cellspacing='0', cellpadding='0') +SAX.characters( + , 9) +SAX.startElement(tr, bgcolor='#FFFFFF') +SAX.characters( + , 17) +SAX.startElement(td, height='90') +SAX.characters( +, 1) +SAX.startElement(a, href='http://linuxtoday.com/cgi-bin/click.pl?adnum=49') +SAX.startElement(img, src='/pics/door_linux.gif', border='0', width='468', height='60', alt='Atipa Linux solutions. Your reliable cluster, server, and workstation solution. Win a Free Celeron Linux Workstation!') +SAX.endElement(img) +SAX.endElement(a) +SAX.characters( + + , 18) +SAX.endElement(td) +SAX.characters( + , 5) +SAX.startElement(td) +SAX.startElement(img, src='/pics/lt.gif', vspace='5', alt='Linux Today Logo') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='-1') +SAX.startElement(a, href='http://linux.com') +SAX.characters(linux.com, 9) +SAX.endElement(a) +SAX.characters( partner, 8) +SAX.endElement(font) +SAX.startElement(p) +SAX.endElement(p) +SAX.endElement(td) +SAX.characters( + + , 10) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.endElement(table) +SAX.characters( +, 1) +SAX.startElement(font, size='2', face='Helvetica') +SAX.characters( +[ , 3) +SAX.startElement(a, href='http://linuxtoday.com/') +SAX.characters(headlines, 9) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://features.linuxtoday.com/') +SAX.characters(features, 8) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://commercial.linuxtoday.com/') +SAX.characters(commercial, 10) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://security.linuxtoday.com/') +SAX.characters(security, 8) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://jobs.linuxtoday.com/') +SAX.characters(jobs, 4) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://linuxtoday.com/volt/') +SAX.characters(volt, 4) +SAX.endElement(a) +SAX.characters( | +, 4) +SAX.startElement(a, href='http://linuxtoday.com/contrib.pl') +SAX.characters(contribute/submit, 17) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://linuxtoday.com/advertise/') +SAX.characters(advertise, 9) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://linuxtoday.com/search.html') +SAX.characters(search, 6) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://linuxtoday.com/digests/') +SAX.characters(site digests, 12) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://linuxtoday.com/mail-lists') +SAX.characters(mailing lists, 13) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://linuxtoday.com/about/') +SAX.characters(about us, 8) +SAX.endElement(a) +SAX.characters( | +, 3) +SAX.startElement(a, href='http://linuxtoday.com/linkus.html') +SAX.characters(link us, 7) +SAX.endElement(a) +SAX.characters( ], 2) +SAX.endElement(font) +SAX.characters( +, 1) +SAX.endElement(center) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters( +, 1) +SAX.endElement(p) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/result/HTML/test3.html b/result/HTML/test3.html new file mode 100644 index 0000000..b37a1c7 --- /dev/null +++ b/result/HTML/test3.html @@ -0,0 +1,59 @@ + + + + + + +

    Component Package diagram ProblemDomain

    +

    +
    +
    +
    +Stereotype problem domain
    +
    +Alias Problem Domain
    +
    Note
    +
    The Problem Domain package is the model behind the Human +
    Interface, thats stores and manipulates the Family Tree. +
    + +
    +

    +
    +
    + +

    Class HumanInterface.FamilyFrame +

    +

    Class ProblemDomain.Birth +

    +

    Class ProblemDomain.Death +

    +

    Class ProblemDomain.Divorce +

    +

    Class ProblemDomain.Family +

    +

    Class ProblemDomain.Individual +

    +

    Class ProblemDomain.LifeEvent +

    +

    Class ProblemDomain.Marriage +

    +

    Class ProblemDomain.Note +

    +
    + +

    Links

    + + + + + + + + diff --git a/result/HTML/test3.html.err b/result/HTML/test3.html.err new file mode 100644 index 0000000..c743503 --- /dev/null +++ b/result/HTML/test3.html.err @@ -0,0 +1,12 @@ +./test/HTML/test3.html:6: HTML parser error : Unexpected end tag : p +


    + ^ +./test/HTML/test3.html:13: HTML parser error : Unexpected end tag : p +


    + ^ +./test/HTML/test3.html:27: HTML parser error : Opening and ending tag mismatch: h4 and b +

    Links

    + ^ +./test/HTML/test3.html:27: HTML parser error : Unexpected end tag : b +

    Links

    + ^ diff --git a/result/HTML/test3.html.sax b/result/HTML/test3.html.sax new file mode 100644 index 0000000..b75b211 --- /dev/null +++ b/result/HTML/test3.html.sax @@ -0,0 +1,230 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 2) +SAX.startElement(head) +SAX.characters( +, 2) +SAX.startElement(base, target='contents') +SAX.endElement(base) +SAX.characters( +, 2) +SAX.endElement(head) +SAX.characters( +, 2) +SAX.startElement(body) +SAX.startElement(a, name='ProblemDomain.Package') +SAX.startElement(h2) +SAX.characters(Component Package diagram Prob, 39) +SAX.endElement(h2) +SAX.characters( +, 2) +SAX.endElement(a) +SAX.startElement(p) +SAX.endElement(p) +SAX.startElement(hr) +SAX.endElement(hr) +SAX.error: Unexpected end tag : p +SAX.characters( +, 2) +SAX.startElement(dl) +SAX.characters( +, 2) +SAX.startElement(dt) +SAX.startElement(b) +SAX.characters(Stereotype , 11) +SAX.endElement(b) +SAX.characters(problem domain, 14) +SAX.endElement(dt) +SAX.characters( +, 2) +SAX.startElement(dt) +SAX.startElement(b) +SAX.characters(Alias , 6) +SAX.endElement(b) +SAX.characters(Problem Domain, 14) +SAX.endElement(dt) +SAX.characters( +, 2) +SAX.startElement(dt) +SAX.startElement(b) +SAX.characters(Note , 5) +SAX.endElement(b) +SAX.endElement(dt) +SAX.startElement(dd) +SAX.characters(The Problem Domain package is , 59) +SAX.startElement(dd) +SAX.characters(Interface, thats stores and ma, 58) +SAX.endElement(dd) +SAX.endElement(dd) +SAX.endElement(dl) +SAX.characters( +, 2) +SAX.startElement(p) +SAX.endElement(p) +SAX.startElement(hr) +SAX.endElement(hr) +SAX.error: Unexpected end tag : p +SAX.characters( +, 2) +SAX.startElement(dl) +SAX.characters( + +, 4) +SAX.startElement(dt) +SAX.startElement(h4) +SAX.characters(Class , 6) +SAX.startElement(a, href='HumanInterface.FamilyFrame.html#HumanInterface.FamilyFrame') +SAX.characters(HumanInterface.FamilyFrame, 26) +SAX.endElement(a) +SAX.endElement(h4) +SAX.endElement(dt) +SAX.characters( +, 2) +SAX.startElement(dt) +SAX.startElement(h4) +SAX.characters(Class , 6) +SAX.startElement(a, href='ProblemDomain.Birth.html#ProblemDomain.Birth') +SAX.characters(ProblemDomain.Birth, 19) +SAX.endElement(a) +SAX.endElement(h4) +SAX.endElement(dt) +SAX.characters( +, 2) +SAX.startElement(dt) +SAX.startElement(h4) +SAX.characters(Class , 6) +SAX.startElement(a, href='ProblemDomain.Death.html#ProblemDomain.Death') +SAX.characters(ProblemDomain.Death, 19) +SAX.endElement(a) +SAX.endElement(h4) +SAX.endElement(dt) +SAX.characters( +, 2) +SAX.startElement(dt) +SAX.startElement(h4) +SAX.characters(Class , 6) +SAX.startElement(a, href='ProblemDomain.Divorce.html#ProblemDomain.Divorce') +SAX.characters(ProblemDomain.Divorce, 21) +SAX.endElement(a) +SAX.endElement(h4) +SAX.endElement(dt) +SAX.characters( +, 2) +SAX.startElement(dt) +SAX.startElement(h4) +SAX.characters(Class , 6) +SAX.startElement(a, href='ProblemDomain.Family.html#ProblemDomain.Family') +SAX.characters(ProblemDomain.Family, 20) +SAX.endElement(a) +SAX.endElement(h4) +SAX.endElement(dt) +SAX.characters( +, 2) +SAX.startElement(dt) +SAX.startElement(h4) +SAX.characters(Class , 6) +SAX.startElement(a, href='ProblemDomain.Individual.html#ProblemDomain.Individual') +SAX.characters(ProblemDomain.Individual, 24) +SAX.endElement(a) +SAX.endElement(h4) +SAX.endElement(dt) +SAX.characters( +, 2) +SAX.startElement(dt) +SAX.startElement(h4) +SAX.characters(Class , 6) +SAX.startElement(a, href='ProblemDomain.LifeEvent.html#ProblemDomain.LifeEvent') +SAX.characters(ProblemDomain.LifeEvent, 23) +SAX.endElement(a) +SAX.endElement(h4) +SAX.endElement(dt) +SAX.characters( +, 2) +SAX.startElement(dt) +SAX.startElement(h4) +SAX.characters(Class , 6) +SAX.startElement(a, href='ProblemDomain.Marriage.html#ProblemDomain.Marriage') +SAX.characters(ProblemDomain.Marriage, 22) +SAX.endElement(a) +SAX.endElement(h4) +SAX.endElement(dt) +SAX.characters( +, 2) +SAX.startElement(dt) +SAX.startElement(h4) +SAX.characters(Class , 6) +SAX.startElement(a, href='ProblemDomain.Note.html#ProblemDomain.Note') +SAX.characters(ProblemDomain.Note, 18) +SAX.endElement(a) +SAX.endElement(h4) +SAX.endElement(dt) +SAX.characters( +, 2) +SAX.endElement(dl) +SAX.characters( + +, 4) +SAX.startElement(h4) +SAX.startElement(b) +SAX.characters(Links, 5) +SAX.error: Opening and ending tag mismatch: h4 and b +SAX.endElement(b) +SAX.endElement(h4) +SAX.error: Unexpected end tag : b +SAX.characters( +, 2) +SAX.startElement(ul) +SAX.startElement(li) +SAX.startElement(b) +SAX.characters(Link to , 8) +SAX.endElement(b) +SAX.startElement(a, href='HumanInterface.Package.html#HumanInterface.Package') +SAX.characters(HumanInterface, 14) +SAX.endElement(a) +SAX.endElement(li) +SAX.endElement(ul) +SAX.characters( +, 2) +SAX.startElement(dir) +SAX.endElement(dir) +SAX.characters( +, 2) +SAX.startElement(ul) +SAX.startElement(li) +SAX.startElement(b) +SAX.characters(Link to , 8) +SAX.endElement(b) +SAX.startElement(a, href='DataManagement.FlatFile.Package.html#DataManagement.FlatFile.Package') +SAX.characters(DataManagement.FlatFile, 23) +SAX.endElement(a) +SAX.endElement(li) +SAX.endElement(ul) +SAX.characters( +, 2) +SAX.startElement(dir) +SAX.endElement(dir) +SAX.characters( +, 2) +SAX.startElement(ul) +SAX.startElement(li) +SAX.startElement(b) +SAX.characters(Link to , 8) +SAX.endElement(b) +SAX.startElement(a, href='DataManagement.Package.html#DataManagement.Package') +SAX.characters(DataManagement, 14) +SAX.endElement(a) +SAX.endElement(li) +SAX.endElement(ul) +SAX.characters( +, 2) +SAX.startElement(dir) +SAX.endElement(dir) +SAX.characters( +, 2) +SAX.endElement(body) +SAX.endElement(html) +SAX.characters( +, 2) +SAX.endDocument() diff --git a/result/HTML/utf8bug.html b/result/HTML/utf8bug.html new file mode 100644 index 0000000..66a498a --- /dev/null +++ b/result/HTML/utf8bug.html @@ -0,0 +1,215 @@ + + + + + + + + +شهير بلاگ + + + + + + + + + + + + + + +
    + + + + + +
    + + 
    +
    +
    + + + + + +
    + + +خانه + +تماس با من + +آرشيو + +جستجو در سایت + +درباره من + + + +RSS + + + +
    +

    + يکشنبه، 15 ارديبهشت 1387  + -   + Sunday, May 04, 2008 +

    +
    +
    +
    +
    + + + + +
    + + + + +
    + + + + + + + + + + +
    +
    + تاريخ درج: چهارشنبه، 29 اسفند 1386 + - Wednesday, March 19, 2008      + نويسنده:       + دفعات مشاهده: 2688 + بار      كد: 341 +
    +
    + + + +
    +
    +
    +
    + +
    + + + + +
    + عکس محصول هنر یکی از همکاران است. روی آن کلیک کند. +
    +
    + +
    +

    +
    +
      +نظرات + کاربران:
    • +حاجی جفرسون:
      4/5/2008 - + 7:08:00 PM
      با درود به شما... بدون هیچ گونه طنز + و دستکاری توسط حاجی دایی نقل شده است این ها که در بیان جدی + اینقدر طناز هستند وای به روزی که بخواهند طنز بنویسند. ببین + شهیر جان چه کسانی سر جوانان ما را با اصلاحات 8 سال گول + مالیدند.. این ها را بخوانید :::::((دبيركل مجمع اسلامي بانوان + گفت: به نظر مي‌رسد آقاي خاتمي قصد فاصله گرفتن از تندروها + را ندارد و تا اين روند ادامه دارد ما با تندروها در يك ائتلاف + شركت نمي‌كنيم. به گزارش خبرنگار سياسي خبرگزاري فارس، + فاطمه كروبي دبيركل مجمع اسلامي بانوان عصر امروز شنبه در جمع + خبرنگاران رسانه‌هاي گروهي روند برگزاري انتخابات هشتمين + دوره مجلس شوراي اسلامي را تحليل كرد. وي ضمن برشمردن مرزبندي خود + با جربان تندروي اصلاح طلب افزود: اين ما نيستيم كه با ستاد ائتلاف + اصلاح طلبان اختلاف داريم اما انحصارگري برخي از گروه‌ها + جريان اصلاحات را دچار از هم‌گسستگي كرد. داوطلب هشتمين دوره + انتخابات مجلس شوراي اسلامي درباره تشكيل ستاد مردمي اصلاحات خاطر + نشان كرد: آقاي خاتمي به توصيه‌ها و نظرات دوستانشان توجهي + ندارند و اگر اين امكان وجود داشت كه همه جريانات اصلاح طلب زير + يك عنوان فعاليت كنند حتما از آن استقبال مي‌كرديم اما به + نظر نمي‌رسد كه آقاي خاتمي بخواهد از تندروها فاصله بگيرد و + تا اين روند ادامه داشته باشد ما با تندروها در يك ائتلاف شركت + نمي‌كنيم. وي در مورد شركت تشكل متبوع خود در مرحله بعدي + انتخابات مجلس گفت: برخي از كانديداهاي نزديك به ما به مرحله دوم + انتخابات راه يافته‌اند و ما با تمام توان در اين مرحله از + آنها دفاع خواهيم كرد. كروبي تاكيد كرد: گروهي انحصارگر با + اقدامات غيرعقلاني و تندروي‌هاي خود اتوبوس اصلاحات را در دره + سرنگون كردند)))) لطفا پیدا کنید پرتقال فروش را......واقعا این + ها می خواهند دوباره وارد مجلس و دولت شوند.....اووووووووووووووو + لالالالالالا........نه!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! البته این + مجمع بانوان بیشتر به سفره های نذر و سبزی پاک کردن های خونه + مامان بزرگ و خاله زنک بازی های عصر قاجاریه و مجلس پا تختی و + حنا بندون عروس شباهت دارد. مهندس جان گویا ما از دست این ....و + عیالش باید برویم گوشه همان ابدارخانه و شاغلام و چایی + دیشلمه....شما تشریف نمی آورید؟
    • +

    • +سیاوش:
      4/3/2008 - 9:28:00 PM
      مرد هزار چهره مرد هزار چهره کیست؟شخصیتی ساخته و پرداخته مهران مدیری، پیمان قاسم خانی و دیگر نویسندگان؟ تنها هدفش آنست که چند روز تعطیلات، مارا سرگم کند و دیگر هیچ؟ مرد هزار چهره یک طنز است یک طنز تلخ، برداشتی واقعی از جامعه ایرانی. من جوانم پس دردآشنای جوانانم و خود را با خود و دیگر جوانان طرف می کنم بسیار اند جوانانی که مصداق مرد هزار چهره هستند جوانانی سودا زده یا به قول خود مسعود "جو گیر" که هر با محصولی کهنه را با تعریفی جدید به آنها ارائه کنند چنان با تمام و جود می پذیرند که گویی راه فائق آمدن بر تمام مشکلاتشان را یافته اند و می خرند، خواه این تحفه تئوری بر گرفته از تفکرات خشک و فسیلی گروهی باشد یا مدل ملیجک وار لباسی در پشت ویترین فروشگاه. مهم نیست چه باشد! مهم نیست دلیل انتخابش چه باشد! مهم نیست نتیجه این انتخاب چیست! تنها مهم است که می گویند از این طرف بفرمائید!حال این بفرمائید چه معنایی دارد باز هم مهم نیست!!! وای بر ما که نه خود را می شناسیم و نه در جهت شناخت خویش قدم می گذاریم. وای بر ما که دیگر حتی ندای درون خویش را نمی توانیم بشنویم. وای بر ما که نمی دانیم چه می خواهیم و هر بار که چیزی می خواهیم و در مسیر وصال پا می گذاریم به میانه راه نرسیده چنان مجذوب زرق و برق راههای دیگر می شویم که مبدا و مقصد را یکجا فراموش می کنیم. وای بر ما که نمی توانیم در برابر هر آنچه در مقابل انسانیت ما ایستاده "نه"بگوییم. درست است که ما جوانان به تنهایی مقصر نیستیم اما چون شروع تقصیریم پس می توانیم از ابتدا مانع مشکل هم باشیم. با احترام سیاوش

      +بسیار زیبا سیاوش جان. درود بر تو. شهیر +
    • +

    • +احسان __ خط سوم:
      4/3/2008 - 8:21:00 PM
      با سلام و ادای احترام وکسب اجازه از شهیر عزیز . از عماد جان عزیزم بخاطر زحمتی که کشیدند و اطلاعات خوبی که دادند ، به سهم خودم تشکر می کنم . با کمال شرمندگی از اینکه "بدون هماهنگی" و " اجازه ای قبلی شما" و "بسرعت" ، معدود اشتباهات تایپی را که با توجه به حجم مطلب ، امری کاملا اجتناب ناپذیر است ، سعی کردم که اصلاح کنم ، از شما پوزش می خواهم . البته عماد جان عزیزم ، بد نیست بدانید که در میزان اشتباه در تایپ هرگز به پای بنده نخواهید رسید ! شاهد ادعای حقیر، شهیر و حسین جان عزیزم هستند که خبردارند که چگونه بنده در یک فقره عملیات تایپ ، دو صفحه ای کامل را جا انداختم !!! کافی است بپرسید ، در نهایت صداقت ، بر این رکورد بی نظیر و تاریخی شهادت خواهند داد ! باز هم از زحمات عماد جان و نیز سوالات خوب حسین جان تشکر می کنم که ان وعده ای مقاله ای عیدانه ای مفصل شهیر را در باره ای زنده یاد مرحوم مصدق ، در وسع خود بجای اوردند . ضمن انکه هیچکدام از دوستان، این زحمت ارزشمند عماد جان را دلیل ان نخواهند دانست که شهیرعزیز بعد از بازگشت از مسافرت ، سر فرصت وعده ای خود را عمل نکنند . مشتاقانه اما نه عجولانه ، منتظر مقاله ای شهیر هم خواهیم ماند. با احترام : احسان

      +احسان جان، من فکر کردم قضیه شامل مرور زمان شده است. تا امروز که نرسیده ام دست به این پروژه بزنم. اگر عشق به حفظ ارتباط با شما ها نبود تا روز 25 اپریل به خودم مرخصی می دادم. در این سفر خدا می داند چند هزار مایل در 3 قاره را پیموده ام. از پوست کلفت خودم در عجبم که چطوری تونستم اخبار را دنبال کنم و چند مقاله کوتاه بنویسم. گرفتاری زیاد بود. شهیر +
    • +

    • +عماد ۲۴ ساله از اصفهان:
      4/3/2008 - 7:14:00 PM
      شهير جان اگر طولانی شد ببخشيد چاره ای نبود احسان جان از کمک شما نيز در ويرايش اين مطلب متشکرم اميدوارم حسين عزیز نيز راضی باشد

      +ممنون از زحمتی که کشیدی عماد جان. شهیر +
    • +

    • +حسین:
      4/3/2008 - 7:04:00 PM
      سلام آقا شهیر با اجازه شما خواستم از عماد عزیز وهمچنین سرور بزرگوار آقااحسان تشکر کنم وبه آقا عمادبگویم دستت درد نکنه بابت زحمتت وفوق العاده عالی بود.قسمتی که نوشتید" خود دکتر مصدق در تقریراتشان به اشتباه بودن تصمیمشان مبنی بر استعفاء اقرار می کنند"واقعا جالب وحاکی از روح بلند دکتر مصدق هست .بااینکه سوالات خرد وریز زیاد هست اما از اینکه به سوالات عمده من با توجه به کتاب دکتر مصدق پاسخ دادید بازهم تشکر میکنم .میخواستم این پاسخ را برای نویسنده مقاله رجانیوز copy&paste
      +کنم گفتم شاید هرچند به احتمال ضعیف برای سایت دوست داشتنی آقا شهیر مشکلی پیش +آید.خواستم با حذف نام آقا شهیر وشما از کامنت اینکار را بکنم احتمال دادم راضی +نباشید .بنابراین فعلا علیرغم میل فراوان از اینکار صرف نظر کردم .بهرحال بازهم +ممنون ومتشکر
    • +

    • +حاجی جفرسون:
      4/3/2008 - 6:06:00 PM FOO!
      با درود از قدیم گفته اند که یک کلمه هم از مادر عروس بشنوید. بنابراین به افاضات اخیر کشور دوست و برادر و سوسیالیست چین عزیز و جان جانان کمونیست عنایت بفرمایید: رادیو فردا: ديپلمات ها در وين گفته اند: که چين، از مخالفان تشديد تحريم های ايران در شورای امينت، اطلاعات خود درباره ارتباط برنامه هسته ای تهران با تلاش برای دستيابی سلاح اتمی را در اختيار آژانس بين المللی انرژی اتمی قرار داده است. العجب!!!!!! انتخاب :با وجود اینکه چین به شدت با تحریمهای شورای امنیت سازمان ملل علیه ایران مخالفت می کرد، اطلاعاتی در رابطه با فعالیتهای هسته ای ایران در اختیار مقامات آژانس بین المللی انرژی اتمی قرار داده که بر اساس آن ایران در تلاش برای دست یابی به سلاح های اتمی است. به گزارش خبرنگار سرویس بین الملل خبرگزاری انتخاب به نقل از فاکس نیوز؛جان بولتون ،نمایندۀ پیشین ایالات متحدۀ امریکا در سازمان ملل،در این باره گفت: اقدام اینچنینی از سوی چین به دلیل روابط نظامی که میان دو کشور [ایران و چین] برقرار است، بسیار قابل توجه است. خبرنگار انتخاب می افزاید؛ در حالی چین به این اقدام دست زده است که همکاری های تجاری و نظامی ایران با این کشور بطور بی سابقه ای افزایش یافته است. یا باب الحوائج!!!!! رادیو زمانه: چین با وجود مخالفت با تحریم‌های شدید شورای امنیت علیه تهران، اطلاعاتی درباره تلاش‌های تهران برای ساخت تسلیحات هسته‌ای به آژانس بین‌المللی انرژی اتمی ارائه کرده است. آسوشیتدپرس با اعلام این خبر به نقل از چند دیپلمات آشنا با پرونده هسته‌ای ایران نوشت، پکن به همراه مسکو همواره بر سر راه شورای امنیت و امریکا برای اعمال مجازات های سخت تر علیه تهران به دلیل مقاومت هسته ای این کشور به صورت یک مانع عمل کرده‌اند. این گزارش می افزاید، تصمیم چین برای ارائه اطلاعاتی جهت استفاده در تحقیقات آژانس انرژی اتمی درباره برنامه تسلیحات هسته‌ای ایران، گویای افزایش نارضایتی بین‌المللی درباره برنامه هسته‌ای جمهوری اسلامی است که حتی تلاش برای ساخت چنین تسلیحاتی را نیز تکذیب می‌کند. بر اساس این گزارش، دو دیپلمات بلندپایه که ارتباط نزدیکی با آژانس بین‌المللی انرژی اتمی دارند این اقدام چین را برملا کرده‌اند. آژانس بین‌المللی انرژی اتمی از اظهار نظر در این باره خودداری کرده است. العجب. من مامور و معذور..حالا از پدر عروس چند کلمه بشنوید: سخنگوی آژانس بین المللی انرژی اتمی ادعای برخی از رسانه های غربی را درباره این که چین اطلاعاتی را درباره برنامه هسته ای ایران در اختیار آژانس قرار داده است ، تکذیب کرد . ملیسا فلمینگ در گفت و گو با خبرنگار واحد مرکزی خبر تاکید کرد : آژانس بین المللی انرژی اتمی هرگز درباره اطلاعات محرمانه دریافتی از کشورها اظهار نظر نمی کند . وی گفت: هم +
    • +
    +
    +
    +
    +
    + + diff --git a/result/HTML/utf8bug.html.err b/result/HTML/utf8bug.html.err new file mode 100644 index 0000000..a6ef047 --- /dev/null +++ b/result/HTML/utf8bug.html.err @@ -0,0 +1,15 @@ +./test/HTML/utf8bug.html:45: HTML parser error : htmlParseEntityRef: expecting ';' + + ^ +./test/HTML/utf8bug.html:118: HTML parser error : htmlParseEntityRef: expecting ';' + اندازه فونت:  + کوچک  + معمولی  + بزرگ  +
    ) +SAX.characters( + + + , 7) +SAX.startElement(div, class='Titr1') +SAX.characters( + , 5) +SAX.endElement(div) +SAX.characters( + , 3) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 3) +SAX.startElement(div, id='NewsBody') +SAX.characters( + + , 8) +SAX.startElement(div, class='Image') +SAX.characters( + + , 10) +SAX.error: htmlParseEntityRef: expecting ';' +SAX.startElement(a, href='showimage.aspx?path=Files_Upload\302.JPG&Width=', rel='lightbox', title='شهير بلاگ') +SAX.characters( + , 5) +SAX.error: htmlParseEntityRef: expecting ';' +SAX.startElement(img, src='showimage.aspx?path=Files_Upload\302.JPG&Width=220', align='left', border='1') +SAX.endElement(img) +SAX.characters( + , 5) +SAX.endElement(a) +SAX.endElement(div) +SAX.characters( + , 4) +SAX.startElement(strong) +SAX.startElement(font, size='4') +SAX.startElement(font, color='#0000ff') +SAX.characters(عکس, 6) +SAX.endElement(font) +SAX.characters( , 1) +SAX.startElement(font, color='#0000ff') +SAX.characters(محصو, 81) +SAX.endElement(font) +SAX.endElement(font) +SAX.endElement(strong) +SAX.startElement(s1) +SAX.error: Tag s1 invalid +SAX.characters( , 2) +SAX.endElement(s1) +SAX.endElement(div) +SAX.characters( + , 3) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 3) +SAX.startElement(div, align='left') +SAX.characters( + , 4) +SAX.startElement(a, href='printfriendly.asp?id=341') +SAX.characters( + , 4) +SAX.startElement(img, src='shell/PrintFriendly.png', border='0') +SAX.endElement(img) +SAX.endElement(a) +SAX.characters( + , 4) +SAX.startElement(a, href='#', onclick='window.open('SendNews.asp?PageID=341','myWin','toolbar=no,directories=no,location=no,status=no,menubar=no,resizable=yes,scrollbars=no,width=500, height=200'); return false') +SAX.characters( + , 4) +SAX.startElement(img, border='0', src='Shell/SendToFriends.jpg', width='140', height='30') +SAX.endElement(img) +SAX.characters( + , 4) +SAX.endElement(a) +SAX.characters( + , 3) +SAX.endElement(div) +SAX.characters( + , 3) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 3) +SAX.endElement(td) +SAX.characters( + , 2) +SAX.endElement(tr) +SAX.characters( + , 2) +SAX.startElement(tr) +SAX.characters( + , 3) +SAX.startElement(td) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 3) +SAX.startElement(hr) +SAX.endElement(hr) +SAX.startElement(div, id='Comments') +SAX.startElement(ul) +SAX.startElement(b) +SAX.characters(ن, 2) +SAX.characters(ظ, 2) +SAX.characters(ر, 2) +SAX.characters(ا, 2) +SAX.characters(ت, 2) +SAX.characters( + , 3) +SAX.characters(ک, 2) +SAX.characters(ا, 2) +SAX.characters(ر, 2) +SAX.characters(ب, 2) +SAX.characters(ر, 2) +SAX.characters(ا, 2) +SAX.characters(ن, 2) +SAX.characters(:, 1) +SAX.endElement(b) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(li) +SAX.startElement(font, color='blue') +SAX.characters(حاجی , 22) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1') +SAX.characters(4/5/2008 - + 7:08:00 PM, 23) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(با در, 28) +SAX.characters( , 2) +SAX.characters(بدون , 476) +SAX.characters(‌, 3) +SAX.characters(رسد آ, 203) +SAX.characters(‌, 3) +SAX.characters(كنيم. , 222) +SAX.characters(‌, 3) +SAX.characters(هاي گ, 403) +SAX.characters(‌, 3) +SAX.characters(ها + ج, 56) +SAX.characters(‌, 3) +SAX.characters(گسست, 230) +SAX.characters(‌, 3) +SAX.characters(ها و ن, 240) +SAX.characters(‌, 3) +SAX.characters(كردي, 38) +SAX.characters(‌, 3) +SAX.characters(رسد ك, 209) +SAX.characters(‌, 3) +SAX.characters(كنيم. , 241) +SAX.characters(‌, 3) +SAX.characters(اند و , 221) +SAX.characters(‌, 3) +SAX.characters(هاي خ, 848) +SAX.endElement(li) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(li) +SAX.startElement(font, color='blue') +SAX.characters(سیاو, 11) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1') +SAX.characters(4/3/2008 - 9:28:00 PM, 21) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(مرد ه, 693) +SAX.characters(", 1) +SAX.characters(جو گی, 11) +SAX.characters(", 1) +SAX.characters( که هر, 1000) +SAX.characters( وای ب, 460) +SAX.characters(", 1) +SAX.characters(نه, 4) +SAX.characters(", 1) +SAX.characters(بگوی, 233) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.characters( , 2) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(font, color='#800000') +SAX.characters(بسیا, 67) +SAX.endElement(font) +SAX.endElement(li) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(li) +SAX.startElement(font, color='blue') +SAX.characters(احسا, 26) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1') +SAX.characters(4/3/2008 - 8:21:00 PM, 21) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(با سل, 291) +SAX.characters(", 1) +SAX.characters(بدون , 23) +SAX.characters(", 1) +SAX.characters( و , 4) +SAX.characters(", 1) +SAX.characters( اجاز, 32) +SAX.characters(", 1) +SAX.characters( و , 4) +SAX.characters(", 1) +SAX.characters(بسرع, 10) +SAX.characters(", 1) +SAX.characters( ، معد, 1001) +SAX.characters(د مرح, 481) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.characters( , 2) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(font, color='#800000') +SAX.characters(احسا, 602) +SAX.endElement(font) +SAX.endElement(li) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(li) +SAX.startElement(font, color='blue') +SAX.characters(عماد , 41) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1') +SAX.characters(4/3/2008 - 7:14:00 PM, 21) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(شهير , 227) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.characters( , 2) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(font, color='#800000') +SAX.characters(ممنو, 68) +SAX.endElement(font) +SAX.endElement(li) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(li) +SAX.startElement(font, color='blue') +SAX.characters(حسین:, 9) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1') +SAX.characters(4/3/2008 - 7:04:00 PM, 21) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(سلام , 834) +SAX.error: htmlParseEntityRef: expecting ';' +SAX.characters(&, 1) +SAX.characters(paste, 5) +SAX.characters( , 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +کنم گ, 440) +SAX.endElement(li) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(li) +SAX.startElement(font, color='blue') +SAX.characters(حاجی , 22) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1') +SAX.characters(4/3/2008 - 6:06:00 PM FOO!, 26) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(با در, 1000) +SAX.characters(ژانس , 999) +SAX.characters(‌, 3) +SAX.characters(های ش, 98) +SAX.characters(‌, 3) +SAX.characters(های ت, 59) +SAX.characters(‌, 3) +SAX.characters(ای به , 27) +SAX.characters(‌, 3) +SAX.characters(المل, 186) +SAX.characters(‌, 3) +SAX.characters(ای ای, 299) +SAX.characters(‌, 3) +SAX.characters(اند. ا, 223) +SAX.characters(‌, 3) +SAX.characters(ای ای, 65) +SAX.characters(‌, 3) +SAX.characters(المل, 47) +SAX.characters(‌, 3) +SAX.characters(ای جم, 130) +SAX.characters(‌, 3) +SAX.characters(کند. ب, 132) +SAX.characters(‌, 3) +SAX.characters(المل, 93) +SAX.characters(‌, 3) +SAX.characters(اند. آ, 25) +SAX.characters(‌, 3) +SAX.characters(المل, 814) +SAX.endElement(li) +SAX.endElement(ul) +SAX.endElement(div) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(table) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(table) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(table) +SAX.endElement(td) +SAX.endElement(tr) +SAX.endElement(table) +SAX.endElement(body) +SAX.endElement(html) +SAX.endDocument() diff --git a/result/HTML/wired.html b/result/HTML/wired.html new file mode 100644 index 0000000..74d366e --- /dev/null +++ b/result/HTML/wired.html @@ -0,0 +1,576 @@ + + +Top Stories News from Wired News + + + + + + + +
    + + + + + + + +
    + +
    True to the Original
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +

       updated 10:15 a.m.  15.Oct.99.PDT
    + + + + + + + + + + +
    + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    SECTIONS
    Business
    Culture
    Technology
    Politics
    +WIRE SERVICE NEWS
    Top Headlines
    Sports
    Finance
    + FREE DELIVERY
    + + + + + +
    +
    + + + + + + + + + +  +
    +
    + + +
    +
    + STOCKS
    Get Quote:
    +  +
    +Financial Services
    +
    +
    +
    + + + Datek + Wired Index Fund + internet.com Index Fund + GetSmart's MortgageFinder +
    Today's Summary
    Wired Index | All Indexes
    Portfolios
    FIND A BOOK
    + + + + + + + + + + +
    +
    + + + + +
    +
    + + + +
    +

    + Powered by barnesandnoble.com + +
    + + +

    +
    + +
    WIRED + MAGAZINE
    + + +
    + +Wired Magazine
    + +Issue 7.11 +
    +
    + + +Subscribe to Wired.
    Special offer!
    + + +
    +
    + HOTWIRED +
    +Frontdoor
    +Webmonkey
    +Webmonkey Guides
    +RGB Gallery
    +Animation Express
    +Suck.com
    +
    +
    + HOTBOT +
    +Search
    +Shopping
    +
    +
    +
    + + + Wired News staff

    + + + + Contact us
    + + +

    + + Wired News delivered
    by PalmPilot,
    Outlook Express,
    In-Box Direct,
    +or PointCast

    + + + +
    +
    + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + + +Nomad's Land

    Homeless, but ID'd, in Seattle
    8:15 a.m. The city council approves a plan to track the homeless by a numbering system, saying it'll improve services. The implications worry privacy advocates, naturally. By Craig Bicknell.
    in Politics
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     HITS & MISC.
      +
    + + Calendar of E-Vents
    Ongoing goings-on.

    Rants & Raves
    Readers on Apple's G4 ... AOL's passwords ... MS vs. Linux.

    +
     CURRENT HOO-HA
      + +
    + +MP3 Rocks the Web
    Download the sound.
    Sponsored by Musicmaker


    + +The Wireless World
    Networking gets unplugged.
    Sponsored by Ericsson


    + +Digital Hollywood
    The buzz of tech.

    + +IPO Outlook
    Deals in the pipeline.
    Sponsored by Sun


    + +E-Biz
    Business unusual.
    Sponsored by IBM


    + +Med-Tech Center
    From the bleeding edge.
    Sponsored by WebMD


    + +The Linux Effect
    Not just for geeks.


    + +Executive Summary
    CEOs, COOs, CIOs unite.
    Sponsored by Vignette


    + +Making the Grade
    Reading, writing, and ROM.
    Sponsored by U of Phoenix


    + +Infostructure
    An IS/IT resource
    Sponsored by Sprint


    + +Y2K Watch
    Tick... Tick... Tick...

    + +More Hoo-Ha
     
    + +
    +
     MEANWHILE...
      +
    + + + +Führer Furor

    +Contruction workers in Berlin opened an old wound in the German psyche this week when they accidentally stumbled across Adolf Hitler's bunker while excavating near the Brandenburg Gate. The bunker, just south of the Gate, was where Hitler and his closest associates barricaded themselves as the Red Army approached Berlin in the waning days of World War II. It is also where the Führer and his bride, Eva Braun, committed suicide rather than fall into the hands of the Russians. Although the bunker's location has never been a mystery, it has been sealed off since the end of the war to keep neo-Nazis from turning it into a shrine. +

    +
  • More from Lycos +


  • +
    + + + 
    + +
    + +Other Top Stories
    +
    + + +Wall Street Keeps Reeling
    10:15 a.m. The Dow and Nasdaq suffer sizeable losses during the first half of Friday trading. Why? Wholesale prices are the highest this decade, and Greenspan is concerned about stock prices.
    in Reuters

    The Market's Madness
    9:10 a.m. The bulls and the bears are in the midst of a Battle Royale, and all this turbulence is not a healthy thing. So say the experts.
    in Reuters

    'Want a Loan? What's Your Race?'
    3:00 a.m. The Federal Reserve is in the middle of changing banking regulations to let banks collect data on the race, sex, religion, and national origin of their customers. By Declan McCullagh.
    in Politics

    Music Regs: A Bagful of Noise
    3:00 a.m. The struggle to come up with a digital music standard that would minimize download piracy is pushing right up against the holiday gift-giving season. By Jennifer Sullivan.
    in Business

    Can't Beat 'Em? Green 'Em
    3:00 a.m. High-tech companies are notoriously environmentally unfriendly, and a growing number of "Greenies" are trying to change things from the inside ... with varying results. By Chris Gaither.
    in Technology

    Y2K Cloud Over MS Office
    3:00 a.m. Windows NT sales remain strong, but corporate clients are wary of upgrading to MS Office 2000. Analysts say that means strong, but not stunning, Microsoft earnings.
    in Business

    Med-Tech
    Biochips for Custom Chemo
    3:00 a.m. Different cancer patients need different medicine, but doctors can rarely determine the best match. New biochip technology promises chemotherapy tailored to a tumor's genetic make-up. By Kristen Philipkoski.
    in Technology

    High Stakes in Priceline Suit
    3:00 a.m. It's not just another round of Redmond-bashing. A Priceline.com lawsuit against Microsoft's Expedia.com may have a big impact on how Net companies protect their business models. By Joanna Glasner.
    in Business

    Biodiversity Merges Online
    3:00 a.m. The far-flung databases on global biodiversity get together to form one monster database. Soon the red-eyed tree frog will be eyeing those Swedish lingonberries. From the Environment News Service.
    in Technology

    + + + + +
    +Elsewhere Today
    +
    + + +FCC: Hands-Off on Broadband
    The Industry Standard

    White House Lashes Out on Treaty
    Lycos

    Steve Jobs at 44
    Time

    Computers May Run on Gas
    ZDNN

    Much Is Free in the Wired World
    The New York Times (Registration Required)

    Melissa: I'm Baaaack
    USA Today

    Domain Owners Surrender Privacy
    MSNBC

    Dividing to Conquer in VC Game
    The Washington Post

    The Red Hat Diaries
    Salon

    Screensaver to Predict Climate
    BBC News

    + + + + + +
    + +
    + + + +
    +
    + +

    + +

    +Send us feedback + |  +Work at Wired Digital + |  +Advertise with us +
    +About Wired Digital + |  +Our Privacy Policy
    + + +

    +

    Copyright © 1994-99 Wired Digital Inc. All rights reserved. + +
    + + + + + + + + + + +

    +
    + + +
    + + +
    + + diff --git a/result/HTML/wired.html.err b/result/HTML/wired.html.err new file mode 100644 index 0000000..70db11b --- /dev/null +++ b/result/HTML/wired.html.err @@ -0,0 +1,249 @@ +./test/HTML/wired.html:6: HTML parser error : htmlParseEntityRef: expecting ';' +
    + ^ +./test/HTML/wired.html:346: HTML parser error : Opening and ending tag mismatch: td and font + + ^ +./test/HTML/wired.html:374: HTML parser error : htmlParseEntityRef: no name +a, sans-serif">
    Rants & + ^ +./test/HTML/wired.html:374: HTML parser error : Opening and ending tag mismatch: td and font +Readers on Apple's G4 ... AOL's passwords ... MS vs. Linux.



    Vignette
    + ^ +./test/HTML/wired.html:407: HTML parser error : htmlParseEntityRef: expecting ';' +ervlet/appservlet?from=/wired/sprint/&template=/security/security.html&SITE= + ^ +./test/HTML/wired.html:407: HTML parser error : htmlParseEntityRef: expecting ';' +ervlet/appservlet?from=/wired/sprint/&template=/security/security.html&SITE= + ^ +./test/HTML/wired.html:408: HTML parser error : htmlParseEntityRef: expecting ';' +wired.com&BANNER=Sprint" style="text-decoration:none">Spri + ^ +./test/HTML/wired.html:408: HTML parser error : Opening and ending tag mismatch: a and font +com&BANNER=Sprint" style="text-decoration:none">Sprint + ^ +./test/HTML/wired.html:408: HTML parser error : End tag : expected '>' +=Sprint" style="text-decoration:none">Sprint + ^ +./test/HTML/wired.html:414: HTML parser error : Opening and ending tag mismatch: td and font + + ^ +./test/HTML/wired.html:414: HTML parser error : Opening and ending tag mismatch: td and font + + ^ +./test/HTML/wired.html:414: HTML parser error : Opening and ending tag mismatch: td and font + + ^ +./test/HTML/wired.html:414: HTML parser error : Opening and ending tag mismatch: td and font + + ^ +./test/HTML/wired.html:414: HTML parser error : Opening and ending tag mismatch: td and font + + ^ +./test/HTML/wired.html:414: HTML parser error : Opening and ending tag mismatch: td and font + + ^ +./test/HTML/wired.html:414: HTML parser error : Opening and ending tag mismatch: td and font + + ^ +./test/HTML/wired.html:432: HTML parser error : htmlParseEntityRef: expecting ';' +href="http://www.lycos.com/news/flash/hitlerbunker.html?v=wn1015&lpv=1">Lycos + +
    +Sponsored bySun Microsystems. We're the dot in .com + +) +SAX.characters( +, 1) +SAX.endElement(table) +SAX.characters( +, 1) +SAX.comment( end WIRED NEWS header ) +SAX.characters( + +, 2) +SAX.comment( begin upper left side Navigation ) +SAX.characters( + +, 2) +SAX.startElement(table, border='0', cellpadding='3', cellspacing='0', align='LEFT', bgcolor='#FFFFFF') +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#FF0000') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.characters( + , 8) +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', width='147', height='1', border='0') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(b) +SAX.characters(SECTIONS, 8) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + +, 2) +SAX.startElement(tr) +SAX.startElement(td, bgcolor='#CCFFCC') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='/news/business/0,1367,,00.html') +SAX.characters(Business, 8) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.startElement(tr) +SAX.startElement(td, bgcolor='#99FF99') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='/news/culture/0,1284,,00.html') +SAX.characters(Culture, 7) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.startElement(tr) +SAX.startElement(td, bgcolor='#CCFFCC') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='/news/technology/0,1282,,00.html') +SAX.characters(Technology, 10) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.startElement(tr) +SAX.startElement(td, bgcolor='#99FF99') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='/news/politics/0,1283,,00.html') +SAX.characters(Politics, 8) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.endElement(tr) +SAX.startElement(tr) +SAX.characters( +, 1) +SAX.startElement(td, bgcolor='#FF0000') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.characters( +, 1) +SAX.startElement(b) +SAX.characters(WIRE SERVICE NEWS, 17) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.endElement(tr) +SAX.characters( + +, 2) +SAX.startElement(tr) +SAX.characters( +, 1) +SAX.startElement(td, bgcolor='#99FF99') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='/news/news/reuters/') +SAX.characters(Top Headlines, 13) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.endElement(tr) +SAX.characters( + +, 2) +SAX.startElement(tr) +SAX.characters( +, 1) +SAX.startElement(td, bgcolor='#CCFFCC') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='/news/news/reuters/sports/') +SAX.characters(Sports, 6) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.endElement(tr) +SAX.characters( + +, 2) +SAX.startElement(tr) +SAX.characters( +, 1) +SAX.startElement(td, bgcolor='#99FF99') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='/news/news/reuters/business/') +SAX.characters(Finance, 7) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.comment( End upper left nav ) +SAX.comment( Begin lower Left Nav ) +SAX.characters( + , 5) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#FF0000') +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.characters( + , 8) +SAX.startElement(b) +SAX.startElement(font, size='1') +SAX.characters(FREE DELIVERY, 13) +SAX.endElement(font) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 5) +SAX.endElement(tr) +SAX.characters( + , 5) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#99FF99') +SAX.characters( +, 1) +SAX.startElement(table, cellspacing='0', cellpadding='0', border='0') +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.startElement(td, bgcolor='#99FF99') +SAX.characters( + , 4) +SAX.startElement(form, action='http://r.hotwired.com/r/hw_wm_r_nav_nwsltr/http://perl.hotwired.com/massmail/cgiParser.cgi', method='get', target='_top') +SAX.characters( + + , 3) +SAX.startElement(input, type='hidden', name='success_page', value='http://www.hotwired.com/email/signup/wirednews-ascii.html') +SAX.endElement(input) +SAX.characters( + +, 3) +SAX.startElement(input, type='hidden', name='failure_page', value='http://www.hotwired.com/email/signup/wirednews-ascii.html') +SAX.endElement(input) +SAX.characters( + +, 3) +SAX.startElement(input, type='hidden', name='LIST', value='wn_ascii') +SAX.endElement(input) +SAX.characters( +, 1) +SAX.startElement(input, type='hidden', name='SOURCE', value='other') +SAX.endElement(input) +SAX.characters( + , 2) +SAX.startElement(input, type='hidden', name='ACTION', value='subscribe') +SAX.endElement(input) +SAX.characters( + +, 3) +SAX.startElement(input, type='TEXT', name='from', size='10', value='enter email') +SAX.endElement(input) +SAX.characters( , 2) +SAX.characters( +, 1) +SAX.endElement(form) +SAX.endElement(td) +SAX.characters( + , 4) +SAX.startElement(td, valign='top', bgcolor='#99FF99') +SAX.characters( + , 3) +SAX.startElement(input, type='SUBMIT', name='SUBMIT', value='GO') +SAX.endElement(input) +SAX.characters( + + , 5) +SAX.endElement(td) +SAX.characters( + , 2) +SAX.endElement(tr) +SAX.characters( , 4) +SAX.error: Unexpected end tag : form +SAX.characters( +, 1) +SAX.endElement(table) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#FF0000') +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.characters( + , 8) +SAX.startElement(b) +SAX.startElement(font, size='1') +SAX.characters(STOCKS, 6) +SAX.endElement(font) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#99FF99') +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.characters(Get Quote:, 10) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 5) +SAX.startElement(td, bgcolor='#99FF99', marginwidth='0', marginheight='0') +SAX.startElement(form, method='get', action='http://r.wired.com/r/10020/http://stocks.wired.com/stocks_quotes.asp') +SAX.startElement(input, type='TEXT', name='Symbol', size='12') +SAX.endElement(input) +SAX.characters( , 2) +SAX.startElement(input, type='SUBMIT', name='submit', value='GO') +SAX.endElement(input) +SAX.endElement(form) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.comment( BEGIN BUTTON ADS ) +SAX.characters( + + , 5) +SAX.startElement(tr) +SAX.startElement(td, bgcolor='#CCFFCC') +SAX.characters( +, 1) +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.characters(Financial Services, 18) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(center) +SAX.characters( +, 1) +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', height='3', width='5', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(img, src='http://static.wired.com/news/images/button_ads_news10.gif', width='143', height='56', border='0', alt='', usemap='#buttons', hspace='0', vspace='0') +SAX.endElement(img) +SAX.characters( +, 1) +SAX.endElement(center) +SAX.characters( + +, 2) +SAX.startElement(map, name='buttons') +SAX.characters( + , 9) +SAX.startElement(area, shape='RECT', alt='Datek', coords='0,0,69,24', href='http://r.wired.com/r/1649/http://ads16.focalink.com/SmartBanner/page/1266.631') +SAX.endElement(area) +SAX.characters( + , 9) +SAX.startElement(area, shape='RECT', alt='Wired Index Fund', coords='73,0,142,24', href='http://r.wired.com/r/227/http://www.gffunds.com/wired') +SAX.endElement(area) +SAX.characters( + , 9) +SAX.startElement(area, shape='RECT', alt='internet.com Index Fund', coords='73,31,142,55', href='http://r.wired.com/r/298/http://www.gffunds.com/isdex/') +SAX.endElement(area) +SAX.characters( + , 9) +SAX.startElement(area, shape='RECT', alt='GetSmart's MortgageFinder', coords='0,31,69,55', href='http://r.wired.com/r/294/http://www.getsmartinc.com/mortgage/HomeBanner?BANNERNAME=www.getsmartinc.com/mwired001m6075x25') +SAX.endElement(area) +SAX.endElement(map) +SAX.characters( + , 9) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( , 1) +SAX.comment( END BUTTON ADS ) +SAX.characters( + + , 6) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#99FF99') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='http://redirect.wired.com/redir/51/http://stocks.wired.com/') +SAX.characters(Today's Summary, 15) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#CCFFCC') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='http://r.wired.com/r/hb_fin_r_wn_top/http://stocks.wired.com/stocks_indexes_detail.asp?Symbol=$WIRED') +SAX.characters(Wired Index, 11) +SAX.endElement(a) +SAX.characters( | , 3) +SAX.startElement(a, href='http://redirect.wired.com/redir/52/http://stocks.wired.com/stocks_indexes.asp ') +SAX.characters(All Indexes, 11) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#99FF99') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(a, href='http://redirect.wired.com/redir/53/http://stocks.wired.com/stocks_portfolios.asp') +SAX.characters(Portfolios, 10) +SAX.endElement(a) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + +, 2) +SAX.comment( BEGIN B&N spot ) +SAX.characters( + +, 2) +SAX.startElement(tr) +SAX.characters( + , 3) +SAX.startElement(td, bgcolor='#FF0000') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.startElement(b) +SAX.characters(FIND A BOOK, 11) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.startElement(tr) +SAX.startElement(td, bgcolor='#CCFFCC') +SAX.characters( +, 1) +SAX.startElement(table, cellspacing='0', cellpadding='0', border='0', width='145') +SAX.characters( + , 17) +SAX.startElement(tr) +SAX.startElement(td, bgcolor='#CCFFCC') +SAX.characters( + , 17) +SAX.startElement(form, action='http://r.wired.com/r/wn_nav_c_bn/http://barnesandnoble.bfast.com/booklink/click') +SAX.characters( +, 1) +SAX.startElement(input, type='hidden', name='sourceid', value='383471') +SAX.endElement(input) +SAX.characters( +, 1) +SAX.startElement(input, type='hidden', name='categoryid', value='categorydropdown') +SAX.endElement(input) +SAX.characters( + , 17) +SAX.startElement(font, size='2') +SAX.characters( + , 17) +SAX.startElement(select, name='Subjects', size='4') +SAX.characters( +, 1) +SAX.startElement(option, value='301') +SAX.characters(Business Top 20 +, 16) +SAX.endElement(option) +SAX.startElement(option, value='500') +SAX.characters(Computers +, 10) +SAX.endElement(option) +SAX.startElement(option, value='503') +SAX.characters(Computer Games +, 15) +SAX.endElement(option) +SAX.startElement(option, value='1604') +SAX.characters(Current Affairs +, 16) +SAX.endElement(option) +SAX.startElement(option, value='511') +SAX.characters(Cyberculture +, 13) +SAX.endElement(option) +SAX.startElement(option, value='510') +SAX.characters(Internet/Web +, 13) +SAX.endElement(option) +SAX.startElement(option, value='303') +SAX.characters(Investing +, 10) +SAX.endElement(option) +SAX.startElement(option, value='1606') +SAX.characters(Law +, 4) +SAX.endElement(option) +SAX.startElement(option, value='513') +SAX.characters(Multimedia + +, 12) +SAX.endElement(option) +SAX.startElement(option, value='1605') +SAX.characters(Newsmakers +, 11) +SAX.endElement(option) +SAX.startElement(option, value='1607') +SAX.characters(Politics/Govt. + + , 17) +SAX.endElement(option) +SAX.startElement(option, value='315') +SAX.characters( Web Business + , 16) +SAX.endElement(option) +SAX.startElement(option, value='2800') +SAX.characters( Bargain Books + , 40) +SAX.endElement(option) +SAX.startElement(option, value='4') +SAX.characters(Other + + + + + + , 14) +SAX.endElement(option) +SAX.endElement(select) +SAX.endElement(font) +SAX.endElement(form) +SAX.endElement(td) +SAX.endElement(tr) +SAX.characters( + , 2) +SAX.startElement(tr, align='left', valign='top') +SAX.characters( + , 17) +SAX.startElement(td, valign='top', bgcolor='#CCFFCC') +SAX.characters( , 1) +SAX.startElement(input, type='submit', value='GO') +SAX.endElement(input) +SAX.characters( + +, 2) +SAX.error: htmlParseEntityRef: expecting ';' +SAX.startElement(img, src='http://barnesandnoble.bfast.com/booklink/serve?sourceid=383471&is_search=Y', border='0', align='top') +SAX.endElement(img) +SAX.characters( +, 1) +SAX.comment( + +) +SAX.characters( +, 1) +SAX.endElement(td) +SAX.characters( + + , 35) +SAX.endElement(tr) +SAX.characters( + , 17) +SAX.startElement(tr, align='left', valign='top') +SAX.characters( + + , 11) +SAX.startElement(td, align='left', valign='top', colspan='2', rowspan='1', bgcolor='#CCFFCC') +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters( + , 9) +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, ', color='#000000') +SAX.characters(Powered by , 11) +SAX.startElement(a, href='http://r.wired.com/r/wn_nav_c_bn/http://barnesandnoble.bfast.com/booklink/click?sourceid=383471') +SAX.characters(barnesandnoble.com, 18) +SAX.endElement(a) +SAX.characters( + , 2) +SAX.endElement(font) +SAX.characters( +, 1) +SAX.startElement(br, clear='all') +SAX.endElement(br) +SAX.characters( + + +, 3) +SAX.endElement(p) +SAX.endElement(td) +SAX.characters( + , 9) +SAX.endElement(tr) +SAX.characters( , 2) +SAX.error: Unexpected end tag : form +SAX.characters( + , 9) +SAX.endElement(table) +SAX.characters( + +, 2) +SAX.endElement(td) +SAX.endElement(tr) +SAX.characters( + , 2) +SAX.comment( END B&N spot ) +SAX.characters( + +, 7) +SAX.comment( BEGIN MAGAZINE SPOT ) +SAX.characters( + + , 3) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#000000') +SAX.startElement(font, color='#FFFFFF', face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(b) +SAX.characters(WIRED + MAGAZINE , 22) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.startElement(tr) +SAX.characters( +, 2) +SAX.startElement(td, bgcolor='#FFFF99', align='CENTER') +SAX.characters( +, 1) +SAX.startElement(font, face='verdana, arial, helvetica, sans-serif', size='1') +SAX.characters( +, 1) +SAX.startElement(b) +SAX.characters( +, 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.startElement(a, href='http://www.wired.com/wired/') +SAX.startElement(img, src='http://static.wired.com/news/images/wiredcover.gif', width='91', height='109', border='0', alt='Wired Magazine') +SAX.endElement(img) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(b) +SAX.characters( + +Issue 7.11 +, 13) +SAX.endElement(font) +SAX.characters( +, 1) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.endElement(tr) +SAX.characters( + +, 2) +SAX.startElement(tr) +SAX.characters( +, 2) +SAX.startElement(td, bgcolor='#FFFF99', align='center') +SAX.characters( +, 1) +SAX.startElement(font, face='verdana, arial, helvetica, sans-serif', size='1') +SAX.characters( + +, 3) +SAX.startElement(a, href='http://www.wired.com/wired/subscribe/special/79WN') +SAX.characters(Subscribe to Wired., 19) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(Special offer!, 14) +SAX.endElement(a) +SAX.characters( + + +, 3) +SAX.endElement(font) +SAX.characters( +, 1) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.comment( END MAGAZINE SPOT ) +SAX.characters( + + , 4) +SAX.startElement(tr) +SAX.characters( + , 5) +SAX.startElement(td, bgcolor='#000000') +SAX.characters( + , 6) +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.startElement(b) +SAX.characters(HOTWIRED, 8) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#FFFF99') +SAX.characters( , 1) +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.characters( +, 1) +SAX.startElement(a, href='http://www.hotwired.com/') +SAX.characters(Frontdoor, 9) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='http://www.hotwired.com/webmonkey/') +SAX.characters(Webmonkey, 9) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='http://www.hotwired.com/webmonkey/guides/index.html') +SAX.characters(Webmonkey Guides, 16) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='http://www.hotwired.com/rgb/') +SAX.characters(RGB Gallery, 11) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='http://www.hotwired.com/animation/') +SAX.characters(Animation Express, 17) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='http://go.suck.com/su_wnfd') +SAX.characters(Suck.com, 8) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + + , 8) +SAX.startElement(tr) +SAX.characters( + , 5) +SAX.startElement(td, bgcolor='#000000') +SAX.characters( + , 6) +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.startElement(b) +SAX.characters(HOTBOT, 6) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + , 3) +SAX.startElement(tr) +SAX.characters( + , 6) +SAX.startElement(td, bgcolor='#FFFF99') +SAX.characters( , 1) +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#000000') +SAX.characters( +, 1) +SAX.startElement(a, href='http://redirect.wired.com/redir/54/http://www.hotbot.com/') +SAX.characters(Search, 6) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='http://shop.hotbot.com/') +SAX.characters(Shopping, 8) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + + , 6) +SAX.startElement(tr) +SAX.startElement(td) +SAX.characters( + , 3) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 3) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.characters( + , 3) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.characters( + Wired News , 14) +SAX.startElement(a, href='/news/who/0,1362,,00.html') +SAX.characters(staff, 5) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + + , 4) +SAX.comment( Wired News is hiring

    ) +SAX.characters( + + , 4) +SAX.startElement(b) +SAX.startElement(a, href='/news/feedback/0,1364,,00.html') +SAX.characters(Contact us, 10) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.characters( + + + , 7) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + + , 6) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.characters(Wired News delivered, 21) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters(by , 3) +SAX.startElement(a, href='/news/palmpilot/0,1365,,00.html') +SAX.characters(PalmPilot, 9) +SAX.endElement(a) +SAX.characters(,, 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://www.hotwired.com/email/signup/wn_outlook.html') +SAX.characters(Outlook Express, 16) +SAX.endElement(a) +SAX.characters(,, 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(a, href='http://redirect.wired.com/redir/55/http://form.netscape.com/ibd/html/ibd_frameset.html') +SAX.characters(In-Box Direct, 13) +SAX.endElement(a) +SAX.characters(,, 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +or , 4) +SAX.startElement(a, href='/news/pointcast/0,1366,,00.html') +SAX.characters(PointCast, 9) +SAX.endElement(a) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.comment( TRACKING ) +SAX.characters( +, 1) +SAX.startElement(img, src='http://www.wired.com/special/modx/news.gif', height='1', width='1', alt='') +SAX.endElement(img) +SAX.characters( +, 1) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + +, 2) +SAX.endElement(table) +SAX.characters( + +, 2) +SAX.comment( end lower left side Navigation ) +SAX.characters( +, 1) +SAX.comment( CONTENT TABLE ) +SAX.characters( + +, 2) +SAX.startElement(table, border='0', width='447', cellspacing='0', cellpadding='0', bordercolor='#66FF00') +SAX.characters( + , 2) +SAX.startElement(tr) +SAX.characters( + , 3) +SAX.startElement(td, valign='TOP', align='LEFT', rowspan='2') +SAX.characters( + , 4) +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', height='1', width='15', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 3) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.startElement(td, colspan='3', valign='TOP', align='LEFT') +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', height='7', width='432', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + + +, 3) +SAX.comment( SQL query for Package here ) +SAX.characters( + +, 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.startElement(b) +SAX.startElement(i) +SAX.characters(Nomad's Land, 12) +SAX.endElement(i) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(img, src='http://static.wired.com/news/images/pix155.gif', height='10', width='155', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( IBD_SUBJECT: Homeless, but ID'd, in Seattle ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='5') +SAX.startElement(b) +SAX.startElement(a, href='/news/politics/0,1283,31911,00.html') +SAX.characters(Homeless, but ID'd, in Seattle, 30) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1', face='Verdana, Arial, Geneva, sans-serif', color='#FF0000') +SAX.characters(8:15 a.m., 9) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(The city council approves a pl, 180) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/politics/0,1283,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Politics, 8) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(table, bgcolor='#F0F0F0', cellpadding='0', cellspacing='0', border='0', width='147', align='RIGHT') +SAX.characters( + , 2) +SAX.comment( Commentary Frag Begin ) +SAX.characters( + , 9) +SAX.startElement(tr) +SAX.characters( + , 11) +SAX.startElement(td, bgcolor='#000000') +SAX.characters( , 2) +SAX.endElement(td) +SAX.characters( + , 11) +SAX.startElement(td, bgcolor='#000000') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.startElement(b) +SAX.characters(HITS , 5) +SAX.characters(&, 1) +SAX.characters( MISC., 6) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 9) +SAX.endElement(tr) +SAX.characters( + , 9) +SAX.startElement(tr) +SAX.characters( + , 11) +SAX.startElement(td) +SAX.characters( , 2) +SAX.endElement(td) +SAX.characters( + , 11) +SAX.startElement(td) +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', height='5', width='5', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + + , 4) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/commentarySection/0,1292,31664,00.html') +SAX.characters(Calendar of E-Vents, 19) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(Ongoing goings-on. , 19) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/commentarySection/0,1292,31926,00.html') +SAX.characters(Rants , 6) +SAX.error: htmlParseEntityRef: no name +SAX.characters(&, 1) +SAX.characters( Raves, 6) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(Readers on Apple's G4 ... AOL', 59) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( , 2) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 9) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.comment( Commentary Frag End ) +SAX.characters( +, 1) +SAX.startElement(tr) +SAX.characters( +, 2) +SAX.startElement(td, align='left', bgcolor='#000000') +SAX.characters( , 2) +SAX.endElement(td) +SAX.characters( +, 2) +SAX.startElement(td, bgcolor='#000000') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.startElement(b) +SAX.characters(CURRENT HOO-HA, 14) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.endElement(tr) +SAX.characters( + +, 2) +SAX.startElement(tr) +SAX.characters( +, 2) +SAX.startElement(td) +SAX.characters( , 2) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.startElement(td) +SAX.characters( +, 1) +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', height='5', width='5', alt='') +SAX.endElement(img) +SAX.characters( +, 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/mp3/0,1285,,00.html') +SAX.characters(MP3 Rocks the Web, 17) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(Download the sound. , 21) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Sponsored by , 13) +SAX.startElement(a, href='http://r.hotwired.com/r/wn_fd_mp3_r_mscm_txt/http://webfarm.mediaplex.com/click_thru_request/164-1361b-1052', style='text-decoration:none') +SAX.startElement(font, color='#000000') +SAX.characters(Musicmaker, 10) +SAX.endElement(font) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/wireless/0,1382,,00.html') +SAX.characters(The Wireless World, 18) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(Networking gets unplugged. , 28) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Sponsored by , 13) +SAX.startElement(a, href='http://www.ericsson.se/get/internet/default.shtml', style='text-decoration:none') +SAX.startElement(font, color='#000000') +SAX.characters(Ericsson, 8) +SAX.endElement(font) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/digiwood/0,1412,,00.html') +SAX.characters(Digital Hollywood, 17) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(The buzz of tech., 17) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/ipo/0,1350,,00.html') +SAX.characters(IPO Outlook, 11) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(Deals in the pipeline. , 24) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Sponsored by , 13) +SAX.startElement(a, href='http://r.hotwired.com/r/wn_ipo_r_sun_txt/http://sun.com/ads/smi/brand/hotwired.html', style='text-decoration:none') +SAX.startElement(font, color='#000000') +SAX.characters(Sun, 3) +SAX.endElement(font) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/ebiz/0,1272,,00.html') +SAX.characters(E-Biz, 5) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(Business unusual. , 19) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Sponsored by , 13) +SAX.startElement(a, href='http://r.wired.com/r/wn_fd_r_ebiz_ibm_txt/http://www.ibm.com', style='text-decoration:none') +SAX.startElement(font, color='#000000') +SAX.characters(IBM, 3) +SAX.endElement(font) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/medtech/0,1286,,00.html') +SAX.characters(Med-Tech Center, 15) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(From the bleeding edge., 23) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Sponsored by WebMD, 18) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/linux/0,1411,,00.html') +SAX.characters(The Linux Effect, 16) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(Not just for geeks., 19) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( , 1) +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', height='7', width='5', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/exec/0,1370,,00.html') +SAX.characters(Executive Summary, 17) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1', face='Arial, Helvetica, sans-serif', color='#000000') +SAX.characters(CEOs, COOs, CIOs unite. , 25) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Sponsored by , 13) +SAX.startElement(a, href='http://r.wired.com/r/wn_exec_r_vign/http://www.vignette.com/', style='text-decoration:none') +SAX.startElement(font, color='#000000') +SAX.characters(Vignette, 8) +SAX.error: Opening and ending tag mismatch: a and font +SAX.endElement(font) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/school/0,1383,,00.html') +SAX.characters(Making the Grade, 16) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(Reading, writing, and ROM. , 28) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Sponsored by , 13) +SAX.startElement(a, href='http://r.hotwired.com/r/wn_sch_r_nav_uop/http://ads25.focalink.com/SmartBanner/page?12630.53', style='text-decoration:none') +SAX.startElement(font, color='#000000') +SAX.characters(U of Phoenix, 12) +SAX.endElement(font) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/infostructure/0,1377,,00.html') +SAX.characters(Infostructure, 13) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1', face='Arial, Helvetica, sans-serif', color='#000000') +SAX.characters(An IS/IT resource , 18) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(i) +SAX.characters(Sponsored by , 13) +SAX.error: htmlParseEntityRef: expecting ';' +SAX.error: htmlParseEntityRef: expecting ';' +SAX.error: htmlParseEntityRef: expecting ';' +SAX.startElement(a, href='http://r.wired.com/r/wn_is_r_ssec/http://ad.doubleclick.net/clk;653163;3599571;s?http://www.sprintbiz.com/s +ervlet/appservlet?from=/wired/sprint/&template=/security/security.html&SITE= +wired.com&BANNER=Sprint', style='text-decoration:none') +SAX.startElement(font, color='#000000') +SAX.characters(Sprint, 6) +SAX.error: Opening and ending tag mismatch: a and font +SAX.endElement(font) +SAX.endElement(a) +SAX.endElement(i) +SAX.error: End tag : expected '>' +SAX.endElement(font) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, size='2', face='Arial,Helvetica, sans-serif') +SAX.startElement(b) +SAX.startElement(a, href='/news/y2k/0,1360,,00.html') +SAX.characters(Y2K Watch, 9) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif') +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.characters(Tick... Tick... Tick..., 23) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 3) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='2') +SAX.startElement(b) +SAX.startElement(i) +SAX.startElement(a, href='/news/special_reports/1,1293,,00.html') +SAX.characters(More Hoo-Ha, 11) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( , 2) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( +, 1) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.comment( start of Gen News ) +SAX.characters( + , 17) +SAX.startElement(tr) +SAX.characters( + , 20) +SAX.startElement(td, bgcolor='#000000') +SAX.characters( , 2) +SAX.endElement(td) +SAX.characters( + , 11) +SAX.startElement(td, bgcolor='#000000') +SAX.startElement(font, size='1', face='Verdana, Arial, Helvetica, sans-serif', color='#FFFFFF') +SAX.startElement(b) +SAX.characters(MEANWHILE..., 12) +SAX.endElement(b) +SAX.endElement(font) +SAX.endElement(td) +SAX.characters( + , 9) +SAX.endElement(tr) +SAX.characters( + + , 10) +SAX.startElement(tr) +SAX.characters( + , 12) +SAX.startElement(td) +SAX.characters( , 2) +SAX.endElement(td) +SAX.characters( + , 11) +SAX.startElement(td, align='left', valign='top') +SAX.characters( + , 11) +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', height='5', width='5', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + + +, 3) +SAX.comment( 31942 ) +SAX.characters( +, 1) +SAX.startElement(font, size='2', face='Arial, Helvetica, sans-serif', color='#000000') +SAX.startElement(b) +SAX.characters(Führer Furor, 13) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, size='1', face='Arial, Geneva, sans-serif', color='#000000') +SAX.startElement(p) +SAX.characters( +Contruction workers in Berli, 637) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(p) +SAX.startElement(li) +SAX.characters(More from , 10) +SAX.error: htmlParseEntityRef: expecting ';' +SAX.startElement(a, href='http://www.lycos.com/news/flash/hitlerbunker.html?v=wn1015&lpv=1') +SAX.characters(Lycos, 5) +SAX.endElement(a) +SAX.endElement(li) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 2) +SAX.endElement(td) +SAX.characters( + , 9) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.comment( end of Gen News ) +SAX.characters( +, 1) +SAX.endElement(table) +SAX.characters( + + +, 3) +SAX.startElement(font, size='1') +SAX.characters( , 2) +SAX.startElement(br) +SAX.endElement(br) +SAX.endElement(font) +SAX.characters( + +, 2) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.startElement(b) +SAX.startElement(i) +SAX.characters(Other Top Stories, 17) +SAX.endElement(i) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(img, src='http://static.wired.com/news/images/pix155.gif', height='10', width='155', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.comment( SQL query here ) +SAX.characters( +, 1) +SAX.comment( IBD_SUBJECT:Wall Street Keeps Reeling ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='3') +SAX.startElement(b) +SAX.startElement(a, href='/news/reuters/0,1349,31934,00.html') +SAX.characters(Wall Street Keeps Reeling, 25) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#ff0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(10:15 a.m., 10) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(The Dow and Nasdaq suffer size, 180) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/reuters/0,1349,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Reuters, 7) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( IBD_SUBJECT:The Market's Madness ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='3') +SAX.startElement(b) +SAX.startElement(a, href='/news/reuters/0,1349,31935,00.html') +SAX.characters(The Market's Madness, 20) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#ff0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(9:10 a.m., 9) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(The bulls and the bears are in, 128) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/reuters/0,1349,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Reuters, 7) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( IBD_SUBJECT:'Want a Loan? What's Your Race?' ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='3') +SAX.startElement(b) +SAX.startElement(a, href='/news/politics/0,1283,31533,00.html') +SAX.characters('Want a Loan? What's Your Race, 32) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#ff0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(3:00 a.m., 9) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(The Federal Reserve is in the , 184) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/politics/0,1283,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Politics, 8) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( IBD_SUBJECT:Music Regs: A Bagful of Noise ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='3') +SAX.startElement(b) +SAX.startElement(a, href='/news/business/0,1367,31832,00.html') +SAX.characters(Music Regs: A Bagful of Noise, 29) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#ff0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(3:00 a.m., 9) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(The struggle to come up with a, 171) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/business/0,1367,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Business, 8) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( IBD_SUBJECT:Can't Beat 'Em? Green 'Em ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='3') +SAX.startElement(b) +SAX.startElement(a, href='/news/technology/0,1282,31927,00.html') +SAX.characters(Can't Beat 'Em? Green 'Em, 25) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#ff0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(3:00 a.m., 9) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(High-tech companies are notori, 186) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/technology/0,1282,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Technology, 10) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( IBD_SUBJECT:Y2K Cloud Over MS Office ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='3') +SAX.startElement(b) +SAX.startElement(a, href='/news/business/0,1367,31932,00.html') +SAX.characters(Y2K Cloud Over MS Office, 24) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#ff0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(3:00 a.m., 9) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(Windows NT sales remain strong, 165) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/business/0,1367,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Business, 8) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#FF0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(Med-Tech, 8) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( IBD_SUBJECT:Biochips for Custom Chemo ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='3') +SAX.startElement(b) +SAX.startElement(a, href='/news/technology/0,1282,31914,00.html') +SAX.characters(Biochips for Custom Chemo, 25) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#ff0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(3:00 a.m., 9) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(Different cancer patients need, 207) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/technology/0,1282,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Technology, 10) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( IBD_SUBJECT:High Stakes in Priceline Suit ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='3') +SAX.startElement(b) +SAX.startElement(a, href='/news/business/0,1367,31916,00.html') +SAX.characters(High Stakes in Priceline Suit, 29) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#ff0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(3:00 a.m., 9) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(It's not just another round of, 196) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/business/0,1367,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Business, 8) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( IBD_SUBJECT:Biodiversity Merges Online ) +SAX.startElement(font, face='Arial, Helvetica, sans-serif', size='3') +SAX.startElement(b) +SAX.startElement(a, href='/news/technology/0,1282,31918,00.html') +SAX.characters(Biodiversity Merges Online, 26) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, color='#ff0000', face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters(3:00 a.m., 9) +SAX.endElement(font) +SAX.characters( , 2) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.characters(The far-flung databases on glo, 196) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='Verdana, Arial, Helvetica, sans-serif', size='1') +SAX.startElement(i) +SAX.startElement(a, href='/news/technology/0,1282,,00.html') +SAX.characters(in, 2) +SAX.characters( , 2) +SAX.characters(Technology, 10) +SAX.endElement(a) +SAX.endElement(i) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( SQL above ) +SAX.characters( + + + +, 12) +SAX.comment(----TRADES-------) +SAX.characters( +, 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='2') +SAX.startElement(b) +SAX.startElement(i) +SAX.characters(Elsewhere Today, 15) +SAX.endElement(i) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(img, src='http://static.wired.com/news/images/pix155.gif', height='10', width='155', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.comment( SQL query here ) +SAX.characters( +, 1) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://www.thestandard.com/articles/display/0,1449,6975,00.html?home.tf') +SAX.characters(FCC: Hands-Off on Broadband, 27) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.startElement(cite) +SAX.characters(The Industry Standard, 21) +SAX.endElement(cite) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://news.lycos.com/stories/TopNews/19991014RTNEWS-ARMS-TREATY.asp') +SAX.characters(White House Lashes Out on Trea, 32) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.characters(Lycos, 5) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://www.pathfinder.com/time/magazine/articles/0,3266,32207,00.html') +SAX.characters(Steve Jobs at 44, 16) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.startElement(cite) +SAX.characters(Time, 4) +SAX.endElement(cite) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://www.zdnet.com/zdnn/stories/news/0,4586,2353608,00.html') +SAX.characters(Computers May Run on Gas, 24) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.characters(ZDNN, 4) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://www.nytimes.com/library/tech/99/10/biztech/articles/14free.html') +SAX.characters(Much Is Free in the Wired Worl, 31) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.startElement(cite) +SAX.characters(The New York Times, 18) +SAX.endElement(cite) +SAX.characters( (Registration Required), 24) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://www.usatoday.com/life/cyber/nb/nb4.htm') +SAX.characters(Melissa: I'm Baaaack, 20) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.startElement(cite) +SAX.characters(USA Today, 9) +SAX.endElement(cite) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://www.msnbc.com/news/322926.asp') +SAX.characters(Domain Owners Surrender Privac, 31) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.characters(MSNBC, 5) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://www.washingtonpost.com/wp-srv/business/longterm/tech/techthursday/download/download.htm') +SAX.characters(Dividing to Conquer in VC Game, 30) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.startElement(cite) +SAX.characters(The Washington Post, 19) +SAX.endElement(cite) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://www.salon.com/tech/books/1999/10/14/redhat_book/index.html') +SAX.characters(The Red Hat Diaries, 19) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.characters(Salon, 5) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='helvetica, arial', size='3') +SAX.startElement(b) +SAX.startElement(a, href='http://news.bbc.co.uk/hi/english/sci/tech/newsid_473000/473856.stm') +SAX.characters(Screensaver to Predict Climate, 30) +SAX.endElement(a) +SAX.endElement(b) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(font, face='geneva, arial', size='2') +SAX.characters(BBC News, 8) +SAX.endElement(font) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.comment( SQL above ) +SAX.characters( + + + +, 4) +SAX.comment( - - - - - - - - - - - - ) +SAX.characters( + + , 6) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( + + , 4) +SAX.startElement(tr) +SAX.characters( + , 4) +SAX.startElement(td, valign='TOP', align='LEFT') +SAX.characters( + + , 6) +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', height='1', width='280', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + + , 7) +SAX.comment( FOOTER ) +SAX.characters( + +, 2) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(img, src='http://static.wired.com/news/images/pix155.gif', height='10', width='155', border='0', usemap='#navstrip.map', alt='') +SAX.endElement(img) +SAX.characters( +, 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.startElement(img, src='http://static.wired.com/news/images/navstrip_off.gif', height='17', width='126', usemap='#navstrip.map', border='0', alt='') +SAX.endElement(img) +SAX.startElement(br) +SAX.endElement(br) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + +, 2) +SAX.startElement(p) +SAX.startElement(font, face='Verdana, Arial, Geneva, sans-serif', size='1') +SAX.characters( +, 1) +SAX.startElement(a, href='http://www.wired.com/news/feedback.html') +SAX.characters(Send us feedback, 16) +SAX.endElement(a) +SAX.characters( +, 1) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.characters( +, 1) +SAX.startElement(a, href='http://www.hotwired.com/jobs/') +SAX.characters(Work at Wired Digital, 21) +SAX.endElement(a) +SAX.characters( +, 1) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.characters( +, 1) +SAX.startElement(a, href='http://home.wired.com/advertising/') +SAX.characters(Advertise with us, 17) +SAX.endElement(a) +SAX.characters( +, 1) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.startElement(a, href='http://home.wired.com/') +SAX.characters(About Wired Digital, 19) +SAX.endElement(a) +SAX.characters( +, 1) +SAX.characters( , 2) +SAX.characters(|, 1) +SAX.characters( , 2) +SAX.characters( +, 1) +SAX.startElement(a, href='http://www.wired.com/home/digital/privacy/') +SAX.characters(Our Privacy Policy, 18) +SAX.endElement(a) +SAX.endElement(font) +SAX.characters( + + +, 3) +SAX.endElement(p) +SAX.startElement(p) +SAX.startElement(font, face='Verdana, Arial, Geneva', size='1') +SAX.startElement(a, href='http://www.wired.com/home/copyright.html') +SAX.characters(Copyright, 9) +SAX.endElement(a) +SAX.characters( , 1) +SAX.characters(©, 2) +SAX.characters( 1994-99 Wired Digital Inc. Al, 48) +SAX.endElement(font) +SAX.characters( + +, 2) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.comment( TRACKING ) +SAX.characters( +, 1) +SAX.startElement(img, src='http://www.wired.com/special/modx/news.gif', height='1', width='1', alt='') +SAX.endElement(img) +SAX.characters( + +, 2) +SAX.startElement(map, name='navstrip.map') +SAX.characters( +, 1) +SAX.startElement(area, shape='rect', coords='0,0,14,16', href='/news') +SAX.endElement(area) +SAX.characters( +, 1) +SAX.startElement(area, shape='rect', coords='15,0 31,16', href='/news/business/') +SAX.endElement(area) +SAX.characters( +, 1) +SAX.startElement(area, shape='rect', coords='32,0,48,16', href='/news/culture/') +SAX.endElement(area) +SAX.characters( +, 1) +SAX.startElement(area, shape='rect', coords='49,0,65,16', href='/news/technology/') +SAX.endElement(area) +SAX.characters( +, 1) +SAX.startElement(area, shape='rect', coords='66,0,83,16', href='/news/politics/') +SAX.endElement(area) +SAX.characters( +, 1) +SAX.endElement(map) +SAX.characters( + , 2) +SAX.endElement(p) +SAX.endElement(td) +SAX.characters( + , 4) +SAX.startElement(td, valign='TOP', align='LEFT') +SAX.characters( + , 5) +SAX.startElement(img, src='http://static.wired.com/news/images/spacer.gif', height='1', width='5', alt='') +SAX.endElement(img) +SAX.characters( + , 4) +SAX.endElement(td) +SAX.characters( + , 4) +SAX.startElement(td, valign='TOP', align='LEFT') +SAX.characters( + , 4) +SAX.endElement(td) +SAX.characters( + , 3) +SAX.endElement(tr) +SAX.characters( +, 1) +SAX.endElement(table) +SAX.characters( + + +, 3) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( + +, 2) +SAX.endDocument() diff --git a/result/SVG/4rects.xml b/result/SVG/4rects.xml new file mode 100644 index 0000000..dfaa02d --- /dev/null +++ b/result/SVG/4rects.xml @@ -0,0 +1,10 @@ + + + + Four separate rectangles + + + + + + diff --git a/result/SVG/a-valid.xml b/result/SVG/a-valid.xml new file mode 100644 index 0000000..8f4a204 --- /dev/null +++ b/result/SVG/a-valid.xml @@ -0,0 +1,9 @@ + + + + This valid svg document draws a triangle which is a hyperlink + + +

    + + diff --git a/result/SVG/a-wf.xml b/result/SVG/a-wf.xml new file mode 100644 index 0000000..7facfd5 --- /dev/null +++ b/result/SVG/a-wf.xml @@ -0,0 +1,8 @@ + + + This well formed svg document draws a triangle which is a hyperlink + + +

    + + diff --git a/result/SVG/bike-errors.xml b/result/SVG/bike-errors.xml new file mode 100644 index 0000000..e69de29 diff --git a/result/SVG/bike.xml b/result/SVG/bike.xml new file mode 100644 index 0000000..410869d --- /dev/null +++ b/result/SVG/bike.xml @@ -0,0 +1,44 @@ + + + + Kona Lavadome mountain bike + + This picture shows a mountain bike, a human-propelled, + multi-terrain vehicle. While it can be succesfully used on moorland, + forest, roads, and large hills it is not actually suitable for going + up mountains. + + + + + 14/12 gauge double butted spoke + + + + black anodised low torsion hub + + + + twin wall, eyeletted rim + + + + 8 speed, wide ratio gearing + + + + double cross lacing of 32 spokes + + + + + Front wheel + The front wheel provides grip, steering and some shock absorption + + + + + + + + diff --git a/result/SVG/circle.xml b/result/SVG/circle.xml new file mode 100644 index 0000000..ae7d545 --- /dev/null +++ b/result/SVG/circle.xml @@ -0,0 +1,9 @@ + + + + This is a blue circle with a red outline + + + + + diff --git a/result/SVG/defs.xml b/result/SVG/defs.xml new file mode 100644 index 0000000..78c6beb --- /dev/null +++ b/result/SVG/defs.xml @@ -0,0 +1,14 @@ + + + + + + + + + + Defining things for later use + + + diff --git a/result/SVG/desc.xml b/result/SVG/desc.xml new file mode 100644 index 0000000..6fde966 --- /dev/null +++ b/result/SVG/desc.xml @@ -0,0 +1,14 @@ + + + + + + Company sales by region + + + This is a bar chart which shows + company sales by region. + + + + diff --git a/result/SVG/ellipse.xml b/result/SVG/ellipse.xml new file mode 100644 index 0000000..1f72346 --- /dev/null +++ b/result/SVG/ellipse.xml @@ -0,0 +1,9 @@ + + + + This is an ellipse, axis aligned and centered on the origin + + + + + diff --git a/result/SVG/flower2.xml b/result/SVG/flower2.xml new file mode 100644 index 0000000..f6cd2ba --- /dev/null +++ b/result/SVG/flower2.xml @@ -0,0 +1,10 @@ + + + + This sample SVG file draws a flower + + + + + + diff --git a/result/SVG/gradient.xml b/result/SVG/gradient.xml new file mode 100644 index 0000000..4570b76 --- /dev/null +++ b/result/SVG/gradient.xml @@ -0,0 +1,16 @@ + + + + Gradient example + + + + + + + + + + + + diff --git a/result/SVG/group01.xml b/result/SVG/group01.xml new file mode 100644 index 0000000..f39ad88 --- /dev/null +++ b/result/SVG/group01.xml @@ -0,0 +1,14 @@ + + + + Two groups, each of two rectangles + + + + + + + + + + diff --git a/result/SVG/group02.xml b/result/SVG/group02.xml new file mode 100644 index 0000000..85e1f52 --- /dev/null +++ b/result/SVG/group02.xml @@ -0,0 +1,12 @@ + + + + Two named groups + + + + + + + + diff --git a/result/SVG/group03.xml b/result/SVG/group03.xml new file mode 100644 index 0000000..20d75ad --- /dev/null +++ b/result/SVG/group03.xml @@ -0,0 +1,11 @@ + + + + Groups can nest + + + + + + + diff --git a/result/SVG/image-valid.xml b/result/SVG/image-valid.xml new file mode 100644 index 0000000..d45d229 --- /dev/null +++ b/result/SVG/image-valid.xml @@ -0,0 +1,9 @@ + + + + This graphic links to an external image + + + My image + + diff --git a/result/SVG/image-wf.xml b/result/SVG/image-wf.xml new file mode 100644 index 0000000..e11a12f --- /dev/null +++ b/result/SVG/image-wf.xml @@ -0,0 +1,8 @@ + + + This links to an external image + + + My image + + diff --git a/result/SVG/lin-gradient.xml b/result/SVG/lin-gradient.xml new file mode 100644 index 0000000..645bdce --- /dev/null +++ b/result/SVG/lin-gradient.xml @@ -0,0 +1,15 @@ + + + + Linear gradient example + + + + + + + + + + + diff --git a/result/SVG/marker.xml b/result/SVG/marker.xml new file mode 100644 index 0000000..1b41714 --- /dev/null +++ b/result/SVG/marker.xml @@ -0,0 +1,23 @@ + + + + + + + + + An double-headed arrow example using markers + + + + + + + + + + + + + diff --git a/result/SVG/mask.xml b/result/SVG/mask.xml new file mode 100644 index 0000000..1204e06 --- /dev/null +++ b/result/SVG/mask.xml @@ -0,0 +1,12 @@ + + + + Example of using a mask + + + + + + + + diff --git a/result/SVG/mathswitch.xml b/result/SVG/mathswitch.xml new file mode 100644 index 0000000..b291384 --- /dev/null +++ b/result/SVG/mathswitch.xml @@ -0,0 +1,26 @@ + + + This example uses the switch element to provide a + fallback graphical representation of an equation, if + MathML is not supported. + + + + + + + + + + + + Formula goes here + + + diff --git a/result/SVG/parentns.xml b/result/SVG/parentns.xml new file mode 100644 index 0000000..5b2ed46 --- /dev/null +++ b/result/SVG/parentns.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/result/SVG/path01.xml b/result/SVG/path01.xml new file mode 100644 index 0000000..646940b --- /dev/null +++ b/result/SVG/path01.xml @@ -0,0 +1,4 @@ + + + + diff --git a/result/SVG/path02.xml b/result/SVG/path02.xml new file mode 100644 index 0000000..b74f975 --- /dev/null +++ b/result/SVG/path02.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/result/SVG/patternfill.xml b/result/SVG/patternfill.xml new file mode 100644 index 0000000..c520ae8 --- /dev/null +++ b/result/SVG/patternfill.xml @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/result/SVG/polyline.xml b/result/SVG/polyline.xml new file mode 100644 index 0000000..9fa4071 --- /dev/null +++ b/result/SVG/polyline.xml @@ -0,0 +1,8 @@ + + + + A sample polyline, and equivalent path + + + + diff --git a/result/SVG/private.xml b/result/SVG/private.xml new file mode 100644 index 0000000..edfe366 --- /dev/null +++ b/result/SVG/private.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + This chart includes private data in another namespace + + + diff --git a/result/SVG/rad-gradient.xml b/result/SVG/rad-gradient.xml new file mode 100644 index 0000000..d5aadf0 --- /dev/null +++ b/result/SVG/rad-gradient.xml @@ -0,0 +1,16 @@ + + + + Radial gradient example with three gradient stops + + + + + + + + + + + + diff --git a/result/SVG/rectangle.xml b/result/SVG/rectangle.xml new file mode 100644 index 0000000..919cd23 --- /dev/null +++ b/result/SVG/rectangle.xml @@ -0,0 +1,9 @@ + + + + This is a rectangle + + + + + diff --git a/result/SVG/richdesc.xml b/result/SVG/richdesc.xml new file mode 100644 index 0000000..eba1f05 --- /dev/null +++ b/result/SVG/richdesc.xml @@ -0,0 +1,11 @@ + + + + This is an example SVG file + The global description uses markup from the + mydoc namespace. + + + + + diff --git a/result/SVG/script.xml b/result/SVG/script.xml new file mode 100644 index 0000000..c98af0f --- /dev/null +++ b/result/SVG/script.xml @@ -0,0 +1,13 @@ + + + + + + + + diff --git a/result/SVG/structure01.xml b/result/SVG/structure01.xml new file mode 100644 index 0000000..46af5e8 --- /dev/null +++ b/result/SVG/structure01.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/result/SVG/style.xml b/result/SVG/style.xml new file mode 100644 index 0000000..7176912 --- /dev/null +++ b/result/SVG/style.xml @@ -0,0 +1,11 @@ + + + + + + + Here is my title + diff --git a/result/SVG/switch.xml b/result/SVG/switch.xml new file mode 100644 index 0000000..87eb364 --- /dev/null +++ b/result/SVG/switch.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + diff --git a/result/SVG/symbol-use.xml b/result/SVG/symbol-use.xml new file mode 100644 index 0000000..a9b395c --- /dev/null +++ b/result/SVG/symbol-use.xml @@ -0,0 +1,22 @@ + + + + + + + + + Examples of inline and referenced content + + + + + + + + + + + + + diff --git a/result/SVG/template.xml b/result/SVG/template.xml new file mode 100644 index 0000000..607cd91 --- /dev/null +++ b/result/SVG/template.xml @@ -0,0 +1,8 @@ + + + This well formed svg document contains a hyperlink + + +

    + + diff --git a/result/SVG/text01.xml b/result/SVG/text01.xml new file mode 100644 index 0000000..0e2b44b --- /dev/null +++ b/result/SVG/text01.xml @@ -0,0 +1,11 @@ + + + + + XYZ + + ABC + + + + diff --git a/result/SVG/text02.xml b/result/SVG/text02.xml new file mode 100644 index 0000000..9656ea5 --- /dev/null +++ b/result/SVG/text02.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + 123 + + + ABC + + + 456 + + + DEF + + diff --git a/result/SVG/text03.xml b/result/SVG/text03.xml new file mode 100644 index 0000000..be92031 --- /dev/null +++ b/result/SVG/text03.xml @@ -0,0 +1,7 @@ + + + + 123 + 456 + + diff --git a/result/SVG/toap01.xml b/result/SVG/toap01.xml new file mode 100644 index 0000000..fac024c --- /dev/null +++ b/result/SVG/toap01.xml @@ -0,0 +1,8 @@ + + + + Simple text on a path + + + Text on path + diff --git a/result/SVG/toap02.xml b/result/SVG/toap02.xml new file mode 100644 index 0000000..c62aa04 --- /dev/null +++ b/result/SVG/toap02.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + General graphics on a path + + + + + + + + + + + + + + + diff --git a/result/SVG/transform.xml b/result/SVG/transform.xml new file mode 100644 index 0000000..db00dbd --- /dev/null +++ b/result/SVG/transform.xml @@ -0,0 +1,20 @@ + + + + Demonstration of coordinate transforms + + + This prints 12 pixels high. + This prints 12 pixels high. + + + + This prints 24 pixels high. + + This prints 12 pixels high. + + diff --git a/result/SVG/trivial.xml b/result/SVG/trivial.xml new file mode 100644 index 0000000..db12583 --- /dev/null +++ b/result/SVG/trivial.xml @@ -0,0 +1,4 @@ + + + + diff --git a/result/SVG/twin-gradients.xml b/result/SVG/twin-gradients.xml new file mode 100644 index 0000000..5ce25cc --- /dev/null +++ b/result/SVG/twin-gradients.xml @@ -0,0 +1,18 @@ + + + + Gradients apply to leaf nodes + + + + + + + + + + + + + + diff --git a/result/SVG/v-template.xml b/result/SVG/v-template.xml new file mode 100644 index 0000000..20d19fc --- /dev/null +++ b/result/SVG/v-template.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/result/SVG/viewport-nest.xml b/result/SVG/viewport-nest.xml new file mode 100644 index 0000000..b6a19a7 --- /dev/null +++ b/result/SVG/viewport-nest.xml @@ -0,0 +1,12 @@ + + + + This SVG drawing embeds another one, + thus establishing a new viewport + + + + + + diff --git a/result/SVG/viewport-transform.xml b/result/SVG/viewport-transform.xml new file mode 100644 index 0000000..3a95fbd --- /dev/null +++ b/result/SVG/viewport-transform.xml @@ -0,0 +1,36 @@ + + + + Transformation with establishment of a new viewport + + + This prints 12 pixels high. + This prints 12 pixels high. + + + + This prints 24 pixels high. + + This prints 12 pixels high. + + + + + + + This prints 36 pixels high. + This prints 36 pixels high. + + + diff --git a/result/SVG/viewport.xml b/result/SVG/viewport.xml new file mode 100644 index 0000000..22d1ad3 --- /dev/null +++ b/result/SVG/viewport.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/result/SVG/wf-template.xml b/result/SVG/wf-template.xml new file mode 100644 index 0000000..d30d8de --- /dev/null +++ b/result/SVG/wf-template.xml @@ -0,0 +1,4 @@ + + + + diff --git a/result/URI/smith.uri b/result/URI/smith.uri new file mode 100644 index 0000000..d336d54 --- /dev/null +++ b/result/URI/smith.uri @@ -0,0 +1,15 @@ +/bar +bar +bar +bar +baz + +foo/ +foo +foo +../foo./ +../foo/ +/foo +../foo +../../foo +../../../foo diff --git a/result/URI/uri.data b/result/URI/uri.data new file mode 100644 index 0000000..f22b4db --- /dev/null +++ b/result/URI/uri.data @@ -0,0 +1,18 @@ +http://foo.com/path/to/index.html?orig +http://foo.com/path/to/ +http://foo.com/path/to/bar +http://foo.com/path/to/bar#baz +http://foo.com/path/to/bar?baz +http://foo.com/path/to/bar?baz#baz2 +http://foo.com/path/to/index.html?orig#baz +http://foo.com/path/to/index.html?baz +http://foo.com/path/to/index.html?baz#baz2 +http://foo.com/path/up.a.notch.html#wow +http://foo.com/path/up.a.notch.html?wow +http://foo.com/path/up.a.notch.html?wow#wow2 +http://foo.com/root.cgi#OK +http://foo.com/root.cgi?OK +http://foo.com/root.cgi?OK#OK2 +http://elsewhere.com/#deep +http://elsewhere.com/?deep +http://elsewhere.com/?deep#deep2 diff --git a/result/VC/AttributeDefaultLegal b/result/VC/AttributeDefaultLegal new file mode 100644 index 0000000..6b61686 --- /dev/null +++ b/result/VC/AttributeDefaultLegal @@ -0,0 +1,12 @@ +./test/VC/AttributeDefaultLegal:4: validity error : Attribute doc of At: invalid default value + + ^ +./test/VC/AttributeDefaultLegal:6: validity error : Attribute doc of bad: invalid default value + + ^ +./test/VC/AttributeDefaultLegal:8: validity error : Attribute doc of bad2: invalid default value + + ^ +./test/VC/AttributeDefaultLegal:11: element doc: validity error : No declaration for attribute val of element doc + + ^ diff --git a/result/VC/AttributeDefaultLegal.rdr b/result/VC/AttributeDefaultLegal.rdr new file mode 100644 index 0000000..6b61686 --- /dev/null +++ b/result/VC/AttributeDefaultLegal.rdr @@ -0,0 +1,12 @@ +./test/VC/AttributeDefaultLegal:4: validity error : Attribute doc of At: invalid default value + + ^ +./test/VC/AttributeDefaultLegal:6: validity error : Attribute doc of bad: invalid default value + + ^ +./test/VC/AttributeDefaultLegal:8: validity error : Attribute doc of bad2: invalid default value + + ^ +./test/VC/AttributeDefaultLegal:11: element doc: validity error : No declaration for attribute val of element doc + + ^ diff --git a/result/VC/AttributeNmtokens b/result/VC/AttributeNmtokens new file mode 100644 index 0000000..4c19285 --- /dev/null +++ b/result/VC/AttributeNmtokens @@ -0,0 +1,3 @@ +./test/VC/AttributeNmtokens:6: element test: validity error : Syntax of value for attribute attr1 of test is not valid + + ^ diff --git a/result/VC/AttributeNmtokens.rdr b/result/VC/AttributeNmtokens.rdr new file mode 100644 index 0000000..4c19285 --- /dev/null +++ b/result/VC/AttributeNmtokens.rdr @@ -0,0 +1,3 @@ +./test/VC/AttributeNmtokens:6: element test: validity error : Syntax of value for attribute attr1 of test is not valid + + ^ diff --git a/result/VC/DuplicateType b/result/VC/DuplicateType new file mode 100644 index 0000000..34e2c20 --- /dev/null +++ b/result/VC/DuplicateType @@ -0,0 +1,3 @@ +./test/VC/DuplicateType:3: validity error : Definition of a has duplicate references of c + + ^ diff --git a/result/VC/DuplicateType.rdr b/result/VC/DuplicateType.rdr new file mode 100644 index 0000000..34e2c20 --- /dev/null +++ b/result/VC/DuplicateType.rdr @@ -0,0 +1,3 @@ +./test/VC/DuplicateType:3: validity error : Definition of a has duplicate references of c + + ^ diff --git a/result/VC/ElementValid b/result/VC/ElementValid new file mode 100644 index 0000000..d6b50a7 --- /dev/null +++ b/result/VC/ElementValid @@ -0,0 +1,3 @@ +./test/VC/ElementValid:3: validity error : Validation failed: no DTD found ! + + ^ diff --git a/result/VC/ElementValid.rdr b/result/VC/ElementValid.rdr new file mode 100644 index 0000000..d6b50a7 --- /dev/null +++ b/result/VC/ElementValid.rdr @@ -0,0 +1,3 @@ +./test/VC/ElementValid:3: validity error : Validation failed: no DTD found ! + + ^ diff --git a/result/VC/ElementValid2 b/result/VC/ElementValid2 new file mode 100644 index 0000000..db47c89 --- /dev/null +++ b/result/VC/ElementValid2 @@ -0,0 +1,3 @@ +./test/VC/ElementValid2:4: element p: validity error : No declaration for element p +

    + ^ diff --git a/result/VC/ElementValid2.rdr b/result/VC/ElementValid2.rdr new file mode 100644 index 0000000..cae331b --- /dev/null +++ b/result/VC/ElementValid2.rdr @@ -0,0 +1,6 @@ +./test/VC/ElementValid2:4: element p: validity error : No declaration for element p +

    + ^ +./test/VC/ElementValid2:5: element p: validity error : No declaration for element p + +^ diff --git a/result/VC/ElementValid3 b/result/VC/ElementValid3 new file mode 100644 index 0000000..2fc236d --- /dev/null +++ b/result/VC/ElementValid3 @@ -0,0 +1,3 @@ +./test/VC/ElementValid3:4: element doc: validity error : Element doc was declared EMPTY this one has content +Oops, this element was declared EMPTY + ^ diff --git a/result/VC/ElementValid3.rdr b/result/VC/ElementValid3.rdr new file mode 100644 index 0000000..5f4e03e --- /dev/null +++ b/result/VC/ElementValid3.rdr @@ -0,0 +1,6 @@ +./test/VC/ElementValid3:4: element doc: validity error : Element doc was declared EMPTY this one has content +Oops, this element was declared EMPTY + ^ +./test/VC/ElementValid3:5: element doc: validity error : Element doc was declared EMPTY this one has content + +^ diff --git a/result/VC/ElementValid4 b/result/VC/ElementValid4 new file mode 100644 index 0000000..4791db5 --- /dev/null +++ b/result/VC/ElementValid4 @@ -0,0 +1,3 @@ +./test/VC/ElementValid4:7: element doc: validity error : Element c is not declared in doc list of possible children + This seems Ok but this was not declared + ^ diff --git a/result/VC/ElementValid4.rdr b/result/VC/ElementValid4.rdr new file mode 100644 index 0000000..289a527 --- /dev/null +++ b/result/VC/ElementValid4.rdr @@ -0,0 +1,6 @@ +./test/VC/ElementValid4:7: element doc: validity error : Element c is not declared in doc list of possible children + This seems Ok but this was not declared + ^ +./test/VC/ElementValid4:8: element doc: validity error : Element c is not declared in doc list of possible children + +^ diff --git a/result/VC/ElementValid5 b/result/VC/ElementValid5 new file mode 100644 index 0000000..bd064f6 --- /dev/null +++ b/result/VC/ElementValid5 @@ -0,0 +1,3 @@ +./test/VC/ElementValid5:7: element doc: validity error : Element doc content does not follow the DTD, expecting (a , b* , c+), got (a b c b) + but thiswas not declaredseems + ^ diff --git a/result/VC/ElementValid5.rdr b/result/VC/ElementValid5.rdr new file mode 100644 index 0000000..899d759 --- /dev/null +++ b/result/VC/ElementValid5.rdr @@ -0,0 +1,6 @@ +./test/VC/ElementValid5:7: element doc: validity error : Element doc content does not follow the DTD, expecting (a , b* , c+), got (a b c b) + but thiswas not declaredseems + ^ +./test/VC/ElementValid5:8: element doc: validity error : Element doc content does not follow the DTD, Misplaced b + +^ diff --git a/result/VC/ElementValid6 b/result/VC/ElementValid6 new file mode 100644 index 0000000..1cbf8fd --- /dev/null +++ b/result/VC/ElementValid6 @@ -0,0 +1,3 @@ +./test/VC/ElementValid6:7: element doc: validity error : Element doc content does not follow the DTD, expecting (a , b? , c+)?, got (a b) +lacks c + ^ diff --git a/result/VC/ElementValid6.rdr b/result/VC/ElementValid6.rdr new file mode 100644 index 0000000..aeafd6b --- /dev/null +++ b/result/VC/ElementValid6.rdr @@ -0,0 +1,6 @@ +./test/VC/ElementValid6:7: element doc: validity error : Element doc content does not follow the DTD, expecting (a , b? , c+)?, got (a b) +lacks c + ^ +./test/VC/ElementValid6:8: element doc: validity error : Element doc content does not follow the DTD, Expecting more child + +^ diff --git a/result/VC/ElementValid7 b/result/VC/ElementValid7 new file mode 100644 index 0000000..4ce9dbf --- /dev/null +++ b/result/VC/ElementValid7 @@ -0,0 +1,3 @@ +./test/VC/ElementValid7:7: element doc: validity error : Element doc content does not follow the DTD, expecting ((a | b)* , c+ , a , b? , c , a?), got (a b a c c a) + + ^ diff --git a/result/VC/ElementValid7.rdr b/result/VC/ElementValid7.rdr new file mode 100644 index 0000000..f001fd2 --- /dev/null +++ b/result/VC/ElementValid7.rdr @@ -0,0 +1,6 @@ +./test/VC/ElementValid7:7: element doc: validity error : Element doc content does not follow the DTD, expecting ((a | b)* , c+ , a , b? , c , a?), got (a b a c c a) + + ^ +./test/VC/ElementValid7:8: element doc: validity error : Element doc content does not follow the DTD, Expecting more child + +^ diff --git a/result/VC/ElementValid8 b/result/VC/ElementValid8 new file mode 100644 index 0000000..f1b0dad --- /dev/null +++ b/result/VC/ElementValid8 @@ -0,0 +1,3 @@ +./test/VC/ElementValid8:7: validity error : Content model of doc is not determinist: ((a , b) | (a , c)) + doc is non-deterministic + ^ diff --git a/result/VC/ElementValid8.rdr b/result/VC/ElementValid8.rdr new file mode 100644 index 0000000..f1b0dad --- /dev/null +++ b/result/VC/ElementValid8.rdr @@ -0,0 +1,3 @@ +./test/VC/ElementValid8:7: validity error : Content model of doc is not determinist: ((a , b) | (a , c)) + doc is non-deterministic + ^ diff --git a/result/VC/Enumeration b/result/VC/Enumeration new file mode 100644 index 0000000..30896fc --- /dev/null +++ b/result/VC/Enumeration @@ -0,0 +1,3 @@ +./test/VC/Enumeration:5: element doc: validity error : Value "v4" for attribute val of doc is not among the enumerated set + + ^ diff --git a/result/VC/Enumeration.rdr b/result/VC/Enumeration.rdr new file mode 100644 index 0000000..30896fc --- /dev/null +++ b/result/VC/Enumeration.rdr @@ -0,0 +1,3 @@ +./test/VC/Enumeration:5: element doc: validity error : Value "v4" for attribute val of doc is not among the enumerated set + + ^ diff --git a/result/VC/NS1 b/result/VC/NS1 new file mode 100644 index 0000000..e69de29 diff --git a/result/VC/NS1.rdr b/result/VC/NS1.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/VC/NS2 b/result/VC/NS2 new file mode 100644 index 0000000..abd1f88 --- /dev/null +++ b/result/VC/NS2 @@ -0,0 +1,3 @@ +./test/VC/NS2:9: element doc: validity error : No declaration for attribute attr of element doc + + ^ diff --git a/result/VC/NS2.rdr b/result/VC/NS2.rdr new file mode 100644 index 0000000..abd1f88 --- /dev/null +++ b/result/VC/NS2.rdr @@ -0,0 +1,3 @@ +./test/VC/NS2:9: element doc: validity error : No declaration for attribute attr of element doc + + ^ diff --git a/result/VC/NS3 b/result/VC/NS3 new file mode 100644 index 0000000..72c0117 --- /dev/null +++ b/result/VC/NS3 @@ -0,0 +1,9 @@ +./test/VC/NS3:9: element foo: validity error : Value for attribute xmlns of foo is different from default "http://example.com/fooo" +xmlns="http://example.com/foo" xmlns:foo="http://example.com/fo" foo:info="toto" + ^ +./test/VC/NS3:9: element foo: validity error : Value for attribute xmlns of foo must be "http://example.com/fooo" +xmlns="http://example.com/foo" xmlns:foo="http://example.com/fo" foo:info="toto" + ^ +./test/VC/NS3:9: element foo: validity error : Element foo namespace name for default namespace does not match the DTD +mlns="http://example.com/foo" xmlns:foo="http://example.com/fo" foo:info="toto"/ + ^ diff --git a/result/VC/NS3.rdr b/result/VC/NS3.rdr new file mode 100644 index 0000000..72c0117 --- /dev/null +++ b/result/VC/NS3.rdr @@ -0,0 +1,9 @@ +./test/VC/NS3:9: element foo: validity error : Value for attribute xmlns of foo is different from default "http://example.com/fooo" +xmlns="http://example.com/foo" xmlns:foo="http://example.com/fo" foo:info="toto" + ^ +./test/VC/NS3:9: element foo: validity error : Value for attribute xmlns of foo must be "http://example.com/fooo" +xmlns="http://example.com/foo" xmlns:foo="http://example.com/fo" foo:info="toto" + ^ +./test/VC/NS3:9: element foo: validity error : Element foo namespace name for default namespace does not match the DTD +mlns="http://example.com/foo" xmlns:foo="http://example.com/fo" foo:info="toto"/ + ^ diff --git a/result/VC/OneID b/result/VC/OneID new file mode 100644 index 0000000..a2c894f --- /dev/null +++ b/result/VC/OneID @@ -0,0 +1,6 @@ +./test/VC/OneID:4: validity error : Element doc has too may ID attributes defined : id + + ^ +./test/VC/OneID:4: validity error : Element doc has 2 ID attribute defined in the internal subset : id + + ^ diff --git a/result/VC/OneID.rdr b/result/VC/OneID.rdr new file mode 100644 index 0000000..a2c894f --- /dev/null +++ b/result/VC/OneID.rdr @@ -0,0 +1,6 @@ +./test/VC/OneID:4: validity error : Element doc has too may ID attributes defined : id + + ^ +./test/VC/OneID:4: validity error : Element doc has 2 ID attribute defined in the internal subset : id + + ^ diff --git a/result/VC/OneID2 b/result/VC/OneID2 new file mode 100644 index 0000000..2af04f1 --- /dev/null +++ b/result/VC/OneID2 @@ -0,0 +1,6 @@ +./test/VC/OneID2:3: validity error : Element doc has too may ID attributes defined : id + + ^ +./test/VC/OneID2:3: validity error : Element doc has 2 ID attribute defined in the internal subset : id + + ^ diff --git a/result/VC/OneID2.rdr b/result/VC/OneID2.rdr new file mode 100644 index 0000000..2af04f1 --- /dev/null +++ b/result/VC/OneID2.rdr @@ -0,0 +1,6 @@ +./test/VC/OneID2:3: validity error : Element doc has too may ID attributes defined : id + + ^ +./test/VC/OneID2:3: validity error : Element doc has 2 ID attribute defined in the internal subset : id + + ^ diff --git a/result/VC/OneID3 b/result/VC/OneID3 new file mode 100644 index 0000000..9accece --- /dev/null +++ b/result/VC/OneID3 @@ -0,0 +1,6 @@ +test/VC/dtds/doc.dtd:2: validity error : Element doc has too may ID attributes defined : val + + ^ +test/VC/dtds/doc.dtd:2: validity error : Element doc has 2 ID attribute defined in the external subset : val + + ^ diff --git a/result/VC/OneID3.rdr b/result/VC/OneID3.rdr new file mode 100644 index 0000000..9accece --- /dev/null +++ b/result/VC/OneID3.rdr @@ -0,0 +1,6 @@ +test/VC/dtds/doc.dtd:2: validity error : Element doc has too may ID attributes defined : val + + ^ +test/VC/dtds/doc.dtd:2: validity error : Element doc has 2 ID attribute defined in the external subset : val + + ^ diff --git a/result/VC/PENesting b/result/VC/PENesting new file mode 100644 index 0000000..966689a --- /dev/null +++ b/result/VC/PENesting @@ -0,0 +1,6 @@ +./test/VC/PENesting:1: parser error : StartTag: invalid element name + "> + ^ +./test/VC/PENesting:1: parser error : Extra content at the end of the document + "> + ^ diff --git a/result/VC/PENesting.rdr b/result/VC/PENesting.rdr new file mode 100644 index 0000000..7f82e13 --- /dev/null +++ b/result/VC/PENesting.rdr @@ -0,0 +1,4 @@ +./test/VC/PENesting:1: parser error : StartTag: invalid element name + "> + ^ +./test/VC/PENesting : failed to parse diff --git a/result/VC/PENesting2 b/result/VC/PENesting2 new file mode 100644 index 0000000..c53ead6 --- /dev/null +++ b/result/VC/PENesting2 @@ -0,0 +1,6 @@ +./test/VC/PENesting2:1: parser error : StartTag: invalid element name + + ^ +./test/VC/PENesting2:1: parser error : Extra content at the end of the document + + ^ diff --git a/result/VC/PENesting2.rdr b/result/VC/PENesting2.rdr new file mode 100644 index 0000000..71cb053 --- /dev/null +++ b/result/VC/PENesting2.rdr @@ -0,0 +1,4 @@ +./test/VC/PENesting2:1: parser error : StartTag: invalid element name + + ^ +./test/VC/PENesting2 : failed to parse diff --git a/result/VC/UniqueElementTypeDeclaration b/result/VC/UniqueElementTypeDeclaration new file mode 100644 index 0000000..8537041 --- /dev/null +++ b/result/VC/UniqueElementTypeDeclaration @@ -0,0 +1,3 @@ +test/VC/dtds/a.dtd:1: validity error : Redefinition of element a + + ^ diff --git a/result/VC/UniqueElementTypeDeclaration.rdr b/result/VC/UniqueElementTypeDeclaration.rdr new file mode 100644 index 0000000..8537041 --- /dev/null +++ b/result/VC/UniqueElementTypeDeclaration.rdr @@ -0,0 +1,3 @@ +test/VC/dtds/a.dtd:1: validity error : Redefinition of element a + + ^ diff --git a/result/VC/UniqueElementTypeDeclaration2 b/result/VC/UniqueElementTypeDeclaration2 new file mode 100644 index 0000000..c328d92 --- /dev/null +++ b/result/VC/UniqueElementTypeDeclaration2 @@ -0,0 +1,3 @@ +./test/VC/UniqueElementTypeDeclaration2:6: validity error : Redefinition of element a + + ^ diff --git a/result/VC/UniqueElementTypeDeclaration2.rdr b/result/VC/UniqueElementTypeDeclaration2.rdr new file mode 100644 index 0000000..c328d92 --- /dev/null +++ b/result/VC/UniqueElementTypeDeclaration2.rdr @@ -0,0 +1,3 @@ +./test/VC/UniqueElementTypeDeclaration2:6: validity error : Redefinition of element a + + ^ diff --git a/result/XInclude/docids.xml b/result/XInclude/docids.xml new file mode 100644 index 0000000..ad8e6e6 --- /dev/null +++ b/result/XInclude/docids.xml @@ -0,0 +1,19 @@ + + + + + +]> + + + + + + + + + + + + diff --git a/result/XInclude/docids.xml.err b/result/XInclude/docids.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/XInclude/docids.xml.rdr b/result/XInclude/docids.xml.rdr new file mode 100644 index 0000000..dedeb67 --- /dev/null +++ b/result/XInclude/docids.xml.rdr @@ -0,0 +1,35 @@ +0 10 book 0 0 +0 1 book 0 0 +1 14 #text 0 1 + +1 1 doc 0 0 +2 14 #text 0 1 + +2 1 isid 1 0 +2 14 #text 0 1 + +2 1 isid 1 0 +2 14 #text 0 1 + +1 15 doc 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 including another XML document with IDs +1 14 #text 0 1 + +1 1 doc 0 0 +2 14 #text 0 1 + +2 1 isid 1 0 +2 14 #text 0 1 + +2 1 isid 1 0 +2 14 #text 0 1 + +2 1 isid 1 0 +2 14 #text 0 1 + +1 15 doc 0 0 +1 14 #text 0 1 + +0 15 book 0 0 diff --git a/result/XInclude/fallback.xml b/result/XInclude/fallback.xml new file mode 100644 index 0000000..6f41f80 --- /dev/null +++ b/result/XInclude/fallback.xml @@ -0,0 +1,5 @@ + + + + Inclusion failed + diff --git a/result/XInclude/fallback.xml.err b/result/XInclude/fallback.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/XInclude/fallback.xml.rdr b/result/XInclude/fallback.xml.rdr new file mode 100644 index 0000000..d558872 --- /dev/null +++ b/result/XInclude/fallback.xml.rdr @@ -0,0 +1,12 @@ +0 1 x 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 Simple test of a fallback on unavailable URI +1 14 #text 0 1 + +1 1 warning 0 0 +2 3 #text 0 1 Inclusion failed +1 15 warning 0 0 +1 14 #text 0 1 + +0 15 x 0 0 diff --git a/result/XInclude/fallback2.xml b/result/XInclude/fallback2.xml new file mode 100644 index 0000000..d91b0a1 --- /dev/null +++ b/result/XInclude/fallback2.xml @@ -0,0 +1,6 @@ + + + There is no b.xml ... + There is no c.xml ... + + diff --git a/result/XInclude/fallback2.xml.err b/result/XInclude/fallback2.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/XInclude/fallback2.xml.rdr b/result/XInclude/fallback2.xml.rdr new file mode 100644 index 0000000..2fca4f0 --- /dev/null +++ b/result/XInclude/fallback2.xml.rdr @@ -0,0 +1,11 @@ +0 1 a 0 0 +1 14 #text 0 1 + +1 3 #text 0 1 There is no b.xml ... +1 14 #text 0 1 + +1 3 #text 0 1 There is no c.xml ... +1 14 #text 0 1 + + +0 15 a 0 0 diff --git a/result/XInclude/include.xml b/result/XInclude/include.xml new file mode 100644 index 0000000..3a9366d --- /dev/null +++ b/result/XInclude/include.xml @@ -0,0 +1,9 @@ + + + + +

    something

    +

    really

    +

    simple

    + + diff --git a/result/XInclude/include.xml.err b/result/XInclude/include.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/XInclude/include.xml.rdr b/result/XInclude/include.xml.rdr new file mode 100644 index 0000000..66135a4 --- /dev/null +++ b/result/XInclude/include.xml.rdr @@ -0,0 +1,28 @@ +0 1 x 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 Simple test of including another XML document +1 14 #text 0 1 + +1 1 doc 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 something +2 15 p 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 really +2 15 p 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 simple +2 15 p 0 0 +2 14 #text 0 1 + +1 15 doc 0 0 +1 14 #text 0 1 + +0 15 x 0 0 diff --git a/result/XInclude/nodes.xml b/result/XInclude/nodes.xml new file mode 100644 index 0000000..48030d1 --- /dev/null +++ b/result/XInclude/nodes.xml @@ -0,0 +1,5 @@ + + + +

    something

    really

    simple

    +
    diff --git a/result/XInclude/nodes.xml.err b/result/XInclude/nodes.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/XInclude/nodes.xml.rdr b/result/XInclude/nodes.xml.rdr new file mode 100644 index 0000000..0e53878 --- /dev/null +++ b/result/XInclude/nodes.xml.rdr @@ -0,0 +1,18 @@ +0 1 x 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 Simple test of including a set of nodes from an XML document +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 something +1 15 p 0 0 +1 1 p 0 0 +2 3 #text 0 1 really +1 15 p 0 0 +1 1 p 0 0 +2 3 #text 0 1 simple +1 15 p 0 0 +1 14 #text 0 1 + +0 15 x 0 0 diff --git a/result/XInclude/nodes2.xml b/result/XInclude/nodes2.xml new file mode 100644 index 0000000..fac2d82 --- /dev/null +++ b/result/XInclude/nodes2.xml @@ -0,0 +1,5 @@ + + + +

    something

    really

    simple

    +
    diff --git a/result/XInclude/nodes2.xml.err b/result/XInclude/nodes2.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/XInclude/nodes2.xml.rdr b/result/XInclude/nodes2.xml.rdr new file mode 100644 index 0000000..0e53878 --- /dev/null +++ b/result/XInclude/nodes2.xml.rdr @@ -0,0 +1,18 @@ +0 1 x 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 Simple test of including a set of nodes from an XML document +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 something +1 15 p 0 0 +1 1 p 0 0 +2 3 #text 0 1 really +1 15 p 0 0 +1 1 p 0 0 +2 3 #text 0 1 simple +1 15 p 0 0 +1 14 #text 0 1 + +0 15 x 0 0 diff --git a/result/XInclude/nodes3.xml b/result/XInclude/nodes3.xml new file mode 100644 index 0000000..9ab2044 --- /dev/null +++ b/result/XInclude/nodes3.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/result/XInclude/nodes3.xml.err b/result/XInclude/nodes3.xml.err new file mode 100644 index 0000000..fb11525 --- /dev/null +++ b/result/XInclude/nodes3.xml.err @@ -0,0 +1 @@ +./test/XInclude/docs/nodes3.xml:3: element include: XInclude error : Invalid fragment identifier in URI test/XInclude/ents/something.xml#xpointer(//p) use the xpointer attribute diff --git a/result/XInclude/nodes3.xml.rdr b/result/XInclude/nodes3.xml.rdr new file mode 100644 index 0000000..f2ae87b --- /dev/null +++ b/result/XInclude/nodes3.xml.rdr @@ -0,0 +1,10 @@ +0 1 x 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 Simple test of including a set of nodes from an XML document +1 14 #text 0 1 + +1 1 xinclude:include 1 0 +1 14 #text 0 1 + +0 15 x 0 0 diff --git a/result/XInclude/recursive.xml b/result/XInclude/recursive.xml new file mode 100644 index 0000000..4af1738 --- /dev/null +++ b/result/XInclude/recursive.xml @@ -0,0 +1,3 @@ + +is a test + diff --git a/result/XInclude/recursive.xml.err b/result/XInclude/recursive.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/XInclude/recursive.xml.rdr b/result/XInclude/recursive.xml.rdr new file mode 100644 index 0000000..cafce16 --- /dev/null +++ b/result/XInclude/recursive.xml.rdr @@ -0,0 +1,6 @@ +0 1 this 0 0 +1 1 sub-inc 0 0 +2 3 #text 0 1 is a test + +1 15 sub-inc 0 0 +0 15 this 0 0 diff --git a/result/XInclude/tstencoding.xml b/result/XInclude/tstencoding.xml new file mode 100644 index 0000000..a1c5179 --- /dev/null +++ b/result/XInclude/tstencoding.xml @@ -0,0 +1,6 @@ + + + + test with accents in ISO-8859-1: + + diff --git a/result/XInclude/tstencoding.xml.err b/result/XInclude/tstencoding.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/XInclude/tstencoding.xml.rdr b/result/XInclude/tstencoding.xml.rdr new file mode 100644 index 0000000..a0cc69b --- /dev/null +++ b/result/XInclude/tstencoding.xml.rdr @@ -0,0 +1,11 @@ +0 1 x 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 Simple test of including another text document +1 14 #text 0 1 + +1 3 #text 0 1 test with accents in ISO-8859-1: À Á é è + +1 14 #text 0 1 + +0 15 x 0 0 diff --git a/result/XInclude/txtinclude.xml b/result/XInclude/txtinclude.xml new file mode 100644 index 0000000..0114e4f --- /dev/null +++ b/result/XInclude/txtinclude.xml @@ -0,0 +1,6 @@ + + + + this is some text in ASCII + + diff --git a/result/XInclude/txtinclude.xml.err b/result/XInclude/txtinclude.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/XInclude/txtinclude.xml.rdr b/result/XInclude/txtinclude.xml.rdr new file mode 100644 index 0000000..a4cc3b4 --- /dev/null +++ b/result/XInclude/txtinclude.xml.rdr @@ -0,0 +1,11 @@ +0 1 x 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 Simple test of including another text document +1 14 #text 0 1 + +1 3 #text 0 1 this is some text in ASCII + +1 14 #text 0 1 + +0 15 x 0 0 diff --git a/result/XPath/expr/base b/result/XPath/expr/base new file mode 100644 index 0000000..57c93cf --- /dev/null +++ b/result/XPath/expr/base @@ -0,0 +1,68 @@ + +======================== +Expression: 1 +Object is a number : 1 + +======================== +Expression: 1+2 +Object is a number : 3 + +======================== +Expression: 2*3 +Object is a number : 6 + +======================== +Expression: 1+2*3+4 +Object is a number : 11 + +======================== +Expression: (1+2)*(3+4) +Object is a number : 21 + +======================== +Expression: 1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1 +Object is a number : 21 + +======================== +Expression: 0.000000000000000000000000000000000000000000000000001 +Object is a number : 1e-51 + +======================== +Expression: -0.000000000000000000000000000000000000000000000000001 +Object is a number : -1e-51 + +======================== +Expression: 1e2147483648 +Object is a number : Infinity + +======================== +Expression: 1e4294967296 +Object is a number : Infinity + +======================== +Expression: 1e9223372036854775808 +Object is a number : Infinity + +======================== +Expression: 1e18446744073709551616 +Object is a number : Infinity + +======================== +Expression: 1e-2147483649 +Object is a number : 0 + +======================== +Expression: 1e-4294967296 +Object is a number : 0 + +======================== +Expression: 1e-9223372036854775809 +Object is a number : 0 + +======================== +Expression: 1e-18446744073709551616 +Object is a number : 0 + +======================== +Expression: self::-name +Object is empty (NULL) diff --git a/result/XPath/expr/compare b/result/XPath/expr/compare new file mode 100644 index 0000000..21a88d0 --- /dev/null +++ b/result/XPath/expr/compare @@ -0,0 +1,184 @@ + +======================== +Expression: 0<0 +Object is a Boolean : false + +======================== +Expression: 0<=0 +Object is a Boolean : true + +======================== +Expression: 0>0 +Object is a Boolean : false + +======================== +Expression: 0>=0 +Object is a Boolean : true + +======================== +Expression: 0<1 +Object is a Boolean : true + +======================== +Expression: 0<=1 +Object is a Boolean : true + +======================== +Expression: 0>1 +Object is a Boolean : false + +======================== +Expression: 0>=1 +Object is a Boolean : false + +======================== +Expression: 1<0 +Object is a Boolean : false + +======================== +Expression: 1<=0 +Object is a Boolean : false + +======================== +Expression: 1>0 +Object is a Boolean : true + +======================== +Expression: 1>=0 +Object is a Boolean : true + +======================== +Expression: 1<1 +Object is a Boolean : false + +======================== +Expression: 1<=1 +Object is a Boolean : true + +======================== +Expression: 1>1 +Object is a Boolean : false + +======================== +Expression: 1>=1 +Object is a Boolean : true + +======================== +Expression: '0'<1 +Object is a Boolean : true + +======================== +Expression: '0'<=1 +Object is a Boolean : true + +======================== +Expression: '0'>1 +Object is a Boolean : false + +======================== +Expression: '0'>=1 +Object is a Boolean : false + +======================== +Expression: 0<'1.2' +Object is a Boolean : true + +======================== +Expression: 0<='1.2' +Object is a Boolean : true + +======================== +Expression: 0>'1.2' +Object is a Boolean : false + +======================== +Expression: 0>='1.2' +Object is a Boolean : false + +======================== +Expression: 0<'-0.2' +Object is a Boolean : false + +======================== +Expression: 0<='-0.2' +Object is a Boolean : false + +======================== +Expression: 0>'-0.2' +Object is a Boolean : true + +======================== +Expression: 0>='-0.2' +Object is a Boolean : true + +======================== +Expression: false()<1 +Object is a Boolean : true + +======================== +Expression: false()<=1 +Object is a Boolean : true + +======================== +Expression: 0>true() +Object is a Boolean : false + +======================== +Expression: 0>=true() +Object is a Boolean : false + +======================== +Expression: 'a' > 'a' +Object is a Boolean : false + +======================== +Expression: 'a' > 'b' +Object is a Boolean : false + +======================== +Expression: 'b' > 'a' +Object is a Boolean : false + +======================== +Expression: 'a' < 'a' +Object is a Boolean : false + +======================== +Expression: 'a' < 'b' +Object is a Boolean : false + +======================== +Expression: 'b' < 'a' +Object is a Boolean : false + +======================== +Expression: 'a' >= 'a' +Object is a Boolean : false + +======================== +Expression: 'a' >= 'b' +Object is a Boolean : false + +======================== +Expression: 'b' >= 'a' +Object is a Boolean : false + +======================== +Expression: 'a' <= 'a' +Object is a Boolean : false + +======================== +Expression: 'a' <= 'b' +Object is a Boolean : false + +======================== +Expression: 'b' <= 'a' +Object is a Boolean : false + +======================== +Expression: 'a' > '0.0' +Object is a Boolean : false + +======================== +Expression: 'a' < '0.0' +Object is a Boolean : false diff --git a/result/XPath/expr/equality b/result/XPath/expr/equality new file mode 100644 index 0000000..44b4c22 --- /dev/null +++ b/result/XPath/expr/equality @@ -0,0 +1,104 @@ + +======================== +Expression: 1=1 +Object is a Boolean : true + +======================== +Expression: 1!=1 +Object is a Boolean : false + +======================== +Expression: 1=0 +Object is a Boolean : false + +======================== +Expression: 1!=0 +Object is a Boolean : true + +======================== +Expression: true()=true() +Object is a Boolean : true + +======================== +Expression: true()!=true() +Object is a Boolean : false + +======================== +Expression: true()=false() +Object is a Boolean : false + +======================== +Expression: false()!=true() +Object is a Boolean : true + +======================== +Expression: 'test'='test' +Object is a Boolean : true + +======================== +Expression: 'test'!='test' +Object is a Boolean : false + +======================== +Expression: 'test2'='test' +Object is a Boolean : false + +======================== +Expression: 'test2'!='test' +Object is a Boolean : true + +======================== +Expression: false()=0 +Object is a Boolean : true + +======================== +Expression: false()!=0 +Object is a Boolean : false + +======================== +Expression: false()=1 +Object is a Boolean : false + +======================== +Expression: false()!=1 +Object is a Boolean : true + +======================== +Expression: 0=true() +Object is a Boolean : false + +======================== +Expression: 0!=true() +Object is a Boolean : true + +======================== +Expression: 1=true() +Object is a Boolean : true + +======================== +Expression: 1!=true() +Object is a Boolean : false + +======================== +Expression: true()='test' +Object is a Boolean : true + +======================== +Expression: false()='test' +Object is a Boolean : false + +======================== +Expression: 'test'!=true() +Object is a Boolean : false + +======================== +Expression: 'test'!=false() +Object is a Boolean : true + +======================== +Expression: 'a'=0.0 +Object is a Boolean : false + +======================== +Expression: 'a'!=0.0 +Object is a Boolean : true diff --git a/result/XPath/expr/floats b/result/XPath/expr/floats new file mode 100644 index 0000000..157bd76 --- /dev/null +++ b/result/XPath/expr/floats @@ -0,0 +1,252 @@ + +======================== +Expression: 1 +Object is a number : 1 + +======================== +Expression: 123 +Object is a number : 123 + +======================== +Expression: 1.23 +Object is a number : 1.23 + +======================== +Expression: 0.123 +Object is a number : 0.123 + +======================== +Expression: 4. +Object is a number : 4 + +======================== +Expression: .4 +Object is a number : 0.4 + +======================== +Expression: 1.23e3 +Object is a number : 1230 + +======================== +Expression: 1.23e-3 +Object is a number : 0.00123 + +======================== +Expression: 1 div 0 +Object is a number : Infinity + +======================== +Expression: -1 div 0 +Object is a number : -Infinity + +======================== +Expression: 0 div 0 +Object is a number : NaN + +======================== +Expression: 1 div -0 +Object is a number : -Infinity + +======================== +Expression: (1 div 0) > 0 +Object is a Boolean : true + +======================== +Expression: (1 div 0) < 0 +Object is a Boolean : false + +======================== +Expression: (-1 div 0) > 0 +Object is a Boolean : false + +======================== +Expression: (-1 div 0) < 0 +Object is a Boolean : true + +======================== +Expression: (0 div 0) > 0 +Object is a Boolean : false + +======================== +Expression: (0 div 0) < 0 +Object is a Boolean : false + +======================== +Expression: (1 div -0) > 0 +Object is a Boolean : false + +======================== +Expression: (1 div -0) < 0 +Object is a Boolean : true + +======================== +Expression: 0 div 0 = 0 div 0 +Object is a Boolean : false + +======================== +Expression: 0 div 0 != 0 div 0 +Object is a Boolean : true + +======================== +Expression: 0 div 0 > 0 div 0 +Object is a Boolean : false + +======================== +Expression: 0 div 0 < 0 div 0 +Object is a Boolean : false + +======================== +Expression: 0 div 0 >= 0 div 0 +Object is a Boolean : false + +======================== +Expression: 0 div 0 <= 0 div 0 +Object is a Boolean : false + +======================== +Expression: 1 div 0 = -1 div 0 +Object is a Boolean : false + +======================== +Expression: 1 div 0 != -1 div 0 +Object is a Boolean : true + +======================== +Expression: 1 div 0 > -1 div 0 +Object is a Boolean : true + +======================== +Expression: 1 div 0 < -1 div 0 +Object is a Boolean : false + +======================== +Expression: 1 div 0 >= -1 div 0 +Object is a Boolean : true + +======================== +Expression: 1 div 0 <= -1 div 0 +Object is a Boolean : false + +======================== +Expression: 1 div 0 = 1 div 0 +Object is a Boolean : true + +======================== +Expression: 1 div 0 != 1 div 0 +Object is a Boolean : false + +======================== +Expression: 1 div 0 > 1 div 0 +Object is a Boolean : false + +======================== +Expression: 1 div 0 < 1 div 0 +Object is a Boolean : false + +======================== +Expression: 1 div 0 >= -1 div 0 +Object is a Boolean : true + +======================== +Expression: 1 div 0 <= -1 div 0 +Object is a Boolean : false + +======================== +Expression: -2 div 0 = -1 div 0 +Object is a Boolean : true + +======================== +Expression: 1 div floor(0.1) +Object is a number : Infinity + +======================== +Expression: 1 div floor(-0.1) +Object is a number : -1 + +======================== +Expression: 1 div floor(-0) +Object is a number : -Infinity + +======================== +Expression: 1 div floor(0) +Object is a number : Infinity + +======================== +Expression: 1 div ceiling(0.1) +Object is a number : 1 + +======================== +Expression: 1 div ceiling(-0.1) +Object is a number : -Infinity + +======================== +Expression: 1 div ceiling(-0) +Object is a number : -Infinity + +======================== +Expression: 1 div ceiling(0) +Object is a number : Infinity + +======================== +Expression: 1 div round(0.1) +Object is a number : Infinity + +======================== +Expression: 1 div round(-0.1) +Object is a number : -Infinity + +======================== +Expression: 1 div round(-0) +Object is a number : -Infinity + +======================== +Expression: 1 div round(0) +Object is a number : Infinity + +======================== +Expression: 1 div number('f') +Object is a number : NaN + +======================== +Expression: number('f') div 1 +Object is a number : NaN + +======================== +Expression: 1 div (1 div 0) +Object is a number : 0 + +======================== +Expression: (1 div 0) div 1 +Object is a number : Infinity + +======================== +Expression: -(1 div 0) div 1 +Object is a number : -Infinity + +======================== +Expression: 5 mod 2 +Object is a number : 1 + +======================== +Expression: 5 mod -2 +Object is a number : 1 + +======================== +Expression: -5 mod 2 +Object is a number : -1 + +======================== +Expression: -5 mod -2 +Object is a number : -1 + +======================== +Expression: 8 mod 3 = 2 +Object is a Boolean : true + +======================== +Expression: 12345678901234567890 +Object is a number : 1.23457e+19 + +======================== +Expression: -12345678901234567890 +Object is a number : -1.23457e+19 diff --git a/result/XPath/expr/functions b/result/XPath/expr/functions new file mode 100644 index 0000000..e09eb4a --- /dev/null +++ b/result/XPath/expr/functions @@ -0,0 +1,168 @@ + +======================== +Expression: true() +Object is a Boolean : true + +======================== +Expression: false() +Object is a Boolean : false + +======================== +Expression: number("1.5") +Object is a number : 1.5 + +======================== +Expression: number('abc') +Object is a number : NaN + +======================== +Expression: -number('abc') +Object is a number : NaN + +======================== +Expression: floor(0.1) +Object is a number : 0 + +======================== +Expression: floor(-0.1) +Object is a number : -1 + +======================== +Expression: floor(-0) +Object is a number : 0 + +======================== +Expression: floor(0) +Object is a number : 0 + +======================== +Expression: floor(5.2) +Object is a number : 5 + +======================== +Expression: floor(-5.2) +Object is a number : -6 + +======================== +Expression: floor(100000000000000000000) +Object is a number : 1e+20 + +======================== +Expression: floor(-100000000000000000000) +Object is a number : -1e+20 + +======================== +Expression: floor(0 div 0) +Object is a number : NaN + +======================== +Expression: floor(1 div 0) +Object is a number : Infinity + +======================== +Expression: floor(-1 div 0) +Object is a number : -Infinity + +======================== +Expression: ceiling(0.1) +Object is a number : 1 + +======================== +Expression: ceiling(-0.1) +Object is a number : 0 + +======================== +Expression: ceiling(-0) +Object is a number : 0 + +======================== +Expression: ceiling(0) +Object is a number : 0 + +======================== +Expression: ceiling(5.2) +Object is a number : 6 + +======================== +Expression: ceiling(-5.2) +Object is a number : -5 + +======================== +Expression: ceiling(100000000000000000000) +Object is a number : 1e+20 + +======================== +Expression: ceiling(-100000000000000000000) +Object is a number : -1e+20 + +======================== +Expression: ceiling(0 div 0) +Object is a number : NaN + +======================== +Expression: ceiling(1 div 0) +Object is a number : Infinity + +======================== +Expression: ceiling(-1 div 0) +Object is a number : -Infinity + +======================== +Expression: round(0.1) +Object is a number : 0 + +======================== +Expression: round(5.2) +Object is a number : 5 + +======================== +Expression: round(5.5) +Object is a number : 6 + +======================== +Expression: round(5.6) +Object is a number : 6 + +======================== +Expression: round(-0.1) +Object is a number : 0 + +======================== +Expression: round(-5.2) +Object is a number : -5 + +======================== +Expression: round(-5.5) +Object is a number : -5 + +======================== +Expression: round(-5.6) +Object is a number : -6 + +======================== +Expression: round(0.5) +Object is a number : 1 + +======================== +Expression: round(-0.5) +Object is a number : 0 + +======================== +Expression: round(100000000000000000000) +Object is a number : 1e+20 + +======================== +Expression: round(-100000000000000000000) +Object is a number : -1e+20 + +======================== +Expression: round(0 div 0) +Object is a number : NaN + +======================== +Expression: round(1 div 0) +Object is a number : Infinity + +======================== +Expression: round(-1 div 0) +Object is a number : -Infinity diff --git a/result/XPath/expr/strings b/result/XPath/expr/strings new file mode 100644 index 0000000..4b0125c --- /dev/null +++ b/result/XPath/expr/strings @@ -0,0 +1,152 @@ + +======================== +Expression: string(5) +Object is a string : 5 + +======================== +Expression: string(0.5) +Object is a string : 0.5 + +======================== +Expression: string(-0.5) +Object is a string : -0.5 + +======================== +Expression: string(true()) +Object is a string : true + +======================== +Expression: string(false()) +Object is a string : false + +======================== +Expression: string(12345678901234567890) +Object is a string : 1.23456789012346e+19 + +======================== +Expression: string(-12345678901234567890) +Object is a string : -1.23456789012346e+19 + +======================== +Expression: concat("titi","toto") +Object is a string : tititoto + +======================== +Expression: concat("titi","toto","tata") +Object is a string : tititototata + +======================== +Expression: concat("titi",'toto') +Object is a string : tititoto + +======================== +Expression: concat("titi",'toto',"tata","last") +Object is a string : tititototatalast + +======================== +Expression: starts-with("tititoto","titi") +Object is a Boolean : true + +======================== +Expression: starts-with("tititoto","to") +Object is a Boolean : false + +======================== +Expression: contains("tititototata","titi") +Object is a Boolean : true + +======================== +Expression: contains("tititototata","toto") +Object is a Boolean : true + +======================== +Expression: contains("tititototata","tata") +Object is a Boolean : true + +======================== +Expression: contains("tititototata","tita") +Object is a Boolean : false + +======================== +Expression: substring("12345",2,3) +Object is a string : 234 + +======================== +Expression: substring("12345",2) +Object is a string : 2345 + +======================== +Expression: substring("12345",-4) +Object is a string : 12345 + +======================== +Expression: substring("12345",3.4) +Object is a string : 345 + +======================== +Expression: substring("12345",3.6) +Object is a string : 45 + +======================== +Expression: substring("12345",1.5,2.6) +Object is a string : 234 + +======================== +Expression: substring("12345",2.2,2.2) +Object is a string : 23 + +======================== +Expression: substring("12345",0,3) +Object is a string : 12 + +======================== +Expression: substring("12345",-8,10) +Object is a string : 1 + +======================== +Expression: substring("12345",4,-10) +Object is a string : + +======================== +Expression: substring("12345",0 div 0, 3) +Object is a string : + +======================== +Expression: substring("12345",1, 0 div 0) +Object is a string : + +======================== +Expression: substring("12345",1 div 0, 3) +Object is a string : + +======================== +Expression: substring("12345",3,-1 div 0) +Object is a string : + +======================== +Expression: substring("12345",-42, 1 div 0) +Object is a string : 12345 + +======================== +Expression: substring("12345",-1 div 0, 1 div 0) +Object is a string : + +======================== +Expression: substring("12345",-1 div 0,5) +Object is a string : + +======================== +Expression: substring("12345",-0.7,4) +Object is a string : 12 + +======================== +Expression: substring("12345",-5000000000,5000000004) +Object is a string : 123 + +======================== +Expression: string-length("") +Object is a number : 0 + +======================== +Expression: string-length("titi") +Object is a number : 4 diff --git a/result/XPath/tests/chaptersbase b/result/XPath/tests/chaptersbase new file mode 100644 index 0000000..2d8b10c --- /dev/null +++ b/result/XPath/tests/chaptersbase @@ -0,0 +1,168 @@ + +======================== +Expression: /child::EXAMPLE +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT EXAMPLE + ATTRIBUTE prop1 + TEXT + content=gnome is great + ATTRIBUTE prop2 + TEXT + content=& linux too + +======================== +Expression: /child::* +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT EXAMPLE + ATTRIBUTE prop1 + TEXT + content=gnome is great + ATTRIBUTE prop2 + TEXT + content=& linux too + +======================== +Expression: /child::EXAMPLE/child::head +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT head + +======================== +Expression: /child::EXAMPLE/child::* +Object is a Node Set : +Set contains 6 nodes: +1 ELEMENT head +2 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 +3 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 +4 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter3 +5 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter4 +6 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter5 + +======================== +Expression: /child::EXAMPLE/child::head/child::title +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT title + +======================== +Expression: /child::EXAMPLE/child::head/child::title/child::text() +Object is a Node Set : +Set contains 1 nodes: +1 TEXT + content=Welcome to Gnome + +======================== +Expression: /child::EXAMPLE/child::head/node() +Object is a Node Set : +Set contains 3 nodes: +1 TEXT + content= +2 ELEMENT title +3 TEXT + content= + +======================== +Expression: /descendant::title +Object is a Node Set : +Set contains 6 nodes: +1 ELEMENT title +2 ELEMENT title +3 ELEMENT title +4 ELEMENT title +5 ELEMENT title +6 ELEMENT title + +======================== +Expression: /descendant::p/ancestor::chapter +Object is a Node Set : +Set contains 5 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 +2 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 +3 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter3 +4 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter4 +5 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter5 + +======================== +Expression: //p[1] +Object is a Node Set : +Set contains 5 nodes: +1 ELEMENT p +2 ELEMENT p +3 ELEMENT p +4 ELEMENT p +5 ELEMENT p + +======================== +Expression: //p[0 div 0] +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: //p[100000000000000000000] +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: //p[-100000000000000000000] +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: //chapter[true()][position() mod 2 = 1][true()][2] +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter3 + +======================== +Expression: //chapter[true()][2][true()] +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 + +======================== +Expression: //node()[false()] +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: (//node())[false()] +Object is a Node Set : +Set contains 0 nodes: diff --git a/result/XPath/tests/chaptersprefol b/result/XPath/tests/chaptersprefol new file mode 100644 index 0000000..a12c937 --- /dev/null +++ b/result/XPath/tests/chaptersprefol @@ -0,0 +1,100 @@ + +======================== +Expression: /following::* +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: /preceding::* +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: /child::EXAMPLE/preceding::* +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: /child::EXAMPLE/following::* +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: /child::EXAMPLE/child::chapter[3]/preceding::* +Object is a Node Set : +Set contains 10 nodes: +1 ELEMENT head +2 ELEMENT title +3 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 +4 ELEMENT title +5 ELEMENT p +6 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif +7 ELEMENT p +8 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 +9 ELEMENT title +10 ELEMENT p + +======================== +Expression: /child::EXAMPLE/child::chapter[3]/following::* +Object is a Node Set : +Set contains 6 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter4 +2 ELEMENT title +3 ELEMENT p +4 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter5 +5 ELEMENT title +6 ELEMENT p + +======================== +Expression: /child::EXAMPLE/child::chapter[1]/image/preceding::* +Object is a Node Set : +Set contains 4 nodes: +1 ELEMENT head +2 ELEMENT title +3 ELEMENT title +4 ELEMENT p + +======================== +Expression: /child::EXAMPLE/child::chapter[1]/image/following::* +Object is a Node Set : +Set contains 13 nodes: +1 ELEMENT p +2 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 +3 ELEMENT title +4 ELEMENT p +5 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter3 +6 ELEMENT title +7 ELEMENT p +8 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter4 +9 ELEMENT title +10 ELEMENT p +11 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter5 +12 ELEMENT title +13 ELEMENT p diff --git a/result/XPath/tests/idsimple b/result/XPath/tests/idsimple new file mode 100644 index 0000000..891b52e --- /dev/null +++ b/result/XPath/tests/idsimple @@ -0,0 +1,33 @@ + +======================== +Expression: //*[@id="root"] +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT EXAMPLE + ATTRIBUTE id + TEXT + content=root + ATTRIBUTE prop1 + TEXT + content=gnome is great + ATTRIBUTE prop2 + TEXT + content=& linux too + +======================== +Expression: //*[@id="chapter2"] +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 + +======================== +Expression: //*[@id="chapter5"] +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter5 diff --git a/result/XPath/tests/langsimple b/result/XPath/tests/langsimple new file mode 100644 index 0000000..d8d7afd --- /dev/null +++ b/result/XPath/tests/langsimple @@ -0,0 +1,60 @@ + +======================== +Expression: //*[lang('en')] +Object is a Node Set : +Set contains 9 nodes: +1 ELEMENT b + ATTRIBUTE lang + TEXT + content=en +2 ELEMENT x +3 ELEMENT x +4 ELEMENT para + ATTRIBUTE lang + TEXT + content=en +5 ELEMENT div + ATTRIBUTE lang + TEXT + content=en +6 ELEMENT para +7 ELEMENT para + ATTRIBUTE lang + TEXT + content=EN +8 ELEMENT para + ATTRIBUTE lang + TEXT + content=en-us +9 ELEMENT para + ATTRIBUTE lang + TEXT + content=EN-US + +======================== +Expression: //*[lang('en-us')] +Object is a Node Set : +Set contains 2 nodes: +1 ELEMENT para + ATTRIBUTE lang + TEXT + content=en-us +2 ELEMENT para + ATTRIBUTE lang + TEXT + content=EN-US + +======================== +Expression: //*[lang('en-gb')] +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: //*[lang('fr')] +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: //*[lang('')] +Object is a Node Set : +Set contains 0 nodes: diff --git a/result/XPath/tests/mixedpat b/result/XPath/tests/mixedpat new file mode 100644 index 0000000..3be0c49 --- /dev/null +++ b/result/XPath/tests/mixedpat @@ -0,0 +1,101 @@ + +======================== +Expression: s +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT s + ATTRIBUTE p + TEXT + content=root + +======================== +Expression: s|p1/s +Object is a Node Set : +Set contains 2 nodes: +1 ELEMENT s + ATTRIBUTE p + TEXT + content=root +2 ELEMENT s + ATTRIBUTE p + TEXT + content=p1 + +======================== +Expression: s|/root/p1/s +Object is a Node Set : +Set contains 2 nodes: +1 ELEMENT s + ATTRIBUTE p + TEXT + content=root +2 ELEMENT s + ATTRIBUTE p + TEXT + content=p1 + +======================== +Expression: /root/p1/s|s +Object is a Node Set : +Set contains 2 nodes: +1 ELEMENT s + ATTRIBUTE p + TEXT + content=root +2 ELEMENT s + ATTRIBUTE p + TEXT + content=p1 + +======================== +Expression: //s +Object is a Node Set : +Set contains 3 nodes: +1 ELEMENT s + ATTRIBUTE p + TEXT + content=root +2 ELEMENT s + ATTRIBUTE p + TEXT + content=p1 +3 ELEMENT s + ATTRIBUTE p + TEXT + content=p2 + +======================== +Expression: //s|p1 +Object is a Node Set : +Set contains 4 nodes: +1 ELEMENT s + ATTRIBUTE p + TEXT + content=root +2 ELEMENT p1 +3 ELEMENT s + ATTRIBUTE p + TEXT + content=p1 +4 ELEMENT s + ATTRIBUTE p + TEXT + content=p2 + +======================== +Expression: p1|//s +Object is a Node Set : +Set contains 4 nodes: +1 ELEMENT s + ATTRIBUTE p + TEXT + content=root +2 ELEMENT p1 +3 ELEMENT s + ATTRIBUTE p + TEXT + content=p1 +4 ELEMENT s + ATTRIBUTE p + TEXT + content=p2 diff --git a/result/XPath/tests/nodespat b/result/XPath/tests/nodespat new file mode 100644 index 0000000..1efd87f --- /dev/null +++ b/result/XPath/tests/nodespat @@ -0,0 +1,94 @@ + +======================== +Expression: /. +Object is a Node Set : +Set contains 1 nodes: +1 / + +======================== +Expression: //. +Object is a Node Set : +Set contains 12 nodes: +1 / +2 ELEMENT root +3 ELEMENT foo +4 TEXT + content=txt +5 COMMENT + content=hello +6 CDATA_SECTION + content=data +7 PI target + content=data +8 ELEMENT bar +9 TEXT + content=txt +10 COMMENT + content=hello +11 CDATA_SECTION + content=data +12 PI target + content=data + +======================== +Expression: /root//. +Object is a Node Set : +Set contains 11 nodes: +1 ELEMENT root +2 ELEMENT foo +3 TEXT + content=txt +4 COMMENT + content=hello +5 CDATA_SECTION + content=data +6 PI target + content=data +7 ELEMENT bar +8 TEXT + content=txt +9 COMMENT + content=hello +10 CDATA_SECTION + content=data +11 PI target + content=data + +======================== +Expression: //.//./././/. +Object is a Node Set : +Set contains 12 nodes: +1 / +2 ELEMENT root +3 ELEMENT foo +4 TEXT + content=txt +5 COMMENT + content=hello +6 CDATA_SECTION + content=data +7 PI target + content=data +8 ELEMENT bar +9 TEXT + content=txt +10 COMMENT + content=hello +11 CDATA_SECTION + content=data +12 PI target + content=data + +======================== +Expression: /root//././/bar//. +Object is a Node Set : +Set contains 5 nodes: +1 ELEMENT bar +2 TEXT + content=txt +3 COMMENT + content=hello +4 CDATA_SECTION + content=data +5 PI target + content=data diff --git a/result/XPath/tests/nssimple b/result/XPath/tests/nssimple new file mode 100644 index 0000000..cd09a17 --- /dev/null +++ b/result/XPath/tests/nssimple @@ -0,0 +1,38 @@ + +======================== +Expression: /doc/elem/namespace::node()/.. +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT elem + namespace ns2 href=nsuri2 + +======================== +Expression: /doc/elem/namespace::*/self::node()[true()] +Object is a Node Set : +Set contains 3 nodes: +1 namespace xml href=http://www.w3.org/XML/1998/namespace +2 namespace ns1 href=nsuri1 +3 namespace ns2 href=nsuri2 + +======================== +Expression: //*[namespace::ns1] +Object is a Node Set : +Set contains 4 nodes: +1 ELEMENT doc + namespace ns1 href=nsuri1 +2 ELEMENT preceding +3 ELEMENT elem + namespace ns2 href=nsuri2 +4 ELEMENT following + +======================== +Expression: /doc/elem/namespace::ns2/following::* +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT following + +======================== +Expression: /doc/elem/namespace::ns2/preceding::* +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT preceding diff --git a/result/XPath/tests/simpleabbr b/result/XPath/tests/simpleabbr new file mode 100644 index 0000000..85da41a --- /dev/null +++ b/result/XPath/tests/simpleabbr @@ -0,0 +1,81 @@ + +======================== +Expression: /EXAMPLE +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT EXAMPLE + ATTRIBUTE prop1 + TEXT + content=gnome is great + ATTRIBUTE prop2 + TEXT + content=& linux too + +======================== +Expression: /EXAMPLE/head +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT head + +======================== +Expression: /EXAMPLE/chapter[1] +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + +======================== +Expression: //p +Object is a Node Set : +Set contains 2 nodes: +1 ELEMENT p +2 ELEMENT p + +======================== +Expression: //chapter/image +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif + +======================== +Expression: //p/text() +Object is a Node Set : +Set contains 2 nodes: +1 TEXT + content=bla bla bla ... +2 TEXT + content=... + +======================== +Expression: //p/text()[position()=1] +Object is a Node Set : +Set contains 2 nodes: +1 TEXT + content=bla bla bla ... +2 TEXT + content=... + +======================== +Expression: //p/text()[position()=last()] +Object is a Node Set : +Set contains 2 nodes: +1 TEXT + content=bla bla bla ... +2 TEXT + content=... + +======================== +Expression: (//p/text())[position()=1] +Object is a Node Set : +Set contains 1 nodes: +1 TEXT + content=bla bla bla ... + +======================== +Expression: (//p/text())[position()=last()] +Object is a Node Set : +Set contains 1 nodes: +1 TEXT + content=... diff --git a/result/XPath/tests/simplebase b/result/XPath/tests/simplebase new file mode 100644 index 0000000..6d4b347 --- /dev/null +++ b/result/XPath/tests/simplebase @@ -0,0 +1,132 @@ + +======================== +Expression: /child::* +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT EXAMPLE + ATTRIBUTE prop1 + TEXT + content=gnome is great + ATTRIBUTE prop2 + TEXT + content=& linux too + +======================== +Expression: /child::EXAMPLE +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT EXAMPLE + ATTRIBUTE prop1 + TEXT + content=gnome is great + ATTRIBUTE prop2 + TEXT + content=& linux too + +======================== +Expression: /child::EXAMPLE/child::head +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT head + +======================== +Expression: /child::EXAMPLE/child::* +Object is a Node Set : +Set contains 2 nodes: +1 ELEMENT head +2 ELEMENT chapter + +======================== +Expression: /child::EXAMPLE/child::head/child::title +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT title + +======================== +Expression: /child::EXAMPLE/child::head/child::title/child::text() +Object is a Node Set : +Set contains 1 nodes: +1 TEXT + content=Welcome to Gnome + +======================== +Expression: /child::EXAMPLE/child::head/node() +Object is a Node Set : +Set contains 3 nodes: +1 TEXT + content= +2 ELEMENT title +3 TEXT + content= + +======================== +Expression: /child::EXAMPLE/attribute::prop1/self::node() +Object is a Node Set : +Set contains 1 nodes: +1 ATTRIBUTE prop1 + TEXT + content=gnome is great + +======================== +Expression: /child::EXAMPLE/attribute::prop1/self::* +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: /child::EXAMPLE/attribute::prop1/descendant-or-self::node() +Object is a Node Set : +Set contains 1 nodes: +1 ATTRIBUTE prop1 + TEXT + content=gnome is great + +======================== +Expression: /child::EXAMPLE/attribute::prop1/descendant-or-self::* +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: /child::EXAMPLE/attribute::prop1/ancestor-or-self::node() +Object is a Node Set : +Set contains 3 nodes: +1 / +2 ELEMENT EXAMPLE + ATTRIBUTE prop1 + TEXT + content=gnome is great + ATTRIBUTE prop2 + TEXT + content=& linux too +3 ATTRIBUTE prop1 + TEXT + content=gnome is great + +======================== +Expression: /child::EXAMPLE/attribute::prop1/ancestor-or-self::* +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT EXAMPLE + ATTRIBUTE prop1 + TEXT + content=gnome is great + ATTRIBUTE prop2 + TEXT + content=& linux too + +======================== +Expression: /descendant::title +Object is a Node Set : +Set contains 2 nodes: +1 ELEMENT title +2 ELEMENT title + +======================== +Expression: /descendant::p/ancestor::chapter +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + +======================== +Expression: /child::EXAMPLE/attribute::prop2/preceding::text() +Object is a Node Set : +Set contains 0 nodes: diff --git a/result/XPath/tests/strbase b/result/XPath/tests/strbase new file mode 100644 index 0000000..e6035ca --- /dev/null +++ b/result/XPath/tests/strbase @@ -0,0 +1,13 @@ + +======================== +Expression: //p[.='abc'] +Object is a Node Set : +Set contains 2 nodes: +1 ELEMENT p + ATTRIBUTE id + TEXT + content=1 +2 ELEMENT p + ATTRIBUTE id + TEXT + content=2 diff --git a/result/XPath/tests/usr1check b/result/XPath/tests/usr1check new file mode 100644 index 0000000..0308991 --- /dev/null +++ b/result/XPath/tests/usr1check @@ -0,0 +1,12 @@ + +======================== +Expression: //ITEM[1] +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT ITEM + ATTRIBUTE monto + TEXT + content=50.12 + ATTRIBUTE divisa + TEXT + content=DOL diff --git a/result/XPath/tests/vidbase b/result/XPath/tests/vidbase new file mode 100644 index 0000000..3c7b62f --- /dev/null +++ b/result/XPath/tests/vidbase @@ -0,0 +1,42 @@ + +======================== +Expression: id('chapter1') +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 + +======================== +Expression: id('chapter3') +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter3 + +======================== +Expression: id('chapter1')/p +Object is a Node Set : +Set contains 4 nodes: +1 ELEMENT p +2 ELEMENT p +3 ELEMENT p +4 ELEMENT p + +======================== +Expression: id('chapter1')//p +Object is a Node Set : +Set contains 4 nodes: +1 ELEMENT p +2 ELEMENT p +3 ELEMENT p +4 ELEMENT p + +======================== +Expression: id('chapter1')/p[1] +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT p diff --git a/result/XPath/xptr/chapterschildseq b/result/XPath/xptr/chapterschildseq new file mode 100644 index 0000000..396bcac --- /dev/null +++ b/result/XPath/xptr/chapterschildseq @@ -0,0 +1,53 @@ + +======================== +Expression: /1/2/3 +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif + +======================== +Expression: element(/1/2/3) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif + +======================== +Expression: element(foo)element(/1/2/3) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif + +======================== +Expression: element(/1/2/3)element(foo) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif + +======================== +Expression: chapter1/3 +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: element(chapter1/3) +Object is empty (NULL) + +======================== +Expression: element(foo)element(chapter1/3) +Object is empty (NULL) + +======================== +Expression: element(chapter1/3)element(foo) +Object is empty (NULL) diff --git a/result/XPath/xptr/chaptersparts b/result/XPath/xptr/chaptersparts new file mode 100644 index 0000000..70b561b --- /dev/null +++ b/result/XPath/xptr/chaptersparts @@ -0,0 +1,44 @@ + +======================== +Expression: xpointer(//chapitre[2]) +Object is empty (NULL) + +======================== +Expression: xpointer(//chapter[2]) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 + +======================== +Expression: xpointer(//chapitre[2])xpointer(//chapter[2]) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 + +======================== +Expression: xpointer(id("chapter1")) +Object is empty (NULL) + +======================== +Expression: xpointer(//*[@id="chapter1"]) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 + +======================== +Expression: xpointer(id("chapter1"))xpointer(//*[@id="chapter1"]) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 diff --git a/result/XPath/xptr/chaptersrange b/result/XPath/xptr/chaptersrange new file mode 100644 index 0000000..c1b9cde --- /dev/null +++ b/result/XPath/xptr/chaptersrange @@ -0,0 +1,64 @@ + +======================== +Expression: xpointer(//chapter[position() = 2]/range-to(following::chapter[1])) +Object is a Location Set: +1 : Object is a range : + From node + ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 + To node + ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter3 + + +======================== +Expression: xpointer(//chapter[position() <= 2]/range-to(following::chapter[1])) +Object is a Location Set: +1 : Object is a range : + From node + ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 + To node + ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 + +2 : Object is a range : + From node + ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 + To node + ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter3 + + +======================== +Expression: xpointer(//chapter[position() = last()]/range-to(following::chapter[1])) +Object is empty (NULL) + +======================== +Expression: xpointer(//chapter[position() = 3]/range-to(/.//chapter[position() = 1])) +Object is a Location Set: +1 : Object is a range : + From node + ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 + To node + ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter3 + diff --git a/result/XPath/xptr/strpoint b/result/XPath/xptr/strpoint new file mode 100644 index 0000000..d6ecab3 --- /dev/null +++ b/result/XPath/xptr/strpoint @@ -0,0 +1,75 @@ + +======================== +Expression: xpointer(start-point(string-range(//p,'multiple'))) +Object is a Location Set: +1 : Object is a point : index 1 in node TEXT + content=multiple tests + + +======================== +Expression: xpointer(end-point(string-range(//p,'multiple'))) +Object is a Location Set: +1 : Object is a point : index 8 in node TEXT + content=multiple tests + + +======================== +Expression: xpointer(start-point(string-range(//p,'test'))) +Object is a Location Set: +1 : Object is a point : index 10 in node TEXT + content=a simple test + +2 : Object is a point : index 10 in node TEXT + content=multiple tests + +3 : Object is a point : index 7 in node TEXT + content=anced test + + +======================== +Expression: xpointer(end-point(string-range(//p,'test'))) +Object is a Location Set: +1 : Object is a point : index 13 in node TEXT + content=a simple test + +2 : Object is a point : index 13 in node TEXT + content=multiple tests + +3 : Object is a point : index 10 in node TEXT + content=anced test + + +======================== +Expression: xpointer(start-point(string-range(//*,'multiple',1,0))) +Object is a Location Set: +1 : Object is a point : index 1 in node TEXT + content=multiple tests + + +======================== +Expression: xpointer(end-point(string-range(//*,'multiple',1,0))) +Object is a Location Set: +1 : Object is a point : index 1 in node TEXT + content=multiple tests + + +======================== +Expression: xpointer(start-point(string-range(//*,'multiple',1,1))) +Object is a Location Set: +1 : Object is a point : index 1 in node TEXT + content=multiple tests + + +======================== +Expression: xpointer(end-point(string-range(//*,'multiple',1,1))) +Object is a Location Set: +1 : Object is a point : index 2 in node TEXT + content=multiple tests + + +======================== +Expression: xpointer(start-point(string-range(//p,'test'))[1]) +Object is a Location Set: +1 : Object is a point : index 10 in node TEXT + content=a simple test + diff --git a/result/XPath/xptr/strrange b/result/XPath/xptr/strrange new file mode 100644 index 0000000..c14ed91 --- /dev/null +++ b/result/XPath/xptr/strrange @@ -0,0 +1,96 @@ + +======================== +Expression: xpointer(string-range(//p, 'simple')) +Object is a Location Set: +1 : Object is a range : + From index 3 in node + TEXT + content=a simple test + To index 8 in node + TEXT + content=a simple test + + +======================== +Expression: xpointer(string-range(//p, 'test')) +Object is a Location Set: +1 : Object is a range : + From index 10 in node + TEXT + content=a simple test + To index 13 in node + TEXT + content=a simple test + +2 : Object is a range : + From index 10 in node + TEXT + content=multiple tests + To index 13 in node + TEXT + content=multiple tests + +3 : Object is a range : + From index 7 in node + TEXT + content=anced test + To index 10 in node + TEXT + content=anced test + + +======================== +Expression: xpointer(string-range(//p, 'difficult')) +Object is a Location Set: +1 : Object is a range : + From index 3 in node + TEXT + content=a diff + To index 4 in node + TEXT + content=cult one + + +======================== +Expression: xpointer(string-range(//p, 'spanning')) +Object is a Location Set: +1 : Object is a range : + From index 3 in node + TEXT + content=a span + To index 3 in node + TEXT + content=ing one + + +======================== +Expression: xpointer(string-range(//p, 'unbalanced')) +Object is a Location Set: +1 : Object is a range : + From index 8 in node + TEXT + content=and an unbal + To index 5 in node + TEXT + content=anced test + + +======================== +Expression: xpointer(string-range(//seq, '')) +Object is a Location Set: +1 : Object is a collapsed range : + index 1 in node + TEXT + content=123 +2 : Object is a collapsed range : + index 2 in node + TEXT + content=123 +3 : Object is a collapsed range : + index 3 in node + TEXT + content=123 +4 : Object is a collapsed range : + index 4 in node + TEXT + content=123 diff --git a/result/XPath/xptr/strrange2 b/result/XPath/xptr/strrange2 new file mode 100644 index 0000000..ea6ee45 --- /dev/null +++ b/result/XPath/xptr/strrange2 @@ -0,0 +1,64 @@ + +======================== +Expression: xpointer(string-range(//p, 'test', 2)) +Object is a Location Set: +1 : Object is a range : + From index 11 in node + TEXT + content=a simple test + To index 13 in node + TEXT + content=a simple test + +2 : Object is a range : + From index 11 in node + TEXT + content=multiple tests + To index 13 in node + TEXT + content=multiple tests + +3 : Object is a range : + From index 8 in node + TEXT + content=anced test + To index 10 in node + TEXT + content=anced test + + +======================== +Expression: xpointer(string-range(//p, 'test', 2, 2)) +Object is a Location Set: +1 : Object is a range : + From index 11 in node + TEXT + content=a simple test + To index 12 in node + TEXT + content=a simple test + +2 : Object is a range : + From index 11 in node + TEXT + content=multiple tests + To index 12 in node + TEXT + content=multiple tests + +3 : Object is a range : + From index 8 in node + TEXT + content=anced test + To index 9 in node + TEXT + content=anced test + + +======================== +Expression: xpointer(string-range(//p, 'difficult', 1, 0)) +Object is a Location Set: +1 : Object is a collapsed range : + index 3 in node + TEXT + content=a diff diff --git a/result/XPath/xptr/strrange3 b/result/XPath/xptr/strrange3 new file mode 100644 index 0000000..6d3114a --- /dev/null +++ b/result/XPath/xptr/strrange3 @@ -0,0 +1,48 @@ + +======================== +Expression: xpointer(string-range(//p, 'test', 1, 0)) +Object is a Location Set: +1 : Object is a collapsed range : + index 10 in node + TEXT + content=a simple test +2 : Object is a collapsed range : + index 10 in node + TEXT + content=multiple tests +3 : Object is a collapsed range : + index 7 in node + TEXT + content=anced test + +======================== +Expression: xpointer(string-range(//*, 'test', 1, 0)) +Object is a Location Set: +1 : Object is a collapsed range : + index 10 in node + TEXT + content=a simple test +2 : Object is a collapsed range : + index 10 in node + TEXT + content=multiple tests +3 : Object is a collapsed range : + index 7 in node + TEXT + content=anced test + +======================== +Expression: xpointer(string-range(//p, 'test', 1, 0)[2]) +Object is a Location Set: +1 : Object is a collapsed range : + index 10 in node + TEXT + content=multiple tests + +======================== +Expression: xpointer(string-range(//*, 'test', 1, 0)[2]) +Object is a Location Set: +1 : Object is a collapsed range : + index 10 in node + TEXT + content=multiple tests diff --git a/result/XPath/xptr/vidbase b/result/XPath/xptr/vidbase new file mode 100644 index 0000000..f19193e --- /dev/null +++ b/result/XPath/xptr/vidbase @@ -0,0 +1,32 @@ + +======================== +Expression: xpointer(id('chapter1')/p) +Object is a Node Set : +Set contains 4 nodes: +1 ELEMENT p +2 ELEMENT p +3 ELEMENT p +4 ELEMENT p + +======================== +Expression: xpointer(id('chapter1')/p[1]/range-to(following-sibling::p[2])) +Object is a Location Set: +1 : Object is a range : + From node + ELEMENT p + To node + ELEMENT p + + +======================== +Expression: xpointer(range-to(id('chapter2'))) +Object is a Location Set: +1 : Object is a range : + From node + / + To node + ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 + diff --git a/result/XPath/xptr/vidchildseq b/result/XPath/xptr/vidchildseq new file mode 100644 index 0000000..eb8c5f7 --- /dev/null +++ b/result/XPath/xptr/vidchildseq @@ -0,0 +1,36 @@ + +======================== +Expression: /1/2/3 +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif + +======================== +Expression: element(/1/2/3) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif + +======================== +Expression: chapter1/3 +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif + +======================== +Expression: element(chapter1/3) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT image + ATTRIBUTE href + TEXT + content=linus.gif diff --git a/result/XPath/xptr/viderror b/result/XPath/xptr/viderror new file mode 100644 index 0000000..d589882 --- /dev/null +++ b/result/XPath/xptr/viderror @@ -0,0 +1,4 @@ + +======================== +Expression: xpointer(non-existing-fn()/range-to(id('chapter2'))) +Object is empty (NULL) diff --git a/result/XPath/xptr/vidparts b/result/XPath/xptr/vidparts new file mode 100644 index 0000000..bd5bd3c --- /dev/null +++ b/result/XPath/xptr/vidparts @@ -0,0 +1,27 @@ + +======================== +Expression: xpointer(id("chapter1")) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 + +======================== +Expression: xpointer(//*[@id="chapter1"]) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 + +======================== +Expression: xpointer(id("chapter1"))xpointer(//*[@id="chapter1"]) +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter1 diff --git a/result/att1 b/result/att1 new file mode 100644 index 0000000..00aa6be --- /dev/null +++ b/result/att1 @@ -0,0 +1,2 @@ + + diff --git a/result/att1.rde b/result/att1.rde new file mode 100644 index 0000000..9f92263 --- /dev/null +++ b/result/att1.rde @@ -0,0 +1 @@ +0 1 doc 1 0 diff --git a/result/att1.rdr b/result/att1.rdr new file mode 100644 index 0000000..9f92263 --- /dev/null +++ b/result/att1.rdr @@ -0,0 +1 @@ +0 1 doc 1 0 diff --git a/result/att1.sax b/result/att1.sax new file mode 100644 index 0000000..e19a8a7 --- /dev/null +++ b/result/att1.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(doc, attr='to normalize with a space') +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/att1.sax2 b/result/att1.sax2 new file mode 100644 index 0000000..76ba131 --- /dev/null +++ b/result/att1.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 1, 0, attr='to n...', 28) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/att10 b/result/att10 new file mode 100644 index 0000000..5b29bf8 --- /dev/null +++ b/result/att10 @@ -0,0 +1,18 @@ + + + + + + + + +]> + + + + + + + + diff --git a/result/att10.rde b/result/att10.rde new file mode 100644 index 0000000..2ca7905 --- /dev/null +++ b/result/att10.rde @@ -0,0 +1,23 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/att10.rdr b/result/att10.rdr new file mode 100644 index 0000000..2ca7905 --- /dev/null +++ b/result/att10.rdr @@ -0,0 +1,23 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +1 1 tst 1 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/att10.sax b/result/att10.sax new file mode 100644 index 0000000..2df49a5 --- /dev/null +++ b/result/att10.sax @@ -0,0 +1,61 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(tst, 3, ...) +SAX.attributeDecl(tst, a, 8, 3, NULL, ...) +SAX.attributeDecl(tst, b, 1, 3, NULL, ...) +SAX.entityDecl(d, 1, (null), (null), ) +SAX.getEntity(d) +SAX.entityDecl(a, 1, (null), (null), +) +SAX.getEntity(a) +SAX.entityDecl(da, 1, (null), (null), +) +SAX.getEntity(da) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.characters( +, 1) +SAX.startElement(tst, a=' xyz', b=' xyz') +SAX.endElement(tst) +SAX.characters( +, 1) +SAX.getEntity(d) +SAX.getEntity(d) +SAX.getEntity(a) +SAX.getEntity(a) +SAX.getEntity(da) +SAX.getEntity(d) +SAX.getEntity(d) +SAX.getEntity(a) +SAX.getEntity(a) +SAX.getEntity(da) +SAX.startElement(tst, a='&d;&d;A&a; &a;B&da;', b='&d;&d;A&a; &a;B&da;') +SAX.endElement(tst) +SAX.characters( +, 1) +SAX.startElement(tst, a=' A + +B +', b=' A + +B +') +SAX.endElement(tst) +SAX.characters( +, 1) +SAX.startElement(tst, a=' x y ', b=' x y ') +SAX.endElement(tst) +SAX.characters( +, 1) +SAX.startElement(tst, a=' a b ', b=' a b ') +SAX.endElement(tst) +SAX.characters( +, 1) +SAX.startElement(tst, a=' a b ', b=' a b ') +SAX.endElement(tst) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/att10.sax2 b/result/att10.sax2 new file mode 100644 index 0000000..7c6f61d --- /dev/null +++ b/result/att10.sax2 @@ -0,0 +1,57 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(tst, 3, ...) +SAX.attributeDecl(tst, a, 8, 3, NULL, ...) +SAX.attributeDecl(tst, b, 1, 3, NULL, ...) +SAX.entityDecl(d, 1, (null), (null), ) +SAX.getEntity(d) +SAX.entityDecl(a, 1, (null), (null), +) +SAX.getEntity(a) +SAX.entityDecl(da, 1, (null), (null), +) +SAX.getEntity(da) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='xyz"...', 3, b=' xy...', 5) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.getEntity(d) +SAX.getEntity(d) +SAX.getEntity(a) +SAX.getEntity(a) +SAX.getEntity(da) +SAX.getEntity(d) +SAX.getEntity(d) +SAX.getEntity(a) +SAX.getEntity(a) +SAX.getEntity(da) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='&d;&...', 19, b='&d;&...', 19) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a=' A +...', 8, b=' A +...', 8) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='x y...', 3, b=' x ...', 6) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='a b ...', 3, b=' a b...', 5) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='a b...', 3, b=' a ...', 8) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/att11 b/result/att11 new file mode 100644 index 0000000..121b06d --- /dev/null +++ b/result/att11 @@ -0,0 +1,9 @@ + + + + + + +]> + diff --git a/result/att11.rde b/result/att11.rde new file mode 100644 index 0000000..cc83bea --- /dev/null +++ b/result/att11.rde @@ -0,0 +1,2 @@ +0 10 attributes 0 0 +0 1 attributes 1 0 diff --git a/result/att11.rdr b/result/att11.rdr new file mode 100644 index 0000000..cc83bea --- /dev/null +++ b/result/att11.rdr @@ -0,0 +1,2 @@ +0 10 attributes 0 0 +0 1 attributes 1 0 diff --git a/result/att11.sax b/result/att11.sax new file mode 100644 index 0000000..52d2861 --- /dev/null +++ b/result/att11.sax @@ -0,0 +1,19 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(attributes, , ) +SAX.elementDecl(attributes, 1, ...) +SAX.attributeDecl(attributes, nmtoken, 7, 3, NULL, ...) +SAX.attributeDecl(attributes, nmtokens, 8, 3, NULL, ...) +SAX.entityDecl(ent, 1, (null), (null), entity&recursive; ) +SAX.getEntity(ent) +SAX.entityDecl(recursive, 1, (null), (null), reference) +SAX.getEntity(recursive) +SAX.externalSubset(attributes, , ) +SAX.getEntity(ent) +SAX.getEntity(recursive) +SAX.getEntity(ent) +SAX.getEntity(ent) +SAX.startElement(attributes, nmtoken=' &ent; &ent; &ent; ', nmtokens=' Test + this normalization ') +SAX.endElement(attributes) +SAX.endDocument() diff --git a/result/att11.sax2 b/result/att11.sax2 new file mode 100644 index 0000000..3e8cfd9 --- /dev/null +++ b/result/att11.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(attributes, , ) +SAX.elementDecl(attributes, 1, ...) +SAX.attributeDecl(attributes, nmtoken, 7, 3, NULL, ...) +SAX.attributeDecl(attributes, nmtokens, 8, 3, NULL, ...) +SAX.entityDecl(ent, 1, (null), (null), entity&recursive; ) +SAX.getEntity(ent) +SAX.entityDecl(recursive, 1, (null), (null), reference) +SAX.getEntity(recursive) +SAX.externalSubset(attributes, , ) +SAX.getEntity(ent) +SAX.getEntity(recursive) +SAX.getEntity(ent) +SAX.getEntity(ent) +SAX.startElementNs(attributes, NULL, NULL, 0, 2, 0, nmtoken='&ent...', 17, nmtokens='Test...', 25) +SAX.endElementNs(attributes, NULL, NULL) +SAX.endDocument() diff --git a/result/att2 b/result/att2 new file mode 100644 index 0000000..28989a2 --- /dev/null +++ b/result/att2 @@ -0,0 +1,2 @@ + + diff --git a/result/att2.rde b/result/att2.rde new file mode 100644 index 0000000..9f92263 --- /dev/null +++ b/result/att2.rde @@ -0,0 +1 @@ +0 1 doc 1 0 diff --git a/result/att2.rdr b/result/att2.rdr new file mode 100644 index 0000000..9f92263 --- /dev/null +++ b/result/att2.rdr @@ -0,0 +1 @@ +0 1 doc 1 0 diff --git a/result/att2.sax b/result/att2.sax new file mode 100644 index 0000000..02ca320 --- /dev/null +++ b/result/att2.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(doc, attr='to normalize with a space') +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/att2.sax2 b/result/att2.sax2 new file mode 100644 index 0000000..84aebcb --- /dev/null +++ b/result/att2.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 1, 0, attr='to n...', 27) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/att3 b/result/att3 new file mode 100644 index 0000000..3f3ac5c --- /dev/null +++ b/result/att3 @@ -0,0 +1,2 @@ + + diff --git a/result/att3.rde b/result/att3.rde new file mode 100644 index 0000000..d1e72cc --- /dev/null +++ b/result/att3.rde @@ -0,0 +1,3 @@ +0 1 select 0 0 +1 3 #text 0 1 f oo +0 15 select 0 0 diff --git a/result/att3.rdr b/result/att3.rdr new file mode 100644 index 0000000..d1e72cc --- /dev/null +++ b/result/att3.rdr @@ -0,0 +1,3 @@ +0 1 select 0 0 +1 3 #text 0 1 f oo +0 15 select 0 0 diff --git a/result/att3.sax b/result/att3.sax new file mode 100644 index 0000000..eec0959 --- /dev/null +++ b/result/att3.sax @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(select, onclick='aaaa + bbbb ') +SAX.characters(f, 1) +SAX.characters( , 2) +SAX.characters(oo, 2) +SAX.endElement(select) +SAX.endDocument() diff --git a/result/att3.sax2 b/result/att3.sax2 new file mode 100644 index 0000000..8e7ca86 --- /dev/null +++ b/result/att3.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(select, NULL, NULL, 0, 1, 0, onclick='aaaa...', 17) +SAX.characters(f, 1) +SAX.characters( , 2) +SAX.characters(oo, 2) +SAX.endElementNs(select, NULL, NULL) +SAX.endDocument() diff --git a/result/att4 b/result/att4 new file mode 100644 index 0000000..882cea7 --- /dev/null +++ b/result/att4 @@ -0,0 +1,9264 @@ + + + + + + + diff --git a/result/att4.rde b/result/att4.rde new file mode 100644 index 0000000..746643e --- /dev/null +++ b/result/att4.rde @@ -0,0 +1,27785 @@ +0 8 #comment 0 1 edited with XML Spy v4.4 U (http://www.xmlspy.com) by Slava (GIVC) +0 1 electroxml 0 0 +1 14 #text 0 1 + +1 1 data 0 0 +2 14 #text 0 1 + +2 1 select 0 0 +3 14 #text 0 1 + +3 1 device 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +3 15 device 0 0 +3 14 #text 0 1 + +2 15 select 0 0 +2 14 #text 0 1 + +1 15 data 0 0 +1 14 #text 0 1 + +0 15 electroxml 0 0 diff --git a/result/att4.rdr b/result/att4.rdr new file mode 100644 index 0000000..746643e --- /dev/null +++ b/result/att4.rdr @@ -0,0 +1,27785 @@ +0 8 #comment 0 1 edited with XML Spy v4.4 U (http://www.xmlspy.com) by Slava (GIVC) +0 1 electroxml 0 0 +1 14 #text 0 1 + +1 1 data 0 0 +2 14 #text 0 1 + +2 1 select 0 0 +3 14 #text 0 1 + +3 1 device 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +4 1 par 0 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +5 1 val 1 0 +5 14 #text 0 1 + +4 15 par 0 0 +4 14 #text 0 1 + +3 15 device 0 0 +3 14 #text 0 1 + +2 15 select 0 0 +2 14 #text 0 1 + +1 15 data 0 0 +1 14 #text 0 1 + +0 15 electroxml 0 0 diff --git a/result/att4.sax b/result/att4.sax new file mode 100644 index 0000000..2e88f06 --- /dev/null +++ b/result/att4.sax @@ -0,0 +1,36976 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( edited with XML Spy v4.4 U (http://www.xmlspy.com) by Slava (GIVC) ) +SAX.startElement(electroxml, modified='20021216T072726') +SAX.characters( + , 2) +SAX.startElement(data, from='20021031T22', to='20021130T22') +SAX.characters( + , 3) +SAX.startElement(select) +SAX.characters( + , 4) +SAX.startElement(device, serialnumb='E00003562') +SAX.characters( + , 5) +SAX.startElement(par, memind='113400', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='55') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='16936600', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='196.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='199.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='200.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='201.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='199.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='197.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='193.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='197.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='195.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='192.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='195.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='195.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='195.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='197.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='222.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='220.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='222.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='221.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='222.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='222.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='220.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='220.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='220') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='221.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='220.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='221.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='220.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='220.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='219.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='219.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='220.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='220.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='220.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='220.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='220.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='220.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='220.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='220.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='220.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='222') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='221.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='220.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='220.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='218.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='220') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='218.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='219.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='220.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='219.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='220.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='220.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='220.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='219.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='220.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='220.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='221.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='220.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='217.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='218.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='218.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='218.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='219.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='218.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='220.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='222.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='220.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='218.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='219.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='219.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='219.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='219.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='220.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='220.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='221.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='222.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='224.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='223.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='222.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='222.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='220.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='220.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='220.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='220.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='219.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='219.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='218.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='220.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='221.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='222.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='223.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='223.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='222.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='221') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='219.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='219.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='220.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='220.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='217.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='218.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='219.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='219.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='223.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='222') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='224.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='220.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='219.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='219.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='218.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='219.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='219.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='221') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='220.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='225.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='225') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='222.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='223.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='224.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='223.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='195.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='190') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='122.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='354.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='333.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='323.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='278.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='286.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='292.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='21.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='273.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='272.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='285.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='28.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='68.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='147.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='95.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='89.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='88.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='92.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='149.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='148.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='127.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='198.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='187.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='182.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='195.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='203.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='124.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='159.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='230.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='79.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='51.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='22.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='323.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='341.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='46.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='71.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='71.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='63.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='76.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='58.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='92') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='79.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='63.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='51.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='81.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='205.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='96.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='95.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='96.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='92.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='91.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='86.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='270') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='270.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='296.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='306.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='331.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='13.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='46.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='262.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='166.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='143.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='127.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='132.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='128.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='155.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='170.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='176.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='176.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='168.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='172.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='185.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='196.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='178.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='193.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='176.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='196.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='202.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='99.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='130.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='132.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='121.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='100.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='192.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='153.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='170.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='155.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='167.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='165.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='184.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='159.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='163.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='163.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='160.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='165') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='156.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='163.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='162.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='154.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='157.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='197.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='203.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='212.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='185.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='187.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='162') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='149.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='136.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='145.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='164.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='158.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='163') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='161.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='168.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='168.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='165.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='168.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='163.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='147.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='163') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='166.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='177.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='179.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='161') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='174.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='203.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='158.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='172.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='172.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='168.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='138') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='135.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='157.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='160.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='175.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='184.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='188.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='170') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='173.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='172.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='164.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='166.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='151.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='158.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='170.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='185.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='160.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='188.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='207.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='214.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='213.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='218.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='210.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='178.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='162.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='156.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='153.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='143.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='160.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='153.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='163.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='168.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='169.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='139.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='142.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='122.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='125.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='110.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='110.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='190.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='99.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='209.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='76.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='61.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='44.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='44.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='60.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='64.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='67.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='341.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='115.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='117.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='252.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='261.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='313.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='311.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='292') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='57.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='151.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='92.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='93.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='100.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='97.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='184') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='289.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='274.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='39.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='6.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='355.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='19.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='44.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='61.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='55.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='60.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='71.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='66.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='61.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='38.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='17.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='35.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='44.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='71.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='166.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='125') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='176') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='195.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='99.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='90') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='273.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='344.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='307.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='271.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='278.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='291.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='52.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='76.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='87.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='170.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='174.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='175.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='186.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='183.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='181.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='173.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='170.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='165.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='163.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='161.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='165.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='170.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='173.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='187.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='201.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='205.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='204.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='204.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='208.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='204.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='193.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='186.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='192.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='194.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='184.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='184.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='185.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='194.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='192.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='192.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='190.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='185.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='170.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='187.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='191.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='191.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='197.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='195.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='189.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='201.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='202.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='204.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='196.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='182.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='162.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='187.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='187.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='179.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='181.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='188.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='186.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='183.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='182.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='176.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='175.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='178.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='223.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='228.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='229.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='216.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='226.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='249.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='245.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='250.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='251.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='252.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='259.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='254.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='218.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='228.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='227.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='214.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='218.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='217') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='231.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='230.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='52') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='340.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='18.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='357.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='344.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='338.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='28.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='21.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='10.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='343.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='342.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='358.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='353.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='353.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='1.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='6.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='10.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='350.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='350.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='357.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='181.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='184.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='192.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='193.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='194.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='190.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='195') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='195.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='195.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='198.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='198.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='199.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='200.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='202.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='200.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='203.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='204.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='188.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='193.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='184.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='190.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='188.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='192.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='185.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='186.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='182.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='187.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='186.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='168.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='164.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='154.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='134.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='154.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='182.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='188.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='176') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='206.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='216.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='211.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='210.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='211.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='192.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='185.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='176.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='171.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='129.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='173.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='157.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='161.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='163.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='176.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='166.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='161.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='159.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='177.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='183.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='185.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='182.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='189.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='173.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='179.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='193.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='202.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='197.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='186.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='188.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='178.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='160.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='168.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='184') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='191.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='177.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='182.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='185.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='176.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='170.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='169.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='159.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='190.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='173.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='175.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='187.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='188.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='160') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='175.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='192.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='200.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='116.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='166.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='162.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='130.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='122') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='193.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='183.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='157.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='142.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='145.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='182.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='182.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='173.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='188.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='179.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='169.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='164.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='170.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='178.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='158') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='161.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='175.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='169.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='185.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='191.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='176.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='167.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='154.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='166.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='146.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='155.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='157.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='189.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='187.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='186.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='179.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='139.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='161.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='172') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='189.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='187.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='188.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='186.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='198.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='193.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='195.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='198.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='180.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='180') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='161.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='165.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='165.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='160.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='147.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='196.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='195.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='186.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='178.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='177.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='172') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='156.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='154.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='157') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='179.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='166') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='172.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='196.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='179.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='195.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='202.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='209.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='204.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='199.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='186.3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='175.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='170.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='159.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='156.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='137.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='146') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='139.6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='143.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='137.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='177.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='186.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='184.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='188.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='191.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='146.7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='161.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='188.7') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='10695000', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='50.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='49.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='50') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='50') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='8612', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='25.07') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='24.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='23.438') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='23.245') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='22.784') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='22.746') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='26.297') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='28.878') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='34.451') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='40.017') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='40.572') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='38.682') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='35.869') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='34.12') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='0.038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='0.038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='0.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='0.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='0.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='0.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='0.038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='0.039') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='0.038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='0.038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='0.04') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='0.039') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='0.039') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='0.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='0.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='0.04') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='0.036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='36.117') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='17.613') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='8.357') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='5.957') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='7.134') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='8.646') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='6.429') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='10.235') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='14.027') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='3.549') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='3.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='6.093') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='5.204') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='7.526') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='11.39') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='0.954') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='5.773') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='21.019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='22.636') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='19.316') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='1.265') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='3.13') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='6.091') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='7.273') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='9.373') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='7.711') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='8.183') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='9.843') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='5.251') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='2.646') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='7.175') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='19.697') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='4.703') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='5.017') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='5.028') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='4.406') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='5.164') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='10.951') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='5.096') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='10.032') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='4.084') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='5.223') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='6.622') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='2.571') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='3.766') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='2.925') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='4.239') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='2.442') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='10.653') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='15.045') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='10.497') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='14.243') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='11.318') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='7.26') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='3.278') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='12.768') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='8.863') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='8.423') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='7.503') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='7.803') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='10.91') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='5.743') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='2.082') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='7.751') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='16.785') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='18.467') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='18.801') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='16.008') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='13.629') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='14.479') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='14.927') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='14.349') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='15.502') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='20.07') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='20.011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='16.357') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='17.03') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='11.901') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='10.138') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='8.731') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='14.357') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='4.86') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='4.149') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='6.019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='14.635') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='9.989') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='11.96') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='15.422') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='22.742') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='22.428') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='24.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='23.076') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='23.241') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='24.018') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='25.989') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='24.748') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='25.323') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='23.122') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='19.403') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='19.28') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='16.12') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='16.228') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='16.654') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='14.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='14.054') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='9.557') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='9.072') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='8.333') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='9.771') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='14.337') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='16.049') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='19.911') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='23.238') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='23.213') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='25.179') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='21.591') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='19.665') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='21.079') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='21.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='22.363') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='25.172') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='23.223') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='20.912') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='22.017') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='18.729') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='16.761') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='13.145') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='13.912') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='8.712') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='8.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='8.195') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='8.301') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='10.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='14.213') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='15.617') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='19.095') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='23.986') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='20.919') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='26.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='21.493') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='21.006') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='22.144') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='19.124') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='0.019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='0.021') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='0.021') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='0.018') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='0.015') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='0.016') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='0.011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='0.01') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='0.011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='0.01') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='0.01') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='0.01') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='0.009') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='0.006') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='0.009') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='0.011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='0.017') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='0.012') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='0.019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='0.014') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='0.015') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='0.015') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0.279') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0.096') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0.141') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0.207') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0.218') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0.213') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0.214') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0.075') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0.05') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0.034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0.449') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0.217') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0.167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0.158') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0.232') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0.339') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0.212') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0.044') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0.025') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0.023') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0.145') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0.08') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0.05') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0.239') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0.206') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0.163') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0.027') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0.077') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0.153') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0.181') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0.149') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0.157') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0.166') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0.216') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0.306') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0.168') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0.145') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0.252') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0.213') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0.19') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0.114') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0.115') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0.302') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0.03') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0.048') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0.069') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0.029') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0.105') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0.096') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0.142') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0.101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0.092') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0.071') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0.17') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0.212') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0.089') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0.607') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0.675') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0.723') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0.477') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0.477') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0.491') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0.496') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0.579') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0.62') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='35.716') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='33.973') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='35.295') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='32.429') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='28.433') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='29.24') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='30.943') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='28.05') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='27.792') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='28.102') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='25.534') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='25.021') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='30.046') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='32.772') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='38.186') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='64.34') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='63.582') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='60.895') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='57.167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='59.436') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='56.655') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='60.597') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='56.836') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='37.581') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='40.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='38.214') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='32.175') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='30.662') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='26.933') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='21.269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='21.646') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='21.244') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='20.855') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='19.588') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='20.809') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='25.64') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='29.166') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='31.236') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='28.424') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='32.717') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='32.231') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='29.816') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='29.219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='29.861') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='29.093') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='29.004') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='10.445') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='18.158') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='23.713') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='25.84') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='13.692') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='15.619') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='22.235') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='20.533') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='14.806') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='17.786') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='18.205') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='14.86') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='11.317') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='6.403') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='13.389') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='18.094') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='16.688') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='16.251') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='17.902') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='16.864') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='16.076') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='4.33') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='4.33') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='21.221') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='20.86') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='22.903') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='22.672') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='34.711') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='33.792') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='32.717') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='33.04') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='34.047') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='36.536') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='36.673') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='36.752') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='37.932') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='37.857') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='37.029') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='32.844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='31.917') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='31.363') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='15.349') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='17.623') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='17.658') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='16.597') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='17.621') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='18.017') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='32.337') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='37.113') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='36.896') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='37.646') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='37.465') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='35.96') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='34.217') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='31.472') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='27.913') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='27.77') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='27.092') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='9.65') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='8.989') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='8.871') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='11.525') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='11.312') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='13.145') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='12.866') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='13.503') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='12.977') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='12.853') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='12.322') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='11.244') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='11.357') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='13.909') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='20.778') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='17.384') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='17.882') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='17.779') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='15.628') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='18.718') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='19.687') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='15.856') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='14.235') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='14.121') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='10.417') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='10.192') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='10.247') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='12.409') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='18.782') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='17.709') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='24.468') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='27.895') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='31.135') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='28.073') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='26.781') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='27.955') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='31.834') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='30.684') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='33.239') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='31.592') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='27.051') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='26.891') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='22.834') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='21.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='20.723') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='20.412') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='17.178') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='14.845') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='14.404') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='13.895') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='14.291') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='18.376') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='22.682') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='29.056') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='30.985') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='31.244') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='30.501') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='30.757') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='29.766') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='29.686') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='30.47') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='31.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='28.958') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='28.474') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='27.753') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='26.676') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='24.07') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='18.889') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='17.556') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='16.434') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='18.47') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='9.837') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='9.73') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='12.672') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='17.29') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='17.161') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='19.388') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='22.792') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='25.973') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='28.305') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='28.475') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='23.531') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='22.62') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='22.13') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='27.159') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='27.705') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='29.796') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='27.341') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='25.887') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='25.842') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='23.266') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='21.664') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='19.437') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='15.912') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='16.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='15.674') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='13.705') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='14.331') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='15.781') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='18.196') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='22.115') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='26.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='34.813') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='35.914') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='36.775') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='34.277') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='32.056') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='33.001') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='31.687') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='36.854') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='30.428') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='28.246') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='28.984') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='27.176') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='26.455') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='21.891') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='20.073') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='17.083') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='17.921') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='17.972') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='16.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='17.324') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='20.97') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='21.269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='25.041') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='31.27') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='33.712') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='82.744') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='46.746') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='22.903') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='31.343') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='30.438') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='28.883') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='30.794') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='31.011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='28.098') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='27.177') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='24.941') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='22.834') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='23.209') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='17.56') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='17.555') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='18.761') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='20.698') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='19.372') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='18.644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='18.792') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='18.951') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='18.907') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='23.409') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='23.511') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='26.941') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='24.008') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='23.147') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='23.935') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='24') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='22.888') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='26.246') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='25.909') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='25.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='24.725') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='23.755') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='18.839') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='15.362') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='8608', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='0') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='8604', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='21.043') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='20.051') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='19.818') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='19.554') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='18.951') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='18.853') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='22.398') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='24.492') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='29.206') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='35.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='35.07') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='33.585') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='30.77') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='29.141') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='0.07') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='0.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='0.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='0.068') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='0.056') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='0.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='0.056') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='0.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='0.055') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='0.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='0.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='0.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='0.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='0.056') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='0.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='0.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='0.056') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='0.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='0.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='0.066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='0.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='0.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='0.058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='0.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='0.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='0.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='0.063') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='0.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='30.22') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='16.054') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='10.22') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='3.839') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='3.301') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='4.19') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='2.002') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='4.911') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='7.897') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='2.934') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='1.487') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='2.196') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='1.679') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='5.984') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='10.661') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='3.653') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='7.252') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='19.708') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='21.128') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='18.358') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='3.456') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='4.916') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='7.337') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='7.205') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='9.191') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='8.027') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='7.688') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='8.667') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='7.734') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='5.148') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='5.081') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='18.433') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='4.676') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='3.97') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='2.247') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='2.519') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='4.784') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='10.406') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='5.863') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='9.668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='5.194') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='5.35') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='7.745') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='3.651') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='4.236') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='3.281') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='5.657') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='2.249') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='12.004') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='15.833') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='11.981') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='15.145') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='12.386') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='8.53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='1.474') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='7.441') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='4.262') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='3.805') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='3.752') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='5.538') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='9.524') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='1.988') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='4.159') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='9.621') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='17.704') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='19.171') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='19.252') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='14.961') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='12.816') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='13.113') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='13.435') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='13.283') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='13.989') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='18.098') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='17.742') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='15.229') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='15.263') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='11.968') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='9.893') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='7.997') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='13.888') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='6.336') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='5.634') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='7.369') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='14.276') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='9.674') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='12.81') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='14.985') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='21.531') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='21.038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='22.908') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='20.891') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='22.234') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='22.517') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='24.172') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='23.008') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='23.475') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='22.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='18.671') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='18.447') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='15.862') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='16.38') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='15.165') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='12.335') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='12.283') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='8.941') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='8.837') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='8.793') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='10.043') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='13.932') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='15.974') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='19.167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='22.237') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='21.533') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='23.309') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='20.333') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='18.556') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='20.163') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='19.978') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='21.155') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='23.964') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='21.874') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='19.591') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='20.234') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='17.32') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='16.556') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='13.217') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='12.271') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='8.967') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='8.319') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='8.357') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='8.49') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='10.458') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='13.998') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='15.461') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='18.331') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='22.284') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='19.151') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='23.464') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='20.211') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='19.83') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='20.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='18.042') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='0.018') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='0.02') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='0.02') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='0.017') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='0.015') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='0.014') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='0.011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='0.01') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='0.009') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='0.008') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='0.008') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='0.008') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='0.007') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='0.007') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='0.01') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='0.011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='0.016') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='0.013') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='0.019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='0.014') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='0.015') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='0.015') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0.269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0.124') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0.16') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0.227') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0.243') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0.236') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0.239') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0.074') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0.086') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0.031') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0.412') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0.199') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0.15') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0.14') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0.218') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0.309') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0.206') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0.032') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0.054') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0.025') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0.09') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0.03') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0.038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0.026') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0.086') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0.251') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0.225') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0.193') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0.103') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0.044') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0.023') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0.068') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0.157') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0.105') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0.097') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0.127') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0.189') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0.281') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0.162') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0.15') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0.246') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0.211') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0.188') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0.105') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0.092') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0.099') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0.29') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0.072') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0.101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0.045') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0.07') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0.029') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0.026') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0.075') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0.178') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0.221') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0.578') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0.633') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0.678') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0.456') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0.461') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0.475') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0.487') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0.565') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0.597') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='34.372') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='33.056') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='34.198') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='31.148') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='26.734') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='26.883') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='28.046') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='25.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='24.826') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='25.129') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='22.979') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='22.968') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='28.04') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='30.608') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='35.156') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='61.079') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='61.118') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='58.214') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='54.149') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='56.141') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='53.757') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='57.188') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='53.596') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='36.269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='36.626') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='35.102') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='29.855') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='28.307') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='25.364') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='19.996') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='19.748') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='19.345') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='18.873') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='18.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='20.032') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='25.137') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='27.508') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='29.449') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='27.372') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='30.562') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='29.963') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='28.336') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='28.102') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='28.864') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='28.278') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='28.399') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='11.016') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='14.155') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='19.132') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='20.28') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='11.28') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='12.25') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='16.561') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='15.15') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='9.953') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='12.732') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='12.958') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='9.685') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='6.805') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='4.559') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='10.632') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='14.64') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='14.182') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='13.717') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='15.071') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='13.236') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='12.746') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='3.999') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='2.186') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='16.585') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='14.378') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='16.041') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='15.799') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='29.25') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='27.621') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='25.453') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='24.369') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='25.348') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='28.687') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='28.373') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='28.801') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='30.045') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='30.644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='30.354') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='24.933') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='23.813') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='23.818') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='15.153') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='16.69') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='16.385') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='15.643') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='16.269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='16.689') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='27.897') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='31.449') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='31.232') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='32.001') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='31.999') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='30.669') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='29.185') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='27.199') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='23.798') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='23.566') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='23.035') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='8.573') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='7.913') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='7.851') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='9.845') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='10.177') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='11.732') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='11.554') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='12.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='11.725') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='11.465') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='10.851') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='10.928') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='10.984') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='13.626') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='19.399') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='16.326') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='15.848') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='15.785') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='14.319') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='15.77') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='16.295') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='13.382') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='11.752') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='11.694') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='9.24') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='8.969') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='9.42') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='11.299') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='18.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='15.989') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='23.363') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='26.071') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='29.283') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='25.856') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='25.235') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='26.405') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='30.076') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='28.433') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='30.271') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='28.557') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='24.542') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='23.962') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='21.242') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='19.633') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='18.009') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='17.798') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='15.304') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='13.453') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='13.055') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='12.872') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='13.544') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='17.25') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='21.046') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='25.832') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='27.791') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='28.054') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='27.63') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='28.457') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='27.725') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='27.922') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='28.25') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='27.539') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='26.251') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='25.947') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='24.671') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='24.383') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='22.742') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='17.742') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='16.117') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='14.548') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='18.418') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='10.147') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='10.648') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='13.062') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='17.082') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='15.723') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='17.627') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='21.083') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='24.293') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='26.823') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='27.04') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='22.091') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='21.514') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='20.922') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='25.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='25.959') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='27.644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='25.578') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='24.199') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='23.83') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='22.719') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='20.952') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='18.382') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='14.928') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='14.859') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='14.081') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='13.309') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='13.726') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='15.071') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='17.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='20.612') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='24.891') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='32.942') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='34.247') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='34.787') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='31.176') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='29.806') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='30.569') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='29.175') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='34.921') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='28.767') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='25.797') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='26.161') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='24.769') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='24.053') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='20.28') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='18.22') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='15.345') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='15.953') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='15.884') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='15.054') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='16.014') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='19.574') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='20.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='23.936') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='29.274') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='31.691') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='75.154') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='41.458') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='21.221') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='29.417') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='28.597') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='27.256') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='28.925') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='29.38') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='26.559') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='25.234') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='23.312') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='21.317') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='20.761') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='16.36') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='15.657') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='16.618') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='17.888') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='16.861') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='16.617') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='17.428') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='18.225') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='18.415') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='22.126') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='22.126') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='25.782') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='22.774') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='22.774') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='22.909') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='23.139') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='21.553') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='23.539') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='23.139') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='22.735') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='22.335') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='23.205') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='18.238') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='14.136') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='9812', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='114.081') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='117.19') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='118.964') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='120.564') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='118.747') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='116.529') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='109.384') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='121.356') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='119.014') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='116.226') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='120.175') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='120.949') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='124.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='124.043') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='117.761') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='118.092') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='118.354') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='118.633') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='118.494') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='121.243') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='122.278') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='119.689') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='121.165') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='125.688') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='127.517') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='119.508') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='121.27') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='121.262') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='120.595') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='118.725') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='126.913') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='125.984') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='124.971') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='121.722') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='122.233') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='122.836') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='124.125') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='125.105') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='125.266') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='125.381') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='123.688') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='119.437') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='119.167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='120.334') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='119.837') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='120.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='122.074') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='125.542') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='125.638') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='117.398') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='118.807') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='119.644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='119.674') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='117.549') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='113.229') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='125.153') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='124.691') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='123.556') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='123.231') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='123.404') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='123.932') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='123.328') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='122.641') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='121.544') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='118.209') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='118.675') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='118.325') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='121.893') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='120.711') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='119.854') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='120.165') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='122.996') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='126.557') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='124.061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='124.874') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='125.244') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='125.083') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='123.182') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='119.311') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='122.524') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='121.173') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='118.696') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='117.559') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='118.947') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='118.797') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='117.048') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='116.182') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='119.101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='119.152') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='116.814') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='118.943') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='120.844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='119.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='120.802') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='123.095') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='125.922') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='122.082') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='123.001') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='123.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='122.972') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='120.717') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='121.599') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='120.977') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='119.038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='115.798') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='119.913') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='120.284') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='119.451') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='118.325') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='117.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='117.263') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='120.147') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='117.534') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='118.902') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='120.099') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='121.434') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='121.986') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='120.683') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='122.861') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='119.35') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='120.845') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='122.119') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='122.506') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='121.462') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='118.909') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='116.372') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='121.311') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='119.412') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='118.281') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='118.148') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='117.811') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='121.694') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='120.755') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='118.651') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='118.08') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='118.282') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='113.911') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='116.941') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='119.508') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='119.071') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='121.146') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='121.336') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='122.095') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='121.785') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='124.065') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='125.455') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='126.011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='125.018') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='122.741') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='120.26') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='118.856') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='118.817') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='117.807') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='117.444') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='119.967') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='121.141') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='120.259') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='118.558') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='118.812') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='118.633') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='118.948') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='117.315') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='118.146') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='120.121') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='120.561') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='118.638') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='122.844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='125.153') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='123.463') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='122.793') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='123.093') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='122.535') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='120.189') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='123.097') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='119.336') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='118.5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='115.743') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='119.722') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='120.222') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='118.918') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='117.551') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='116.649') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='116.52') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='116.703') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='118.806') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='118.461') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='119.593') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='119.78') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='119.973') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='120.761') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='122.782') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='125.444') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='118.255') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='119.302') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='120.149') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='119.678') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='117.138') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='114.681') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='120.851') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='119.099') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='116.609') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='116.729') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='118.045') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='115.477') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='115.891') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='114.24') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='122.794') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='119.002') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='118.701') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='119.602') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='120.963') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='119.924') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='120.628') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='123.122') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='118.683') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='118.301') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='118.882') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='120.187') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='119.576') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='118.243') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='115.692') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='117.56') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='116.057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='117.411') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='117.486') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='116.745') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='118.265') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='118.202') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='118.004') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='117.255') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='122.71') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='118.736') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='116.734') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='118.339') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='118.66') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='119.703') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='121.536') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='123.419') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='126.186') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='119.31') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='120.58') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='120.857') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='119.582') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='117.426') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='124.349') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='122.435') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='120.692') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='117.233') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='116.862') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='116.728') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='118.212') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='117.857') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='117.176') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='117.271') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='116.796') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='117.361') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='119.769') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='121.05') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='120.921') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='122.497') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='120.677') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='122.67') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='123.778') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='116.655') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='118.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='118.372') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='117.527') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='113.518') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='123.496') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='120.611') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='118.704') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='115.651') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='117.487') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='117.186') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='121.114') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='117.611') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='117.892') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='117.718') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='117.584') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='117.38') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='119.222') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='121.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='120.221') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='118.379') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='118.238') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='123.037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='123.007') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='126.294') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='123.682') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='123.591') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='122.918') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='121.387') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='117.586') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='117.716') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='119.191') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='117.355') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='117.862') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='117.531') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='119.886') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='119.426') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='118.72') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='119.004') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='118.725') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='116.196') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='118.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='119.001') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='120.963') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='121.34') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='119.151') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='120.797') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='123.519') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='122.366') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='123.381') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='123.296') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='123.047') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='120.874') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='118.017') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='118.388') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='117.753') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='119.761') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='121.547') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='122.028') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='122.195') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='121.783') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='120.581') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='121.685') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='120.972') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='116.836') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='117.633') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='118.83') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='120.746') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='122.541') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='120.249') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='122.708') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='124.538') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='125.289') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='125.325') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='125.49') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='124.672') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='122.813') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='121.573') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='120.719') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='119.706') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='116.935') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='117.255') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='118.365') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='119.829') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='119.607') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0.101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0.102') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0.115') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0.113') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0.113') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='118.351') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='119.763') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='120.872') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='121.443') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='124.587') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='127.119') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='128.887') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='127.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='127.1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='127.35') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='126.552') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='124.71') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='124.077') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='125.099') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='125.025') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='123.954') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='123.641') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='124.308') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='126.201') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='125.426') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='125.045') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='124.868') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='123.854') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='117.177') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='120.985') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='121.689') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='121.514') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='123.76') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='125.848') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='123.162') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='124.87') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='126.457') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='126.565') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='125.821') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='123.654') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='120.985') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='121.019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='120.771') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='120.139') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='120.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='122.459') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='121.603') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='120.856') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='120.882') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='120.049') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='119.903') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='116.012') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='119.283') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='120.303') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='121.728') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='121.516') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='122.849') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='126.093') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='126.725') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='124.883') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='125.931') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='126.096') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='124.906') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='123.654') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='121.493') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='123.897') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='123.756') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='122.369') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='121.934') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='122.306') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='124.041') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='123.698') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='120.029') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='120.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='119.314') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='120.479') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='121.91') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='122.485') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='118.564') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='119.367') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='120.808') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='123.105') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='125.021') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='123.274') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='123.92') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='123.876') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='122.883') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='122.072') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='121.544') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='123.27') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='123.513') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='122.604') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='121.281') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='121.716') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='122.714') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='123.129') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='123.431') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='122.987') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='119.262') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='118.087') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='116.532') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='118.618') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='119.706') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='120.899') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='120.718') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='121.624') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='117.925') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='120.928') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='122.34') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='122.972') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='123.05') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='122.44') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='120.735') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='120.711') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='123.688') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='122.853') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='122.754') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='122.975') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='123.49') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='123.278') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='121.776') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='121.458') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='120.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='116.832') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='119.948') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='120.022') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='120.884') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='119.618') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='122.811') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='123.997') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='126.654') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='125.574') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='126.495') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='126.021') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='125.521') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='123.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='121.073') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='117.997') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='119.376') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='119.302') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='120.24') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='120.497') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='123.276') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='121.287') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='120.492') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='119.643') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='117.626') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='121.9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='120.861') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='120.493') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='121.526') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='119.46') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='120.284') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='121.713') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='124.203') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='126.587') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='124.627') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='124.526') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='123.821') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='122.357') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='118.642') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='116.651') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='122.439') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='120.232') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='119.322') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='120.236') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='120.346') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='119.148') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='118.907') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='117.874') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='122.584') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='120.252') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='120.469') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='121.303') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='122.183') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='118.747') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='120.81') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='123.937') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='126.687') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='119.553') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='119.757') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='119.753') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='117.557') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='116.262') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='122.469') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='119.765') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='119.78') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='119.006') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='118.696') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='119.018') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='120.765') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='120.41') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='119.608') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='119.268') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='118.221') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='119.234') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='118.199') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='119.524') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='120.76') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='118.446') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='119.86') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='121.458') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='120.937') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='122.353') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='123.085') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='123.145') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='122.277') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='121.153') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='119.31') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='120.616') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='118.482') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='117.789') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='118.178') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='118.65') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='119.893') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='119.172') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='118.88') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='118.03') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='115.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='118.091') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='119.601') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='120.844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='120.094') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='123.851') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='123.499') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='124.806') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='124.27') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='124.985') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='125.02') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='123.483') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='122.436') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='120.041') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='119.496') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='119.362') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='117.767') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='118.616') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='117.274') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='118.975') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='119.79') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='119.331') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='119.194') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='118.637') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='120.535') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='119.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='120.403') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='121.054') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='119.413') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='120.38') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='123.203') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='121.143') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='122.976') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='123.697') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='124.476') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='123.592') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='123.177') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='121.853') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='121.298') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='120.593') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='118.763') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='118.278') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='118.596') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='119.984') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='119.523') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='119.574') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='119.013') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='119.722') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='120.875') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='120.668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='121.451') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='121.838') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='119.053') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='121.03') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='123.544') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='9808', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='0') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='9804', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='113.768') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='117.131') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='118.794') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='120.362') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='118.504') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='116.275') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='109.258') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='121.127') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='118.849') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='116.093') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='120.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='120.84') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='124.045') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='124.042') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='117.713') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='118.048') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='118.051') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='118.259') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='118.054') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='120.844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='121.925') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='119.353') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='120.867') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='125.48') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='127.434') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='119.069') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='120.904') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='120.974') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='120.25') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='118.291') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='126.573') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='125.637') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='124.668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='121.393') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='121.998') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='122.555') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='123.941') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='124.746') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='125.085') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='125.143') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='123.315') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='119.026') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='118.683') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='119.815') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='119.25') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='119.678') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='121.708') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='125.182') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='125.217') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='117.12') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='118.489') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='119.338') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='119.392') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='117.277') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='112.967') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='124.775') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='124.409') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='123.268') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='122.956') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='123.032') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='123.555') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='123.004') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='122.125') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='121.078') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='117.701') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='118.101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='117.771') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='121.393') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='120.16') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='119.387') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='119.887') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='122.64') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='125.954') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='123.51') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='124.328') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='124.639') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='124.448') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='122.434') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='118.623') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='122.169') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='120.979') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='118.358') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='117.271') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='118.68') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='118.562') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='116.842') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='115.913') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='118.894') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='118.59') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='116.293') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='118.299') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='120.233') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='118.495') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='120.406') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='122.644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='125.528') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='121.746') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='122.642') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='122.581') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='122.623') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='120.431') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='121.329') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='120.651') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='118.876') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='115.661') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='119.835') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='120.34') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='119.439') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='118.245') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='117.004') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='117.165') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='119.95') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='117.149') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='118.541') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='119.822') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='121.013') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='121.577') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='120.289') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='122.62') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='119.093') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='120.493') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='121.919') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='122.218') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='121.022') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='118.433') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='115.978') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='120.971') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='119.234') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='118.015') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='117.922') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='117.566') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='121.469') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='120.514') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='118.485') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='117.889') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='117.946') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='113.611') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='116.583') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='119.306') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='118.802') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='120.799') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='120.857') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='121.594') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='121.421') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='123.74') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='125.189') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='125.673') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='124.777') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='122.432') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='120.011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='118.622') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='118.559') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='117.524') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='117.257') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='119.909') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='120.921') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='119.96') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='118.481') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='118.605') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='118.282') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='118.663') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='117.009') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='117.766') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='119.722') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='120.299') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='118.366') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='122.529') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='124.833') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='123.06') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='122.396') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='122.792') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='122.232') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='119.79') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='122.86') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='119.012') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='118.321') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='115.456') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='119.374') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='120.344') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='119.254') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='117.83') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='117.001') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='116.782') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='116.803') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='118.75') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='118.358') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='119.493') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='119.698') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='119.908') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='120.675') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='122.754') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='125.385') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='118.214') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='119.329') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='120.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='119.689') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='117.12') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='114.729') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='120.871') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='119.177') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='116.699') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='116.768') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='118.075') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='115.571') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='115.867') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='114.309') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='122.787') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='118.904') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='118.531') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='119.438') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='120.908') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='119.844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='120.575') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='123.212') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='118.712') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='118.316') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='118.859') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='120.092') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='119.532') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='118.179') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='115.731') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='117.671') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='116.046') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='117.416') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='117.578') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='116.758') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='118.319') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='118.355') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='118.136') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='117.225') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='122.659') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='118.547') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='116.635') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='118.105') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='118.503') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='119.547') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='121.4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='123.396') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='126.068') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='119.33') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='120.524') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='120.742') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='119.548') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='117.358') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='124.267') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='122.388') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='120.774') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='117.345') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='116.698') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='116.798') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='118.219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='117.879') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='117.287') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='117.42') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='116.798') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='117.184') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='119.665') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='121.033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='120.839') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='122.456') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='120.534') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='122.766') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='123.735') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='116.654') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='118.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='118.441') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='117.463') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='113.549') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='123.596') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='120.709') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='118.94') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='116.002') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='117.741') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='117.49') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='121.433') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='117.735') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='118.165') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='117.839') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='117.685') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='117.518') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='119.385') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='121.202') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='120.254') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='118.336') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='118.267') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='123.088') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='123.183') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='126.377') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='123.772') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='123.634') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='123.008') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='121.382') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='117.696') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='117.901') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='119.404') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='117.646') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='118.147') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='117.802') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='120.151') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='119.733') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='119.096') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='119.291') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='118.973') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='116.336') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='118.171') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='119.082') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='120.953') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='121.41') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='119.088') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='120.941') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='123.699') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='122.48') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='123.378') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='123.312') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='123.217') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='120.961') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='118.076') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='118.573') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='117.978') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='120.019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='121.662') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='122.268') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='122.317') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='121.934') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='120.776') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='121.889') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='121.064') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='116.824') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='117.556') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='118.784') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='120.77') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='122.565') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='120.263') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='122.729') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='124.561') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='125.237') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='125.344') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='125.492') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='124.67') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='122.819') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='121.713') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='120.883') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='119.85') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='117.176') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='117.447') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='118.679') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='120.016') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='119.959') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0.101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0.102') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0.115') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0.104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0.109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0.113') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0.107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0.112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0.111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0.11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='117.84') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='119.199') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='120.226') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='120.924') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='124.038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='126.747') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='128.364') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='126.55') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='126.522') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='126.893') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='126.114') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='124.219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='123.691') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='124.723') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='124.667') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='123.666') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='123.337') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='124.042') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='125.92') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='125.144') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='124.769') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='124.549') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='123.483') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='116.63') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='120.461') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='121.228') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='121.154') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='123.409') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='125.403') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='122.716') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='124.385') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='126.046') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='126.166') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='125.26') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='123.29') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='120.499') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='120.705') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='120.492') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='119.996') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='120.265') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='122.232') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='121.49') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='120.704') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='120.614') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='119.839') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='119.685') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='115.593') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='118.86') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='119.97') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='121.369') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='121.096') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='122.451') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='125.765') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='126.302') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='124.495') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='125.659') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='125.773') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='124.464') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='123.167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='121.137') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='123.677') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='123.569') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='122.254') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='121.794') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='122.088') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='123.87') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='123.556') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='119.682') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='119.676') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='118.821') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='119.836') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='121.192') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='121.685') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='117.874') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='118.762') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='120.263') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='122.468') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='124.536') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='122.598') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='123.2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='123.218') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='122.202') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='121.424') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='120.888') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='122.743') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='123.078') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='122.237') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='120.858') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='121.231') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='122.185') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='122.648') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='122.992') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='122.482') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='118.707') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='117.367') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='115.714') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='117.74') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='119.048') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='120.179') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='119.949') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='120.906') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='117.251') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='120.118') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='121.521') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='122.188') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='122.212') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='121.531') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='119.981') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='119.977') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='122.939') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='122.289') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='122.05') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='122.271') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='122.856') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='122.611') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='121.148') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='120.864') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='119.609') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='116.101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='119.165') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='119.287') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='120.208') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='118.775') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='122.222') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='123.288') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='126.026') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='124.828') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='125.769') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='125.218') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='124.795') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='122.393') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='120.523') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='117.319') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='118.772') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='118.808') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='119.686') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='119.99') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='122.708') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='120.762') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='119.92') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='119.129') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='117.091') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='121.219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='120.28') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='119.69') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='120.677') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='118.756') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='119.608') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='121.059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='123.573') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='125.976') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='123.926') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='123.888') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='123.08') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='121.69') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='117.916') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='116.014') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='121.935') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='119.675') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='118.8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='119.649') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='119.715') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='118.622') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='118.459') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='117.339') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='122.095') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='119.556') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='119.761') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='120.53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='121.428') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='118.003') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='120.228') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='123.33') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='125.861') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='118.788') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='119.106') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='119.116') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='116.908') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='115.642') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='122.013') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='119.234') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='119.31') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='118.566') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='118.243') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='118.579') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='120.288') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='119.996') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='119.249') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='118.866') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='117.741') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='118.543') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='117.538') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='118.709') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='119.94') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='117.668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='119.159') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='120.771') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='120.234') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='121.624') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='122.272') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='122.422') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='121.687') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='120.361') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='118.751') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='120.028') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='117.974') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='117.305') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='117.71') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='118.193') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='119.542') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='118.741') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='118.295') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='117.534') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='114.472') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='117.357') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='118.851') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='120.137') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='119.349') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='123.226') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='122.921') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='124.273') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='123.515') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='124.182') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='124.27') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='122.827') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='121.801') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='119.514') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='118.922') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='118.86') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='117.264') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='118.022') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='116.819') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='118.384') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='119.276') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='118.81') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='118.676') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='118.108') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='119.625') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='119.042') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='119.638') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='120.355') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='118.728') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='119.777') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='122.621') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='120.494') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='122.335') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='123.001') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='123.827') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='122.939') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='122.398') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='121.212') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='120.844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='120.054') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='118.297') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='117.795') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='117.996') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='119.287') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='118.815') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='118.955') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='118.449') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='119.157') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='120.124') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='119.858') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='120.668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='121.067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='118.265') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='120.308') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='122.851') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='440600', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='-1275') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='-1482') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='-1562') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='-1643') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='-1446') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='-1276') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='-1049') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='-1694') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='-1760') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='-1662') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='-2067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='-1992') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='-1928') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='-2018') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='-1845') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='-631') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='1564') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='-66') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='-393') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='-691') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='-883') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='-1575') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='-2209') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='109') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='-420') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='-859') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='-628') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='516') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='1839') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='293') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='1185') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='3946') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='4230') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='3689') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='248') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='430') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='1026') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='-526') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='-258') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='-65') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='-489') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='-842') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='1082') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='310') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='-1112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='3632') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='513') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='214') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='-292') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='-127') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='495') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='1815') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='818') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='1539') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='680') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='712') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='1280') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='397') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='493') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='250') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='785') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='-201') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='2156') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='2937') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='2107') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='2824') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='2269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='1441') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='-297') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='-2280') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='-1189') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='-964') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='-442') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='261') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='1309') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='-849') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='178') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='1111') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='2750') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='2769') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='2973') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='1327') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='454') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='199') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='556') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='416') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='-370') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='-1154') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='93') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='-843') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='171') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='-646') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='-723') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='2665') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='837') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='698') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='1097') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='2649') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='-495') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='1165') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='542') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='1871') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='979') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='1210') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='-356') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='1654') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='1368') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='1462') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='1612') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='1309') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='1886') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='1136') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='1169') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='1403') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='1316') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='-1041') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='-1190') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='-1609') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='-199') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='-252') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='585') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='1069') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='1973') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='1831') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='1127') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='1767') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='1343') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='1564') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='849') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='805') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='1093') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='880') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='1254') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='2664') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='1368') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='1009') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='208') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='22') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='1142') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='286') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='-1168') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='712') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='227') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='236') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='372') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='1441') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='2015') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='1211') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='1284') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='369') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='-310') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='-802') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='781') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='491') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='1023') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='516') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='2274') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='1775') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='1153') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='769') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='-846') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='-2362') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='-2961') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='-2519') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='-2447') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='-2865') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='-2276') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='-1250') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='-716') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='-1489') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='-2004') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='-1055') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='-978') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='-1269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='-3170') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='-2668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='-2540') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='-2377') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='-1126') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='1219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='-1061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='-1519') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='-1284') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='-1902') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='-1623') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='-778') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='-1730') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='-1745') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='-1872') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='-1207') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='-211') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='1619') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='-764') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='-827') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='40') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='-199') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='-967') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='-680') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='-385') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='-241') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='371') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='471') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='61') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='-2440') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='-3447') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='-3862') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='-1657') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='-2273') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='-4132') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='-3735') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='-2655') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='-3286') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='-3377') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='-2707') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='-1980') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='-797') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='-2046') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='-2793') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='-1939') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='-2092') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='-2211') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='-2679') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='-2530') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='453') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='-157') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='1143') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='-146') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='-1002') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='-1402') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='2949') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='2229') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='1022') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='-1628') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='-1835') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='-211') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='-767') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='-792') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='173') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='776') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='1249') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='-957') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='-911') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='-243') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='-65') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='-308') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='-811') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='-806') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='-952') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='-716') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='-1618') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='-1910') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='-1809') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='-2224') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='-2272') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='-2317') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='-2283') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='-2334') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='-1860') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='-2139') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='-2206') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='-296') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='-449') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='-142') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='-422') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='-365') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='-581') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='-263') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='-325') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='-142') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='-355') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='-310') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='496') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='660') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='1246') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='2889') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='1532') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='-143') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='-518') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='225') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='-1667') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='-2330') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='-1727') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='-1489') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='-1515') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='-476') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='-193') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='128') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='376') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='2872') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='408') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='1923') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='1830') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='1798') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='334') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='1260') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='1815') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='2272') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='262') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='-387') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='-613') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='-251') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='-885') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='551') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='48') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='-982') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='-1612') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='-1125') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='-381') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='-441') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='71') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='1020') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='760') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='-319') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='-1144') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='302') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='-319') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='-582') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='408') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='1031') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='1139') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='2082') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='-1202') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='622') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='456') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='-736') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='-818') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='1684') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='307') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='-801') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='-1256') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='3308') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='506') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='639') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='1963') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='2867') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='-831') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='-270') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='2010') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='3408') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='3190') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='-187') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='-225') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='531') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='-823') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='62') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='1079') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='1547') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='900') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='1780') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='1407') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='298') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='565') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='-311') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='-657') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='168') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='647') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='1427') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='829') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='-5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='1197') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='3751') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='2991') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='2801') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='-1188') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='-828') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='-799') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='57') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='4601') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='1911') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='799') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='-972') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='-708') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='-790') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='-490') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='-1316') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='-825') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='-1012') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='-1178') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='-35') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='1352') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='1059') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='1290') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='2079') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='3618') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='-4684') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='-2470') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='-556') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='189') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='260') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='816') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='2489') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='2732') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='2234') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='57') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='1219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='632') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='-1360') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='38') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='-980') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='-1501') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='-2119') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='-1618') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='-1314') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='-432') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='309') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='685') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='1692') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='1899') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='3622') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='2709') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='3037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='2898') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='3251') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='186') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='-636') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='-421') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='-729') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='-978') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='2670') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='1255') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='-496') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='424600', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='-4313') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='-4163') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='-4102') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='-4091') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='-3982') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='-3934') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='-4439') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='-5323') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='-6298') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='-7332') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='-7541') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='-7248') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='-6869') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='-6454') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='-6460') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='-3546') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='-986') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='697') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='776') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='925') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='125') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='456') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='903') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='278') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='27') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='43') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='173') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='947') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='728') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='-452') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='-117') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='23') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='182') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='-152') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='-423') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='-705') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='-790') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='-1575') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='-2027') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='-1757') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='-1722') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='-1901') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='-741') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='-812') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='-891') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='652') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='411') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='516') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='398') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='382') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='470') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='591') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='267') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='770') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='164') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='438') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='-43') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='72') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='249') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='201') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='115') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='-425') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='-229') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='-284') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='-247') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='-135') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='-54') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='96') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='16') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='598') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='721') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='818') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='1067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='1245') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='-117') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='-721') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='-1504') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='-2084') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='-2554') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='-2345') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='-2920') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='-2712') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='-2858') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='-2928') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='-2803') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='-3032') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='-4017') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='-3918') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='-3412') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='-3441') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='-2561') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='-2139') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='-1765') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='-465') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='-702') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='-647') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='-676') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='-509') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='-2150') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='-2355') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='-3171') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='-4031') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='-4338') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='-4651') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='-4668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='-4346') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='-4571') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='-4929') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='-4607') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='-4866') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='-4308') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='-3897') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='-3784') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='-2988') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='-3099') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='-3335') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='-2686') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='-2522') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='-2074') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='-1989') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='-1788') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='-1795') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='-2075') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='-2698') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='-3932') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='-4406') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='-4366') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='-4692') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='-4302') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='-3927') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='-4101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='-4187') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='-4342') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='-4162') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='-4456') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='-4132') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='-4499') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='-3882') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='-3295') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='-2863') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='-2668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='-1778') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='-1810') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='-1829') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='-1800') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='-1595') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='-2050') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='-2961') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='-3627') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='-4830') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='-4296') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='-5257') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='-4408') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='-4326') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='-4420') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='-3950') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='-4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='-4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='-4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='-4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='-6868') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='-6790') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='-7252') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='-6734') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='-6030') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='-5892') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='-6066') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='-5486') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='-5444') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='-5339') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='-4983') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='-5190') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='-6313') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='-6839') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='-7853') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='-13507') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='-13381') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='-12778') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='-11890') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='-12338') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='-11774') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='-12649') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='-11849') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='-7471') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='-8126') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='-7696') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='-6538') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='-6175') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='-5664') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='-4480') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='-4300') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='-4263') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='-4119') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='-4103') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='-4511') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='-5135') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='-6038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='-6392') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='-5899') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='-6690') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='-6603') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='-6159') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='-6128') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='-6220') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='-6047') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='-6009') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='-2295') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='-2543') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='-3085') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='-3269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='-2267') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='-2159') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='-1532') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='-1675') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='-960') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='-1122') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='-1061') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='-505') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='-536') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='-991') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='-1818') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='-2574') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='-2844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='-2608') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='-2928') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='-2112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='-2074') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='354') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='438') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='3408') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='3269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='3655') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='3521') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='5431') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='5560') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='5660') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='5623') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='5896') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='6656') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='6647') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='6733') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='6914') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='6873') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='6691') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='5814') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='5617') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='5608') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='-3230') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='-3656') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='-3620') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='-3449') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='-3601') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='-3735') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='-5996') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='-6718') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='-6583') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='-6767') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='-6800') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='-6525') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='-6170') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='-5676') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='-4911') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='-4911') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='-4801') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='-1982') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='-1810') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='-1834') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='-2256') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='-2325') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='-2684') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='-2675') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='-2778') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='-2688') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='-2650') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='-2557') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='-2355') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='-2318') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='-2582') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='-2811') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='-3182') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='-3578') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='-3544') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='-3148') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='-3345') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='-3137') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='-2809') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='-2501') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='-2493') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='-2157') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='-2137') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='-2155') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='-2498') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='-2368') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='-3513') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='-4566') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='-5345') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='-6057') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='-5799') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='-5341') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='-5395') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='-5979') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='-6090') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='-6778') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='-6378') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='-5473') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='-5382') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='-4608') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='-4316') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='-4055') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='-3867') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='-3482') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='-3116') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='-3010') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='-2944') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='-2819') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='-3644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='-4499') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='-5795') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='-6198') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='-6174') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='-6102') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='-6218') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='-5898') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='-5986') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='-5633') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='-6210') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='-5783') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='-5726') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='-5539') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='-5408') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='-4608') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='-3876') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='-3618') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='-3292') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='-1685') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='-2072') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='-2050') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='-1670') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='-1792') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='-3485') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='-3911') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='-4578') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='-4788') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='-4459') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='-4693') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='-4830') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='-4652') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='-4452') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='-5394') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='-5538') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='-5866') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='-5225') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='-5162') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='-5250') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='-4384') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='-4218') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='-4016') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='-3222') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='-3311') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='-3183') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='-2974') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='-2945') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='-2933') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='-3570') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='-4545') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='-5119') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='-5737') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='-6515') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='-6776') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='-6755') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='-6361') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='-6546') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='-6273') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='-5402') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='-5797') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='-5647') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='-5747') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='-5443') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='-5445') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='-4557') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='-4019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='-3484') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='-3616') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='-3559') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='-3408') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='-3609') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='-4020') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='-4182') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='-4997') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='-5810') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='-5595') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='-15224') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='-8695') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='-4575') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='-6313') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='-6104') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='-5750') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='-5764') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='-5649') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='-5249') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='-5562') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='-4875') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='-4619') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='-4611') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='-3619') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='-3467') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='-3564') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='-3672') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='-3614') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='-3621') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='-3868') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='-3969') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='-3886') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='-4381') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='-4271') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='-3967') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='-4002') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='-3562') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='-3874') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='-3561') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='-4690') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='-5196') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='-5211') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='-5037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='-4963') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='-4048') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='-3708') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='-3215') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='438200', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='-1103') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='-1286') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='-1351') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='-1427') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='-1246') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='-1101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='-909') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='-1472') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='-1523') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='-1435') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='-1784') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='-1757') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='-1682') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='-1745') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='-1590') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='-500') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='1379') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='-45') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='-346') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='-580') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='-752') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='-1367') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='-1906') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='101') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='-366') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='-740') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='-550') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='432') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='1595') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='275') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='1019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='3444') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='3629') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='3203') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='215') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='380') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='890') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='-446') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='-200') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='-44') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='-424') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='-718') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='946') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='276') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='-944') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='3129') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='453') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='194') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='-246') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='-122') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='430') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='1582') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='720') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='1333') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='588') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='642') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='1096') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='313') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='374') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='204') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='692') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='-196') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='1888') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='2502') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='1840') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='2437') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='1930') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='1219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='-250') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='-1971') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='-1029') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='-1072') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='-388') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='229') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='1131') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='-726') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='166') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='965') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='2341') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='2354') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='2565') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='1136') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='367') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='173') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='156') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='460') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='358') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='-308') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='-1006') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='93') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='-723') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='147') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='-551') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='-626') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='2316') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='714') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='600') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='953') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='2267') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='-403') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='999') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='475') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='1663') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='829') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='1055') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='-314') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='1431') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='1201') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='1280') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='1431') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='1145') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='1635') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='957') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='1019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='1219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='1143') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='-893') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='-1019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='-1389') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='-182') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='-220') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='502') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='940') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='1719') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='1592') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='960') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='1537') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='1177') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='1337') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='737') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='723') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='917') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='794') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='1075') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='2328') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='1192') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='867') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='184') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='12') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='978') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='256') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='-1007') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='614') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='205') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='195') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='316') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='1241') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='1748') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='1046') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='1099') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='309') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='-202') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='-722') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='680') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='440') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='870') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='475') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='1959') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='1506') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='1027') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='677') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='-759') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='-2042') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='-2554') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='-2178') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='-2126') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='-2484') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='-1980') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='-1072') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='-524') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='-1366') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='-1753') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='-893') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='-845') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='-1148') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='-2710') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='-2297') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='-2208') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='-2037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='-997') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='1048') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='-955') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='-1334') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='-1121') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='-1625') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='-1419') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='-671') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='-1501') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='-1511') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='-1618') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='-1037') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='-192') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='1397') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='-627') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='-711') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='20') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='-130') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='-843') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='-642') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='-320') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='-210') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='295') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='417') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='37') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='-2105') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='-2980') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='-3329') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='-1430') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='-1986') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='-3570') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='-3230') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='-2288') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='-2846') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='-2946') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='-2342') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='-1719') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='-668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='-1761') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='-2413') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='-1727') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='-1832') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='-1889') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='-2346') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='-2176') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='374') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='-132') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='993') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='-150') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='-843') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='-1196') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='2577') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='1582') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='909') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='-1405') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='-1597') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='-186') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='-658') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='-679') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='89') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='680') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='1095') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='-832') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='-785') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='-228') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='-40') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='-280') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='-697') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='-697') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='-811') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='-629') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='-1408') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='-1666') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='-1574') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='-1928') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='-1970') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='-2017') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='-1984') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='-2007') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='-1611') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='-1851') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='-1908') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='-251') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='-386') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='-121') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='-365') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='-313') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='-506') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='-232') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='-288') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='-121') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='-310') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='-245') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='439') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='609') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='1078') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='2491') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='1327') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='-115') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='-442') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='203') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='-1439') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='-2019') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='-1491') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='-1285') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='-1309') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='-409') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='-162') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='90') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='319') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='2483') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='357') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='1681') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='1572') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='1575') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='302') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='1076') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='1555') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='1971') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='239') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='-351') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='-527') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='-215') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='-782') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='452') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='60') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='-848') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='-1383') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='-989') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='-325') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='-382') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='60') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='884') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='659') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='-264') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='-990') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='289') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='-292') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='-542') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='366') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='909') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='992') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='1808') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='-1049') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='543') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='377') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='-619') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='-712') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='1459') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='257') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='-696') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='-1085') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='2873') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='421') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='557') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='1696') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='2480') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='-707') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='-237') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='1730') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='2990') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='2746') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='-174') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='-194') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='485') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='-729') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='70') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='907') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='1297') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='776') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='123') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='1557') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='1208') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='253') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='508') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='-274') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='-571') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='146') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='567') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='1222') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='733') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='1041') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='3222') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='2576') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='2422') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='-1036') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='-746') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='-661') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='45') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='3983') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='1694') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='709') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='-844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='-605') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='-661') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='-436') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='-1155') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='-716') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='-877') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='-1024') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='1185') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='884') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='1103') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='1789') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='3132') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='-4032') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='-2114') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='-498') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='174') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='210') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='710') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='2127') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='2386') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='1916') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='53') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='1070') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='564') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='-1181') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='34') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='-847') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='-1318') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='-1842') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='-1404') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='-1129') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='-372') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='269') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='572') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='1413') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='1586') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='3161') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='2347') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='2627') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='2502') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='2818') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='158') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='-545') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='-370') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='-624') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='-847') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='2315') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='1099') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='-417') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='422200', h='3dc1a8de') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='-4307') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e08', v='-4169') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c32', v='-4096') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a3c', v='-4087') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3835', v='-3963') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4645', v='-3969') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5455', v='-4411') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6265', v='-5358') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7075', v='-6317') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e85', v='-7298') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c96', v='-7519') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aa5', v='-7351') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8b6', v='-6890') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6c5', v='-6465') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4d7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d30b', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0f6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef06', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd17', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b27', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11937', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12746', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13556', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14366', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15181', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f85', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d95', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ba4', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189b5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197c4', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5d5', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b3e6', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c1f6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d005', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de15', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec25', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa36', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20845', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21656', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22465', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23276', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24086', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e99', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25ca7', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ab7', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='278c6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='286d6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='294e6', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a301', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2b105', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2bf15', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2cd25', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2db35', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2e946', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2f755', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='30566', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='31375', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3219e', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='32f96', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='33da6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='34bb6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='359de', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='367d6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='375e6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3840e', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3921e', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3a016', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ae27', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3bc36', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3ca47', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3d856', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3e667', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='3f481', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='40285', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41095', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='41ea5', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='42cb5', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='43ac5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='448d5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='456e6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='464f5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='480ff', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='48f0e', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='49d1d', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ab46', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4b955', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4c769', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4d577', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4e387', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4f196', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='4ffa6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='50dd0', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='51bc6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='529d6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='537e7', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='54600', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55406', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='56215', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57026', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='57e36', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='58c46', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='59a70', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5a867', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5b676', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5c487', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5d296', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5e0a9', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5eeb8', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='5fcc6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='60ad7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='618e7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='626f7', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='63507', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='64317', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65127', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='65f37', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='66d46', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='67b57', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='68967', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='69782', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6a586', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6b395', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6c1a6', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6cfb5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ddc6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6ebd6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='6f9e6', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='707f6', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='71607', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='72417', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='73227', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74037', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='74e47', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='75c57', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='76a63', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='77873', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='78680', v='-6') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7948f', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7a29f', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7b0af', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7bebf', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7cccf', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7dadf', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7e8fa', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f70a', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8051a', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8132a', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8213a', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='82f4a', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='83d5a', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='84b6a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8597a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8678b', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8759b', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='883ac', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='891bb', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='89fca', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8adda', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8bbeb', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8c9fc', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8d80b', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8e61a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='8f42a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9023a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9104a', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='91e5a', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='92c6a', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='93a84', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='94885', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='95694', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='964a5', v='-9') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='972b4', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='980c5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='98ed4', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='99ce5', v='-8') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9aaf5', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9b906', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9c716', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9d526', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9e336', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9f145', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='9ff56', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a0d65', v='-7') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a1b77', v='-6324') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a2986', v='-3516') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a3795', v='-963') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a45a7', v='644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a53b6', v='700') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a61c7', v='942') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a6fd6', v='99') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a7e00', v='464') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a8c00', v='912') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a05', v='289') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aa815', v='32') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ab625', v='46') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ac435', v='200') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ad245', v='921') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ae055', v='744') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='aee65', v='-561') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='afc75', v='-68') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b0a85', v='31') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b26a6', v='142') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b34b6', v='-123') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b42c6', v='-451') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b50d6', v='-729') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b5ee7', v='-712') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b6cf6', v='-1584') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b7b07', v='-1983') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b8917', v='-1753') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='b9728', v='-1758') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ba537', v='-1891') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bb347', v='-827') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bc157', v='-882') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bcf67', v='-899') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bdd81', v='644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='beb86', v='417') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='bf995', v='524') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c07a6', v='400') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c15b5', v='372') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c23c6', v='484') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c31d5', v='591') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c3fe6', v='336') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c4df5', v='741') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c5c06', v='114') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c6a16', v='507') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c7826', v='-51') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c8636', v='136') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='c9446', v='334') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ca256', v='235') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cb066', v='116') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cbe76', v='-417') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ccc87', v='-232') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cda96', v='-184') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ce8a8', v='-219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='cf6b7', v='-134') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d04c8', v='-51') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d12d7', v='143') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d20e7', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d2f02', v='11') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d3d05', v='600') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b15', v='644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d5926', v='836') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d6735', v='1068') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d7546', v='1213') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d8355', v='-135') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9166', v='-755') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d9f75', v='-1498') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dad87', v='-2011') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dbb97', v='-2561') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dc9a8', v='-2338') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='dd7b7', v='-2895') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='de5c6', v='-2780') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='df3d7', v='-2912') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e01d7', v='-2913') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e0fe5', v='-2832') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e1df5', v='-3018') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e2c04', v='-4099') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e3a14', v='-3979') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e4824', v='-3370') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e5634', v='-3428') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e6444', v='-2551') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e7255', v='-2189') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e806f', v='-1757') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e8e7f', v='-477') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='e9c8e', v='-709') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eaa9f', v='-653') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eb8ae', v='-653') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ec6bf', v='-468') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ed4ce', v='-2112') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ee2df', v='-2239') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ef0ef', v='-3198') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='eff01', v='-4087') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f0d10', v='-4308') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f1b20', v='-4550') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f2930', v='-4628') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f3740', v='-4301') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f4551', v='-4608') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f5361', v='-4857') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6172', v='-4613') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f6f80', v='-4818') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f7d91', v='-4244') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f8ba1', v='-3915') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='f99b1', v='-3805') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fa7c0', v='-3025') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fb5d1', v='-3034') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fc3e0', v='-3295') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fd1fb', v='-2680') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fe00b', v='-2530') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee1c', v='-2083') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='ffc2c', v='-1982') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='100a3b', v='-1790') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10184c', v='-1791') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10265b', v='-2077') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10346c', v='-2724') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10427b', v='-4016') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10508d', v='-4320') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='105e9d', v='-4339') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='106cad', v='-4725') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='107abd', v='-4338') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1088cd', v='-3906') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1096de', v='-4119') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10a4ed', v='-4322') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10b2fe', v='-4345') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10c10d', v='-4169') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10cf1e', v='-4354') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10dd2e', v='-4160') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10eb66', v='-4453') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='10f94e', v='-3895') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11075e', v='-3281') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11156d', v='-2866') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='112388', v='-2663') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113187', v='-1794') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='113fb0', v='-1797') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='114da6', v='-1823') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='115bb6', v='-1782') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1169c6', v='-1585') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1177d6', v='-2082') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1185e8', v='-2885') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1193f7', v='-3558') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11a208', v='-4838') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11b017', v='-4322') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11be2f', v='-5393') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11cc37', v='-4456') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11da47', v='-4279') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11e857', v='-4354') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='11f667', v='-3900') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='120578', v='-4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='121386', v='-4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122196', v='-4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='122fa6', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='123db5', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='124bc5', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1259d5', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1267e4', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='127600', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='128305', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129115', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129f25', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12ad35', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12bb45', v='-1') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12c954', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12d766', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12e575', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='12f386', v='-2') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130196', v='-4') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='130fa6', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='131db7', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='132bc5', v='-3') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1339d4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1347e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1355f4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='136404', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='137214', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138024', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='138e33', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='139c44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13aa54', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13b865', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13c67e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13d48e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13e29e', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13f0ae', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='13febf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='140ccf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='141adf', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1428ef', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1436ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14450f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14531f', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146130', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='146f40', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='147d44', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='148b57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='149965', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14a775', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14b584', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14c397', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14d1a4', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14dfb6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14edc5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='14fbd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1509e5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1517ff', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='152605', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153415', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='154225', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155035', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='155e45', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='156c55', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='157a65', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='158875', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='159686', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15a495', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15b2a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15c0b6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15cec6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15dcd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15eae6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='15f8f5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='160706', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='161517', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='162326', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163137', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='163f46', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='164d57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='165b67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='166982', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='167786', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='168596', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1693a6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16a1b5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16afc6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16bdd5', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16cbe6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16d9f6', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16e807', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='16f616', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='170429', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='171236', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172047', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='172e57', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='173c67', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='174a77', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='175887', v='0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='176694', v='-6844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1774a3', v='-6848') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1782b3', v='-7276') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1790c5', v='-6718') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='179ed4', v='-6044') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17ace4', v='-5879') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17bafd', v='-6067') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17c90f', v='-5484') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d71e', v='-5437') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17e52f', v='-5342') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17f33f', v='-4981') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18014f', v='-5193') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='180f5f', v='-6321') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='181d6e', v='-6923') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='182b7f', v='-7889') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18398f', v='-13464') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1847a1', v='-13354') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1855af', v='-12813') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1863c0', v='-11996') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1871cf', v='-12436') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='187fe0', v='-11658') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='188def', v='-12508') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='189c00', v='-11965') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18b80d', v='-7567') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18c61c', v='-8100') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18d42c', v='-7676') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18e23b', v='-6565') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18f04b', v='-6167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='18fe5e', v='-5660') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='190c76', v='-4475') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='191a86', v='-4306') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='192896', v='-4252') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1936a6', v='-4125') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1944b7', v='-4125') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1952c6', v='-4498') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1960d7', v='-5137') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='196ee6', v='-5967') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='197cf8', v='-6354') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='198b0f', v='-5965') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19991f', v='-6615') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19b541', v='-6619') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19c34d', v='-6199') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19d15e', v='-6235') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19df80', v='-6313') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19ed90', v='-6079') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19eebe', v='-6075') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='19fb8e', v='-2390') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a09a0', v='-2600') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a17ae', v='-3051') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a25be', v='-3338') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a33cd', v='-2238') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a41dd', v='-2137') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a4fed', v='-1546') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a5e08', v='-1670') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a6c05', v='-969') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a7a15', v='-1123') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a8826', v='-1072') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9637', v='-481') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aa445', v='-537') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ab255', v='-995') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ac065', v='-1819') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ace75', v='-2636') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1adc87', v='-2920') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1aea96', v='-2594') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1af8a7', v='-2898') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b06b7', v='-2173') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1b14c6', v='-2092') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='311') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c8270', v='399') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c907e', v='3486') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c9e8f', v='3357') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1caca2', v='3670') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cbab1', v='3580') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cc8c1', v='5398') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cd6d0', v='5478') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ce4de', v='5618') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1cf2f0', v='5659') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0109', v='5923') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d0f06', v='6651') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d1d15', v='6654') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d2b25', v='6713') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d3935', v='6885') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d4745', v='6893') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d5555', v='6705') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d6366', v='5853') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7175', v='5545') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d7f86', v='5589') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d8d95', v='-3219') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1d9ba6', v='-3620') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1da9b6', v='-3623') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1db7c7', v='-3472') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dc5d5', v='-3630') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dd3e6', v='-3723') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1de1f5', v='-6033') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1df006', v='-6752') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1dfe16', v='-6647') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e0c26', v='-6778') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e1a36', v='-6794') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e2847', v='-6593') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e3659', v='-6136') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e4467', v='-5653') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e5281', v='-4910') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6086', v='-4908') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e6e96', v='-4803') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e7ca6', v='-1970') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e8ab5', v='-1820') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1e98c6', v='-1821') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ea6d5', v='-2271') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eb4e6', v='-2332') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ec2f6', v='-2646') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ed106', v='-2644') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1edf16', v='-2749') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1eed26', v='-2728') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1efb36', v='-2587') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f0946', v='-2548') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1756', v='-2377') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f2566', v='-2339') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f3376', v='-2566') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4187', v='-2784') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f4f96', v='-3191') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f5da7', v='-3581') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f6bb6', v='-3591') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f79c7', v='-3124') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f87d6', v='-3337') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f95e7', v='-3142') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fa401', v='-2806') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fb204', v='-2480') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fc016', v='-2497') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fce25', v='-2171') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fdc35', v='-2133') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1fea45', v='-2159') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1ff855', v='-2500') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='200665', v='-2395') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='201475', v='-3469') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='202286', v='-4512') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203095', v='-5355') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='203ea5', v='-5915') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='204cb6', v='-5771') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='205ac6', v='-5287') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2068d6', v='-5386') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2076e6', v='-5976') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2084f6', v='-6100') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='209306', v='-6742') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20a116', v='-6312') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20af26', v='-5533') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20bd37', v='-5455') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20cb46', v='-4630') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20d957', v='-4348') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20e767', v='-4046') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='20f581', v='-3855') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='210386', v='-3519') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211194', v='-3131') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='211fa5', v='-3014') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='212db5', v='-2904') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='213bc5', v='-2826') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2149d6', v='-3680') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2157e5', v='-4507') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2165f6', v='-5844') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='217406', v='-6195') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='218217', v='-6165') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219026', v='-6142') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='219e39', v='-6223') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ac46', v='-5938') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba57', v='-5926') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21c867', v='-5557') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21d677', v='-6240') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21e487', v='-5750') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21f296', v='-5772') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2200a6', v='-5468') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='220eb7', v='-5393') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='221cc6', v='-4543') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='222ad7', v='-3876') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2238e7', v='-3622') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='224701', v='-3292') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='225505', v='-1681') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='226315', v='-2082') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227125', v='-2043') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='227f35', v='-1675') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='228d45', v='-1785') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='229b54', v='-3494') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22a965', v='-4080') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22b776', v='-4454') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22c586', v='-4816') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22d397', v='-4405') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22e1a6', v='-4620') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22efb6', v='-4820') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='22fdc7', v='-4643') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='230bd7', v='-4435') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2319e6', v='-5397') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2327f6', v='-5558') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23361b', v='-5883') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='234416', v='-5207') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='235226', v='-5203') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236037', v='-5253') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='236e46', v='-4342') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='237c57', v='-4194') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='238a66', v='-3991') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='239881', v='-3195') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23a685', v='-3328') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23b495', v='-3191') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23c2a4', v='-2966') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23d0b5', v='-2959') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23dec4', v='-2916') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23ecd5', v='-3620') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='23fae4', v='-4562') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2408f6', v='-5013') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='241706', v='-5793') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='242518', v='-6605') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='243325', v='-6787') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244137', v='-6732') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='244f46', v='-6435') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b66', v='-6415') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='247976', v='-6261') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='248786', v='-5371') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24957e', v='-5703') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24a38f', v='-5668') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24b19c', v='-5810') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24bfac', v='-5495') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24cdbc', v='-5368') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24dbcd', v='-4539') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24e9e5', v='-4003') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='24f808', v='-3487') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='250616', v='-3597') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='251426', v='-3575') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='252236', v='-3422') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253047', v='-3610') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='253e56', v='-4069') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='254c67', v='-4209') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='255a76', v='-4977') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='256887', v='-5845') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='257697', v='-5662') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2584a8', v='-15155') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2592b6', v='-8621') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25a0c7', v='-4609') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25aed7', v='-6329') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25bce7', v='-6120') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25caf8', v='-5819') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25d907', v='-5800') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25e718', v='-5627') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='25f527', v='-5318') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='260338', v='-5543') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261149', v='-4916') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='261f59', v='-4589') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='262d68', v='-4670') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='263b83', v='-3694') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='264986', v='-3491') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='265795', v='-3582') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2665a6', v='-3683') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2673b5', v='-3608') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2681c6', v='-3681') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='268fd5', v='-3850') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='269de6', v='-3923') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26abf6', v='-3955') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26ba06', v='-4467') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26c817', v='-4257') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26d62b', v='-3915') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26e436', v='-3897') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='26f247', v='-3531') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270057', v='-3798') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e67', v='-3628') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='271c77', v='-4540') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='272a87', v='-5171') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='273897', v='-5038') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2746a8', v='-5028') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2754b9', v='-5029') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2762c7', v='-3993') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2770d8', v='-3551') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='277ee7', v='-3206') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='674601', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='22123:137:88:76:103:69:89:6047:6571:2134:6414:2223:2727.231:1435.675:5.979:0.067:0:4171:41039:29052:42104:12218:24721:13504:8975:11153:2990:8665:9759:11742') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='673801', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0:0:0:0:0:0:0:2472:22505:25160:16425:30012:23514.229:11675.362:9.272:0.416:0:6491:3221:2867:4204:22822:3047:6263:15342:9785:32424:23346:21578:23508') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='673401', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='72898:191:188:176:178:174:181:10441:14079:1360:46667:74131:80996.13:50324.326:32.188:0.038:0:44027:200289:109216:52461:12951:75896:69196:104852:117036:96903:120714:124308:96207') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='673001', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0:0:0:0:0:0:0:3476:3226:5597:4853:0:0:0:0.001:0.137:0:0:0:0:0:50735:59205:0:0:0:0:0:0:0') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='26274601', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0::1305::2869::4482::6066::7396::8573::10262::11922::13773::15492::17522::19544::21452::22070::22075::22080::22084::22085::22090::22097::22103::22109::22116::0::6::13::20::27::32::34::41::48::54::61::68::75::82::89::96::103::110::110::111::116::119::123::129') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='0::5::5::7::11::12::12::17::24::30::37::44::51::58::65::69::71::71::71::73::75::76::76::81::0::6::13::20::27::34::40::44::50::::51::51::51::51::51::51::51::51::51::51::54::60::63::69::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='6::13::20::27::34::38::44::46::46::47::52::58::65::66::66::67::69::69::70::76::83::89::96::0::5::12::19::25::30::31::35::37::37::37::37::38::44::45::45::45::45::45::45::48::51::56::62::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='6::14::21::28::35::42::47::50::50::50::52::59::65::69::72::74::75::75::75::75::78::79::82::0::7::14::21::28::34::38::44::45::45::49::56::63::70::76::80::835::1675::2038::2039::2856::3158::3607::4431::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='629::797::1456::2382::2476::2477::2821::2821::2821::::2821::2821::2856::2865::2865::3049::3223::3267::3532::4304::5147::5147::5449::0::101::102::252::592::605::605::605::605::612::612::612::612::612::612::612::679::767::767::767::767::767::767::910::0::1158') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='2289::2701::3076::3076::3385::3904::3904::3904::3904::3904::3904::3904::3904::3904::3904::3911::4023::4599::5237::5494::5780::6072::0::622::622::622::622::622::716::819::819::819::819::819::819::870::870::870::870::870::870::870::870::870::870::1024::0::1127') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='1954::2173::2377::2377::2377::2377::2377::2377::2381::2381::2381::2381::2381::2381::2381::2381::2381::2381::2381::2384::2400::2400::0::163::163::163::163::163::163::163::163::204::330::751::1400::1433::1433::1433::1435.1::1435.1::1435.1::1435.1::1435.1::1435.144::1435.375::1435.381::0::1.179') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='2.486::3.869::5.278::5.809::5.811::5.811::5.811::5.843::5.967::5.968::5.968::5.968::5.968::5.968::5.968::5.968::5.968::5.968::5.968::5.968::5.969::5.969::0::0::0::0::0::0::0::0::0::0::0::0.001::0.014::0.032::0.04::0.046::0.049::0.05::0.05::0.05::0.05::0.05::0.05::0.053::0::0.005') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='0.005::0.005::0.005::0.005::0.005::0.005::0.005::0.005::0.005::0.005::0.005::0.005::0.005::0.005::0.005::0.009::0.009::0.009::0.009::0.009::0.009::0.014::0::0.004::0.02::0.031::0.042::0.044::0.044::0.044::0.044::0.044::0.044::0.044::0.047::0.05::0.051::0.054::0.054::0.054::0::0::0::0::175::1878::0::2303') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='5016::7889::10825::12785::13428::14568::16281::17870::18757::19673::22314::25317::28017::30611::32571::::33078::33570::34865::36124::37670::39908::0::978::2540::4236::5992::6773::6818::6915::7643::8510::8618::::9354::10334::10857::11190::11387::11387::12818::15547::19011::21077::22610::25682::0::2682::5757::9094') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='12439::14810::16426::18172::20462::22851::24957::26912::29200::31789') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='8197::8264::8365::8365::8996::9996::10570::10570::10570::10807::0::388::776::1655::2374::2391::2391::2429::3332::3677::3768::3851::4294::4930::5847::6625::7852::9492::11328::13376::15620::17946::20170::22469::0::1979::4179::4817::5302::5612::5802::6075::6787::7172::7489::7668::7867::8184') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='8270::8270::8270::8270::8270::8279::8425::8766::9261::11379::0::967::2232::3224::3584::3708::3742::4192::4373::4379::4379::4379::4379::4379::4379::4468::4816::5111::5533::6393::6740::7394::7394::7988::0::1479::2407::2907::3341::3347::3347::3522::4521::4702::5104::5399::6511::6511') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='6511::6511::7554::8046::8046::8084::8781::9437::9437::10034::0::258::258::258::258::258::303::541::1097::1122::1122::1122::1122::1397::1429::2052::2638::2638::2638::2638::2638::2779::2779::2779::0::211::716::993::993::993::993::1058::1060::1060::1060::1060::1123::1640') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='3280::3952::3962::3962::3962::4297::5586::6998::7956::0::492::1570::2683::3585::3615::3618::3659::3659::3659::3659::3973::6767::8644::8717::8718::8718::8718::8718::8718::8718::8898::8898::9205::0::502::1825::3722::5758::7237::8159::8226::8226::8226::8226::8226::8226::8226::8226') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='8226::8240::8504::8980::9466::10308::10666::10666::10739') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='26273801', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::680::1753::2436::2439::2471::2472::2472::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='273::304::304::304::392::1467::1961::2735::4511::::12114::16337::18252::18452::19051::20724::21115::21611::21616::21616::21647::22460::22505::0::1428::1786::1821::1821::2100::3116::4606::5700::6263::7232::8321::9202::9706::10109::10567::11827::12356::14818::17416::20186::22628::24467::25160::0::16') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='16::16::18::761::2317::2345::3031::5010::7681::10719::13491::14079::14541::14788::15028::15551::16182::16182::16327::16351::16394::16424::0::1254::2521::3304::4214::6189::8542::8884::9714::10907::12447::13604::14407::14928::16855::18323::20016::22306::23952::25511::26700::27858::29512::30012::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='14::14::16::848::2512::4114::5556::7070::7967::9424::10812::11722::12829::13950::15033::17095::19423::20670::21129::21828::22608::23444::0::1024::1508::1786::1985::2951::4900::6589::8053::8849::8929::8929::8929::9502::10380::11200::11669.43::11670.714::11671.501::11673.236::11674.324::11674.616::11674.887::11675.345::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='0::0::0::0::0.632::1.57::2.787::4.389::5.353::6.676::7.825::8.473::9.059::9.07::9.083::9.113::9.149::9.186::9.222::9.254::9.263::9.267::0::0.054::0.078::0.094::0.113::0.149::0.2::0.229::0.234::0.241::0.244::0.245::0.245::0.245::0.245::0.245::0.246::0.276::0.309::0.348::0.383::0.408::0.415::0.416::0::0.022') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='0.031::0.032::0.033::0.045::0.076::0.1::0.121::0.161::0.197::0.227::0.252::0.257::0.264::0.275::0.295::0.315::0.322::0.329::0.332::0.348::0.357::0.357::0::0::0::0::0::0::0.015::0.051::0.062::0.068::0.079::0.091::0.094::0.094::0.097::0.108::0.125::0.161::1425::3563::5087::6081::6491::6491::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='0::0::0::0::3::4::17::17::17::17::83::83::83::83::83::::2815::3221::3221::3221::3221::3221::0::0::0::0::0::0::503::2124::2124::2135::2187::::2220::2220::2220::2220::2231::2857::2867::2867::2867::2867::2867::2867::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='0::0::0::0::5::5::5::5::5::5') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='14139::14218::14538::16467::16493::16493::17913::20388::22503::22822::0::242::242::242::242::473::1614::2783::2783::2785::3043::3046::3046::3047::3047::3047::3047::3047::3047::3047::3047::3047::3047::3047::0::0::0::101::101::101::155::155::155::155::155::158::158::158') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='303::689::1267::3291::5362::5964::5964::6205::6263::6263::0::67::78::78::78::96::279::1257::2169::3382::5628::7692::9144::9800::11410::13193::13770::14500::14502::14526::14528::14693::15337::15342::0::0::128::128::128::631::1960::2834::2847::2994::3445::3445::3445::4010') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='5304::6802::7188::7304::7777::8119::8119::8238::9731::9785::0::3202::5137::5593::6304::8577::12322::12561::12561::13960::16533::20127::22841::22863::23106::23247::23247::24987::26402::27590::28075::29263::31438::32325::0::171::171::200::344::1476::2425::3387::4145::5875::9210::12291::15144::15144') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='15144::15144::17267::21864::23232::23346::23346::23346::23346::0::86::86::86::86::188::709::1333::2511::4313::7593::10434::10434::10443::10622::10810::11293::12302::14859::17476::19565::19742::21035::21234::0::13::13::13::13::13::13::216::929::2058::3700::5698::8782::11698::14663') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='17767::18546::19155::19155::19155::19155::20730::23016::23508') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='26273401', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0::4177::8348::12421::16466::20389::24550::29638::35390::42329::49608::56982::64119::70819::72824::72831::72838::72845::72851::72859::72866::72873::72881::72889::0::8::16::24::32::40::48::56::65::73::81::89::97::105::114::122::131::138::145::152::160::167::175::183') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='0::8::16::23::31::39::47::55::63::71::79::87::96::104::112::120::128::135::142::150::157::165::172::180::0::8::17::25::34::43::51::58::66::::79::85::92::98::105::111::117::124::131::138::145::153::160::168::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='8::16::25::33::41::49::56::64::70::77::84::91::98::105::111::118::125::132::139::147::154::162::170::0::7::16::24::32::40::48::55::63::69::76::82::89::96::103::109::116::122::128::135::143::150::158::166::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='8::17::25::34::43::51::58::66::73::80::87::94::101::108::115::122::129::135::142::150::157::165::172::0::8::17::25::34::42::50::58::65::72::78::85::92::100::107::114::2595::7913::10294::10439::10439::10439::10441::10441::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='2::4::9::9::9::9::69::181::236::::327::461::720::1393::2215::3059::4593::6342::8041::9944::11561::12314::13166::0::47::47::47::47::47::47::47::47::48::59::87::127::134::135::142::182::537::769::1000::1156::1208::1230::1264::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='0::0::0::0::58::464::1214::2866::5195::7644::10189::13108::15902::18773::21557::24345::28271::32267::36012::39360::42352::44782::0::1215::1879::2581::3232::3730::4627::6845::9426::13213::17460::21812::26408::30878::35346::40061::44776::49145::53501::57575::61429::64968::68029::71154::0::2541') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='4757::6749::8707::10446::12296::14817::18021::22192::24710::29209::33799::38000::42199::46375::50681::55062::59387::63686::67971::71883::75378::78274::0::1965::3785::5589::7408::9042::10735::13143::16254::20473::25210::29898::34989::39265::43547::47659::50298.816::50302.733::50306.729::50310.326::50313.783::50317.062::50320.016::50322.277::0::1.986') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='3.746::5.427::7.116::8.649::10.225::12.377::14.972::18.155::21.519::24.079::26.789::29.872::32.038::32.075::32.093::32.11::32.132::32.149::32.163::32.173::32.181::32.183::0::0::0::0::0::0::0::0::0::0.001::0.005::0.008::0.012::0.014::0.014::0.014::0.014::0.017::0.023::0.026::0.029::0.032::0.035::0.038::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0.004::0.013::0.023::0.035::0.039::0.04::0.04::0::0::0::0::0::0::0::0::0.011::0.064::0.184::0.299::0.403::0.491::0.587::0.684::0.777::0.882::4649::11369::18384::25539::32098::38189::0::5631') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='11134::16580::21819::26934::32449::39011::46164::57329::70535::83592::96112::107934::119836::131836::143932::::159972::167838::175759::182940::189261::195260::0::4361::8637::12844::17026::21292::26185::31514::37629::44147::50295::::62972::69142::75490::81871::88411::92634::95263::98136::101493::104338::106264::108086::0::1118::2125::3163') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='3972::4424::5117::6670::8682::11273::14036::16800::19585::21687') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='12951::12951::12951::12951::12951::12951::12951::12951::12951::12951::0::0::0::0::0::0::0::0::0::0::2097::5658::9307::12837::16437::20072::24855::31120::37813::44635::51509::58224::64519::70460::0::4912::9779::12468::14377::16196::18098::20357::22916::25572::28333::31048::33673::36268') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='38769::41197::43617::46222::49307::52694::56229::59586::62790::66147::0::2563::5010::7377::9547::11662::13970::16722::19820::23668::28455::34079::39799::45148::50589::56448::62674::69084::75584::81629::87007::92190::96664::100953::0::3686::6981::10109::13149::16039::19168::23164::28263::34238::40473::46590::52821::58868') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='64810::70628::77026::83160::89027::94673::100155::105383::109691::113559::0::1996::3876::5949::7945::9673::11583::15197::19355::23959::28689::33229::37981::42745::47470::52656::58228::63768::69353::74634::79872::84699::88966::93090::0::3272::6519::9646::12665::15529::18785::22767::27361::33026::39197::45634::52231::58688') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='71623::77897::83661::88919::94509::100226::106004::111517::116497::0::3504::7147::10760::14341::17823::21561::25845::30381::35821::41529::48026::57310::64898::70924::77195::83135::89105::94900::100321::105698::111053::115727::120309::0::3610::7127::10778::14421::18015::21712::25564::29454::33598::37946::42100::46054::49824::53500') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='57099::61385::66221::71352::76382::81368::85828::89677::93036') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='26273001', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::10::521::1009::1914::2329::2804::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='1070::1205::1242::1361::1873::2688::2888::2968::3013::::3093::3165::3226::3226::3226::3226::3226::3226::3226::3226::3226::3226::3226::0::504::975::1420::1776::2305::2796::3212::4002::4254::4373::4494::4549::4753::4950::5087::5453::5453::5453::5453::5454::5473::5509::5581::0::581') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='1231::1927::2760::3902::4853::4853::4853::4853::4853::4853::4853::4853::4853::4853::4853::4853::4853::4853::4853::4853::4853::4853::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0.017::0.031::0.048::0.065::0.085::0.105::0.114::0.116::0.116::0.116::0.116::0.116::0.117::0.12::0.123::0.128::0.135::0.135::0.135::0.135::0.135::0.135::0.136::0::0.016') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='0.036::0.054::0.074::0.096::0.119::0.137::0.152::0.165::0.178::0.19::0.204::0.216::0.228::0.237::0.249::0.256::0.256::0.256::0.256::0.256::0.256::0.257::0::0.012::0.018::0.02::0.021::0.025::0.032::0.037::0.037::0.037::0.037::0.037::0.037::0.037::0.037::0.037::0.037::0.037::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='9208::9490::12579::16633::20164::23882::28334::33713::39220::44909::0::6542::13180::19855::26594::33432::40280::46777::52524::57875::59205::59205::59205::59205::59205::59205::59205::59205::59205::59205::59205::59205::59205::59205::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='1314601', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='270370') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='1313801', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='306693') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='1313401', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='1576111') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='1313001', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='127098') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='52514601', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0::1305::2869::4482::6066::7396::8573::10262::11922::13773::15492::17522::19544::21452::22070::22075::22080::22084::22085::22090::22097::22103::22109::22116::22123::22129::22136::22143::22150::22156::22158::22166::22173::22180::22186::22193::22200::22207::22214::22221::22228::22235::22235::22236::22241::22244::22247::22254') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='22261::22267::22267::22269::22273::22274::22274::22280::22287::22294::22301::22308::22315::22322::22329::22333::22335::22335::22335::22336::22338::22339::22339::22344::22351::22358::22365::22372::22379::22386::22391::22395::22402::::22404::22404::22404::22404::22404::22404::22404::22404::22404::22404::22407::22413::22416::22422::22429') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='22436::22443::22450::22457::22464::22468::22475::22477::22477::22478::22483::22489::22495::22497::22497::22498::22499::22499::22500::22507::22513::22520::22526::22533::22538::22545::22552::22559::22564::22564::22569::22571::22572::22572::22572::22573::22579::22580::22580::22580::22580::22580::22580::22583::22585::22590::22596::22603') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='22610::22617::22624::22632::22639::22645::22650::22653::22653::22653::22655::22662::22669::22672::22675::22677::22678::22678::22678::22678::22682::22683::22686::22693::22701::22708::22715::22722::22728::22732::22738::22740::22740::22744::22751::22758::22765::22770::22775::23529::24370::24733::24734::25551::25853::26301::27126::28742') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='29372::29540::30199::31125::31218::31219::31564::31564::31564::::31564::31564::31599::31607::31607::31792::31965::32010::32274::33047::33890::33890::34193::35316::35417::35418::35569::35909::35921::35921::35921::35921::35928::35928::35928::35928::35928::35928::35928::35995::36083::36083::36083::36083::36083::36083::36226::37450::38609') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='39740::40151::40527::40527::40836::41356::41356::41356::41356::41356::41356::41356::41356::41356::41356::41363::41476::42051::42690::42946::43231::43524::43865::44488::44488::44488::44488::44488::44582::44685::44685::44685::44685::44685::44685::44736::44736::44736::44736::44736::44736::44736::44736::44736::44736::44890::46089::47216') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='48043::48262::48466::48466::48466::48466::48466::48466::48471::48471::48471::48471::48471::48471::48471::48471::48471::48471::48471::48474::48491::48491::48816::48980::48980::48980::48980::48980::48980::48980::48980::49022::49147::49569::50218::50251::50251::50251::50252.91::50252.91::50252.91::50252.91::50252.91::50252.954::50253.185::50253.192::50253.487::50254.667') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='50255.973::50257.356::50258.765::50259.296::50259.299::50259.299::50259.299::50259.332::50259.455::50259.456::50259.456::50259.456::50259.456::50259.456::50259.456::50259.456::50259.456::50259.456::50259.456::50259.457::50259.458::50259.458::50259.467::50259.467::50259.467::50259.467::50259.467::50259.467::50259.467::50259.467::50259.467::50259.467::50259.467::50259.469::50259.482::50259.5::50259.507::50259.513::50259.516::50259.517::50259.517::50259.517::50259.517::50259.517::50259.517::50259.521::50259.535::50259.54') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='50259.54::50259.54::50259.541::50259.541::50259.541::50259.541::50259.541::50259.541::50259.541::50259.541::50259.541::50259.541::50259.541::50259.541::50259.541::50259.546::50259.546::50259.546::50259.546::50259.547::50259.547::50259.552::50259.557::50259.561::50259.577::50259.588::50259.6::50259.601::50259.601::50259.601::50259.601::50259.601::50259.601::50259.601::50259.604::50259.608::50259.609::50259.612::50259.612::50259.612::50258::50258::50258::50258::50434::52137::54431::56734') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='59447::62321::65257::67217::67860::69000::70713::72302::73189::74106::76746::79750::82449::85043::87003::::87510::88002::89297::90556::92102::94340::95470::96449::98011::99707::101463::102244::102289::102386::103115::103983::104091::::104826::105806::106330::106662::106859::106859::108290::111019::114483::116549::118083::121154::124524::127207::130282::133619') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='136963::139335::140951::142698::144988::147377::149483::151438::153726::156315') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='174829::174896::174996::174996::175627::176628::177201::177201::177201::177439::178849::179238::179626::180505::181224::181241::181241::181279::182183::182528::182619::182701::183144::183780::184697::185475::186702::188342::190179::192226::194470::196796::199020::201319::203571::205550::207751::208389::208873::209184::209373::209646::210358::210744::211061::211240::211439::211756') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='211843::211843::211843::211843::211843::211852::211998::212339::212833::214951::217077::218045::219309::220302::220662::220786::220819::221269::221451::221458::221458::221458::221458::221458::221458::221547::221895::222189::222611::223471::223818::224472::224473::225066::226054::227533::228461::228962::229396::229401::229401::229577::230576::230758::231159::231454::232566::232566') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='232566::232566::233609::234101::234101::234139::234836::235492::235492::236089::237208::237467::237467::237467::237467::237467::237511::237749::238306::238331::238331::238331::238331::238606::238637::239260::239846::239846::239846::239846::239847::239988::239988::239988::240200::240411::240916::241193::241194::241194::241194::241260::241262::241262::241262::241262::241325::241842') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='243482::244154::244164::244164::244164::244499::245788::247200::248157::248866::249358::250436::251549::252452::252482::252484::252526::252526::252526::252526::252840::255634::257511::257584::257585::257585::257585::257585::257585::257585::257766::257766::258073::258628::259130::260454::262350::264387::265865::266787::266854::266854::266854::266854::266854::266854::266854::266854') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='266854::266868::267132::267609::268095::268936::269294::269294::269367') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='52513801', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::680::1753::2436::2439::2471::2472::2472::2472') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='2745::2776::2776::2776::2864::3939::4434::5207::6983::::14587::18809::20724::20924::21523::23196::23587::24084::24088::24088::24119::24933::24978::24978::26406::26764::26799::26799::27079::28094::29584::30678::31242::32211::33301::34181::34685::35088::35546::36806::37336::39798::42396::45166::47608::49447::50139::50139::50155') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='50155::50156::50158::50901::52457::52486::53171::55151::57821::60860::63632::64220::64682::64929::65169::65692::66324::66324::66469::66492::66535::66565::66565::67820::69087::69869::70780::72755::75107::75449::76279::77473::79013::80171::80973::81494::83421::84889::86582::88872::90518::92077::93266::94424::96079::96579::96579::96579') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='96594::96594::96596::97428::99092::100694::102136::103651::104547::106004::107392::108302::109410::110530::111613::113676::116005::117251::117711::118409::119188::120024::120093::121118::121602::121880::122079::123044::124994::126683::128148::128945::129025::129025::129025::129597::130475::131295::131764.303::131765.588::131766.375::131768.11::131769.198::131769.49::131769.761::131770.219::131770.236::131770.236') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='131770.236::131770.236::131770.236::131770.236::131770.868::131771.806::131773.023::131774.625::131775.589::131776.912::131778.062::131778.709::131779.295::131779.306::131779.319::131779.349::131779.386::131779.423::131779.458::131779.49::131779.499::131779.503::131779.509::131779.564::131779.587::131779.604::131779.623::131779.659::131779.709::131779.738::131779.744::131779.752::131779.755::131779.755::131779.755::131779.755::131779.755::131779.755::131779.756::131779.786::131779.819::131779.858::131779.893::131779.918::131779.926::131779.926::131779.926::131779.949') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='131779.958::131779.959::131779.96::131779.972::131780.003::131780.027::131780.049::131780.089::131780.125::131780.155::131780.179::131780.184::131780.191::131780.202::131780.222::131780.243::131780.251::131780.258::131780.261::131780.277::131780.285::131780.285::131780.288::131780.288::131780.288::131780.288::131780.288::131780.289::131780.303::131780.34::131780.35::131780.356::131780.368::131780.381::131780.384::131780.384::131780.386::131780.398::131780.415::131780.451::133205::135343::136866::137861::138272::138272::138272::138272') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='138272::138272::138272::138272::138275::138277::138290::138290::138290::138290::138355::138355::138355::138355::138355::::141088::141493::141493::141493::141493::141493::141493::141493::141493::141493::141493::141493::141997::143618::143618::143629::143681::::143714::143714::143714::143714::143725::144351::144362::144362::144362::144362::144362::144362::144362::144362::144362::144362') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='144362::144362::144362::144362::144368::144368::144368::144368::144368::144368') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='162707::162786::163107::165035::165062::165062::166481::168956::171072::171391::171391::171634::171634::171634::171634::171865::173006::174175::174175::174177::174435::174438::174438::174439::174439::174439::174439::174439::174439::174439::174439::174439::174439::174439::174439::174439::174439::174540::174540::174540::174594::174594::174594::174594::174594::174598::174598::174598') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='174742::175129::175706::177731::179803::180405::180405::180646::180704::180704::180704::180771::180782::180782::180782::180801::180983::181961::182873::184086::186332::188396::189848::190504::192114::193897::194474::195204::195206::195230::195232::195397::196041::196046::196046::196046::196175::196175::196175::196678::198007::198881::198895::199043::199494::199494::199494::200058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='201353::202851::203237::203353::203825::204167::204167::204286::205778::205833::205833::209036::210970::211426::212138::214410::218156::218395::218395::219795::222368::225963::228676::228698::228941::229082::229082::230822::232237::233425::233910::235098::237273::238160::238259::238431::238431::238460::238604::239735::240685::241648::242406::244137::247471::250551::253404::253404') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='253404::253404::255527::260124::261492::261606::261606::261606::261606::261606::261692::261692::261692::261692::261794::262315::262939::264118::265921::269200::272041::272041::272049::272229::272417::272900::273909::276466::279084::281173::281349::282642::282841::283185::283198::283198::283198::283198::283198::283198::283402::284114::285244::286886::288884::291968::294884::297849') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='300954::301733::302341::302341::302341::302341::303915::306201::306693') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='52513401', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0::4177::8348::12421::16466::20389::24550::29638::35390::42329::49608::56982::64119::70819::72824::72831::72838::72845::72851::72859::72866::72873::72881::72889::72898::72906::72914::72922::72931::72938::72946::72955::72963::72972::72979::72987::72995::73004::73012::73021::73029::73037::73045::73052::73060::73067::73074::73083') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='73092::73100::73108::73116::73124::73131::73139::73147::73155::73164::73172::73180::73189::73197::73205::73213::73221::73228::73235::73242::73250::73258::73265::73273::73281::73290::73298::73307::73316::73324::73333::73341::73349::::73362::73368::73374::73381::73387::73394::73400::73407::73414::73421::73428::73436::73443::73451::73459') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='73467::73476::73484::73492::73501::73508::73516::73523::73529::73536::73543::73550::73557::73564::73571::73578::73585::73592::73599::73607::73614::73622::73630::73639::73647::73655::73663::73672::73680::73687::73694::73702::73709::73715::73721::73728::73735::73742::73748::73755::73762::73769::73776::73783::73791::73798::73806::73814') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='73823::73831::73840::73849::73858::73866::73874::73881::73888::73895::73902::73909::73917::73924::73931::73938::73945::73952::73959::73966::73973::73980::73988::73996::74005::74014::74022::74031::74039::74047::74055::74062::74069::74076::74084::74091::74098::74105::74112::76593::81912::84293::84438::84438::84438::84439::84440::84440') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='84442::84445::84450::84450::84450::84450::84510::84622::84677::::84768::84902::85161::85834::86656::87500::89034::90783::92482::94386::96003::96756::97608::98520::98568::98568::98568::98568::98568::98568::98569::98569::98570::98581::98609::98649::98656::98657::98664::98704::99059::99291::99522::99679::99730::99752::99786::99882::99882') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='99882::99882::99882::99882::99940::100346::101096::102749::105078::107527::110072::112991::115786::118656::121441::124228::128154::132149::135895::139243::142235::144665::146550::147766::148430::149132::149783::150281::151178::153396::155977::159764::164011::168363::172959::177429::181897::186612::191328::195697::200054::204127::207981::211520::214581::217705::220682::223224') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='225440::227431::229389::231128::232979::235501::238705::242877::245395::249894::254484::258685::262884::267059::271365::275747::280072::284371::288656::292567::296062::298958::301678::303643::305464::307268::309087::310721::312414::314823::317933::322153::326889::331577::336668::340944::345227::349338::151978.697::151982.614::151986.61::151990.207::151993.665::151996.943::151999.897::152002.158::152004.207::152006.194') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='152007.954::152009.635::152011.324::152012.857::152014.433::152016.586::152019.181::152022.365::152025.728::152028.288::152030.998::152034.081::152036.247::152036.284::152036.302::152036.319::152036.341::152036.359::152036.372::152036.383::152036.39::152036.393::152036.398::152036.398::152036.398::152036.398::152036.398::152036.398::152036.398::152036.398::152036.398::152036.399::152036.404::152036.407::152036.412::152036.414::152036.414::152036.414::152036.414::152036.417::152036.422::152036.425::152036.428::152036.432::152036.435::152036.437::152036.437::152036.437') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.437::152036.441::152036.45::152036.46::152036.472::152036.476::152036.478::152036.478::152036.478::152036.478::152036.478::152036.478::152036.478::152036.478::152036.478::152036.478::152036.489::152036.543::152036.663::152036.778::152036.883::152036.971::152037.066::152037.164::152037.257::152037.361::356685::363405::370420::377575::384134::390225::396064::401696') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='407198::412644::417883::422998::428513::435075::442229::453395::466601::479658::492177::504000::515901::527901::539997::::556036::563903::571823::579005::585326::591325::596354::600715::604992::609199::613381::617646::622539::627868::633983::640502::646650::::659328::665498::671845::678227::684766::688990::691619::694492::697849::700694::702620::704442::705572::706691::707697::708736') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='709545::709997::710690::712243::714255::716847::719609::722373::725158::727261') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::770988::773086::776647::780296::783826::787426::791061::795844::802109::808801::815624::822498::829213::835508::841449::846886::851798::856665::859354::861263::863083::864985::867245::869803::872460::875221::877937::880561::883156') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='885657::888085::890505::893110::896194::899581::903116::906473::909677::913034::916082::918646::921093::923460::925630::927744::930053::932806::935904::939753::944540::950163::955884::961233::966673::972533::978758::985168::991668::997713::1003091::1008274::1012749::1017038::1020937::1024624::1027919::1031047::1034087::1036976::1040106::1044102::1049201::1055177::1061411::1067528::1073759::1079806') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='1085748::1091566::1097964::1104098::1109965::1115611::1121093::1126321::1130630::1134497::1137973::1139970::1141849::1143923::1145918::1147647::1149557::1153171::1157329::1161934::1166664::1171204::1175957::1180721::1185446::1190632::1196204::1201743::1207328::1212608::1217847::1222674::1226942::1231066::1234878::1238151::1241398::1244525::1247544::1250408::1253663::1257645::1262239::1267905::1274075::1280512::1287109::1293566') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='1306501::1312775::1318539::1323798::1329387::1335105::1340883::1346396::1351376::1355594::1359099::1362742::1366355::1369936::1373418::1377156::1381440::1385976::1391416::1397124::1403622::1412905::1420494::1426519::1432791::1438731::1444700::1450495::1455916::1461293::1466648::1471323::1475904::1479903::1483514::1487030::1490682::1494324::1497918::1501615::1505468::1509358::1513503::1517850::1522004::1525957::1529728::1533403') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='1537003::1541289::1546124::1551256::1556286::1561272::1565731::1569581::1572940') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='52513001', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::0::10::521::1009::1914::2329::2804::3476') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='4546::4682::4719::4838::5350::6165::6365::6445::6490::::6571::6643::6704::6704::6704::6704::6704::6704::6704::6704::6704::6704::6704::6704::7208::7679::8124::8480::9010::9501::9918::10708::10960::11079::11200::11255::11459::11656::11793::12159::12159::12159::12159::12160::12179::12215::12287::12302::12884') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='13533::14230::15062::16204::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.492::17157.493::17157.511::17157.525::17157.542::17157.558::17157.579::17157.599::17157.608::17157.611::17157.612::17157.612::17157.612::17157.612::17157.613::17157.616::17157.618::17157.623::17157.631::17157.631::17157.631::17157.631::17157.631::17157.631::17157.631::17157.632::17157.649') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='17157.669::17157.686::17157.706::17157.728::17157.752::17157.771::17157.786::17157.799::17157.812::17157.824::17157.838::17157.85::17157.861::17157.871::17157.883::17157.89::17157.89::17157.89::17157.89::17157.89::17157.89::17157.891::17157.899::17157.911::17157.918::17157.92::17157.921::17157.925::17157.932::17157.937::17157.937::17157.937::17157.937::17157.937::17157.937::17157.937::17157.937::17157.937::17157.937::17157.937::17156::17156::17156::17156::17156::17156::17156::17156') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156::17156') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='17156::17156::17156::17156::17156::17156::17156::17156::17156::17156') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='26366::26648::29737::33790::37320::41038::45491::50870::56378::62066::67892::74435::81073::87748::94487::101325::108173::114671::120417::125768::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098::127098') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='127098::127098::127098::127098::127098::127098::127098::127098::127098') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='34601', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='6094564::6095869::6097433::6099046::6100630::6101960::6103137::6104826::6106487::6108338::6110057::6112087::6114108::6116017::6116635::6116640::6116645::6116648::6116649::6116654::6116661::6116667::6116674::6116681::6116688::6116694::6116701::6116708::6116715::6116721::6116723::6116730::6116738::6116745::6116751::6116757::6116764::6116771::6116779::6116786::6116793::6116799::6116800::6116800::6116805::6116808::6116812::6116819') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='6116826::6116832::6116832::6116834::6116838::6116839::6116839::6116845::6116852::6116859::6116866::6116873::6116880::6116887::6116893::6116898::6116899::6116899::6116899::6116901::6116902::6116904::6116905::6116910::6116917::6116924::6116931::6116938::6116945::6116952::6116957::6116961::6116968::::6116970::6116970::6116970::6116970::6116970::6116970::6116970::6116970::6116970::6116970::6116972::6116978::6116980::6116987::6116994') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='6117001::6117008::6117015::6117022::6117029::6117033::6117039::6117042::6117042::6117044::6117049::6117054::6117061::6117062::6117062::6117063::6117065::6117065::6117066::6117072::6117078::6117084::6117091::6117098::6117103::6117110::6117117::6117124::6117129::6117129::6117134::6117136::6117137::6117137::6117137::6117138::6117144::6117145::6117145::6117145::6117145::6117145::6117145::6117148::6117150::6117154::6117160::6117167') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='6117174::6117181::6117189::6117196::6117203::6117210::6117216::6117219::6117220::6117220::6117222::6117228::6117235::6117239::6117241::6117244::6117244::6117244::6117244::6117244::6117247::6117248::6117252::6117259::6117266::6117273::6117280::6117287::6117293::6117297::6117303::6117304::6117305::6117309::6117316::6117323::6117330::6117336::6117340::6118095::6118936::6119299::6119300::6120117::6120419::6120867::6121692::6123308') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='6123938::6124106::6124765::6125691::6125784::6125785::6126129::6126129::6126129::::6126129::6126129::6126164::6126173::6126173::6126358::6126531::6126576::6126840::6127612::6128455::6128455::6128757::6129880::6129981::6129983::6130133::6130473::6130485::6130485::6130485::6130485::6130493::6130493::6130493::6130493::6130493::6130493::6130493::6130561::6130649::6130649::6130649::6130649::6130649::6130649::6130792::6132016::6133175') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='6134306::6134717::6135093::6135093::6135402::6135922::6135922::6135922::6135922::6135922::6135922::6135922::6135922::6135922::6135922::6135929::6136041::6136617::6137256::6137512::6137797::6138089::6138431::6139053::6139053::6139053::6139053::6139053::6139147::6139251::6139251::6139251::6139251::6139251::6139251::6139302::6139302::6139302::6139302::6139302::6139302::6139302::6139302::6139302::6139302::6139456::6140655::6141782') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='6142609::6142828::6143032::6143032::6143032::6143032::6143032::6143032::6143036::6143036::6143036::6143036::6143036::6143036::6143036::6143036::6143036::6143036::6143036::6143039::6143056::6143056::6143382::6143545::6143545::6143545::6143545::6143545::6143545::6143545::6143545::6143587::6143713::6144135::6144783::6144816::6144816::6144816::144818.2::144818.2::144818.2::144818.2::144818.2::144818.243::144818.474::144818.48::144818.775::144819.955') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='144821.261::144822.644::144824.053::144824.584::144824.587::144824.587::144824.587::144824.62::144824.744::144824.746::144824.746::144824.746::144824.746::144824.746::144824.746::144824.746::144824.746::144824.746::144824.746::144824.746::144824.746::144824.746::144824.755::144824.755::144824.755::144824.755::144824.755::144824.755::144824.755::144824.756::144824.756::144824.756::144824.756::144824.757::144824.77::144824.788::144824.796::144824.802::144824.805::144824.806::144824.806::144824.806::144824.806::144824.806::144824.806::144824.809::144824.823::144824.828') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='144824.828::144824.828::144824.829::144824.829::144824.829::144824.829::144824.829::144824.829::144824.829::144824.829::144824.829::144824.829::144824.829::144824.829::144824.829::144824.834::144824.834::144824.834::144824.834::144824.835::144824.835::144824.84::144824.845::144824.849::144824.865::144824.876::144824.888::144824.889::144824.889::144824.889::144824.889::144824.889::144824.889::144824.889::144824.892::144824.896::144824.897::144824.9::144824.9::144824.9::6144824::6144824::6144824::6144824::6145000::6146702::6148995::6151298') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='6154011::6156885::6159821::6161781::6162424::6163565::6165278::6166868::6167755::6168671::6171312::6174315::6177014::6179609::6181568::::6182076::6182567::6183863::6185122::6186668::6188906::6190037::6191016::6192577::6194274::6196029::6196810::6196855::6196952::6197681::6198548::6198657::::6199392::6200372::6200895::6201228::6201425::6201425::6202856::6205585::6209048::6211115::6212648::6215720::6219090::6221773::6224848::6228185') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='6231530::6233901::6235517::6237264::6239554::6241943::6244049::6246003::6248291::6250880') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='6269393::6269460::6269561::6269561::6270193::6271193::6271766::6271766::6271766::6272003::6273414::6273802::6274190::6275070::6275788::6275805::6275805::6275844::6276747::6277093::6277184::6277267::6277710::6278346::6279262::6280041::6281268::6282908::6284744::6286792::6289036::6291362::6293586::6295884::6298136::6300115::6302316::6302954::6303439::6303749::6303938::6304212::6304924::6305309::6305626::6305804::6306004::6306321') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='6306407::6306407::6306407::6306407::6306407::6306417::6306562::6306904::6307399::6309517::6311643::6312611::6313875::6314868::6315228::6315352::6315385::6315835::6316016::6316023::6316023::6316023::6316023::6316023::6316023::6316113::6316460::6316755::6317177::6318036::6318383::6319038::6319038::6319632::6320620::6322099::6323027::6323528::6323962::6323967::6323967::6324143::6325141::6325322::6325724::6326020::6327132::6327132') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='6327132::6327132::6328174::6328667::6328667::6328705::6329402::6330058::6330058::6330655::6331774::6332033::6332033::6332033::6332033::6332033::6332078::6332316::6332872::6332897::6332897::6332897::6332897::6333173::6333204::6333827::6334413::6334413::6334413::6334413::6334413::6334554::6334554::6334554::6334765::6334977::6335481::6335759::6335759::6335759::6335759::6335824::6335826::6335826::6335826::6335826::6335889::6336407') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='6338047::6338719::6338729::6338729::6338729::6339065::6340354::6341766::6342723::6343432::6343924::6345002::6346115::6347018::6347048::6347050::6347091::6347091::6347091::6347091::6347406::6350200::6352077::6352150::6352150::6352150::6352150::6352150::6352150::6352150::6352331::6352331::6352638::6353193::6353695::6355019::6356915::6358952::6360430::6361352::6361420::6361420::6361420::6361420::6361420::6361420::6361420::6361420') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='6361420::6361434::6361698::6362174::6362660::6363502::6363860::6363860::6363933') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='33801', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88179422::88180102::88181176::88181859::88181861::88181894::88181896::88181896::88181896') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='88182169::88182200::88182200::88182200::88182288::88183363::88183857::88184631::88186407::::88194010::88198233::88200148::88200348::88200947::88202620::88203011::88203507::88203512::88203512::88203543::88204356::88204401::88204401::88205830::88206188::88206222::88206222::88206502::88207517::88209008::88210102::88210666::88211635::88212724::88213604::88214108::88214512::88214969::88216229::88216759::88219221::88221818::88224589::88227031::88228870::88229563::88229563::88229580') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='88229580::88229580::88229582::88230325::88231881::88231910::88232595::88234574::88237245::88240283::88243056::88243643::88244105::88244352::88244593::88245115::88245746::88245746::88245891::88245915::88245959::88245988::88245989::88247244::88248510::88249293::88250203::88252178::88254531::88254874::88255704::88256898::88258438::88259595::88260398::88260919::88262845::88264314::88266006::88268297::88269942::88271502::88272690::88273849::88275503::88276003::88276003::88276003') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='88276017::88276017::88276019::88276851::88278515::88280118::88281560::88283074::88283971::88285428::88286815::88287726::88288833::88289953::88291037::88293099::88295427::88296674::88297133::88297832::88298612::88299447::88299517::88300541::88301025::88301304::88301503::88302468::88304417::88306106::88307571::88308368::88308448::88308448::88308448::88309021::88309899::88310719::111188.016::111189.3::111190.088::111191.823::111192.91::111193.202::111193.473::111193.931::111193.948::111193.948') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='111193.948::111193.948::111193.948::111193.948::111194.58::111195.519::111196.735::111198.338::111199.302::111200.625::111201.775::111202.422::111203.008::111203.02::111203.032::111203.062::111203.098::111203.135::111203.171::111203.203::111203.212::111203.216::111203.221::111203.276::111203.299::111203.316::111203.335::111203.371::111203.422::111203.452::111203.457::111203.464::111203.468::111203.468::111203.468::111203.468::111203.468::111203.468::111203.469::111203.5::111203.532::111203.571::111203.606::111203.632::111203.639::111203.639::111203.639::111203.661') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='111203.671::111203.671::111203.672::111203.684::111203.715::111203.739::111203.761::111203.801::111203.837::111203.867::111203.891::111203.897::111203.904::111203.915::111203.935::111203.955::111203.962::111203.969::111203.972::111203.988::111203.997::111203.997::111204::111204.001::111204.001::111204.001::111204.001::111204.001::111204.016::111204.052::111204.063::111204.07::111204.081::111204.093::111204.097::111204.097::111204.099::111204.11::111204.128::111204.164::88312628::88314767::88316290::88317284::88317694::88317694::88317694::88317694') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='88317694::88317694::88317694::88317694::88317698::88317700::88317713::88317713::88317713::88317713::88317778::88317778::88317778::88317778::88317778::::88320511::88320917::88320917::88320917::88320917::88320917::88320917::88320917::88320917::88320917::88320917::88320917::88321420::88323042::88323042::88323053::88323105::::88323137::88323137::88323137::88323137::88323148::88323775::88323785::88323785::88323785::88323785::88323785::88323785::88323785::88323785::88323785::88323785') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='88323785::88323785::88323785::88323785::88323790::88323790::88323790::88323790::88323790::88323790') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='88342130::88342209::88342529::88344458::88344485::88344485::88345905::88348379::88350494::88350813::88350813::88351056::88351056::88351056::88351056::88351287::88352428::88353598::88353598::88353601::88353859::88353862::88353862::88353863::88353863::88353863::88353863::88353863::88353863::88353863::88353863::88353863::88353863::88353863::88353863::88353863::88353863::88353965::88353965::88353965::88354018::88354018::88354018::88354018::88354018::88354021::88354021::88354021') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='88354166::88354552::88355130::88357154::88359226::88359828::88359828::88360068::88360126::88360126::88360126::88360194::88360205::88360205::88360205::88360223::88360406::88361385::88362297::88363511::88365757::88367821::88369273::88369929::88371538::88373322::88373899::88374629::88374631::88374655::88374657::88374822::88375466::88375471::88375471::88375471::88375599::88375599::88375599::88376102::88377432::88378306::88378319::88378467::88378917::88378917::88378918::88379482') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='88380777::88382275::88382661::88382777::88383250::88383592::88383592::88383711::88385203::88385257::88385257::88388459::88390394::88390850::88391561::88393834::88397579::88397819::88397819::88399218::88401792::88405386::88408100::88408122::88408365::88408505::88408505::88410246::88411660::88412849::88413333::88414521::88416696::88417583::88417683::88417854::88417854::88417883::88418027::88419159::88420108::88421071::88421828::88423559::88426894::88429975::88432828::88432828') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='88432828::88432828::88434951::88439548::88440916::88441030::88441030::88441030::88441030::88441030::88441116::88441116::88441116::88441116::88441218::88441739::88442363::88443542::88445344::88448624::88451464::88451464::88451473::88451652::88451840::88452323::88453332::88455889::88458507::88460595::88460772::88462065::88462264::88462608::88462622::88462622::88462622::88462622::88462622::88462622::88462826::88463538::88464667::88466310::88468309::88471393::88474308::88477274') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='88480378::88481157::88481766::88481766::88481766::88481766::88483340::88485626::88486118') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='33401', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='9437795::9441972::9446144::9450217::9454261::9458184::9462346::9467434::9473186::9480126::9487404::9494779::9501916::9508615::9510621::9510628::9510635::9510642::9510649::9510656::9510663::9510671::9510678::9510687::9510695::9510703::9510712::9510720::9510728::9510736::9510743::9510751::9510760::9510768::9510776::9510784::9510792::9510800::9510809::9510817::9510826::9510833::9510840::9510847::9510855::9510863::9510871::9510879') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='9510888::9510896::9510904::9510912::9510920::9510928::9510935::9510944::9510952::9510960::9510968::9510976::9510984::9510993::9511001::9511009::9511016::9511023::9511030::9511038::9511045::9511053::9511061::9511069::9511078::9511086::9511095::9511103::9511112::9511121::9511129::9511137::9511144::::9511158::9511165::9511171::9511178::9511184::9511190::9511197::9511203::9511209::9511216::9511223::9511231::9511239::9511247::9511255') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='9511264::9511272::9511280::9511289::9511297::9511305::9511313::9511320::9511327::9511333::9511340::9511347::9511354::9511361::9511368::9511375::9511382::9511389::9511397::9511404::9511412::9511419::9511427::9511435::9511443::9511451::9511460::9511468::9511476::9511484::9511492::9511500::9511506::9511513::9511519::9511526::9511533::9511539::9511546::9511553::9511559::9511565::9511572::9511580::9511587::9511595::9511603::9511611') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='9511619::9511628::9511637::9511646::9511654::9511662::9511670::9511677::9511684::9511691::9511698::9511705::9511713::9511720::9511727::9511734::9511740::9511747::9511754::9511761::9511769::9511777::9511785::9511794::9511803::9511811::9511820::9511828::9511836::9511844::9511852::9511859::9511866::9511873::9511880::9511888::9511895::9511902::9511909::9514390::9519709::9522089::9522234::9522234::9522234::9522235::9522235::9522235') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='9522237::9522240::9522245::9522245::9522245::9522245::9522305::9522417::9522472::::9522564::9522698::9522957::9523630::9524451::9525296::9526830::9528579::9530279::9532182::9533799::9534552::9535404::9536317::9536364::9536364::9536364::9536364::9536364::9536364::9536365::9536365::9536366::9536378::9536405::9536445::9536452::9536454::9536460::9536501::9536855::9537087::9537318::9537474::9537525::9537548::9537581::9537677::9537678') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='9537678::9537678::9537678::9537678::9537736::9538143::9538893::9540546::9542875::9545324::9547869::9550788::9553582::9556453::9559237::9562025::9565951::9569947::9573692::9577040::9580032::9582462::9584347::9585562::9586226::9586928::9587579::9588077::9588974::9591192::9593773::9597560::9601808::9606160::9610756::9615226::9619694::9624409::9629124::9633493::9637849::9641922::9645776::9649316::9652378::9655502::9658479::9661021') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='9663237::9665228::9667187::9668925::9670776::9673297::9676502::9680673::9683191::9687690::9692279::9696481::9700679::9704855::9709161::9713542::9717867::9722167::9726451::9730363::9733859::9736754::9739475::9741440::9743260::9745064::9746883::9748517::9750210::9752619::9755730::9759949::9764686::9769374::9774465::9778741::9783023::9787135::89775.123::89779.04::89783.036::89786.633::89790.091::89793.369::89796.324::89798.585::89800.635::89802.621') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='89804.381::89806.063::89807.752::89809.284::89810.86::89813.012::89815.607::89818.79::89822.154::89824.714::89827.425::89830.508::89832.673::89832.71::89832.728::89832.745::89832.767::89832.785::89832.798::89832.809::89832.817::89832.82::89832.825::89832.825::89832.825::89832.825::89832.825::89832.825::89832.825::89832.825::89832.825::89832.826::89832.831::89832.834::89832.838::89832.84::89832.84::89832.84::89832.84::89832.843::89832.848::89832.851::89832.854::89832.858::89832.861::89832.864::89832.864::89832.864') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='153420', v='89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.864::89832.868::89832.877::89832.887::89832.899::89832.903::89832.904::89832.904::89832.904::89832.904::89832.904::89832.904::89832.904::89832.904::89832.904::89832.904::89832.916::89832.97::89833.09::89833.204::89833.309::89833.397::89833.492::89833.59::89833.683::89833.788::9794482::9801201::9808217::9815372::9821930::9828022::9833861::9839493') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='17d720', v='9844996::9850441::9855681::9860795::9866311::9872873::9880027::9891193::9904398::9917454::9929974::9941796::9953698::9965698::9977794::::9993834::10001701::10009621::10016803::10023124::10029123::10034151::10038513::10042789::10046996::10051178::10055443::10060336::10065665::10071780::10078299::10084446::::10097123::10103293::10109641::10116023::10122562::10126785::10129414::10132288::10135645::10138489::10140416::10142238::10143368::10144487::10145494::10146532') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1a9640', v='10147341::10147793::10148486::10150039::10152051::10154643::10157406::10160170::10162955::10165058') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1c7460', v='10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10208784::10210882::10214444::10218093::10221623::10225223::10228858::10233641::10239906::10246598::10253420::10260295::10267010::10273305::10279245::10284682::10289594::10294461::10297150::10299060::10300879::10302781::10305041::10307600::10310256::10313017::10315732::10318357::10320952') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='1f1760', v='10323453::10325881::10328301::10330906::10333991::10337378::10340913::10344270::10347474::10350831::10353880::10356443::10358890::10361257::10363427::10365542::10367850::10370602::10373700::10377548::10382335::10387959::10393679::10399028::10404469::10410328::10416554::10422964::10429464::10435510::10440887::10446070::10450544::10454833::10458732::10462419::10465714::10468842::10471882::10474772::10477901::10481897::10486997::10492973::10499207::10505324::10511555::10517602') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='21ba60', v='10523544::10529362::10535760::10541894::10547762::10553407::10558890::10564118::10568426::10572294::10575771::10577767::10579647::10581720::10583716::10585444::10587354::10590968::10595126::10599731::10604460::10609000::10613753::10618516::10623241::10628428::10633999::10639539::10645125::10650405::10655643::10660471::10664738::10668862::10672675::10675947::10679195::10682322::10685340::10688204::10691460::10695443::10700037::10705702::10711873::10718309::10724907::10731364') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='246b70', v='10744298::10750573::10756336::10761594::10767184::10772901::10778679::10784193::10789173::10793391::10796895::10800538::10804151::10807732::10811214::10814952::10819236::10823772::10829212::10834920::10841418::10850701::10858289::10864315::10870586::10876526::10882496::10888291::10893713::10899090::10904444::10909119::10913700::10917699::10921310::10924826::10928478::10932121::10935715::10939412::10943265::10947154::10951299::10955647::10959802::10963755::10967526::10971201') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='270e70', v='10974801::10979086::10983922::10989053::10994083::10999069::11003529::11007379::11010738') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 5) +SAX.startElement(par, memind='33001', h='3dc1a7e0') +SAX.characters( + , 6) +SAX.startElement(val, o='0', v='38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='2a300', v='38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='55410', v='38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='7f710', v='38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612576::38612587::38613097::38613585::38614490::38614906::38615380::38616053') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='a9a10', v='38617123::38617258::38617296::38617414::38617926::38618741::38618942::38619021::38619066::::38619147::38619219::38619281::38619281::38619281::38619281::38619281::38619281::38619281::38619281::38619281::38619281::38619281::38619281::38619786::38620257::38620702::38621058::38621587::38622078::38622494::38623284::38623536::38623655::38623776::38623831::38624035::38624232::38624369::38624735::38624735::38624735::38624735::38624737::38624755::38624791::38624863::38624879::38625460') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='d4b20', v='38626110::38626807::38627639::38628781::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='fee20', v='38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::38629732::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398') +SAX.endElement(val) +SAX.characters( + , 6) +SAX.startElement(val, o='129120', v='229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.398::229734.399::229734.417::229734.431::229734.448::229734.465::229734.485::229734.505::229734.514::229734.517::229734.517::229734.517::229734.517::229734.517::229734.518::229734.521::229734.523::229734.528::229734.536::229734.536::229734.536::229734.536::229734.536::229734.536::229734.536::229734.537::229734.554') +SAX.endElement(val) +SAX.characters( + , 5) +SAX.endElement(par) +SAX.characters( + , 4) +SAX.endElement(device) +SAX.characters( + , 3) +SAX.endElement(select) +SAX.characters( + , 2) +SAX.endElement(data) +SAX.characters( +, 1) +SAX.endElement(electroxml) +SAX.endDocument() diff --git a/result/att4.sax2 b/result/att4.sax2 new file mode 100644 index 0000000..553148c --- /dev/null +++ b/result/att4.sax2 @@ -0,0 +1,36976 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( edited with XML Spy v4.4 U (http://www.xmlspy.com) by Slava (GIVC) ) +SAX.startElementNs(electroxml, NULL, NULL, 0, 1, 0, modified='2002...', 15) +SAX.characters( + , 2) +SAX.startElementNs(data, NULL, NULL, 0, 2, 0, from='2002...', 11, to='2002...', 11) +SAX.characters( + , 3) +SAX.startElementNs(select, NULL, NULL, 0, 0, 0) +SAX.characters( + , 4) +SAX.startElementNs(device, NULL, NULL, 0, 1, 0, serialnumb='E000...', 9) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1134...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1693...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='199....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='200....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='201....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='199....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='220"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='222"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='220"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='219"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='217....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='224....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='219"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='221"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='217....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='219"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='222"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='224....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='219"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='221"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='225....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='225"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='224....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='190"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='122....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='354....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='333....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='323....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='278....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='286....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='292....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='21.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='273....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='272....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='285....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='28.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='68.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='147....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='95.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='89.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='88.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='92.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='149....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='148....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='127....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='203....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='124....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='230....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='79.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='51.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='22.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='323....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='341....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='46.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='71.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='71.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='63.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='76.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='58.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='92"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='79.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='63.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='51.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='81.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='205....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='96.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='95.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='96.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='92.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='91.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='86.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='270"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='270....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='296....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='306....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='331....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='13.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='46.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='262....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='143....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='127....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='132....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='128....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='155....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='99.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='130....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='132....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='121....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='100....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='153....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='155....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='167....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='165"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='156....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='162....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='203....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='212....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='162"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='149....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='136....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='145....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='164....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='158....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='163"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='147....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='163"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='161"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='174....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='203....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='158....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='138"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='135....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='170"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='167"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='164....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='151....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='158....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='207....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='214....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='213....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='210....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='162....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='156....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='153....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='143....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='153....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='169....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='139....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='142....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='122....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='125....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='110....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='110....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='99.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='209....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='76.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='61.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='44.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='44.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='60.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='64.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='67.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='341....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='115....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='117....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='252....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='261....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='313....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='311....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='292"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='57.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='151....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='92.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='93.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='100....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='97.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='184"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='289....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='274....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='39.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='6.5"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='355....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='19.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='44.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='61.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='55.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='60.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='71.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='66.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='61.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='38.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='17.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='35.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='44.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='71.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='125"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='176"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='99.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='90"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='273....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='344....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='307....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='271....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='278....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='291....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='52.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='76.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='87.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='174....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='183....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='181....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='201....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='205....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='208....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='194....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='194....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='189....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='201....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='162....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='181....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='183....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='228....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='229....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='216....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='226....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='249....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='245....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='250....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='251....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='252....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='259....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='254....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='228....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='227....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='214....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='217"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='231....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='230....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='52"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='340....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='18.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='357....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='344....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='338....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='28.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='21.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='10.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='343....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='342....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='358....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='353....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='353....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='1.4"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='6.4"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='10.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='350....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='350....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='357....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='181....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='194....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='195"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='199....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='200....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='200....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='203....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='164....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='134....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='176"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='206....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='216....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='211....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='210....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='211....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='171....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='129....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='183....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='189....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='184"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='169....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='160"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='200....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='116....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='162....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='130....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='122"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='183....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='142....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='145....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='169....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='164....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='158"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='169....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='167....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='167"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='146....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='155....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='189....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='139....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='172"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='189....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='180....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='147....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='172"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='156....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='157"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='166"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='209....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='199....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='156....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='137....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='146"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='139....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='143....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='137....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='146....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1069...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='8612...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='25.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='24.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='23.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='26.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='28.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='34.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='40.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='40.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='38.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='35.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='34.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0.04...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0.04...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='36.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='8.35...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='5.95...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='7.13...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='8.64...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='6.42...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='10.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='14.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='3.54...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='3.8"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='6.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='5.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='7.52...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='11.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='0.95...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='5.77...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='22.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='1.26...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='3.13...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='6.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='7.27...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='9.37...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='7.71...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='8.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='9.84...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='5.25...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='2.64...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='7.17...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='19.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='4.70...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='5.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='5.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='4.40...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='5.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='10.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='5.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='10.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='4.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='5.22...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='6.62...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='2.57...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='3.76...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='2.92...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='4.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='2.44...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='10.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='15.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='11.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='7.26...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='3.27...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='12.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='8.86...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='8.42...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='7.50...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='7.80...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='10.9...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='5.74...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='2.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='7.75...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='16.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='13.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='14.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='14.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='15.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='20.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='16.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='17.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='11.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='8.73...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='4.86...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='4.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='6.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='14.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='9.98...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='11.9...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='15.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='22.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='24.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='23.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='24.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='24.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='25.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='23.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='19.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='19.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='16.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='16.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='14.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='14.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='9.55...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='9.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='8.33...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='9.77...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='19.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='19.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='21.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='22.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='20.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='22.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='16.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='13.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='8.71...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='8.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='8.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='8.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='19.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='20.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='26.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='21.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='22.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.27...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.05...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.44...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.33...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.04...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.08...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.05...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.25...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.19...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.03...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.04...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.17...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.60...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.72...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.47...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.47...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.49...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.49...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.57...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.62...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='35.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='33.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='35.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='32.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='29.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='30.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='28.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='28.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='25.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='25.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='30.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='32.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='38.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='64.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='63.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='60.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='57.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='59.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='56.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='60.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='56.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='37.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='40.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='38.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='32.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='26.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='21.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='20.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='19.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='20.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='25.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='29.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='31.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='32.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='32.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='29.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='29.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='29.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='29.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='29.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='18.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='23.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='25.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='13.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='22.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='20.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='14.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='18.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='14.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='11.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='6.40...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='13.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='16.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='17.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='16.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='4.33...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='4.33...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='20.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='22.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='34.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='33.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='32.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='33.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='34.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='36.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='36.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='36.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='37.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='37.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='37.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='32.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='31.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='31.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='15.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='16.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='32.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='37.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='36.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='37.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='37.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='35.9...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='34.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='31.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='27.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='27.7...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='27.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='9.65...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='8.98...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='8.87...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='11.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='11.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='13.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='12.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='13.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='12.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='12.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='12.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='11.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='11.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='20.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='17.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='17.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='19.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='14.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='10.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='12.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='24.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='27.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='31.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='28.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='26.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='27.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='31.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='33.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='31.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='27.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='26.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='22.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='21.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='20.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='20.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='17.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='14.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='14.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='13.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='18.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='22.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='29.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='30.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='31.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='30.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='30.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='29.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='29.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='30.4...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='31.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='28.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='26.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='24.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='17.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='16.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='18.4...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='9.83...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='9.73...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='12.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='17.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='17.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='23.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='22.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='22.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='27.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='29.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='27.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='25.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='25.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='21.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='19.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='15.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='13.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='15.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='18.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='22.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='26.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='34.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='35.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='36.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='34.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='32.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='33.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='31.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='36.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='30.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='28.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='28.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='27.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='26.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='21.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='17.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='17.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='17.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='16.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='17.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='20.9...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='25.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='31.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='33.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='82.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='46.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='31.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='30.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='28.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='30.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='31.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='28.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='27.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='24.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='22.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='17.5...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='17.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='20.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='18.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='18.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='18.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='23.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='23.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='26.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='24.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='23.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='24"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='22.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='26.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='24.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='23.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='15.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='8608...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='8604...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='19.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='19.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='18.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='22.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='24.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='29.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='35.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='35.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='33.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='30.7...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='29.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0.07...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='30.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='10.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='3.83...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='3.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='4.19...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='2.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='4.91...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='7.89...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='2.93...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='1.48...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='2.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='1.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='5.98...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='10.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='3.65...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='7.25...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='19.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='21.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='18.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='3.45...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='4.91...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='7.33...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='7.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='9.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='8.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='7.68...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='8.66...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='7.73...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='5.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='5.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='4.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='3.97...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='2.24...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='2.51...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='4.78...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='5.86...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='9.66...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='5.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='5.35...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='7.74...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='3.65...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='4.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='3.28...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='5.65...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='2.24...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='12.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='11.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='15.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='12.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='8.53...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='1.47...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='7.44...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='4.26...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='3.80...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='3.75...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='5.53...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='9.52...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='1.98...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='4.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='9.62...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='19.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='14.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='12.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='13.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='13.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='13.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='15.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='15.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='11.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='9.89...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='7.99...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='13.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='6.33...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='5.63...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='7.36...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='9.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='12.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='14.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='20.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='22.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='22.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='24.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='23.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='23.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='22.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='18.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='16.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='15.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='12.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='12.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='8.94...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='8.83...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='8.79...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='10.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='15.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='22.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='23.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='20.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='18.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='20.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='19.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='21.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='21.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='19.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='20.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='17.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='16.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='13.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='12.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='8.96...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='8.31...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='8.35...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='8.49...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='15.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='18.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='22.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='23.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='20.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='19.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='20.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0.02...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0.02...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.26...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.12...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.16...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.22...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.24...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.41...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.15...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.14...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.09...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.03...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.25...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.22...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.04...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.12...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.28...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.15...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.24...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.29...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.04...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.07...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.17...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.22...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.57...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.63...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.45...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.46...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.47...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.48...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.56...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.59...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='34.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='33.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='34.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='31.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='26.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='26.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='28.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='24.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='28.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='35.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='61.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='61.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='58.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='54.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='56.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='53.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='57.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='53.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='36.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='36.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='35.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='29.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='25.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='19.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='19.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='18.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='27.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='29.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='27.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='30.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='29.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='28.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='28.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='28.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='11.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='14.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='20.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='11.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='12.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='16.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='15.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='9.95...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='12.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='12.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='9.68...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='6.80...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='4.55...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='10.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='14.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='14.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='13.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='15.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='13.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='12.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='3.99...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='2.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='16.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='15.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='29.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='27.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='25.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='24.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='25.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='28.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='28.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='30.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='30.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='24.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='23.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='23.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='15.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='16.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='16.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='16.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='27.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='31.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='31.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='32.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='31.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='29.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='27.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='23.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='23.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='23.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='8.57...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='7.91...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='7.85...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='9.84...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='11.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='11.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='12.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='11.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='11.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='10.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='10.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='10.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='13.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='16.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='15.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='15.7...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='16.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='13.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='11.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='11.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='9.24...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='8.96...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='9.42...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='11.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='18.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='15.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='23.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='26.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='29.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='25.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='25.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='26.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='30.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='30.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='28.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='24.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='19.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='15.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='13.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='13.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='12.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='13.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='17.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='25.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='28.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='27.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='27.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='28.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='27.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='26.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='24.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='24.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='16.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='14.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='10.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='13.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='17.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='15.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='24.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='26.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='27.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='22.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='20.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='25.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='27.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='25.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='24.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='23.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='20.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='18.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='14.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='14.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='14.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='13.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='13.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='15.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='17.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='20.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='24.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='32.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='34.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='34.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='31.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='29.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='30.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='29.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='34.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='28.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='25.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='26.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='24.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='24.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='20.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='18.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='15.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='15.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='15.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='19.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='29.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='31.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='75.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='41.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='29.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='28.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='27.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='28.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='29.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='26.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='25.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='23.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='21.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='20.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='16.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='17.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='16.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='17.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='18.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='22.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='22.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='25.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='23.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='23.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='23.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='22.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='18.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='14.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='9812...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='109....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='124....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='127....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='118....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='116....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='114....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='127....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='128....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='127....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='127....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='127....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='121....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='115....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='119....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='9808...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='9804...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='109....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='127....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='112....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='121....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='128....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='126....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='116....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='123....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='118....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4406...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-127...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-148...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-156...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-164...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-144...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-127...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-104...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-169...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-176...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-166...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-206...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-199...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-192...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-201...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-184...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-631...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='1564...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='-66"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='-393...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='-691...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='-883...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='-157...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='-220...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='109"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='-420...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='-859...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='-628...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='516"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='1839...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='293"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='1185...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='3946...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='4230...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='3689...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='248"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='430"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='1026...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-526...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-258...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-65"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-489...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-842...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='1082...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='310"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-111...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='3632...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='513"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='214"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='-292...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='-127...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='495"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='1815...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='818"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='1539...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='680"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='712"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='1280...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='397"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='493"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='250"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='785"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-201...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='2156...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='2937...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='2107...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='2824...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='2269...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='1441...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='-297...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='-228...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='-118...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='-964...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='-442...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='261"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1309...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-849...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='178"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='1111...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='2750...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='2769...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='2973...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='1327...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='454"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='199"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='167"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='556"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='416"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-370...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-115...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='93"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-843...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='171"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-646...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-723...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='2665...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='837"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='698"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='1097...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='2649...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-495...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='1165...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='542"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='1871...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='979"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='1210...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-356...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='1654...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='1368...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='1462...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='1612...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='1309...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='1886...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='1136...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='1169...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='1403...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='1316...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-104...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-119...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-160...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-199...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-252...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='585"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='1069...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='1973...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='1831...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='1127...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='1767...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='1343...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='1564...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='849"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='805"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='1093...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='880"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='1254...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='2664...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='1368...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='1009...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='208"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='22"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='1142...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='286"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-116...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='712"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='227"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='236"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='372"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='1441...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='2015...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='1211...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='1284...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='369"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-310...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-802...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='781"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='491"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='1023...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='516"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='2"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='2"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='2274...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='1775...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='1153...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='769"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-846...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-236...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-296...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-251...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-244...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-286...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-227...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-125...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-716...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-148...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-200...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-105...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-978...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-126...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-317...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-266...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-254...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-237...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='1219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-106...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-151...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-128...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-190...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-162...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-778...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-173...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-174...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-187...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-120...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-211...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='1619...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-764...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-827...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='40"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-199...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-967...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-680...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-385...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-241...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='371"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='471"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='61"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-244...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-344...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-386...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-165...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-227...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-413...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-373...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-265...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-328...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-337...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-270...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-797...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-204...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-279...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-193...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-209...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-221...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-267...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-253...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='453"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='-157...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='1143...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='-146...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='-100...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='-140...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='2949...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='2229...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='1022...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='-162...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='-183...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='-211...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='-767...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='-792...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='173"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='776"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='1249...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='-957...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='-911...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='-243...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-65"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-308...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-811...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-806...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-952...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-716...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-191...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-180...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-222...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-227...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-231...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-228...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-186...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-220...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-296...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-449...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-142...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-422...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-365...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-581...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-263...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-325...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-142...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-355...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-310...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='496"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='660"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='1246...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='2889...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='1532...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-143...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-518...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='225"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-166...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-172...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-148...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-151...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-476...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-193...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='128"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='376"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='2872...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='408"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='1923...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='1830...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='1798...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='334"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='1260...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='1815...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='2272...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='262"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-387...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-613...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-251...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-885...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='551"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='48"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-982...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-381...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-441...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='71"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='1020...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='760"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-319...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-114...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='302"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-319...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-582...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='408"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='1031...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1139...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='2082...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-120...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='622"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='456"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-736...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-818...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='1684...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='307"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-801...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-125...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='3308...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='506"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='639"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='1963...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='2867...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-831...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-270...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='2010...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='3408...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='3190...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-187...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-225...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='531"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-823...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='62"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='1079...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='1547...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='900"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='112"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='1780...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='1407...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='298"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='565"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-311...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-657...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='168"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='647"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='1427...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='829"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='-5"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='1197...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='3751...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='2991...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='2801...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-118...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-828...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-799...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='57"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='4601...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='1911...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='799"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-972...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-708...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-790...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-490...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-131...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-825...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-101...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-117...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-35"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='1352...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='1059...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='1290...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='2079...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='3618...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-468...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-247...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-556...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='189"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='260"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='816"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='2489...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='2732...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='2234...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='57"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='1219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='632"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-136...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='38"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-980...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-150...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-211...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-131...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-432...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='309"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='685"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='1692...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='1899...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='3622...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='2709...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='3037...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='2898...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='3251...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='186"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-636...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-421...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-729...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-978...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='2670...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='1255...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-496...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4246...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-431...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-410...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-409...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-398...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-393...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-443...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-532...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-629...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-733...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-754...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-724...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-686...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-645...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-646...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-354...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='-986...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='697"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='776"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='925"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='125"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='456"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='903"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='278"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='27"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='43"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='173"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='947"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='728"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='-452...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='-117...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='23"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='182"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='-152...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='-423...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='-705...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='-790...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-157...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-202...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-172...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-190...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='-741...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='-812...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-891...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='652"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='411"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='516"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='398"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='382"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='470"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='591"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='267"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='770"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='164"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='438"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='-43"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='72"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='249"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='201"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='115"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-425...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='-229...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='-284...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='-247...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='-135...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='-54"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='96"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='16"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='598"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='721"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='818"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='1067...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1245...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-117...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='-721...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='-150...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='-208...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='-255...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='-234...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='-292...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='-271...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='-285...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='-292...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='-280...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='-303...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-401...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-391...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='-341...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-344...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='-256...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-176...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='-465...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='-702...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='-647...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='-676...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='-509...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='-235...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='-317...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='-403...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='-433...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='-465...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-466...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='-457...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='-492...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='-486...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='-389...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='-378...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='-298...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='-309...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-333...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-268...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-252...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='-178...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='-269...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='-393...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='-440...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='-436...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='-469...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='-392...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='-410...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='-418...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='-413...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='-449...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='-388...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='-329...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='-286...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-266...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='-177...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='-181...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='-182...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='-180...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='-159...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='-205...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='-296...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='-483...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-429...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-525...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='-440...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='-432...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='-442...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='-395...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='-686...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='-679...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='-725...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='-673...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-603...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-589...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-606...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-548...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-544...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-533...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-498...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-519...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-683...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-785...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-135...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-133...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-127...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-118...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-123...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-117...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-126...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-118...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='-747...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-812...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-769...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-653...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-617...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-566...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-448...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-426...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-411...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-410...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-451...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='-513...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-603...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-639...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='-589...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-669...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-660...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-615...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-612...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-622...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='-604...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='-600...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='-229...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-254...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-308...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-326...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-226...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-153...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-167...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-960...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-106...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-505...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-536...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-991...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-181...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-257...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-284...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-260...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-292...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-211...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='354"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='438"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='3408...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='3269...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='3655...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='3521...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='5431...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='5560...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='5660...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='5623...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='5896...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='6656...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='6647...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='6733...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='6914...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='6873...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='6691...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='5814...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='5617...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='5608...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-323...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-365...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-344...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-360...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-373...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-599...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-671...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-658...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-676...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-680...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-652...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-617...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-567...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-491...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-491...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-480...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-181...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-183...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-225...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-232...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-268...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-267...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-277...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-268...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-265...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-255...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='-235...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='-231...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='-258...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='-281...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='-318...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-357...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-354...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='-314...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-334...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-313...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-280...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-250...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-249...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='-249...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='-236...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='-351...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='-456...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='-534...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='-605...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='-579...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='-534...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='-597...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='-609...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-677...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-637...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-547...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-538...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='-431...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-405...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-386...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-348...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-311...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-301...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='-294...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='-281...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='-364...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-449...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-579...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='-619...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-617...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-610...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='-621...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='-589...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='-598...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='-563...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-621...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='-578...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='-572...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-553...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-540...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='-387...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-329...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='-168...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='-205...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='-167...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-348...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-391...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='-457...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='-478...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='-469...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-483...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-465...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='-553...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='-586...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='-522...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='-516...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='-525...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='-438...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='-421...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='-401...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='-322...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-331...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-318...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='-297...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='-294...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='-293...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='-357...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='-454...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='-511...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='-573...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='-651...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='-677...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-675...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-636...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-654...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='-627...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='-540...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='-579...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='-564...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-574...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-544...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-544...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-455...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-401...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-348...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-355...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-340...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='-360...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='-402...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='-418...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='-499...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='-581...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='-559...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-152...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-869...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-457...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='-610...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='-575...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='-576...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='-564...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='-524...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='-556...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='-487...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='-461...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-461...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-346...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-356...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-367...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-386...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='-396...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='-388...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='-438...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='-427...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='-396...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='-400...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='-356...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='-387...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='-356...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='-469...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-519...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-521...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-503...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-496...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='-404...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='-370...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-321...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4382...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-110...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-128...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-135...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-142...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-124...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-110...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-909...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-147...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-152...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-143...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-178...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-168...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-174...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-159...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-500...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='1379...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='-45"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='-346...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='-580...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='-752...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='-136...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='-190...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='101"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='-366...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='-740...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='-550...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='432"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='1595...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='275"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='1019...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='3444...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='3629...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='3203...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='215"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='380"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='890"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-446...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-200...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-44"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-424...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-718...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='946"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='276"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-944...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='3129...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='453"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='194"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='-246...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='-122...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='430"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='1582...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='720"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='1333...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='588"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='642"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='1096...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='313"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='374"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='204"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='692"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-196...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='1888...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='2502...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='1840...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='2437...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='1930...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='1219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='-250...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='-197...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='-102...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='-107...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='-388...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='229"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1131...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-726...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='166"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='965"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='2341...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='2354...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='2565...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='1136...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='367"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='173"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='156"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='460"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='358"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-308...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-100...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='93"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-723...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='147"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-551...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-626...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='2316...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='714"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='600"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='953"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='2267...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-403...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='999"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='475"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='1663...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='829"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='1055...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-314...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='1431...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='1201...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='1280...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='1431...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='1145...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='1635...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='957"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='1019...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='1219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='1143...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-893...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-101...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-138...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-182...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-220...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='502"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='940"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='1719...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='1592...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='960"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='1537...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='1177...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='1337...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='737"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='723"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='917"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='794"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='1075...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='2328...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='1192...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='867"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='184"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='12"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='978"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='256"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-100...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='614"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='205"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='195"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='316"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='1241...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='1748...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='1046...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='1099...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='309"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-202...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-722...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='680"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='440"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='870"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='475"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='2"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='1959...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='1506...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='1027...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='677"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-759...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-204...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-255...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-217...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-212...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-248...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-107...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-524...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-136...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-893...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-845...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-114...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-271...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-229...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-220...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-203...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-997...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='1048...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-955...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-133...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-162...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-141...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-671...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-150...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-151...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-103...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-192...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='1397...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-627...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-711...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='20"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-130...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-843...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-642...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-320...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-210...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='295"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='417"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='37"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-210...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-298...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-332...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-143...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-357...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-323...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-228...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-284...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-294...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-234...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-171...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-668...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-176...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-241...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-172...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-183...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-188...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-234...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-217...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='374"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='-132...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='993"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='-150...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='-843...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='-119...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='2577...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='1582...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='909"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='-140...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='-159...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='-186...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='-658...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='-679...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='89"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='680"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='1095...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='-832...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='-785...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='-228...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-40"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-280...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-697...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-697...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-811...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-629...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-140...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-166...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-157...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-192...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-197...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-201...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-200...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-185...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-190...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-251...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-386...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-121...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-365...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-313...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-506...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-232...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-288...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-121...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-310...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-245...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='439"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='609"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='1078...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='2491...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='1327...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-115...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-442...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='203"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-143...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-201...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-149...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-128...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-130...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-409...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-162...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='90"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='319"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='2483...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='357"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='1681...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='1572...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='1575...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='302"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='1076...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='1555...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='1971...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='239"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-351...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-527...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-215...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-782...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='452"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='60"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-848...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-138...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-989...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-325...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-382...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='60"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='884"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='659"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-264...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-990...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='289"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-292...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-542...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='366"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='909"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='992"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='1808...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-104...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='543"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='377"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-619...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-712...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='1459...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='257"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-696...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-108...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='2873...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='421"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='557"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='1696...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='2480...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-707...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-237...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='1730...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='2990...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='2746...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-174...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-194...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='485"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-729...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='70"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='907"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='1297...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='776"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='123"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='1557...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='1208...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='253"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='508"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-274...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-571...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='146"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='567"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='1222...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='733"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='8"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='1041...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='3222...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='2576...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='2422...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-103...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-746...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-661...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='45"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='3983...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='1694...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='709"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-844...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-605...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-661...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-436...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-115...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-716...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-877...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-102...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='1185...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='884"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='1103...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='1789...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='3132...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-403...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-211...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-498...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='174"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='210"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='710"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='2127...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='2386...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='1916...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='1070...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='564"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-118...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='34"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-847...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-131...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-184...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-140...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-372...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='269"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='572"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='1413...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='1586...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='3161...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='2347...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='2627...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='2502...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='2818...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='158"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-545...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-370...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-624...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-847...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='2315...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='1099...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-417...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4222...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-409...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-408...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-396...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-396...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-441...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-535...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-729...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-751...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-735...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-689...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-646...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-632...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-351...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='-963...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='644"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='700"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='942"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='99"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='464"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='912"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='289"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='32"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='46"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='200"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='921"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='744"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='-561...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='-68"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='31"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='142"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='-123...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='-451...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='-729...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='-712...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-158...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-189...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='-827...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='-882...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-899...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='644"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='417"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='524"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='400"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='372"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='484"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='591"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='336"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='741"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='114"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='507"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='-51"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='136"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='334"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='235"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='116"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-417...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='-232...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='-184...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='-219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='-134...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='-51"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='143"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='11"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='600"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='644"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='836"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='1068...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1213...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-135...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='-755...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='-149...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='-201...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='-256...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='-289...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='-278...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='-291...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='-291...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='-283...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='-301...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-409...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-397...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='-337...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-342...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='-255...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-218...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='-477...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='-709...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='-653...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='-653...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='-468...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-211...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='-223...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='-319...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='-408...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='-455...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-462...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='-485...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='-461...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='-481...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='-424...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='-391...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='-380...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='-302...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='-303...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-329...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-268...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-253...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-208...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='-272...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='-401...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='-432...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='-433...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='-472...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='-433...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='-390...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='-411...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='-432...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='-435...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='-389...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='-328...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='-286...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-266...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='-182...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='-178...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='-158...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='-208...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='-288...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='-355...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='-483...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-432...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='-427...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='-435...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='-390...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='-684...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='-684...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='-727...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='-671...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-604...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-587...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-606...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-548...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-543...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-534...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-498...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-519...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-632...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-692...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-788...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-134...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-133...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-128...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-119...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-124...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-116...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-125...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-119...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='-756...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-810...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-767...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-656...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-616...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-566...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-447...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-425...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-412...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-412...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-449...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='-513...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-596...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-635...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='-596...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-661...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-661...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-619...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-623...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='-607...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='-607...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='-239...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-260...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-305...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-333...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-223...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-154...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-167...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-969...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-107...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-481...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-537...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-995...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-181...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-263...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-292...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-259...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-289...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-217...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-209...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='311"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='399"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='3486...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='3357...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='3670...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='3580...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='5398...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='5478...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='5618...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='5659...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='5923...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='6651...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='6654...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='6713...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='6885...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='6893...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='6705...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='5853...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='5545...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='5589...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-321...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-347...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-363...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-372...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-603...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-675...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-664...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-677...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-679...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-659...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-613...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-565...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-491...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-490...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-480...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-197...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-182...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-182...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-227...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-264...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-264...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-274...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-272...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-258...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-254...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='-237...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='-256...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='-278...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='-319...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-358...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-359...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='-312...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-333...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-314...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-280...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-248...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-249...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-217...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='-250...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='-239...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='-346...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='-451...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='-535...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='-591...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='-577...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='-528...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='-538...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='-597...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='-610...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-674...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-553...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-545...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='-463...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-404...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-385...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-351...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-313...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-301...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='-290...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='-282...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='-368...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-450...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-584...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='-619...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-616...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-614...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='-622...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='-593...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='-592...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='-555...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-624...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='-575...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='-577...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-546...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='-454...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='-387...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-329...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='-168...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='-208...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='-204...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='-167...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='-178...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-349...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-408...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='-481...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='-440...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='-462...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-482...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-464...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='-443...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='-555...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='-588...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='-520...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='-520...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='-525...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='-419...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='-399...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='-319...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-332...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-319...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='-296...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='-295...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='-291...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='-456...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='-501...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='-579...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='-660...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='-678...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-673...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-643...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-641...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='-626...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='-537...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='-570...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='-566...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-581...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-549...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-536...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-453...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-400...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-348...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-359...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-357...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-342...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='-406...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='-420...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='-497...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='-584...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='-566...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-151...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-862...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='-632...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='-612...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='-581...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='-580...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='-562...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='-531...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='-554...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='-491...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='-458...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-467...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='-369...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-349...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-358...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-368...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-360...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-368...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-385...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='-392...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='-395...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='-446...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='-425...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='-391...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='-389...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='-353...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='-379...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='-454...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-517...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-503...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-502...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-502...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='-399...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='-355...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-320...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6746...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='2212...', 155) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6738...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0:0:...', 147) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6734...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='7289...', 176) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6730...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0:0:...', 87) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::1...', 258) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::5...', 185) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='6::1...', 186) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='6::1...', 201) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='629:...', 257) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='2289...', 258) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='1954...', 292) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='2.48...', 279) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.00...', 304) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='5016...', 313) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1243...', 68) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='8197...', 288) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='8270...', 280) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='6511...', 268) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='3280...', 278) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='8226...', 56) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 162) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='273:...', 298) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='16::...', 298) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='14::...', 323) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0::0...', 306) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.03...', 294) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0::0...', 223) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0::0...', 28) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1413...', 268) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='303:...', 270) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='5304...', 297) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1514...', 280) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1776...', 61) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::4...', 265) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::8...', 208) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='8::1...', 206) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='8::1...', 222) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='2::4...', 228) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='0::0...', 292) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='4757...', 350) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='3.74...', 307) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0::0...', 234) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='1113...', 339) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='3972...', 63) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1295...', 285) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='3876...', 321) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='6481...', 322) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='7162...', 331) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='5709...', 61) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 157) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='1070...', 279) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='1231...', 208) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0::0...', 237) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.03...', 296) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0::0...', 146) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0::0...', 28) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='9208...', 271) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='0::0...', 25) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1314...', 7, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='2703...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1313...', 7, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='3066...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1313...', 7, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='1576...', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1313...', 7, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='1270...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::1...', 324) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='2226...', 336) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='2243...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='2261...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='2937...', 336) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='3974...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='4804...', 369) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='5025...', 523) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='5025...', 490) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='5944...', 361) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1369...', 78) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1748...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='2118...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='2325...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='2434...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='2668...', 70) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 165) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='2745...', 327) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='5015...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='9659...', 415) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1317...', 573) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1317...', 539) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='1382...', 386) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1443...', 78) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1627...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='1747...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='2013...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='2534...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='3009...', 70) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::4...', 328) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='7309...', 336) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='7346...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='7382...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='8444...', 336) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='9988...', 377) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='2254...', 421) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1520...', 573) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1520...', 540) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='4071...', 386) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='7095...', 78) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='7709...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='8856...', 400) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1085...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1306...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1537...', 79) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 160) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='4546...', 306) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='1353...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='1715...', 374) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1715...', 526) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1715...', 486) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='1715...', 338) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1715...', 68) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='2636...', 367) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='1270...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1270...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1270...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1270...', 70) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3460...', 5, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='6094...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='6116...', 432) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='6117...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='6117...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='6123...', 432) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='6134...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='6142...', 449) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1448...', 572) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1448...', 543) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='6154...', 434) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='6231...', 88) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='6269...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='6306...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='6327...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='6338...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='6361...', 79) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3380...', 5, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='8817...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='8817...', 480) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='8817...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='8817...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='8818...', 480) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='8822...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='8827...', 495) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1111...', 570) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1112...', 552) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='8831...', 482) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='8832...', 98) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='8834...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='8835...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='8838...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='8843...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='8848...', 88) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3340...', 5, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='9437...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='9510...', 432) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='9511...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='9511...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='9522...', 432) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='9537...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='9663...', 449) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='8980...', 518) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='8983...', 507) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='9844...', 466) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1014...', 98) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1020...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='1032...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1052...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1074...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1097...', 88) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3300...', 5, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='3861...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='3861...', 480) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='3861...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='3861...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='3861...', 480) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='3862...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='3862...', 498) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='2297...', 574) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 4) +SAX.endElementNs(device, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(select, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(data, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(electroxml, NULL, NULL) +SAX.endDocument() diff --git a/result/att5 b/result/att5 new file mode 100644 index 0000000..8768e36 --- /dev/null +++ b/result/att5 @@ -0,0 +1,40 @@ + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/result/att5.rde b/result/att5.rde new file mode 100644 index 0000000..35220b0 --- /dev/null +++ b/result/att5.rde @@ -0,0 +1,109 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 no normalization +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 8 #comment 0 1 normalization +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 +1 8 #comment 0 1 PBM serializing back +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/att5.rdr b/result/att5.rdr new file mode 100644 index 0000000..35220b0 --- /dev/null +++ b/result/att5.rdr @@ -0,0 +1,109 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 no normalization +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 1 norm 1 0 +1 14 #text 0 1 + +1 8 #comment 0 1 normalization +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 + +1 1 normId 1 0 +1 14 #text 0 1 +1 8 #comment 0 1 PBM serializing back +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/att5.sax b/result/att5.sax new file mode 100644 index 0000000..49d85fb --- /dev/null +++ b/result/att5.sax @@ -0,0 +1,148 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.attributeDecl(normId, attr, 8, 3, NULL, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.characters( + , 3) +SAX.comment( no normalization ) +SAX.characters( + , 3) +SAX.startElement(norm, attr=' ') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr=' foo bar ') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr=' foobar') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr=' foo bar ') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr='foobar ') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr=' & ') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr=' foo&bar ') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr=' foobar&') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr='&foo bar ') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr='foobar &') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr=' < ') +SAX.endElement(norm) +SAX.characters( + , 3) +SAX.startElement(norm, attr=' foo +...', 0) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo ...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 6) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo ...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 6) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='&...', 5) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo&...', 11) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 11) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='&...', 12) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 12) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='<...', 1) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo<...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr=' + + + pvalue->ReferencedOrder.SellersOrderID + + diff --git a/result/att6.rde b/result/att6.rde new file mode 100644 index 0000000..6d39352 --- /dev/null +++ b/result/att6.rde @@ -0,0 +1,15 @@ +0 1 Invoice 0 0 +1 14 #text 0 1 + +1 1 cat:ReferencedOrder 0 0 +2 14 #text 0 1 + +2 1 cat:SellersOrderID 0 0 +3 3 #text 0 1 pvalue->ReferencedOrder.SellersOrderID +2 15 cat:SellersOrderID 0 0 +2 14 #text 0 1 + +1 15 cat:ReferencedOrder 0 0 +1 14 #text 0 1 + +0 15 Invoice 0 0 diff --git a/result/att6.rdr b/result/att6.rdr new file mode 100644 index 0000000..6d39352 --- /dev/null +++ b/result/att6.rdr @@ -0,0 +1,15 @@ +0 1 Invoice 0 0 +1 14 #text 0 1 + +1 1 cat:ReferencedOrder 0 0 +2 14 #text 0 1 + +2 1 cat:SellersOrderID 0 0 +3 3 #text 0 1 pvalue->ReferencedOrder.SellersOrderID +2 15 cat:SellersOrderID 0 0 +2 14 #text 0 1 + +1 15 cat:ReferencedOrder 0 0 +1 14 #text 0 1 + +0 15 Invoice 0 0 diff --git a/result/att6.sax b/result/att6.sax new file mode 100644 index 0000000..4ab9521 --- /dev/null +++ b/result/att6.sax @@ -0,0 +1,20 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(Invoice, xmlns:ccts='urn:oasis:names:tc:ubl:CoreComponentParameters:1.0:0.70', xmlns:cct='urn:oasis:names:tc:ubl:CoreComponentTypes:1.0:0.70', xmlns:cat='urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70', xmlns='urn:oasis:names:tc:ubl:Invoice:1.0:0.70') +SAX.characters( + , 4) +SAX.startElement(cat:ReferencedOrder) +SAX.characters( + , 7) +SAX.startElement(cat:SellersOrderID, schemeID='pvalue->ReferencedOrder.SellersOrderID.schemeID', schemeAgencyID='pvalue->ReferencedOrder.SellersOrderID.schemeAgencyID', schemeVersionID='pvalue->ReferencedOrder.SellersOrderID.schemeVersionID', schemeAgencySchemeID='pvalue->ReferencedOrder.SellersOrderID.schemeAgencySchemeID', schemeAgencySchemeAgencyID='pvalue->ReferencedOrder.SellersOrderID.schemeAgencySchemeAgencyID', schemeDataURI='pvalue->ReferencedOrder.SellersOrderID.schemeDataURI', schemeURI='pvalue->ReferencedOrder.SellersOrderID.schemeURI', UID='pvalue->ReferencedOrder.SellersOrderID.UID', UIDRef='pvalue->ReferencedOrder.SellersOrderID.UIDRef', UIDRefs='pvalue->ReferencedOrder.SellersOrderID.UIDRefs0', language='pvalue->ReferencedOrder.SellersOrderID.language') +SAX.characters(pvalue-, 7) +SAX.characters(>, 1) +SAX.characters(ReferencedOrder.SellersOrderID, 30) +SAX.endElement(cat:SellersOrderID) +SAX.characters( + , 4) +SAX.endElement(cat:ReferencedOrder) +SAX.characters( +, 1) +SAX.endElement(Invoice) +SAX.endDocument() diff --git a/result/att6.sax2 b/result/att6.sax2 new file mode 100644 index 0000000..54dd6d3 --- /dev/null +++ b/result/att6.sax2 @@ -0,0 +1,20 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(Invoice, NULL, 'urn:oasis:names:tc:ubl:Invoice:1.0:0.70', 4, xmlns:ccts='urn:oasis:names:tc:ubl:CoreComponentParameters:1.0:0.70', xmlns:cct='urn:oasis:names:tc:ubl:CoreComponentTypes:1.0:0.70', xmlns:cat='urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70', xmlns='urn:oasis:names:tc:ubl:Invoice:1.0:0.70', 0, 0) +SAX.characters( + , 4) +SAX.startElementNs(ReferencedOrder, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(SellersOrderID, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70', 0, 11, 0, schemeID='pval...', 47, schemeAgencyID='pval...', 53, schemeVersionID='pval...', 54, schemeAgencySchemeID='pval...', 59, schemeAgencySchemeAgencyID='pval...', 65, schemeDataURI='pval...', 52, schemeURI='pval...', 48, UID='pval...', 42, UIDRef='pval...', 45, UIDRefs='pval...', 47, language='pval...', 47) +SAX.characters(pvalue-, 7) +SAX.characters(>, 1) +SAX.characters(ReferencedOrder.SellersOrderID, 30) +SAX.endElementNs(SellersOrderID, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70') +SAX.characters( + , 4) +SAX.endElementNs(ReferencedOrder, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70') +SAX.characters( +, 1) +SAX.endElementNs(Invoice, NULL, 'urn:oasis:names:tc:ubl:Invoice:1.0:0.70') +SAX.endDocument() diff --git a/result/att7 b/result/att7 new file mode 100644 index 0000000..56d0835 --- /dev/null +++ b/result/att7 @@ -0,0 +1,11 @@ + + + + +"> +]> + + + &test.ent; + diff --git a/result/att7.rde b/result/att7.rde new file mode 100644 index 0000000..afcef5f --- /dev/null +++ b/result/att7.rde @@ -0,0 +1,12 @@ +0 10 x 0 0 +0 1 x 0 0 +1 14 #text 0 1 + +1 1 test 1 0 +1 14 #text 0 1 + +1 1 test 0 0 +1 15 test 0 0 +1 14 #text 0 1 + +0 15 x 0 0 diff --git a/result/att7.rdr b/result/att7.rdr new file mode 100644 index 0000000..47b19b4 --- /dev/null +++ b/result/att7.rdr @@ -0,0 +1,11 @@ +0 10 x 0 0 +0 1 x 0 0 +1 14 #text 0 1 + +1 1 test 1 0 +1 14 #text 0 1 + +1 5 test.ent 0 0 +1 14 #text 0 1 + +0 15 x 0 0 diff --git a/result/att7.sax b/result/att7.sax new file mode 100644 index 0000000..c093279 --- /dev/null +++ b/result/att7.sax @@ -0,0 +1,24 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(x, , ) +SAX.elementDecl(x, 4, ...) +SAX.elementDecl(test, 1, ...) +SAX.attributeDecl(test, att, 1, 1, attvalue, ...) +SAX.entityDecl(test.ent, 1, (null), (null), ) +SAX.getEntity(test.ent) +SAX.externalSubset(x, , ) +SAX.startElement(x) +SAX.characters( + , 5) +SAX.startElement(test) +SAX.endElement(test) +SAX.characters( + , 5) +SAX.getEntity(test.ent) +SAX.startElement(test) +SAX.endElement(test) +SAX.reference(test.ent) +SAX.characters( +, 1) +SAX.endElement(x) +SAX.endDocument() diff --git a/result/att7.sax2 b/result/att7.sax2 new file mode 100644 index 0000000..dc7e2ae --- /dev/null +++ b/result/att7.sax2 @@ -0,0 +1,24 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(x, , ) +SAX.elementDecl(x, 4, ...) +SAX.elementDecl(test, 1, ...) +SAX.attributeDecl(test, att, 1, 1, attvalue, ...) +SAX.entityDecl(test.ent, 1, (null), (null), ) +SAX.getEntity(test.ent) +SAX.externalSubset(x, , ) +SAX.startElementNs(x, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(test, NULL, NULL, 0, 1, 1, att='attv...', 8) +SAX.endElementNs(test, NULL, NULL) +SAX.characters( + , 5) +SAX.getEntity(test.ent) +SAX.startElementNs(test, NULL, NULL, 0, 1, 1, att='attv...', 8) +SAX.endElementNs(test, NULL, NULL) +SAX.reference(test.ent) +SAX.characters( +, 1) +SAX.endElementNs(x, NULL, NULL) +SAX.endDocument() diff --git a/result/att8 b/result/att8 new file mode 100644 index 0000000..1d807a2 --- /dev/null +++ b/result/att8 @@ -0,0 +1,2 @@ + +/bsk:DocPart[@docId='20040308152601345236' and @docPartNo=1]XQL Request processing XQL Request processed diff --git a/result/att8.rde b/result/att8.rde new file mode 100644 index 0000000..52fde32 --- /dev/null +++ b/result/att8.rde @@ -0,0 +1,22 @@ +0 1 ino:response 0 0 +1 1 xql:query 0 0 +2 3 #text 0 1 /bsk:DocPart[@docId='20040308152601345236' and @docPartNo=1] +1 15 xql:query 0 0 +1 1 ino:message 0 0 +2 1 ino:messageline 0 0 +3 3 #text 0 1 XQL Request processing +2 15 ino:messageline 0 0 +1 15 ino:message 0 0 +1 1 xql:result 0 0 +2 1 bsk:DocPart 0 0 +3 1 bsk:File 0 0 +4 14 #text 0 1 +3 15 bsk:File 0 0 +2 15 bsk:DocPart 0 0 +1 15 xql:result 0 0 +1 1 ino:message 0 0 +2 1 ino:messageline 0 0 +3 3 #text 0 1 XQL Request processed +2 15 ino:messageline 0 0 +1 15 ino:message 0 0 +0 15 ino:response 0 0 diff --git a/result/att8.rdr b/result/att8.rdr new file mode 100644 index 0000000..52fde32 --- /dev/null +++ b/result/att8.rdr @@ -0,0 +1,22 @@ +0 1 ino:response 0 0 +1 1 xql:query 0 0 +2 3 #text 0 1 /bsk:DocPart[@docId='20040308152601345236' and @docPartNo=1] +1 15 xql:query 0 0 +1 1 ino:message 0 0 +2 1 ino:messageline 0 0 +3 3 #text 0 1 XQL Request processing +2 15 ino:messageline 0 0 +1 15 ino:message 0 0 +1 1 xql:result 0 0 +2 1 bsk:DocPart 0 0 +3 1 bsk:File 0 0 +4 14 #text 0 1 +3 15 bsk:File 0 0 +2 15 bsk:DocPart 0 0 +1 15 xql:result 0 0 +1 1 ino:message 0 0 +2 1 ino:messageline 0 0 +3 3 #text 0 1 XQL Request processed +2 15 ino:messageline 0 0 +1 15 ino:message 0 0 +0 15 ino:response 0 0 diff --git a/result/att8.sax b/result/att8.sax new file mode 100644 index 0000000..12e378a --- /dev/null +++ b/result/att8.sax @@ -0,0 +1,29 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(ino:response, xmlns:ino='http://namespaces.softwareag.com/tamino/response2', xmlns:xql='http://metalab.unc.edu/xql/', ino:sessionid='556', ino:sessionkey='1590469677') +SAX.startElement(xql:query) +SAX.characters(/bsk:DocPart[@docId=, 20) +SAX.characters(', 1) +SAX.characters(20040308152601345236, 20) +SAX.characters(', 1) +SAX.characters( and @docPartNo=1], 18) +SAX.endElement(xql:query) +SAX.startElement(ino:message, ino:returnvalue='0') +SAX.startElement(ino:messageline) +SAX.characters(XQL Request processing, 22) +SAX.endElement(ino:messageline) +SAX.endElement(ino:message) +SAX.startElement(xql:result) +SAX.startElement(bsk:DocPart, docId='20040308152601345236', docPartNo='1', ino:id='15290', xmlns:bsk='http://www.heitec.net/sara4/tamino/basket') +SAX.startElement(bsk:File, name='4898WPZEO2M65', size='75195') +SAX.characters( , 1) +SAX.endElement(bsk:File) +SAX.endElement(bsk:DocPart) +SAX.endElement(xql:result) +SAX.startElement(ino:message, ino:returnvalue='0') +SAX.startElement(ino:messageline) +SAX.characters(XQL Request processed, 21) +SAX.endElement(ino:messageline) +SAX.endElement(ino:message) +SAX.endElement(ino:response) +SAX.endDocument() diff --git a/result/att8.sax2 b/result/att8.sax2 new file mode 100644 index 0000000..1f2344a --- /dev/null +++ b/result/att8.sax2 @@ -0,0 +1,29 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(response, ino, 'http://namespaces.softwareag.com/tamino/response2', 2, xmlns:ino='http://namespaces.softwareag.com/tamino/response2', xmlns:xql='http://metalab.unc.edu/xql/', 2, 0, ino:sessionid='556"...', 3, ino:sessionkey='1590...', 10) +SAX.startElementNs(query, xql, 'http://metalab.unc.edu/xql/', 0, 0, 0) +SAX.characters(/bsk:DocPart[@docId=, 20) +SAX.characters(', 1) +SAX.characters(20040308152601345236, 20) +SAX.characters(', 1) +SAX.characters( and @docPartNo=1], 18) +SAX.endElementNs(query, xql, 'http://metalab.unc.edu/xql/') +SAX.startElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 1, 0, ino:returnvalue='0"><...', 1) +SAX.startElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 0, 0) +SAX.characters(XQL Request processing, 22) +SAX.endElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.endElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.startElementNs(result, xql, 'http://metalab.unc.edu/xql/', 0, 0, 0) +SAX.startElementNs(DocPart, bsk, 'http://www.heitec.net/sara4/tamino/basket', 1, xmlns:bsk='http://www.heitec.net/sara4/tamino/basket', 3, 0, docId='2004...', 20, docPartNo='1" i...', 1, ino:id='1529...', 5) +SAX.startElementNs(File, bsk, 'http://www.heitec.net/sara4/tamino/basket', 0, 2, 0, name='4898...', 13, size='7519...', 5) +SAX.characters( , 1) +SAX.endElementNs(File, bsk, 'http://www.heitec.net/sara4/tamino/basket') +SAX.endElementNs(DocPart, bsk, 'http://www.heitec.net/sara4/tamino/basket') +SAX.endElementNs(result, xql, 'http://metalab.unc.edu/xql/') +SAX.startElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 1, 0, ino:returnvalue='0"><...', 1) +SAX.startElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 0, 0) +SAX.characters(XQL Request processed, 21) +SAX.endElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.endElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.endElementNs(response, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.endDocument() diff --git a/result/att9 b/result/att9 new file mode 100644 index 0000000..e4982a2 --- /dev/null +++ b/result/att9 @@ -0,0 +1,6 @@ + + + +]> + diff --git a/result/att9.rde b/result/att9.rde new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/result/att9.rde @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/result/att9.rdr b/result/att9.rdr new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/result/att9.rdr @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/result/att9.sax b/result/att9.sax new file mode 100644 index 0000000..0fe14a1 --- /dev/null +++ b/result/att9.sax @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.attributeDecl(doc, a1, 8, 1, 1 2, ...) +SAX.elementDecl(doc, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/att9.sax2 b/result/att9.sax2 new file mode 100644 index 0000000..09b3a04 --- /dev/null +++ b/result/att9.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.attributeDecl(doc, a1, 8, 1, 1 2, ...) +SAX.elementDecl(doc, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 1, 1, a1='1 2...', 3) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/attrib.xml b/result/attrib.xml new file mode 100644 index 0000000..89a1e57 --- /dev/null +++ b/result/attrib.xml @@ -0,0 +1,2 @@ + + diff --git a/result/attrib.xml.rde b/result/attrib.xml.rde new file mode 100644 index 0000000..de6325a --- /dev/null +++ b/result/attrib.xml.rde @@ -0,0 +1 @@ +0 1 item 1 0 diff --git a/result/attrib.xml.rdr b/result/attrib.xml.rdr new file mode 100644 index 0000000..de6325a --- /dev/null +++ b/result/attrib.xml.rdr @@ -0,0 +1 @@ +0 1 item 1 0 diff --git a/result/attrib.xml.sax b/result/attrib.xml.sax new file mode 100644 index 0000000..50ad8e1 --- /dev/null +++ b/result/attrib.xml.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(item, title='Icrontic.com - Warning: Breakdancing midget with tourette's syndrome on-board                                                ', url='http://www.icrontic.com/', first_time='985034339', last_time='985034339', visits='1') +SAX.endElement(item) +SAX.endDocument() diff --git a/result/attrib.xml.sax2 b/result/attrib.xml.sax2 new file mode 100644 index 0000000..c7d2c87 --- /dev/null +++ b/result/attrib.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(item, NULL, NULL, 0, 5, 0, title='Icro...', 173, url='http...', 24, first_time='9850...', 9, last_time='9850...', 9, visits='1"/>...', 1) +SAX.endElementNs(item, NULL, NULL) +SAX.endDocument() diff --git a/result/automata/a b/result/automata/a new file mode 100644 index 0000000..4ece411 --- /dev/null +++ b/result/automata/a @@ -0,0 +1,4 @@ +=> Passed +=> Failed +=> Failed +=> Failed diff --git a/result/automata/aba b/result/automata/aba new file mode 100644 index 0000000..051b9bd --- /dev/null +++ b/result/automata/aba @@ -0,0 +1,6 @@ +=> Passed +=> Passed +=> Passed +=> Failed +=> Failed +=> Failed diff --git a/result/automata/abaa b/result/automata/abaa new file mode 100644 index 0000000..c74769e --- /dev/null +++ b/result/automata/abaa @@ -0,0 +1,5 @@ +=> Passed +=> Passed +=> Passed +=> Failed +=> Failed diff --git a/result/automata/abba b/result/automata/abba new file mode 100644 index 0000000..1a60848 --- /dev/null +++ b/result/automata/abba @@ -0,0 +1,4 @@ +=> Passed +=> Passed +=> Failed +=> Failed diff --git a/result/automata/po b/result/automata/po new file mode 100644 index 0000000..fafcae5 --- /dev/null +++ b/result/automata/po @@ -0,0 +1,2 @@ +=> Passed +=> Passed diff --git a/result/badcomment.xml b/result/badcomment.xml new file mode 100644 index 0000000..6b13c11 --- /dev/null +++ b/result/badcomment.xml @@ -0,0 +1,17 @@ + + +Char* ']]>' Char*)) +']]>' +CDATA sections +| '<!DOCTYPE' +(Char - ('[' | ']'))+ +('[' +simpleDTD* +']')? '>' +doc type declaration +simpleDTD +'<!&como;' +(Char* - +(Char* '&comc;' Char*)) +'&comc;>'--> + diff --git a/result/badcomment.xml.rde b/result/badcomment.xml.rde new file mode 100644 index 0000000..29a3cd1 --- /dev/null +++ b/result/badcomment.xml.rde @@ -0,0 +1,21 @@ +0 1 foo 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 def='NT-Char' +1 8 #comment 0 1 >Char* ']]>' Char*)) +']]>' +CDATA sections +| '<!DOCTYPE' +(Char - ('[' | ']'))+ +('[' +simpleDTD* +']')? '>' +doc type declaration +simpleDTD +'<!&como;' +(Char* - +(Char* '&comc;' Char*)) +'&comc;>' +1 14 #text 0 1 + +0 15 foo 0 0 diff --git a/result/badcomment.xml.rdr b/result/badcomment.xml.rdr new file mode 100644 index 0000000..29a3cd1 --- /dev/null +++ b/result/badcomment.xml.rdr @@ -0,0 +1,21 @@ +0 1 foo 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 def='NT-Char' +1 8 #comment 0 1 >Char* ']]>' Char*)) +']]>' +CDATA sections +| '<!DOCTYPE' +(Char - ('[' | ']'))+ +('[' +simpleDTD* +']')? '>' +doc type declaration +simpleDTD +'<!&como;' +(Char* - +(Char* '&comc;' Char*)) +'&comc;>' +1 14 #text 0 1 + +0 15 foo 0 0 diff --git a/result/badcomment.xml.sax b/result/badcomment.xml.sax new file mode 100644 index 0000000..d409369 --- /dev/null +++ b/result/badcomment.xml.sax @@ -0,0 +1,24 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(foo) +SAX.characters( +, 1) +SAX.comment( def='NT-Char') +SAX.comment(>Char* ']]>' Char*)) +']]>' +CDATA sections +| '<!DOCTYPE' +(Char - ('[' | ']'))+ +('[' +simpleDTD* +']')? '>' +doc type declaration +simpleDTD +'<!&como;' +(Char* - +(Char* '&comc;' Char*)) +'&comc;>') +SAX.characters( +, 1) +SAX.endElement(foo) +SAX.endDocument() diff --git a/result/badcomment.xml.sax2 b/result/badcomment.xml.sax2 new file mode 100644 index 0000000..08e5622 --- /dev/null +++ b/result/badcomment.xml.sax2 @@ -0,0 +1,24 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(foo, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.comment( def='NT-Char') +SAX.comment(>Char* ']]>' Char*)) +']]>' +CDATA sections +| '<!DOCTYPE' +(Char - ('[' | ']'))+ +('[' +simpleDTD* +']')? '>' +doc type declaration +simpleDTD +'<!&como;' +(Char* - +(Char* '&comc;' Char*)) +'&comc;>') +SAX.characters( +, 1) +SAX.endElementNs(foo, NULL, NULL) +SAX.endDocument() diff --git a/result/bigentname.xml b/result/bigentname.xml new file mode 100644 index 0000000..6b7183f --- /dev/null +++ b/result/bigentname.xml @@ -0,0 +1,6 @@ + + + +]> +&WhatHeSaid; diff --git a/result/bigentname.xml.rde b/result/bigentname.xml.rde new file mode 100644 index 0000000..c2d4cc0 --- /dev/null +++ b/result/bigentname.xml.rde @@ -0,0 +1,4 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 3 #text 0 1 He said "Yes" +0 15 doc 0 0 diff --git a/result/bigentname.xml.rdr b/result/bigentname.xml.rdr new file mode 100644 index 0000000..c394a46 --- /dev/null +++ b/result/bigentname.xml.rdr @@ -0,0 +1,4 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 5 WhatHeSaid 0 0 +0 15 doc 0 0 diff --git a/result/bigentname.xml.sax b/result/bigentname.xml.sax new file mode 100644 index 0000000..1ee19ab --- /dev/null +++ b/result/bigentname.xml.sax @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name, 1, (null), (null), "Yes") +SAX.getEntity(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name) +SAX.entityDecl(WhatHeSaid, 1, (null), (null), He said &very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name;) +SAX.getEntity(WhatHeSaid) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.getEntity(WhatHeSaid) +SAX.characters(He said , 8) +SAX.getEntity(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name) +SAX.characters("Yes", 5) +SAX.reference(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name) +SAX.reference(WhatHeSaid) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/bigentname.xml.sax2 b/result/bigentname.xml.sax2 new file mode 100644 index 0000000..c2f72c0 --- /dev/null +++ b/result/bigentname.xml.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name, 1, (null), (null), "Yes") +SAX.getEntity(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name) +SAX.entityDecl(WhatHeSaid, 1, (null), (null), He said &very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name;) +SAX.getEntity(WhatHeSaid) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.getEntity(WhatHeSaid) +SAX.characters(He said , 8) +SAX.getEntity(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name) +SAX.characters("Yes", 5) +SAX.reference(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name) +SAX.reference(WhatHeSaid) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/bigname.xml b/result/bigname.xml new file mode 100644 index 0000000..885fd7c --- /dev/null +++ b/result/bigname.xml @@ -0,0 +1,2 @@ + + diff --git a/result/bigname.xml.rde b/result/bigname.xml.rde new file mode 100644 index 0000000..71284c1 --- /dev/null +++ b/result/bigname.xml.rde @@ -0,0 +1 @@ +0 1 this_is_a_very_large_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name 1 0 diff --git a/result/bigname.xml.rdr b/result/bigname.xml.rdr new file mode 100644 index 0000000..71284c1 --- /dev/null +++ b/result/bigname.xml.rdr @@ -0,0 +1 @@ +0 1 this_is_a_very_large_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name 1 0 diff --git a/result/bigname.xml.sax b/result/bigname.xml.sax new file mode 100644 index 0000000..31945be --- /dev/null +++ b/result/bigname.xml.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(this_is_a_very_large_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name) +SAX.endElement(this_is_a_very_large_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name) +SAX.endDocument() diff --git a/result/bigname.xml.sax2 b/result/bigname.xml.sax2 new file mode 100644 index 0000000..ef939f9 --- /dev/null +++ b/result/bigname.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(this_is_a_very_large_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, NULL, NULL, 0, 0, 0) +SAX.endElementNs(this_is_a_very_large_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, NULL, NULL) +SAX.endDocument() diff --git a/result/bigname2.xml b/result/bigname2.xml new file mode 100644 index 0000000..a48c359 --- /dev/null +++ b/result/bigname2.xml @@ -0,0 +1,2 @@ + + diff --git a/result/bigname2.xml.rde b/result/bigname2.xml.rde new file mode 100644 index 0000000..6de9dd7 --- /dev/null +++ b/result/bigname2.xml.rde @@ -0,0 +1 @@ +0 1 this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix:start_nc_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name 1 0 diff --git a/result/bigname2.xml.rdr b/result/bigname2.xml.rdr new file mode 100644 index 0000000..6de9dd7 --- /dev/null +++ b/result/bigname2.xml.rdr @@ -0,0 +1 @@ +0 1 this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix:start_nc_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name 1 0 diff --git a/result/bigname2.xml.sax b/result/bigname2.xml.sax new file mode 100644 index 0000000..7c353e5 --- /dev/null +++ b/result/bigname2.xml.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix:start_nc_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, xmlns:this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix='http://www.example.com/testns/') +SAX.endElement(this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix:start_nc_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name) +SAX.endDocument() diff --git a/result/bigname2.xml.sax2 b/result/bigname2.xml.sax2 new file mode 100644 index 0000000..6b406f4 --- /dev/null +++ b/result/bigname2.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(start_nc_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix, 'http://www.example.com/testns/', 1, xmlns:this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix='http://www.example.com/testns/', 0, 0) +SAX.endElementNs(start_nc_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix, 'http://www.example.com/testns/') +SAX.endDocument() diff --git a/result/c14n/1-1-without-comments/example-1 b/result/c14n/1-1-without-comments/example-1 new file mode 100755 index 0000000..af9a977 --- /dev/null +++ b/result/c14n/1-1-without-comments/example-1 @@ -0,0 +1,4 @@ + +Hello, world! + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/example-2 b/result/c14n/1-1-without-comments/example-2 new file mode 100755 index 0000000..2afa15c --- /dev/null +++ b/result/c14n/1-1-without-comments/example-2 @@ -0,0 +1,11 @@ + + + A B + + A + + B + A B + C + + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/example-3 b/result/c14n/1-1-without-comments/example-3 new file mode 100755 index 0000000..4c287e6 --- /dev/null +++ b/result/c14n/1-1-without-comments/example-3 @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/example-4 b/result/c14n/1-1-without-comments/example-4 new file mode 100755 index 0000000..19a2559 --- /dev/null +++ b/result/c14n/1-1-without-comments/example-4 @@ -0,0 +1,9 @@ + + First line +Second line + 2 + value>"0" && value<"10" ?"valid":"error" + valid + + + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/example-5 b/result/c14n/1-1-without-comments/example-5 new file mode 100755 index 0000000..c232e74 --- /dev/null +++ b/result/c14n/1-1-without-comments/example-5 @@ -0,0 +1,3 @@ + + Hello, world! + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/example-6 b/result/c14n/1-1-without-comments/example-6 new file mode 100755 index 0000000..0be38f9 --- /dev/null +++ b/result/c14n/1-1-without-comments/example-6 @@ -0,0 +1 @@ +© \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/example-7 b/result/c14n/1-1-without-comments/example-7 new file mode 100755 index 0000000..0a96cc4 --- /dev/null +++ b/result/c14n/1-1-without-comments/example-7 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/example-8 b/result/c14n/1-1-without-comments/example-8 new file mode 100755 index 0000000..eb830e8 --- /dev/null +++ b/result/c14n/1-1-without-comments/example-8 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmlbase-c14n11spec-102 b/result/c14n/1-1-without-comments/xmlbase-c14n11spec-102 new file mode 100644 index 0000000..421d60b --- /dev/null +++ b/result/c14n/1-1-without-comments/xmlbase-c14n11spec-102 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmlbase-c14n11spec2-102 b/result/c14n/1-1-without-comments/xmlbase-c14n11spec2-102 new file mode 100644 index 0000000..eb830e8 --- /dev/null +++ b/result/c14n/1-1-without-comments/xmlbase-c14n11spec2-102 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmlbase-c14n11spec3-102 b/result/c14n/1-1-without-comments/xmlbase-c14n11spec3-102 new file mode 100644 index 0000000..77ef848 --- /dev/null +++ b/result/c14n/1-1-without-comments/xmlbase-c14n11spec3-102 @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmlbase-prop-1 b/result/c14n/1-1-without-comments/xmlbase-prop-1 new file mode 100644 index 0000000..da3a2b6 --- /dev/null +++ b/result/c14n/1-1-without-comments/xmlbase-prop-1 @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmlbase-prop-2 b/result/c14n/1-1-without-comments/xmlbase-prop-2 new file mode 100644 index 0000000..aefa811 --- /dev/null +++ b/result/c14n/1-1-without-comments/xmlbase-prop-2 @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmlbase-prop-3 b/result/c14n/1-1-without-comments/xmlbase-prop-3 new file mode 100644 index 0000000..0757d28 --- /dev/null +++ b/result/c14n/1-1-without-comments/xmlbase-prop-3 @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmlbase-prop-4 b/result/c14n/1-1-without-comments/xmlbase-prop-4 new file mode 100644 index 0000000..0d45839 --- /dev/null +++ b/result/c14n/1-1-without-comments/xmlbase-prop-4 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmlbase-prop-5 b/result/c14n/1-1-without-comments/xmlbase-prop-5 new file mode 100644 index 0000000..95e51d9 --- /dev/null +++ b/result/c14n/1-1-without-comments/xmlbase-prop-5 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmlbase-prop-6 b/result/c14n/1-1-without-comments/xmlbase-prop-6 new file mode 100644 index 0000000..a7b61e3 --- /dev/null +++ b/result/c14n/1-1-without-comments/xmlbase-prop-6 @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmlbase-prop-7 b/result/c14n/1-1-without-comments/xmlbase-prop-7 new file mode 100644 index 0000000..eda3165 --- /dev/null +++ b/result/c14n/1-1-without-comments/xmlbase-prop-7 @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmlid-prop-1 b/result/c14n/1-1-without-comments/xmlid-prop-1 new file mode 100644 index 0000000..2a76c06 --- /dev/null +++ b/result/c14n/1-1-without-comments/xmlid-prop-1 @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmlid-prop-2 b/result/c14n/1-1-without-comments/xmlid-prop-2 new file mode 100644 index 0000000..1dccb8d --- /dev/null +++ b/result/c14n/1-1-without-comments/xmlid-prop-2 @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmllang-prop-1 b/result/c14n/1-1-without-comments/xmllang-prop-1 new file mode 100644 index 0000000..2581a9d --- /dev/null +++ b/result/c14n/1-1-without-comments/xmllang-prop-1 @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmllang-prop-2 b/result/c14n/1-1-without-comments/xmllang-prop-2 new file mode 100644 index 0000000..5add5fa --- /dev/null +++ b/result/c14n/1-1-without-comments/xmllang-prop-2 @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmllang-prop-3 b/result/c14n/1-1-without-comments/xmllang-prop-3 new file mode 100644 index 0000000..e327ebd --- /dev/null +++ b/result/c14n/1-1-without-comments/xmllang-prop-3 @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmllang-prop-4 b/result/c14n/1-1-without-comments/xmllang-prop-4 new file mode 100644 index 0000000..dc192c9 --- /dev/null +++ b/result/c14n/1-1-without-comments/xmllang-prop-4 @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmlspace-prop-1 b/result/c14n/1-1-without-comments/xmlspace-prop-1 new file mode 100644 index 0000000..7c13acc --- /dev/null +++ b/result/c14n/1-1-without-comments/xmlspace-prop-1 @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmlspace-prop-2 b/result/c14n/1-1-without-comments/xmlspace-prop-2 new file mode 100644 index 0000000..5add5fa --- /dev/null +++ b/result/c14n/1-1-without-comments/xmlspace-prop-2 @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmlspace-prop-3 b/result/c14n/1-1-without-comments/xmlspace-prop-3 new file mode 100644 index 0000000..94a1a56 --- /dev/null +++ b/result/c14n/1-1-without-comments/xmlspace-prop-3 @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/result/c14n/1-1-without-comments/xmlspace-prop-4 b/result/c14n/1-1-without-comments/xmlspace-prop-4 new file mode 100644 index 0000000..acbddd4 --- /dev/null +++ b/result/c14n/1-1-without-comments/xmlspace-prop-4 @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-09 b/result/c14n/exc-without-comments/merlin-c14n-two-09 new file mode 100644 index 0000000..279fd6c --- /dev/null +++ b/result/c14n/exc-without-comments/merlin-c14n-two-09 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-10 b/result/c14n/exc-without-comments/merlin-c14n-two-10 new file mode 100644 index 0000000..279fd6c --- /dev/null +++ b/result/c14n/exc-without-comments/merlin-c14n-two-10 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-11 b/result/c14n/exc-without-comments/merlin-c14n-two-11 new file mode 100644 index 0000000..279fd6c --- /dev/null +++ b/result/c14n/exc-without-comments/merlin-c14n-two-11 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-12 b/result/c14n/exc-without-comments/merlin-c14n-two-12 new file mode 100644 index 0000000..cd53346 --- /dev/null +++ b/result/c14n/exc-without-comments/merlin-c14n-two-12 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-13 b/result/c14n/exc-without-comments/merlin-c14n-two-13 new file mode 100644 index 0000000..27fb6e5 --- /dev/null +++ b/result/c14n/exc-without-comments/merlin-c14n-two-13 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-14 b/result/c14n/exc-without-comments/merlin-c14n-two-14 new file mode 100644 index 0000000..27fb6e5 --- /dev/null +++ b/result/c14n/exc-without-comments/merlin-c14n-two-14 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-15 b/result/c14n/exc-without-comments/merlin-c14n-two-15 new file mode 100644 index 0000000..e69de29 diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-16 b/result/c14n/exc-without-comments/merlin-c14n-two-16 new file mode 100644 index 0000000..e69de29 diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-17 b/result/c14n/exc-without-comments/merlin-c14n-two-17 new file mode 100644 index 0000000..27fb6e5 --- /dev/null +++ b/result/c14n/exc-without-comments/merlin-c14n-two-17 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-18 b/result/c14n/exc-without-comments/merlin-c14n-two-18 new file mode 100644 index 0000000..6675391 --- /dev/null +++ b/result/c14n/exc-without-comments/merlin-c14n-two-18 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-19 b/result/c14n/exc-without-comments/merlin-c14n-two-19 new file mode 100644 index 0000000..279fd6c --- /dev/null +++ b/result/c14n/exc-without-comments/merlin-c14n-two-19 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-20 b/result/c14n/exc-without-comments/merlin-c14n-two-20 new file mode 100644 index 0000000..279fd6c --- /dev/null +++ b/result/c14n/exc-without-comments/merlin-c14n-two-20 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-21 b/result/c14n/exc-without-comments/merlin-c14n-two-21 new file mode 100644 index 0000000..cd53346 --- /dev/null +++ b/result/c14n/exc-without-comments/merlin-c14n-two-21 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-22 b/result/c14n/exc-without-comments/merlin-c14n-two-22 new file mode 100644 index 0000000..27fb6e5 --- /dev/null +++ b/result/c14n/exc-without-comments/merlin-c14n-two-22 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-23 b/result/c14n/exc-without-comments/merlin-c14n-two-23 new file mode 100644 index 0000000..27fb6e5 --- /dev/null +++ b/result/c14n/exc-without-comments/merlin-c14n-two-23 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-24 b/result/c14n/exc-without-comments/merlin-c14n-two-24 new file mode 100644 index 0000000..162c746 --- /dev/null +++ b/result/c14n/exc-without-comments/merlin-c14n-two-24 @@ -0,0 +1 @@ + xmlns="http://example.org/" xmlns="http://example.org/" xmlns="http://example.org/" xmlns="http://example.org/" xmlns="http://example.org/" \ No newline at end of file diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-25 b/result/c14n/exc-without-comments/merlin-c14n-two-25 new file mode 100644 index 0000000..e69de29 diff --git a/result/c14n/exc-without-comments/merlin-c14n-two-26 b/result/c14n/exc-without-comments/merlin-c14n-two-26 new file mode 100644 index 0000000..1f7eb6e --- /dev/null +++ b/result/c14n/exc-without-comments/merlin-c14n-two-26 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/exc-without-comments/test-0 b/result/c14n/exc-without-comments/test-0 new file mode 100644 index 0000000..3806ea0 --- /dev/null +++ b/result/c14n/exc-without-comments/test-0 @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/result/c14n/exc-without-comments/test-1 b/result/c14n/exc-without-comments/test-1 new file mode 100644 index 0000000..bd5930f --- /dev/null +++ b/result/c14n/exc-without-comments/test-1 @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/result/c14n/exc-without-comments/test-2 b/result/c14n/exc-without-comments/test-2 new file mode 100644 index 0000000..0b8a0cb --- /dev/null +++ b/result/c14n/exc-without-comments/test-2 @@ -0,0 +1,11 @@ + + + + + + + + + sj1VXDB2VMCU5qmva2OtDw3kKOs= + + \ No newline at end of file diff --git a/result/c14n/with-comments/example-1 b/result/c14n/with-comments/example-1 new file mode 100644 index 0000000..d98d168 --- /dev/null +++ b/result/c14n/with-comments/example-1 @@ -0,0 +1,6 @@ + +Hello, world! + + + \ No newline at end of file diff --git a/result/c14n/with-comments/example-2 b/result/c14n/with-comments/example-2 new file mode 100644 index 0000000..2afa15c --- /dev/null +++ b/result/c14n/with-comments/example-2 @@ -0,0 +1,11 @@ + + + A B + + A + + B + A B + C + + \ No newline at end of file diff --git a/result/c14n/with-comments/example-3 b/result/c14n/with-comments/example-3 new file mode 100644 index 0000000..4c287e6 --- /dev/null +++ b/result/c14n/with-comments/example-3 @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/with-comments/example-4 b/result/c14n/with-comments/example-4 new file mode 100644 index 0000000..19a2559 --- /dev/null +++ b/result/c14n/with-comments/example-4 @@ -0,0 +1,9 @@ + + First line +Second line + 2 + value>"0" && value<"10" ?"valid":"error" + valid + + + \ No newline at end of file diff --git a/result/c14n/with-comments/example-5 b/result/c14n/with-comments/example-5 new file mode 100644 index 0000000..457d402 --- /dev/null +++ b/result/c14n/with-comments/example-5 @@ -0,0 +1,4 @@ + + Hello, world! + + \ No newline at end of file diff --git a/result/c14n/with-comments/example-6 b/result/c14n/with-comments/example-6 new file mode 100644 index 0000000..0be38f9 --- /dev/null +++ b/result/c14n/with-comments/example-6 @@ -0,0 +1 @@ +© \ No newline at end of file diff --git a/result/c14n/with-comments/example-7 b/result/c14n/with-comments/example-7 new file mode 100644 index 0000000..0a96cc4 --- /dev/null +++ b/result/c14n/with-comments/example-7 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/result/c14n/without-comments/example-1 b/result/c14n/without-comments/example-1 new file mode 100644 index 0000000..af9a977 --- /dev/null +++ b/result/c14n/without-comments/example-1 @@ -0,0 +1,4 @@ + +Hello, world! + \ No newline at end of file diff --git a/result/c14n/without-comments/example-2 b/result/c14n/without-comments/example-2 new file mode 100644 index 0000000..2afa15c --- /dev/null +++ b/result/c14n/without-comments/example-2 @@ -0,0 +1,11 @@ + + + A B + + A + + B + A B + C + + \ No newline at end of file diff --git a/result/c14n/without-comments/example-3 b/result/c14n/without-comments/example-3 new file mode 100644 index 0000000..4c287e6 --- /dev/null +++ b/result/c14n/without-comments/example-3 @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/without-comments/example-4 b/result/c14n/without-comments/example-4 new file mode 100644 index 0000000..19a2559 --- /dev/null +++ b/result/c14n/without-comments/example-4 @@ -0,0 +1,9 @@ + + First line +Second line + 2 + value>"0" && value<"10" ?"valid":"error" + valid + + + \ No newline at end of file diff --git a/result/c14n/without-comments/example-5 b/result/c14n/without-comments/example-5 new file mode 100644 index 0000000..c232e74 --- /dev/null +++ b/result/c14n/without-comments/example-5 @@ -0,0 +1,3 @@ + + Hello, world! + \ No newline at end of file diff --git a/result/c14n/without-comments/example-6 b/result/c14n/without-comments/example-6 new file mode 100644 index 0000000..0be38f9 --- /dev/null +++ b/result/c14n/without-comments/example-6 @@ -0,0 +1 @@ +© \ No newline at end of file diff --git a/result/c14n/without-comments/example-7 b/result/c14n/without-comments/example-7 new file mode 100644 index 0000000..0a96cc4 --- /dev/null +++ b/result/c14n/without-comments/example-7 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/result/c14n/without-comments/merlin-c14n-two-00 b/result/c14n/without-comments/merlin-c14n-two-00 new file mode 100644 index 0000000..2ca2b30 --- /dev/null +++ b/result/c14n/without-comments/merlin-c14n-two-00 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/without-comments/merlin-c14n-two-01 b/result/c14n/without-comments/merlin-c14n-two-01 new file mode 100644 index 0000000..be42edf --- /dev/null +++ b/result/c14n/without-comments/merlin-c14n-two-01 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/without-comments/merlin-c14n-two-02 b/result/c14n/without-comments/merlin-c14n-two-02 new file mode 100644 index 0000000..be42edf --- /dev/null +++ b/result/c14n/without-comments/merlin-c14n-two-02 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/without-comments/merlin-c14n-two-03 b/result/c14n/without-comments/merlin-c14n-two-03 new file mode 100644 index 0000000..170354a --- /dev/null +++ b/result/c14n/without-comments/merlin-c14n-two-03 @@ -0,0 +1,9 @@ + + xmlns:foo="http://example.org/foo" + + xmlns:foo="http://example.org/foo" + + + + + \ No newline at end of file diff --git a/result/c14n/without-comments/merlin-c14n-two-04 b/result/c14n/without-comments/merlin-c14n-two-04 new file mode 100644 index 0000000..185cbf3 --- /dev/null +++ b/result/c14n/without-comments/merlin-c14n-two-04 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/without-comments/merlin-c14n-two-05 b/result/c14n/without-comments/merlin-c14n-two-05 new file mode 100644 index 0000000..185cbf3 --- /dev/null +++ b/result/c14n/without-comments/merlin-c14n-two-05 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/without-comments/merlin-c14n-two-06 b/result/c14n/without-comments/merlin-c14n-two-06 new file mode 100644 index 0000000..bb45d0b --- /dev/null +++ b/result/c14n/without-comments/merlin-c14n-two-06 @@ -0,0 +1 @@ + xmlns="http://example.org/" xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" \ No newline at end of file diff --git a/result/c14n/without-comments/merlin-c14n-two-07 b/result/c14n/without-comments/merlin-c14n-two-07 new file mode 100644 index 0000000..c42ffc1 --- /dev/null +++ b/result/c14n/without-comments/merlin-c14n-two-07 @@ -0,0 +1 @@ + xmlns:bar="http://example.org/bar" xmlns:foo="http://example.org/foo" xmlns:bar="http://example.org/bar" xmlns:foo="http://example.org/foo" xmlns:baz="http://example.org/baz" \ No newline at end of file diff --git a/result/c14n/without-comments/merlin-c14n-two-08 b/result/c14n/without-comments/merlin-c14n-two-08 new file mode 100644 index 0000000..4f5bbb4 --- /dev/null +++ b/result/c14n/without-comments/merlin-c14n-two-08 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/result/c14n/without-comments/test-0 b/result/c14n/without-comments/test-0 new file mode 100644 index 0000000..013de33 --- /dev/null +++ b/result/c14n/without-comments/test-0 @@ -0,0 +1 @@ +I am the text. \ No newline at end of file diff --git a/result/c14n/without-comments/test-1 b/result/c14n/without-comments/test-1 new file mode 100644 index 0000000..0150f4a --- /dev/null +++ b/result/c14n/without-comments/test-1 @@ -0,0 +1,31 @@ + + + CN=Merlin Hughes,O=Baltimore Technologies\, Ltd.,ST=Dublin,C=IE + + + + CN=Test DSA CA,O=Baltimore Technologies\, Ltd.,ST=Dublin,C=IE + + 970849936 + + + MIIDNzCCAvWgAwIBAgIEOd3+kDAJBgcqhkjOOAQDMFsxCzAJBgNVBAYTAklFMQ8w + DQYDVQQIEwZEdWJsaW4xJTAjBgNVBAoTHEJhbHRpbW9yZSBUZWNobm9sb2dpZXMs + IEx0ZC4xFDASBgNVBAMTC1Rlc3QgRFNBIENBMB4XDTAwMTAwNjE2MzIxNVoXDTAx + MTAwNjE2MzIxNFowXTELMAkGA1UEBhMCSUUxDzANBgNVBAgTBkR1YmxpbjElMCMG + A1UEChMcQmFsdGltb3JlIFRlY2hub2xvZ2llcywgTHRkLjEWMBQGA1UEAxMNTWVy + bGluIEh1Z2hlczCCAbYwggErBgcqhkjOOAQBMIIBHgKBgQDaJjfDTrawMHf8MiUt + Y54b37hSmYNnR3KpGT10uU1Dqppcju06uN0iGbqf947DjkBC25hKnqykK31xBw0E + CPbYq/KC98kghdf2xJCu6B8aqJ95K9jdVflJ3WP7PQxJn+fmM23zy6HYLXVICpfq + etdNj/VHCShZE3bdJiE6VobSFQIVAPQecqS2PaTDprcQnkwx4MHTRXhrAoGAMuGA + lqeB1ax+vyO2+Osubjhl7pHxLu47RIH+/M52DjESA9KMSrwzsYx8yNR2WooByrE0 + t6fu0VncK7UK8olO4t7wpv2z4AFQPRVCKFwo0qgn5aKIkICGMlrRy81avb27wGcW + othx3iPPMtFXtoDqK0JItaI9R8zc1msFhM1GKMYDgYQAAoGActA8YGxrtngg/zKV + vqEOefnwmViFztcnPBYPlJsvh6yKI4iDm68fnp4Mi3RrJ6bZAygFrUIQLxLjV+OJ + tgJAEto0xAs+Mehuq1DkSFEpP3oDzCTOsrOiS1DwQe4oIb7zVk/9l7aPtJMHW0LV + lMdwZNFNNJoqMcT2ZfCPrfvYvQ2jRzBFMB4GA1UdEQQXMBWBE21lcmxpbkBiYWx0 + aW1vcmUuaWUwDgYDVR0PAQH/BAQDAgeAMBMGA1UdIwQMMAqACEJZQG0KwRbPMAkG + ByqGSM44BAMDMQAwLgIVAK4skWEFYgrggaJA8vYAwSjg12+KAhUAwHTo7wd4tENw + 9LAKPklQ/74fH18= + + \ No newline at end of file diff --git a/result/c14n/without-comments/test-2 b/result/c14n/without-comments/test-2 new file mode 100644 index 0000000..c829481 --- /dev/null +++ b/result/c14n/without-comments/test-2 @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/result/c14n/without-comments/test-3 b/result/c14n/without-comments/test-3 new file mode 100644 index 0000000..318cb19 --- /dev/null +++ b/result/c14n/without-comments/test-3 @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/result/catalogs/catal b/result/catalogs/catal new file mode 100644 index 0000000..52b2afe --- /dev/null +++ b/result/catalogs/catal @@ -0,0 +1,5 @@ +> test/catalogs/calstblx.dtd +> test/catalogs/docbook.dtd +> test/catalogs/soextblx.dtd +> test/catalogs/dbgenent.mod +> \ No newline at end of file diff --git a/result/catalogs/docbook b/result/catalogs/docbook new file mode 100644 index 0000000..804005d --- /dev/null +++ b/result/catalogs/docbook @@ -0,0 +1,6 @@ +> /usr/share/xml/docbook/xml/4.1.2/dbpoolx.mod +> http://www.oasis-open.org/docbook/xml/4.1.2/dbcentx.mod +> http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd +> http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd +> file:///usr/share/xml/toto/toto.dtd +> \ No newline at end of file diff --git a/result/catalogs/mycatalog.empty b/result/catalogs/mycatalog.empty new file mode 100644 index 0000000..84f482e --- /dev/null +++ b/result/catalogs/mycatalog.empty @@ -0,0 +1,3 @@ + + + diff --git a/result/catalogs/mycatalog.full b/result/catalogs/mycatalog.full new file mode 100644 index 0000000..5ee1ccf --- /dev/null +++ b/result/catalogs/mycatalog.full @@ -0,0 +1,7 @@ + + + + + + + diff --git a/result/catalogs/registry b/result/catalogs/registry new file mode 100644 index 0000000..e035c55 --- /dev/null +++ b/result/catalogs/registry @@ -0,0 +1,5 @@ +> /usr/share/xml/docbook/xml/4.1.2/dbpoolx.mod +> http://www.oasis-open.org/docbook/xml/4.1.2/dbcentx.mod +> /usr/share/xml/docbook/xml/4.1.2/dbpoolx.mod +> http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd +> \ No newline at end of file diff --git a/result/catalogs/whites b/result/catalogs/whites new file mode 100644 index 0000000..52b2afe --- /dev/null +++ b/result/catalogs/whites @@ -0,0 +1,5 @@ +> test/catalogs/calstblx.dtd +> test/catalogs/docbook.dtd +> test/catalogs/soextblx.dtd +> test/catalogs/dbgenent.mod +> \ No newline at end of file diff --git a/result/catalogs/whitex b/result/catalogs/whitex new file mode 100644 index 0000000..b02bcc6 --- /dev/null +++ b/result/catalogs/whitex @@ -0,0 +1,8 @@ +> /usr/share/xml/docbook/xml/4.1.2/dbpoolx.mod +> http://www.oasis-open.org/docbook/xml/4.1.2/dbcentx.mod +> http://www.oasis-open.org/docbook/xml/4.1.2/dbcentx.mod +> http://www.oasis-open.org/docbook/xml/4.1.2/dbcentx.mod +> http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd +> http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd +> file:///usr/share/xml/toto/toto.dtd +> \ No newline at end of file diff --git a/result/cdata b/result/cdata new file mode 100644 index 0000000..180ea46 --- /dev/null +++ b/result/cdata @@ -0,0 +1,4 @@ + + +Hello, world!]]> + diff --git a/result/cdata-2-byte-UTF-8.xml b/result/cdata-2-byte-UTF-8.xml new file mode 100644 index 0000000..8552efc --- /dev/null +++ b/result/cdata-2-byte-UTF-8.xml @@ -0,0 +1,6 @@ + + + +

    +

    +
    diff --git a/result/cdata-2-byte-UTF-8.xml.rde b/result/cdata-2-byte-UTF-8.xml.rde new file mode 100644 index 0000000..2eb2940 --- /dev/null +++ b/result/cdata-2-byte-UTF-8.xml.rde @@ -0,0 +1,15 @@ +0 8 #comment 0 1 This tests that two-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 ČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČ +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 ČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČ +1 15 p 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/cdata-2-byte-UTF-8.xml.rdr b/result/cdata-2-byte-UTF-8.xml.rdr new file mode 100644 index 0000000..2eb2940 --- /dev/null +++ b/result/cdata-2-byte-UTF-8.xml.rdr @@ -0,0 +1,15 @@ +0 8 #comment 0 1 This tests that two-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 ČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČ +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 ČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČČ +1 15 p 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/cdata-2-byte-UTF-8.xml.sax b/result/cdata-2-byte-UTF-8.xml.sax new file mode 100644 index 0000000..f397f6a --- /dev/null +++ b/result/cdata-2-byte-UTF-8.xml.sax @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This tests that two-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). ) +SAX.startElement(doc) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.pcdata(ČČČČČČČČČČ, 1200) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.pcdata( ČČČČČČČČČ, 1201) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/cdata-2-byte-UTF-8.xml.sax2 b/result/cdata-2-byte-UTF-8.xml.sax2 new file mode 100644 index 0000000..2da2d50 --- /dev/null +++ b/result/cdata-2-byte-UTF-8.xml.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This tests that two-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata(ČČČČČČČČČČ, 1200) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( ČČČČČČČČČ, 1201) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/cdata-3-byte-UTF-8.xml b/result/cdata-3-byte-UTF-8.xml new file mode 100644 index 0000000..b959a12 --- /dev/null +++ b/result/cdata-3-byte-UTF-8.xml @@ -0,0 +1,7 @@ + + + +

    +

    +

    +
    diff --git a/result/cdata-3-byte-UTF-8.xml.rde b/result/cdata-3-byte-UTF-8.xml.rde new file mode 100644 index 0000000..3f4d1c5 --- /dev/null +++ b/result/cdata-3-byte-UTF-8.xml.rde @@ -0,0 +1,20 @@ +0 8 #comment 0 1 This tests that three-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛 +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛 +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛 +1 15 p 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/cdata-3-byte-UTF-8.xml.rdr b/result/cdata-3-byte-UTF-8.xml.rdr new file mode 100644 index 0000000..3f4d1c5 --- /dev/null +++ b/result/cdata-3-byte-UTF-8.xml.rdr @@ -0,0 +1,20 @@ +0 8 #comment 0 1 This tests that three-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛 +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛 +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛 +1 15 p 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/cdata-3-byte-UTF-8.xml.sax b/result/cdata-3-byte-UTF-8.xml.sax new file mode 100644 index 0000000..2f73e7c --- /dev/null +++ b/result/cdata-3-byte-UTF-8.xml.sax @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This tests that three-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). ) +SAX.startElement(doc) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.pcdata(牛牛牛牛牛牛, 1200) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.pcdata( 牛牛牛牛牛牛, 1201) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.pcdata( 牛牛牛牛牛牛, 1202) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/cdata-3-byte-UTF-8.xml.sax2 b/result/cdata-3-byte-UTF-8.xml.sax2 new file mode 100644 index 0000000..3969579 --- /dev/null +++ b/result/cdata-3-byte-UTF-8.xml.sax2 @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This tests that three-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata(牛牛牛牛牛牛, 1200) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( 牛牛牛牛牛牛, 1201) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( 牛牛牛牛牛牛, 1202) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/cdata-4-byte-UTF-8.xml b/result/cdata-4-byte-UTF-8.xml new file mode 100644 index 0000000..4d1d9a8 --- /dev/null +++ b/result/cdata-4-byte-UTF-8.xml @@ -0,0 +1,8 @@ + + + +

    +

    +

    +

    +
    diff --git a/result/cdata-4-byte-UTF-8.xml.rde b/result/cdata-4-byte-UTF-8.xml.rde new file mode 100644 index 0000000..437b79e --- /dev/null +++ b/result/cdata-4-byte-UTF-8.xml.rde @@ -0,0 +1,25 @@ +0 8 #comment 0 1 This tests that four-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦 +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦 +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦 +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦 +1 15 p 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/cdata-4-byte-UTF-8.xml.rdr b/result/cdata-4-byte-UTF-8.xml.rdr new file mode 100644 index 0000000..437b79e --- /dev/null +++ b/result/cdata-4-byte-UTF-8.xml.rdr @@ -0,0 +1,25 @@ +0 8 #comment 0 1 This tests that four-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦 +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦 +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦 +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 4 #cdata-section 0 1 🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦🍦 +1 15 p 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/cdata-4-byte-UTF-8.xml.sax b/result/cdata-4-byte-UTF-8.xml.sax new file mode 100644 index 0000000..d8abcfb --- /dev/null +++ b/result/cdata-4-byte-UTF-8.xml.sax @@ -0,0 +1,28 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This tests that four-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). ) +SAX.startElement(doc) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.pcdata(🍦🍦🍦🍦🍦, 1200) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.pcdata( 🍦🍦🍦🍦, 1201) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.pcdata( 🍦🍦🍦🍦, 1202) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.pcdata( 🍦🍦🍦🍦, 1203) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/cdata-4-byte-UTF-8.xml.sax2 b/result/cdata-4-byte-UTF-8.xml.sax2 new file mode 100644 index 0000000..5e07d83 --- /dev/null +++ b/result/cdata-4-byte-UTF-8.xml.sax2 @@ -0,0 +1,28 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This tests that four-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata(🍦🍦🍦🍦🍦, 1200) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( 🍦🍦🍦🍦, 1201) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( 🍦🍦🍦🍦, 1202) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( 🍦🍦🍦🍦, 1203) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/cdata.rde b/result/cdata.rde new file mode 100644 index 0000000..316b8bf --- /dev/null +++ b/result/cdata.rde @@ -0,0 +1,7 @@ +0 1 doc 0 0 +1 14 #text 0 1 + +1 4 #cdata-section 0 1 Hello, world! +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/cdata.rdr b/result/cdata.rdr new file mode 100644 index 0000000..316b8bf --- /dev/null +++ b/result/cdata.rdr @@ -0,0 +1,7 @@ +0 1 doc 0 0 +1 14 #text 0 1 + +1 4 #cdata-section 0 1 Hello, world! +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/cdata.sax b/result/cdata.sax new file mode 100644 index 0000000..f917f99 --- /dev/null +++ b/result/cdata.sax @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(doc) +SAX.characters( +, 1) +SAX.pcdata(Hello, wor, 34) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/cdata.sax2 b/result/cdata.sax2 new file mode 100644 index 0000000..117b2b0 --- /dev/null +++ b/result/cdata.sax2 @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.pcdata(Hello, wor, 34) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/cdata2 b/result/cdata2 new file mode 100644 index 0000000..b4db791 --- /dev/null +++ b/result/cdata2 @@ -0,0 +1,6 @@ + + + ]> + diff --git a/result/cdata2.rde b/result/cdata2.rde new file mode 100644 index 0000000..e69a672 --- /dev/null +++ b/result/cdata2.rde @@ -0,0 +1,13 @@ +0 1 collection 0 0 +1 14 #text 0 1 + +1 1 test 0 0 +2 4 #cdata-section 0 1 + +2 4 #cdata-section 0 1 + +1 15 test 0 0 +1 14 #text 0 1 + +0 15 collection 0 0 diff --git a/result/cdata2.rdr b/result/cdata2.rdr new file mode 100644 index 0000000..e69a672 --- /dev/null +++ b/result/cdata2.rdr @@ -0,0 +1,13 @@ +0 1 collection 0 0 +1 14 #text 0 1 + +1 1 test 0 0 +2 4 #cdata-section 0 1 + +2 4 #cdata-section 0 1 + +1 15 test 0 0 +1 14 #text 0 1 + +0 15 collection 0 0 diff --git a/result/cdata2.sax b/result/cdata2.sax new file mode 100644 index 0000000..7fcc863 --- /dev/null +++ b/result/cdata2.sax @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(collection) +SAX.characters( + , 3) +SAX.startElement(test) +SAX.pcdata( + , 1) +SAX.pcdata( + , 3) +SAX.endElement(test) +SAX.characters( +, 1) +SAX.endElement(collection) +SAX.endDocument() diff --git a/result/cdata2.sax2 b/result/cdata2.sax2 new file mode 100644 index 0000000..d1420e9 --- /dev/null +++ b/result/cdata2.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(collection, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(test, NULL, NULL, 0, 0, 0) +SAX.pcdata( + , 1) +SAX.pcdata( + , 3) +SAX.endElementNs(test, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(collection, NULL, NULL) +SAX.endDocument() diff --git a/result/comment.xml b/result/comment.xml new file mode 100644 index 0000000..98c5eff --- /dev/null +++ b/result/comment.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/result/comment.xml.rde b/result/comment.xml.rde new file mode 100644 index 0000000..9551ced --- /dev/null +++ b/result/comment.xml.rde @@ -0,0 +1,13 @@ +0 1 doc 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 document start +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +1 8 #comment 0 1 document end +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/comment.xml.rdr b/result/comment.xml.rdr new file mode 100644 index 0000000..9551ced --- /dev/null +++ b/result/comment.xml.rdr @@ -0,0 +1,13 @@ +0 1 doc 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 document start +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +1 8 #comment 0 1 document end +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/comment.xml.sax b/result/comment.xml.sax new file mode 100644 index 0000000..d969036 --- /dev/null +++ b/result/comment.xml.sax @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(doc) +SAX.characters( +, 1) +SAX.comment( document start ) +SAX.characters( +, 1) +SAX.startElement(empty) +SAX.endElement(empty) +SAX.characters( +, 1) +SAX.comment( document end ) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/comment.xml.sax2 b/result/comment.xml.sax2 new file mode 100644 index 0000000..da57f50 --- /dev/null +++ b/result/comment.xml.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.comment( document start ) +SAX.characters( +, 1) +SAX.startElementNs(empty, NULL, NULL, 0, 0, 0) +SAX.endElementNs(empty, NULL, NULL) +SAX.characters( +, 1) +SAX.comment( document end ) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/comment2.xml b/result/comment2.xml new file mode 100644 index 0000000..9e122ec --- /dev/null +++ b/result/comment2.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/result/comment2.xml.rde b/result/comment2.xml.rde new file mode 100644 index 0000000..4a3279d --- /dev/null +++ b/result/comment2.xml.rde @@ -0,0 +1,9 @@ +0 8 #comment 0 1 document start +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +0 15 doc 0 0 +0 8 #comment 0 1 document end diff --git a/result/comment2.xml.rdr b/result/comment2.xml.rdr new file mode 100644 index 0000000..4a3279d --- /dev/null +++ b/result/comment2.xml.rdr @@ -0,0 +1,9 @@ +0 8 #comment 0 1 document start +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +0 15 doc 0 0 +0 8 #comment 0 1 document end diff --git a/result/comment2.xml.sax b/result/comment2.xml.sax new file mode 100644 index 0000000..bffd7e1 --- /dev/null +++ b/result/comment2.xml.sax @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( document start ) +SAX.startElement(doc) +SAX.characters( +, 1) +SAX.startElement(empty) +SAX.endElement(empty) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.comment( document end ) +SAX.endDocument() diff --git a/result/comment2.xml.sax2 b/result/comment2.xml.sax2 new file mode 100644 index 0000000..a286744 --- /dev/null +++ b/result/comment2.xml.sax2 @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( document start ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(empty, NULL, NULL, 0, 0, 0) +SAX.endElementNs(empty, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.comment( document end ) +SAX.endDocument() diff --git a/result/comment3.xml b/result/comment3.xml new file mode 100644 index 0000000..395f67c --- /dev/null +++ b/result/comment3.xml @@ -0,0 +1,164 @@ + + + diff --git a/result/comment3.xml.rde b/result/comment3.xml.rde new file mode 100644 index 0000000..519b8d0 --- /dev/null +++ b/result/comment3.xml.rde @@ -0,0 +1,163 @@ +0 8 #comment 0 1 test of very very long comments and buffer limits +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 + +0 1 doc 1 0 diff --git a/result/comment3.xml.rdr b/result/comment3.xml.rdr new file mode 100644 index 0000000..519b8d0 --- /dev/null +++ b/result/comment3.xml.rdr @@ -0,0 +1,163 @@ +0 8 #comment 0 1 test of very very long comments and buffer limits +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 + +0 1 doc 1 0 diff --git a/result/comment3.xml.sax b/result/comment3.xml.sax new file mode 100644 index 0000000..82b8b36 --- /dev/null +++ b/result/comment3.xml.sax @@ -0,0 +1,167 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( test of very very long comments and buffer limits +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +) +SAX.startElement(doc) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/comment3.xml.sax2 b/result/comment3.xml.sax2 new file mode 100644 index 0000000..a5f1fd6 --- /dev/null +++ b/result/comment3.xml.sax2 @@ -0,0 +1,167 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( test of very very long comments and buffer limits +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/comment4.xml b/result/comment4.xml new file mode 100644 index 0000000..93282d8 --- /dev/null +++ b/result/comment4.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/result/comment4.xml.rde b/result/comment4.xml.rde new file mode 100644 index 0000000..09e181b --- /dev/null +++ b/result/comment4.xml.rde @@ -0,0 +1,4 @@ +0 8 #comment 0 1 test of non ascii comments like là et très +0 8 #comment 0 1 à another one +0 8 #comment 0 1 another one à +0 1 doc 1 0 diff --git a/result/comment4.xml.rdr b/result/comment4.xml.rdr new file mode 100644 index 0000000..09e181b --- /dev/null +++ b/result/comment4.xml.rdr @@ -0,0 +1,4 @@ +0 8 #comment 0 1 test of non ascii comments like là et très +0 8 #comment 0 1 à another one +0 8 #comment 0 1 another one à +0 1 doc 1 0 diff --git a/result/comment4.xml.sax b/result/comment4.xml.sax new file mode 100644 index 0000000..26011d9 --- /dev/null +++ b/result/comment4.xml.sax @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( test of non ascii comments like là et très ) +SAX.comment(à another one ) +SAX.comment( another one à) +SAX.startElement(doc) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/comment4.xml.sax2 b/result/comment4.xml.sax2 new file mode 100644 index 0000000..0e2611f --- /dev/null +++ b/result/comment4.xml.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( test of non ascii comments like là et très ) +SAX.comment(à another one ) +SAX.comment( another one à) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/comment5.xml b/result/comment5.xml new file mode 100644 index 0000000..398f974 --- /dev/null +++ b/result/comment5.xml @@ -0,0 +1,9 @@ + + + diff --git a/result/comment5.xml.rde b/result/comment5.xml.rde new file mode 100644 index 0000000..fe7a88f --- /dev/null +++ b/result/comment5.xml.rde @@ -0,0 +1,8 @@ +0 8 #comment 0 1 test of hyphen and line break handling + some text - interrupted - +- - - - - - - - - - - - - - - - - - - - - - + this should stop here^ + + + +0 1 doc 1 0 diff --git a/result/comment5.xml.rdr b/result/comment5.xml.rdr new file mode 100644 index 0000000..fe7a88f --- /dev/null +++ b/result/comment5.xml.rdr @@ -0,0 +1,8 @@ +0 8 #comment 0 1 test of hyphen and line break handling + some text - interrupted - +- - - - - - - - - - - - - - - - - - - - - - + this should stop here^ + + + +0 1 doc 1 0 diff --git a/result/comment5.xml.sax b/result/comment5.xml.sax new file mode 100644 index 0000000..dd58e7a --- /dev/null +++ b/result/comment5.xml.sax @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( test of hyphen and line break handling + some text - interrupted - +- - - - - - - - - - - - - - - - - - - - - - + this should stop here^ + + +) +SAX.startElement(doc) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/comment5.xml.sax2 b/result/comment5.xml.sax2 new file mode 100644 index 0000000..f0940b2 --- /dev/null +++ b/result/comment5.xml.sax2 @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( test of hyphen and line break handling + some text - interrupted - +- - - - - - - - - - - - - - - - - - - - - - + this should stop here^ + + +) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/comment6.xml b/result/comment6.xml new file mode 100644 index 0000000..3e6074e --- /dev/null +++ b/result/comment6.xml @@ -0,0 +1,14 @@ + + + +]> + diff --git a/result/comment6.xml.rde b/result/comment6.xml.rde new file mode 100644 index 0000000..e877c3e --- /dev/null +++ b/result/comment6.xml.rde @@ -0,0 +1,11 @@ +0 8 #comment 0 1 +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment + +0 10 a 0 0 +0 1 a 1 0 diff --git a/result/comment6.xml.rdr b/result/comment6.xml.rdr new file mode 100644 index 0000000..e877c3e --- /dev/null +++ b/result/comment6.xml.rdr @@ -0,0 +1,11 @@ +0 8 #comment 0 1 +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment + +0 10 a 0 0 +0 1 a 1 0 diff --git a/result/comment6.xml.sax b/result/comment6.xml.sax new file mode 100644 index 0000000..53fea21 --- /dev/null +++ b/result/comment6.xml.sax @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +) +SAX.internalSubset(a, , ) +SAX.elementDecl(a, 1, ...) +SAX.externalSubset(a, , ) +SAX.startElement(a) +SAX.endElement(a) +SAX.endDocument() diff --git a/result/comment6.xml.sax2 b/result/comment6.xml.sax2 new file mode 100644 index 0000000..7dd7dc0 --- /dev/null +++ b/result/comment6.xml.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +) +SAX.internalSubset(a, , ) +SAX.elementDecl(a, 1, ...) +SAX.externalSubset(a, , ) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.endElementNs(a, NULL, NULL) +SAX.endDocument() diff --git a/result/dav1 b/result/dav1 new file mode 100644 index 0000000..cbfd4c4 --- /dev/null +++ b/result/dav1 @@ -0,0 +1,25 @@ + + + + + + Box type A + + + J.J. Dingleheimerschmidt + + + HTTP/1.1 200 OK + + + + + + + HTTP/1.1 403 Forbidden + The user does not have access to the DingALing property. + + + There has been an access violation error. + + diff --git a/result/dav1.rde b/result/dav1.rde new file mode 100644 index 0000000..d8d44e6 --- /dev/null +++ b/result/dav1.rde @@ -0,0 +1,78 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 0 0 +4 14 #text 0 1 + +4 1 R:BoxType 0 0 +5 3 #text 0 1 Box type A +4 15 R:BoxType 0 0 +4 14 #text 0 1 + +3 15 R:bigbox 0 0 +3 14 #text 0 1 + +3 1 R:author 0 0 +4 14 #text 0 1 + +4 1 R:Name 0 0 +5 3 #text 0 1 J.J. Dingleheimerschmidt +4 15 R:Name 0 0 +4 14 #text 0 1 + +3 15 R:author 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 R:DingALing 1 0 +3 14 #text 0 1 + +3 1 R:Random 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 403 Forbidden +2 15 D:status 0 0 +2 14 #text 0 1 + +2 1 D:responsedescription 0 0 +3 3 #text 0 1 The user does not have access to the DingALing property. + +2 15 D:responsedescription 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:responsedescription 0 0 +2 3 #text 0 1 There has been an access violation error. + +1 15 D:responsedescription 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/result/dav1.rdr b/result/dav1.rdr new file mode 100644 index 0000000..d8d44e6 --- /dev/null +++ b/result/dav1.rdr @@ -0,0 +1,78 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 0 0 +4 14 #text 0 1 + +4 1 R:BoxType 0 0 +5 3 #text 0 1 Box type A +4 15 R:BoxType 0 0 +4 14 #text 0 1 + +3 15 R:bigbox 0 0 +3 14 #text 0 1 + +3 1 R:author 0 0 +4 14 #text 0 1 + +4 1 R:Name 0 0 +5 3 #text 0 1 J.J. Dingleheimerschmidt +4 15 R:Name 0 0 +4 14 #text 0 1 + +3 15 R:author 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 R:DingALing 1 0 +3 14 #text 0 1 + +3 1 R:Random 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 403 Forbidden +2 15 D:status 0 0 +2 14 #text 0 1 + +2 1 D:responsedescription 0 0 +3 3 #text 0 1 The user does not have access to the DingALing property. + +2 15 D:responsedescription 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:responsedescription 0 0 +2 3 #text 0 1 There has been an access violation error. + +1 15 D:responsedescription 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/result/dav1.sax b/result/dav1.sax new file mode 100644 index 0000000..9c1988f --- /dev/null +++ b/result/dav1.sax @@ -0,0 +1,81 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:multistatus, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema') +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(R:bigbox) +SAX.characters( + , 9) +SAX.startElement(R:BoxType) +SAX.characters(Box type A, 10) +SAX.endElement(R:BoxType) +SAX.characters( + , 7) +SAX.endElement(R:bigbox) +SAX.characters( + , 7) +SAX.startElement(R:author) +SAX.characters( + , 9) +SAX.startElement(R:Name) +SAX.characters(J.J. Dingleheimerschmidt, 24) +SAX.endElement(R:Name) +SAX.characters( + , 7) +SAX.endElement(R:author) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(R:DingALing) +SAX.endElement(R:DingALing) +SAX.characters( + , 7) +SAX.startElement(R:Random) +SAX.endElement(R:Random) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP/1.1 403 Forbidden, 22) +SAX.endElement(D:status) +SAX.characters( + , 5) +SAX.startElement(D:responsedescription) +SAX.characters( The user does not have access, 64) +SAX.endElement(D:responsedescription) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( + , 3) +SAX.startElement(D:responsedescription) +SAX.characters( There has been an access viol, 44) +SAX.endElement(D:responsedescription) +SAX.characters( +, 1) +SAX.endElement(D:multistatus) +SAX.endDocument() diff --git a/result/dav1.sax2 b/result/dav1.sax2 new file mode 100644 index 0000000..44ad11c --- /dev/null +++ b/result/dav1.sax2 @@ -0,0 +1,81 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(BoxType, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.characters(Box type A, 10) +SAX.endElementNs(BoxType, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 7) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 7) +SAX.startElementNs(author, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Name, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.characters(J.J. Dingleheimerschmidt, 24) +SAX.endElementNs(Name, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 7) +SAX.endElementNs(author, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(DingALing, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.endElementNs(DingALing, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 7) +SAX.startElementNs(Random, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.endElementNs(Random, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 403 Forbidden, 22) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( The user does not have access, 64) +SAX.endElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( There has been an access viol, 44) +SAX.endElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/dav10 b/result/dav10 new file mode 100644 index 0000000..4b00da4 --- /dev/null +++ b/result/dav10 @@ -0,0 +1,4 @@ + + + http://www.ics.uci.edu/~ejw/contact.html + diff --git a/result/dav10.rde b/result/dav10.rde new file mode 100644 index 0000000..bfb552d --- /dev/null +++ b/result/dav10.rde @@ -0,0 +1,9 @@ +0 1 D:owner 0 0 +1 14 #text 0 1 + +1 1 D:href 0 0 +2 3 #text 0 1 http://www.ics.uci.edu/~ejw/contact.html +1 15 D:href 0 0 +1 14 #text 0 1 + +0 15 D:owner 0 0 diff --git a/result/dav10.rdr b/result/dav10.rdr new file mode 100644 index 0000000..bfb552d --- /dev/null +++ b/result/dav10.rdr @@ -0,0 +1,9 @@ +0 1 D:owner 0 0 +1 14 #text 0 1 + +1 1 D:href 0 0 +2 3 #text 0 1 http://www.ics.uci.edu/~ejw/contact.html +1 15 D:href 0 0 +1 14 #text 0 1 + +0 15 D:owner 0 0 diff --git a/result/dav10.sax b/result/dav10.sax new file mode 100644 index 0000000..aa98251 --- /dev/null +++ b/result/dav10.sax @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:owner, xmlns:D='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(D:href) +SAX.characters(http://www.ics.uci.edu/~ejw/co, 40) +SAX.endElement(D:href) +SAX.characters( +, 1) +SAX.endElement(D:owner) +SAX.endDocument() diff --git a/result/dav10.sax2 b/result/dav10.sax2 new file mode 100644 index 0000000..e93e22c --- /dev/null +++ b/result/dav10.sax2 @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(owner, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.ics.uci.edu/~ejw/co, 40) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(owner, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/dav11 b/result/dav11 new file mode 100644 index 0000000..8ac23d6 --- /dev/null +++ b/result/dav11 @@ -0,0 +1,21 @@ + + + + + write + exclusive + + + + http://www.ics.uci.edu/~ejw/contact.html + + + Second-604800 + + + opaquelocktoken:xyz122393481230912asdfa09s8df09s7df + + + + + diff --git a/result/dav11.rde b/result/dav11.rde new file mode 100644 index 0000000..088afeb --- /dev/null +++ b/result/dav11.rde @@ -0,0 +1,60 @@ +0 1 D:prop 0 0 +1 14 #text 0 1 + +1 1 D:lockdiscovery 0 0 +2 14 #text 0 1 + +2 1 D:activelock 0 0 +3 14 #text 0 1 + +3 1 D:locktype 0 0 +4 3 #text 0 1 write +3 15 D:locktype 0 0 +3 14 #text 0 1 + +3 1 D:lockscope 0 0 +4 3 #text 0 1 exclusive +3 15 D:lockscope 0 0 +3 14 #text 0 1 + +3 1 D:addlocks 1 0 +3 14 #text 0 1 + +3 1 D:owner 0 0 +4 14 #text 0 1 + +4 1 D:href 0 0 +5 3 #text 0 1 + http://www.ics.uci.edu/~ejw/contact.html + +4 15 D:href 0 0 +4 14 #text 0 1 + +3 15 D:owner 0 0 +3 14 #text 0 1 + +3 1 D:timeout 0 0 +4 3 #text 0 1 Second-604800 +3 15 D:timeout 0 0 +3 14 #text 0 1 + +3 1 D:locktoken 0 0 +4 14 #text 0 1 + +4 1 D:href 0 0 +5 3 #text 0 1 + opaquelocktoken:xyz122393481230912asdfa09s8df09s7df + +4 15 D:href 0 0 +4 14 #text 0 1 + +3 15 D:locktoken 0 0 +3 14 #text 0 1 + +2 15 D:activelock 0 0 +2 14 #text 0 1 + +1 15 D:lockdiscovery 0 0 +1 14 #text 0 1 + +0 15 D:prop 0 0 diff --git a/result/dav11.rdr b/result/dav11.rdr new file mode 100644 index 0000000..088afeb --- /dev/null +++ b/result/dav11.rdr @@ -0,0 +1,60 @@ +0 1 D:prop 0 0 +1 14 #text 0 1 + +1 1 D:lockdiscovery 0 0 +2 14 #text 0 1 + +2 1 D:activelock 0 0 +3 14 #text 0 1 + +3 1 D:locktype 0 0 +4 3 #text 0 1 write +3 15 D:locktype 0 0 +3 14 #text 0 1 + +3 1 D:lockscope 0 0 +4 3 #text 0 1 exclusive +3 15 D:lockscope 0 0 +3 14 #text 0 1 + +3 1 D:addlocks 1 0 +3 14 #text 0 1 + +3 1 D:owner 0 0 +4 14 #text 0 1 + +4 1 D:href 0 0 +5 3 #text 0 1 + http://www.ics.uci.edu/~ejw/contact.html + +4 15 D:href 0 0 +4 14 #text 0 1 + +3 15 D:owner 0 0 +3 14 #text 0 1 + +3 1 D:timeout 0 0 +4 3 #text 0 1 Second-604800 +3 15 D:timeout 0 0 +3 14 #text 0 1 + +3 1 D:locktoken 0 0 +4 14 #text 0 1 + +4 1 D:href 0 0 +5 3 #text 0 1 + opaquelocktoken:xyz122393481230912asdfa09s8df09s7df + +4 15 D:href 0 0 +4 14 #text 0 1 + +3 15 D:locktoken 0 0 +3 14 #text 0 1 + +2 15 D:activelock 0 0 +2 14 #text 0 1 + +1 15 D:lockdiscovery 0 0 +1 14 #text 0 1 + +0 15 D:prop 0 0 diff --git a/result/dav11.sax b/result/dav11.sax new file mode 100644 index 0000000..43815e5 --- /dev/null +++ b/result/dav11.sax @@ -0,0 +1,62 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:prop, xmlns:D='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(D:lockdiscovery) +SAX.characters( + , 5) +SAX.startElement(D:activelock) +SAX.characters( + , 7) +SAX.startElement(D:locktype) +SAX.characters(write, 5) +SAX.endElement(D:locktype) +SAX.characters( + , 7) +SAX.startElement(D:lockscope) +SAX.characters(exclusive, 9) +SAX.endElement(D:lockscope) +SAX.characters( + , 7) +SAX.startElement(D:addlocks) +SAX.endElement(D:addlocks) +SAX.characters( + , 7) +SAX.startElement(D:owner) +SAX.characters( + , 9) +SAX.startElement(D:href) +SAX.characters( + http://www.ics.uci.edu/~ejw, 46) +SAX.endElement(D:href) +SAX.characters( + , 7) +SAX.endElement(D:owner) +SAX.characters( + , 7) +SAX.startElement(D:timeout) +SAX.characters(Second-604800, 13) +SAX.endElement(D:timeout) +SAX.characters( + , 7) +SAX.startElement(D:locktoken) +SAX.characters( + , 9) +SAX.startElement(D:href) +SAX.characters( + opaquelocktoken:xyz122393, 59) +SAX.endElement(D:href) +SAX.characters( + , 7) +SAX.endElement(D:locktoken) +SAX.characters( + , 5) +SAX.endElement(D:activelock) +SAX.characters( + , 3) +SAX.endElement(D:lockdiscovery) +SAX.characters( +, 1) +SAX.endElement(D:prop) +SAX.endDocument() diff --git a/result/dav11.sax2 b/result/dav11.sax2 new file mode 100644 index 0000000..d0f2329 --- /dev/null +++ b/result/dav11.sax2 @@ -0,0 +1,62 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(activelock, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(write, 5) +SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(exclusive, 9) +SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.endElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(owner, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + http://www.ics.uci.edu/~ejw, 46) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(owner, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(timeout, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Second-604800, 13) +SAX.endElementNs(timeout, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + opaquelocktoken:xyz122393, 59) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(activelock, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/dav12 b/result/dav12 new file mode 100644 index 0000000..d8d03fe --- /dev/null +++ b/result/dav12 @@ -0,0 +1,2 @@ + +http://www.ics.uci.edu/~ejw/contact.html diff --git a/result/dav12.rde b/result/dav12.rde new file mode 100644 index 0000000..0df7943 --- /dev/null +++ b/result/dav12.rde @@ -0,0 +1,3 @@ +0 1 D:href 0 0 +1 3 #text 0 1 http://www.ics.uci.edu/~ejw/contact.html +0 15 D:href 0 0 diff --git a/result/dav12.rdr b/result/dav12.rdr new file mode 100644 index 0000000..0df7943 --- /dev/null +++ b/result/dav12.rdr @@ -0,0 +1,3 @@ +0 1 D:href 0 0 +1 3 #text 0 1 http://www.ics.uci.edu/~ejw/contact.html +0 15 D:href 0 0 diff --git a/result/dav12.sax b/result/dav12.sax new file mode 100644 index 0000000..67b9f64 --- /dev/null +++ b/result/dav12.sax @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:href, xmlns:D='http://www.ietf.org/standards/dav/') +SAX.characters(http://www.ics.uci.edu/~ejw/co, 40) +SAX.endElement(D:href) +SAX.endDocument() diff --git a/result/dav12.sax2 b/result/dav12.sax2 new file mode 100644 index 0000000..61715b6 --- /dev/null +++ b/result/dav12.sax2 @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters(http://www.ics.uci.edu/~ejw/co, 40) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/dav13 b/result/dav13 new file mode 100644 index 0000000..f44ae38 --- /dev/null +++ b/result/dav13 @@ -0,0 +1,16 @@ + + + + + http://webdav.sb.aol.com/workspace/webdav/proposal.doc + + + http://webdav.sb.aol.com/workspace/webdav/ + + HTTP/1.1 202 Accepted + + + http://foo.bar/blah + HTTP/1.1 403 Forbidden + + diff --git a/result/dav13.rde b/result/dav13.rde new file mode 100644 index 0000000..ffe978d --- /dev/null +++ b/result/dav13.rde @@ -0,0 +1,45 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 + http://webdav.sb.aol.com/workspace/webdav/proposal.doc + +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 + http://webdav.sb.aol.com/workspace/webdav/ + +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 202 Accepted +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 http://foo.bar/blah +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 403 Forbidden +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/result/dav13.rdr b/result/dav13.rdr new file mode 100644 index 0000000..ffe978d --- /dev/null +++ b/result/dav13.rdr @@ -0,0 +1,45 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 + http://webdav.sb.aol.com/workspace/webdav/proposal.doc + +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 + http://webdav.sb.aol.com/workspace/webdav/ + +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 202 Accepted +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 http://foo.bar/blah +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 403 Forbidden +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/result/dav13.sax b/result/dav13.sax new file mode 100644 index 0000000..16edfd1 --- /dev/null +++ b/result/dav13.sax @@ -0,0 +1,46 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:multistatus, xmlns:D='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:href) +SAX.characters( + http://webdav.sb.aol.com/, 66) +SAX.endElement(D:href) +SAX.characters( + , 5) +SAX.startElement(D:href) +SAX.characters( + http://webdav.sb.aol.com/, 54) +SAX.endElement(D:href) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP/1.1 202 Accepted, 21) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:href) +SAX.characters(http://foo.bar/blah, 19) +SAX.endElement(D:href) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP/1.1 403 Forbidden, 22) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( +, 1) +SAX.endElement(D:multistatus) +SAX.endDocument() diff --git a/result/dav13.sax2 b/result/dav13.sax2 new file mode 100644 index 0000000..f6c5381 --- /dev/null +++ b/result/dav13.sax2 @@ -0,0 +1,46 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + http://webdav.sb.aol.com/, 66) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + http://webdav.sb.aol.com/, 54) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 202 Accepted, 21) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/blah, 19) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 403 Forbidden, 22) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/dav15 b/result/dav15 new file mode 100644 index 0000000..b80802e --- /dev/null +++ b/result/dav15 @@ -0,0 +1,20 @@ + + + + + Source + http://foo.bar/program + http://foo.bar/src/main.c + + + Library + http://foo.bar/program + http://foo.bar/src/main.lib + + + Makefile + http://foo.bar/program + http://foo.bar/src/makefile + + + diff --git a/result/dav15.rde b/result/dav15.rde new file mode 100644 index 0000000..a4a4e7c --- /dev/null +++ b/result/dav15.rde @@ -0,0 +1,73 @@ +0 1 D:prop 0 0 +1 14 #text 0 1 + +1 1 D:Source 0 0 +2 14 #text 0 1 + +2 1 D:link 0 0 +3 14 #text 0 1 + +3 1 F:projfiles 0 0 +4 3 #text 0 1 Source +3 15 F:projfiles 0 0 +3 14 #text 0 1 + +3 1 D:src 0 0 +4 3 #text 0 1 http://foo.bar/program +3 15 D:src 0 0 +3 14 #text 0 1 + +3 1 D:dst 0 0 +4 3 #text 0 1 http://foo.bar/src/main.c +3 15 D:dst 0 0 +3 14 #text 0 1 + +2 15 D:link 0 0 +2 14 #text 0 1 + +2 1 D:link 0 0 +3 14 #text 0 1 + +3 1 F:projfiles 0 0 +4 3 #text 0 1 Library +3 15 F:projfiles 0 0 +3 14 #text 0 1 + +3 1 D:src 0 0 +4 3 #text 0 1 http://foo.bar/program +3 15 D:src 0 0 +3 14 #text 0 1 + +3 1 D:dst 0 0 +4 3 #text 0 1 http://foo.bar/src/main.lib +3 15 D:dst 0 0 +3 14 #text 0 1 + +2 15 D:link 0 0 +2 14 #text 0 1 + +2 1 D:link 0 0 +3 14 #text 0 1 + +3 1 F:projfiles 0 0 +4 3 #text 0 1 Makefile +3 15 F:projfiles 0 0 +3 14 #text 0 1 + +3 1 D:src 0 0 +4 3 #text 0 1 http://foo.bar/program +3 15 D:src 0 0 +3 14 #text 0 1 + +3 1 D:dst 0 0 +4 3 #text 0 1 http://foo.bar/src/makefile +3 15 D:dst 0 0 +3 14 #text 0 1 + +2 15 D:link 0 0 +2 14 #text 0 1 + +1 15 D:Source 0 0 +1 14 #text 0 1 + +0 15 D:prop 0 0 diff --git a/result/dav15.rdr b/result/dav15.rdr new file mode 100644 index 0000000..a4a4e7c --- /dev/null +++ b/result/dav15.rdr @@ -0,0 +1,73 @@ +0 1 D:prop 0 0 +1 14 #text 0 1 + +1 1 D:Source 0 0 +2 14 #text 0 1 + +2 1 D:link 0 0 +3 14 #text 0 1 + +3 1 F:projfiles 0 0 +4 3 #text 0 1 Source +3 15 F:projfiles 0 0 +3 14 #text 0 1 + +3 1 D:src 0 0 +4 3 #text 0 1 http://foo.bar/program +3 15 D:src 0 0 +3 14 #text 0 1 + +3 1 D:dst 0 0 +4 3 #text 0 1 http://foo.bar/src/main.c +3 15 D:dst 0 0 +3 14 #text 0 1 + +2 15 D:link 0 0 +2 14 #text 0 1 + +2 1 D:link 0 0 +3 14 #text 0 1 + +3 1 F:projfiles 0 0 +4 3 #text 0 1 Library +3 15 F:projfiles 0 0 +3 14 #text 0 1 + +3 1 D:src 0 0 +4 3 #text 0 1 http://foo.bar/program +3 15 D:src 0 0 +3 14 #text 0 1 + +3 1 D:dst 0 0 +4 3 #text 0 1 http://foo.bar/src/main.lib +3 15 D:dst 0 0 +3 14 #text 0 1 + +2 15 D:link 0 0 +2 14 #text 0 1 + +2 1 D:link 0 0 +3 14 #text 0 1 + +3 1 F:projfiles 0 0 +4 3 #text 0 1 Makefile +3 15 F:projfiles 0 0 +3 14 #text 0 1 + +3 1 D:src 0 0 +4 3 #text 0 1 http://foo.bar/program +3 15 D:src 0 0 +3 14 #text 0 1 + +3 1 D:dst 0 0 +4 3 #text 0 1 http://foo.bar/src/makefile +3 15 D:dst 0 0 +3 14 #text 0 1 + +2 15 D:link 0 0 +2 14 #text 0 1 + +1 15 D:Source 0 0 +1 14 #text 0 1 + +0 15 D:prop 0 0 diff --git a/result/dav15.sax b/result/dav15.sax new file mode 100644 index 0000000..634ec7d --- /dev/null +++ b/result/dav15.sax @@ -0,0 +1,76 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:prop, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:F='http://www.foocorp.com/Project/') +SAX.characters( + , 3) +SAX.startElement(D:Source) +SAX.characters( + , 5) +SAX.startElement(D:link) +SAX.characters( + , 7) +SAX.startElement(F:projfiles) +SAX.characters(Source, 6) +SAX.endElement(F:projfiles) +SAX.characters( + , 7) +SAX.startElement(D:src) +SAX.characters(http://foo.bar/program, 22) +SAX.endElement(D:src) +SAX.characters( + , 7) +SAX.startElement(D:dst) +SAX.characters(http://foo.bar/src/main.c, 25) +SAX.endElement(D:dst) +SAX.characters( + , 5) +SAX.endElement(D:link) +SAX.characters( + , 5) +SAX.startElement(D:link) +SAX.characters( + , 7) +SAX.startElement(F:projfiles) +SAX.characters(Library, 7) +SAX.endElement(F:projfiles) +SAX.characters( + , 7) +SAX.startElement(D:src) +SAX.characters(http://foo.bar/program, 22) +SAX.endElement(D:src) +SAX.characters( + , 7) +SAX.startElement(D:dst) +SAX.characters(http://foo.bar/src/main.lib, 27) +SAX.endElement(D:dst) +SAX.characters( + , 5) +SAX.endElement(D:link) +SAX.characters( + , 5) +SAX.startElement(D:link) +SAX.characters( + , 7) +SAX.startElement(F:projfiles) +SAX.characters(Makefile, 8) +SAX.endElement(F:projfiles) +SAX.characters( + , 7) +SAX.startElement(D:src) +SAX.characters(http://foo.bar/program, 22) +SAX.endElement(D:src) +SAX.characters( + , 7) +SAX.startElement(D:dst) +SAX.characters(http://foo.bar/src/makefile, 27) +SAX.endElement(D:dst) +SAX.characters( + , 5) +SAX.endElement(D:link) +SAX.characters( + , 3) +SAX.endElement(D:Source) +SAX.characters( +, 1) +SAX.endElement(D:prop) +SAX.endDocument() diff --git a/result/dav15.sax2 b/result/dav15.sax2 new file mode 100644 index 0000000..6040cd1 --- /dev/null +++ b/result/dav15.sax2 @@ -0,0 +1,76 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:F='http://www.foocorp.com/Project/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(Source, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(link, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(projfiles, F, 'http://www.foocorp.com/Project/', 0, 0, 0) +SAX.characters(Source, 6) +SAX.endElementNs(projfiles, F, 'http://www.foocorp.com/Project/') +SAX.characters( + , 7) +SAX.startElementNs(src, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/program, 22) +SAX.endElementNs(src, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(dst, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/src/main.c, 25) +SAX.endElementNs(dst, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(link, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(link, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(projfiles, F, 'http://www.foocorp.com/Project/', 0, 0, 0) +SAX.characters(Library, 7) +SAX.endElementNs(projfiles, F, 'http://www.foocorp.com/Project/') +SAX.characters( + , 7) +SAX.startElementNs(src, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/program, 22) +SAX.endElementNs(src, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(dst, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/src/main.lib, 27) +SAX.endElementNs(dst, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(link, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(link, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(projfiles, F, 'http://www.foocorp.com/Project/', 0, 0, 0) +SAX.characters(Makefile, 8) +SAX.endElementNs(projfiles, F, 'http://www.foocorp.com/Project/') +SAX.characters( + , 7) +SAX.startElementNs(src, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/program, 22) +SAX.endElementNs(src, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(dst, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/src/makefile, 27) +SAX.endElementNs(dst, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(link, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(Source, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/dav16 b/result/dav16 new file mode 100644 index 0000000..9a7dc36 --- /dev/null +++ b/result/dav16 @@ -0,0 +1,6 @@ + + + + + + diff --git a/result/dav16.rde b/result/dav16.rde new file mode 100644 index 0000000..97a9933 --- /dev/null +++ b/result/dav16.rde @@ -0,0 +1,13 @@ +0 1 D:propfind 0 0 +1 14 #text 0 1 + +1 1 D:prop 0 0 +2 14 #text 0 1 + +2 1 lockdiscovery 1 0 +2 14 #text 0 1 + +1 15 D:prop 0 0 +1 14 #text 0 1 + +0 15 D:propfind 0 0 diff --git a/result/dav16.rdr b/result/dav16.rdr new file mode 100644 index 0000000..97a9933 --- /dev/null +++ b/result/dav16.rdr @@ -0,0 +1,13 @@ +0 1 D:propfind 0 0 +1 14 #text 0 1 + +1 1 D:prop 0 0 +2 14 #text 0 1 + +2 1 lockdiscovery 1 0 +2 14 #text 0 1 + +1 15 D:prop 0 0 +1 14 #text 0 1 + +0 15 D:propfind 0 0 diff --git a/result/dav16.sax b/result/dav16.sax new file mode 100644 index 0000000..a21252b --- /dev/null +++ b/result/dav16.sax @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:propfind, xmlns:D='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(lockdiscovery) +SAX.endElement(lockdiscovery) +SAX.characters( + , 3) +SAX.endElement(D:prop) +SAX.characters( +, 1) +SAX.endElement(D:propfind) +SAX.endDocument() diff --git a/result/dav16.sax2 b/result/dav16.sax2 new file mode 100644 index 0000000..1ede22e --- /dev/null +++ b/result/dav16.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(propfind, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(lockdiscovery, NULL, NULL, 0, 0, 0) +SAX.endElementNs(lockdiscovery, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(propfind, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/dav17 b/result/dav17 new file mode 100644 index 0000000..1137662 --- /dev/null +++ b/result/dav17 @@ -0,0 +1,22 @@ + + + + + + + write + exclusive + + http://foo.com/doc/ + + Jane Smith + Infinite + + iamuri:unique!!!!! + + + + + HTTP/1.1 200 OK + + diff --git a/result/dav17.rde b/result/dav17.rde new file mode 100644 index 0000000..a47b64e --- /dev/null +++ b/result/dav17.rde @@ -0,0 +1,75 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 D:lockdiscovery 0 0 +4 14 #text 0 1 + +4 1 D:activelock 0 0 +5 14 #text 0 1 + +5 1 D:locktype 0 0 +6 3 #text 0 1 write +5 15 D:locktype 0 0 +5 14 #text 0 1 + +5 1 D:lockscope 0 0 +6 3 #text 0 1 exclusive +5 15 D:lockscope 0 0 +5 14 #text 0 1 + +5 1 D:addlocks 0 0 +6 14 #text 0 1 + +6 1 D:href 0 0 +7 3 #text 0 1 http://foo.com/doc/ +6 15 D:href 0 0 +6 14 #text 0 1 + +5 15 D:addlocks 0 0 +5 14 #text 0 1 + +5 1 D:owner 0 0 +6 3 #text 0 1 Jane Smith +5 15 D:owner 0 0 +5 14 #text 0 1 + +5 1 D:timeout 0 0 +6 3 #text 0 1 Infinite +5 15 D:timeout 0 0 +5 14 #text 0 1 + +5 1 D:locktoken 0 0 +6 14 #text 0 1 + +6 1 D:href 0 0 +7 3 #text 0 1 iamuri:unique!!!!! +6 15 D:href 0 0 +6 14 #text 0 1 + +5 15 D:locktoken 0 0 +5 14 #text 0 1 + +4 15 D:activelock 0 0 +4 14 #text 0 1 + +3 15 D:lockdiscovery 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/result/dav17.rdr b/result/dav17.rdr new file mode 100644 index 0000000..a47b64e --- /dev/null +++ b/result/dav17.rdr @@ -0,0 +1,75 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 D:lockdiscovery 0 0 +4 14 #text 0 1 + +4 1 D:activelock 0 0 +5 14 #text 0 1 + +5 1 D:locktype 0 0 +6 3 #text 0 1 write +5 15 D:locktype 0 0 +5 14 #text 0 1 + +5 1 D:lockscope 0 0 +6 3 #text 0 1 exclusive +5 15 D:lockscope 0 0 +5 14 #text 0 1 + +5 1 D:addlocks 0 0 +6 14 #text 0 1 + +6 1 D:href 0 0 +7 3 #text 0 1 http://foo.com/doc/ +6 15 D:href 0 0 +6 14 #text 0 1 + +5 15 D:addlocks 0 0 +5 14 #text 0 1 + +5 1 D:owner 0 0 +6 3 #text 0 1 Jane Smith +5 15 D:owner 0 0 +5 14 #text 0 1 + +5 1 D:timeout 0 0 +6 3 #text 0 1 Infinite +5 15 D:timeout 0 0 +5 14 #text 0 1 + +5 1 D:locktoken 0 0 +6 14 #text 0 1 + +6 1 D:href 0 0 +7 3 #text 0 1 iamuri:unique!!!!! +6 15 D:href 0 0 +6 14 #text 0 1 + +5 15 D:locktoken 0 0 +5 14 #text 0 1 + +4 15 D:activelock 0 0 +4 14 #text 0 1 + +3 15 D:lockdiscovery 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/result/dav17.sax b/result/dav17.sax new file mode 100644 index 0000000..83f5bce --- /dev/null +++ b/result/dav17.sax @@ -0,0 +1,78 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:multistatus, xmlns:D='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(D:lockdiscovery) +SAX.characters( + , 9) +SAX.startElement(D:activelock) +SAX.characters( + , 11) +SAX.startElement(D:locktype) +SAX.characters(write, 5) +SAX.endElement(D:locktype) +SAX.characters( + , 11) +SAX.startElement(D:lockscope) +SAX.characters(exclusive, 9) +SAX.endElement(D:lockscope) +SAX.characters( + , 11) +SAX.startElement(D:addlocks) +SAX.characters( + , 13) +SAX.startElement(D:href) +SAX.characters(http://foo.com/doc/, 19) +SAX.endElement(D:href) +SAX.characters( + , 11) +SAX.endElement(D:addlocks) +SAX.characters( + , 11) +SAX.startElement(D:owner) +SAX.characters(Jane Smith, 10) +SAX.endElement(D:owner) +SAX.characters( + , 11) +SAX.startElement(D:timeout) +SAX.characters(Infinite, 8) +SAX.endElement(D:timeout) +SAX.characters( + , 11) +SAX.startElement(D:locktoken) +SAX.characters( + , 13) +SAX.startElement(D:href) +SAX.characters(iamuri:unique!!!!!, 18) +SAX.endElement(D:href) +SAX.characters( + , 11) +SAX.endElement(D:locktoken) +SAX.characters( + , 9) +SAX.endElement(D:activelock) +SAX.characters( + , 7) +SAX.endElement(D:lockdiscovery) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( +, 1) +SAX.endElement(D:multistatus) +SAX.endDocument() diff --git a/result/dav17.sax2 b/result/dav17.sax2 new file mode 100644 index 0000000..48185a2 --- /dev/null +++ b/result/dav17.sax2 @@ -0,0 +1,78 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(activelock, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 11) +SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(write, 5) +SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(exclusive, 9) +SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 13) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.com/doc/, 19) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.endElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(owner, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Jane Smith, 10) +SAX.endElementNs(owner, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(timeout, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Infinite, 8) +SAX.endElementNs(timeout, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 13) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(iamuri:unique!!!!!, 18) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.endElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 9) +SAX.endElementNs(activelock, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/dav18 b/result/dav18 new file mode 100644 index 0000000..3de1c19 --- /dev/null +++ b/result/dav18 @@ -0,0 +1,6 @@ + + + + + + diff --git a/result/dav18.rde b/result/dav18.rde new file mode 100644 index 0000000..9de17af --- /dev/null +++ b/result/dav18.rde @@ -0,0 +1,13 @@ +0 1 D:propfind 0 0 +1 14 #text 0 1 + +1 1 D:prop 0 0 +2 14 #text 0 1 + +2 1 supportedlock 1 0 +2 14 #text 0 1 + +1 15 D:prop 0 0 +1 14 #text 0 1 + +0 15 D:propfind 0 0 diff --git a/result/dav18.rdr b/result/dav18.rdr new file mode 100644 index 0000000..9de17af --- /dev/null +++ b/result/dav18.rdr @@ -0,0 +1,13 @@ +0 1 D:propfind 0 0 +1 14 #text 0 1 + +1 1 D:prop 0 0 +2 14 #text 0 1 + +2 1 supportedlock 1 0 +2 14 #text 0 1 + +1 15 D:prop 0 0 +1 14 #text 0 1 + +0 15 D:propfind 0 0 diff --git a/result/dav18.sax b/result/dav18.sax new file mode 100644 index 0000000..39f40e6 --- /dev/null +++ b/result/dav18.sax @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:propfind, xmlns:D='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(supportedlock) +SAX.endElement(supportedlock) +SAX.characters( + , 3) +SAX.endElement(D:prop) +SAX.characters( +, 1) +SAX.endElement(D:propfind) +SAX.endDocument() diff --git a/result/dav18.sax2 b/result/dav18.sax2 new file mode 100644 index 0000000..cddc100 --- /dev/null +++ b/result/dav18.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(propfind, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(supportedlock, NULL, NULL, 0, 0, 0) +SAX.endElementNs(supportedlock, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(propfind, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/dav19 b/result/dav19 new file mode 100644 index 0000000..9535ffc --- /dev/null +++ b/result/dav19 @@ -0,0 +1,18 @@ + + + + + + + Write + Exclusive + + + Write + Shared + + + + HTTP/1.1 200 OK + + diff --git a/result/dav19.rde b/result/dav19.rde new file mode 100644 index 0000000..d2c1e00 --- /dev/null +++ b/result/dav19.rde @@ -0,0 +1,59 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 D:supportedlock 0 0 +4 14 #text 0 1 + +4 1 D:LockEntry 0 0 +5 14 #text 0 1 + +5 1 D:locktype 0 0 +6 3 #text 0 1 Write +5 15 D:locktype 0 0 +5 14 #text 0 1 + +5 1 D:lockscope 0 0 +6 3 #text 0 1 Exclusive +5 15 D:lockscope 0 0 +5 14 #text 0 1 + +4 15 D:LockEntry 0 0 +4 14 #text 0 1 + +4 1 D:LockEntry 0 0 +5 14 #text 0 1 + +5 1 D:locktype 0 0 +6 3 #text 0 1 Write +5 15 D:locktype 0 0 +5 14 #text 0 1 + +5 1 D:lockscope 0 0 +6 3 #text 0 1 Shared +5 15 D:lockscope 0 0 +5 14 #text 0 1 + +4 15 D:LockEntry 0 0 +4 14 #text 0 1 + +3 15 D:supportedlock 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/result/dav19.rdr b/result/dav19.rdr new file mode 100644 index 0000000..d2c1e00 --- /dev/null +++ b/result/dav19.rdr @@ -0,0 +1,59 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 D:supportedlock 0 0 +4 14 #text 0 1 + +4 1 D:LockEntry 0 0 +5 14 #text 0 1 + +5 1 D:locktype 0 0 +6 3 #text 0 1 Write +5 15 D:locktype 0 0 +5 14 #text 0 1 + +5 1 D:lockscope 0 0 +6 3 #text 0 1 Exclusive +5 15 D:lockscope 0 0 +5 14 #text 0 1 + +4 15 D:LockEntry 0 0 +4 14 #text 0 1 + +4 1 D:LockEntry 0 0 +5 14 #text 0 1 + +5 1 D:locktype 0 0 +6 3 #text 0 1 Write +5 15 D:locktype 0 0 +5 14 #text 0 1 + +5 1 D:lockscope 0 0 +6 3 #text 0 1 Shared +5 15 D:lockscope 0 0 +5 14 #text 0 1 + +4 15 D:LockEntry 0 0 +4 14 #text 0 1 + +3 15 D:supportedlock 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/result/dav19.sax b/result/dav19.sax new file mode 100644 index 0000000..c65e03d --- /dev/null +++ b/result/dav19.sax @@ -0,0 +1,62 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:multistatus, xmlns:D='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(D:supportedlock) +SAX.characters( + , 9) +SAX.startElement(D:LockEntry) +SAX.characters( + , 11) +SAX.startElement(D:locktype) +SAX.characters(Write, 5) +SAX.endElement(D:locktype) +SAX.characters( + , 11) +SAX.startElement(D:lockscope) +SAX.characters(Exclusive, 9) +SAX.endElement(D:lockscope) +SAX.characters( + , 9) +SAX.endElement(D:LockEntry) +SAX.characters( + , 9) +SAX.startElement(D:LockEntry) +SAX.characters( + , 11) +SAX.startElement(D:locktype) +SAX.characters(Write, 5) +SAX.endElement(D:locktype) +SAX.characters( + , 11) +SAX.startElement(D:lockscope) +SAX.characters(Shared, 6) +SAX.endElement(D:lockscope) +SAX.characters( + , 9) +SAX.endElement(D:LockEntry) +SAX.characters( + , 7) +SAX.endElement(D:supportedlock) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( +, 1) +SAX.endElement(D:multistatus) +SAX.endDocument() diff --git a/result/dav19.sax2 b/result/dav19.sax2 new file mode 100644 index 0000000..f0dd402 --- /dev/null +++ b/result/dav19.sax2 @@ -0,0 +1,62 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(supportedlock, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 11) +SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Write, 5) +SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Exclusive, 9) +SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 9) +SAX.endElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 9) +SAX.startElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 11) +SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Write, 5) +SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Shared, 6) +SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 9) +SAX.endElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(supportedlock, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/dav2 b/result/dav2 new file mode 100644 index 0000000..f831b4b --- /dev/null +++ b/result/dav2 @@ -0,0 +1,24 @@ + + + + http://www.foo.bar/container/ + + + Box type A + + + Hadrian + + + HTTP 1.1 200 OK + + + http://www.foo.bar/container/index.html + + + Box type B + + + HTTP 1.1 200 OK + + diff --git a/result/dav2.rde b/result/dav2.rde new file mode 100644 index 0000000..41fc86d --- /dev/null +++ b/result/dav2.rde @@ -0,0 +1,81 @@ +0 1 S:multistatus 0 0 +1 14 #text 0 1 + +1 1 S:response 0 0 +2 14 #text 0 1 + +2 1 S:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/ +2 15 S:href 0 0 +2 14 #text 0 1 + +2 1 S:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 0 0 +4 14 #text 0 1 + +4 1 R:BoxType 0 0 +5 3 #text 0 1 Box type A +4 15 R:BoxType 0 0 +4 14 #text 0 1 + +3 15 R:bigbox 0 0 +3 14 #text 0 1 + +3 1 R:author 0 0 +4 14 #text 0 1 + +4 1 R:Name 0 0 +5 3 #text 0 1 Hadrian +4 15 R:Name 0 0 +4 14 #text 0 1 + +3 15 R:author 0 0 +3 14 #text 0 1 + +2 15 S:prop 0 0 +2 14 #text 0 1 + +2 1 S:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 S:status 0 0 +2 14 #text 0 1 + +1 15 S:response 0 0 +1 14 #text 0 1 + +1 1 S:response 0 0 +2 14 #text 0 1 + +2 1 S:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/index.html +2 15 S:href 0 0 +2 14 #text 0 1 + +2 1 S:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 0 0 +4 14 #text 0 1 + +4 1 R:BoxType 0 0 +5 3 #text 0 1 Box type B +4 15 R:BoxType 0 0 +4 14 #text 0 1 + +3 15 R:bigbox 0 0 +3 14 #text 0 1 + +2 15 S:prop 0 0 +2 14 #text 0 1 + +2 1 S:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 S:status 0 0 +2 14 #text 0 1 + +1 15 S:response 0 0 +1 14 #text 0 1 + +0 15 S:multistatus 0 0 diff --git a/result/dav2.rdr b/result/dav2.rdr new file mode 100644 index 0000000..41fc86d --- /dev/null +++ b/result/dav2.rdr @@ -0,0 +1,81 @@ +0 1 S:multistatus 0 0 +1 14 #text 0 1 + +1 1 S:response 0 0 +2 14 #text 0 1 + +2 1 S:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/ +2 15 S:href 0 0 +2 14 #text 0 1 + +2 1 S:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 0 0 +4 14 #text 0 1 + +4 1 R:BoxType 0 0 +5 3 #text 0 1 Box type A +4 15 R:BoxType 0 0 +4 14 #text 0 1 + +3 15 R:bigbox 0 0 +3 14 #text 0 1 + +3 1 R:author 0 0 +4 14 #text 0 1 + +4 1 R:Name 0 0 +5 3 #text 0 1 Hadrian +4 15 R:Name 0 0 +4 14 #text 0 1 + +3 15 R:author 0 0 +3 14 #text 0 1 + +2 15 S:prop 0 0 +2 14 #text 0 1 + +2 1 S:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 S:status 0 0 +2 14 #text 0 1 + +1 15 S:response 0 0 +1 14 #text 0 1 + +1 1 S:response 0 0 +2 14 #text 0 1 + +2 1 S:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/index.html +2 15 S:href 0 0 +2 14 #text 0 1 + +2 1 S:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 0 0 +4 14 #text 0 1 + +4 1 R:BoxType 0 0 +5 3 #text 0 1 Box type B +4 15 R:BoxType 0 0 +4 14 #text 0 1 + +3 15 R:bigbox 0 0 +3 14 #text 0 1 + +2 15 S:prop 0 0 +2 14 #text 0 1 + +2 1 S:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 S:status 0 0 +2 14 #text 0 1 + +1 15 S:response 0 0 +1 14 #text 0 1 + +0 15 S:multistatus 0 0 diff --git a/result/dav2.sax b/result/dav2.sax new file mode 100644 index 0000000..95bc06a --- /dev/null +++ b/result/dav2.sax @@ -0,0 +1,84 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(S:multistatus, xmlns:S='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema/') +SAX.characters( + , 3) +SAX.startElement(S:response) +SAX.characters( + , 5) +SAX.startElement(S:href) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElement(S:href) +SAX.characters( + , 5) +SAX.startElement(S:prop) +SAX.characters( + , 7) +SAX.startElement(R:bigbox) +SAX.characters( + , 9) +SAX.startElement(R:BoxType) +SAX.characters(Box type A, 10) +SAX.endElement(R:BoxType) +SAX.characters( + , 7) +SAX.endElement(R:bigbox) +SAX.characters( + , 7) +SAX.startElement(R:author) +SAX.characters( + , 9) +SAX.startElement(R:Name) +SAX.characters(Hadrian, 7) +SAX.endElement(R:Name) +SAX.characters( + , 7) +SAX.endElement(R:author) +SAX.characters( + , 5) +SAX.endElement(S:prop) +SAX.characters( + , 5) +SAX.startElement(S:status) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElement(S:status) +SAX.characters( + , 3) +SAX.endElement(S:response) +SAX.characters( + , 3) +SAX.startElement(S:response) +SAX.characters( + , 5) +SAX.startElement(S:href) +SAX.characters(http://www.foo.bar/container/i, 39) +SAX.endElement(S:href) +SAX.characters( + , 5) +SAX.startElement(S:prop) +SAX.characters( + , 7) +SAX.startElement(R:bigbox) +SAX.characters( + , 9) +SAX.startElement(R:BoxType) +SAX.characters(Box type B, 10) +SAX.endElement(R:BoxType) +SAX.characters( + , 7) +SAX.endElement(R:bigbox) +SAX.characters( + , 5) +SAX.endElement(S:prop) +SAX.characters( + , 5) +SAX.startElement(S:status) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElement(S:status) +SAX.characters( + , 3) +SAX.endElement(S:response) +SAX.characters( +, 1) +SAX.endElement(S:multistatus) +SAX.endDocument() diff --git a/result/dav2.sax2 b/result/dav2.sax2 new file mode 100644 index 0000000..22c7bb0 --- /dev/null +++ b/result/dav2.sax2 @@ -0,0 +1,84 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, S, 'http://www.ietf.org/standards/dav/', 2, xmlns:S='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElementNs(href, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(BoxType, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters(Box type A, 10) +SAX.endElementNs(BoxType, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.startElementNs(author, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Name, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters(Hadrian, 7) +SAX.endElementNs(Name, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.endElementNs(author, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 5) +SAX.endElementNs(prop, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/i, 39) +SAX.endElementNs(href, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(BoxType, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters(Box type B, 10) +SAX.endElementNs(BoxType, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 5) +SAX.endElementNs(prop, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, S, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/dav3 b/result/dav3 new file mode 100644 index 0000000..986b3fe --- /dev/null +++ b/result/dav3 @@ -0,0 +1,18 @@ + + + + http://www.foo.bar/container/ + + + + + HTTP 1.1 200 OK + + + http://www.foo.bar/container/index.html + + + + HTTP 1.1 200 OK + + diff --git a/result/dav3.rde b/result/dav3.rde new file mode 100644 index 0000000..f106f17 --- /dev/null +++ b/result/dav3.rde @@ -0,0 +1,57 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/ +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 1 0 +3 14 #text 0 1 + +3 1 R:author 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/index.html +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/result/dav3.rdr b/result/dav3.rdr new file mode 100644 index 0000000..f106f17 --- /dev/null +++ b/result/dav3.rdr @@ -0,0 +1,57 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/ +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 1 0 +3 14 #text 0 1 + +3 1 R:author 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/index.html +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 R:bigbox 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/result/dav3.sax b/result/dav3.sax new file mode 100644 index 0000000..e9eabd8 --- /dev/null +++ b/result/dav3.sax @@ -0,0 +1,63 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:multistatus, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema/') +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:href) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElement(D:href) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(R:bigbox) +SAX.endElement(R:bigbox) +SAX.characters( + , 7) +SAX.startElement(R:author) +SAX.endElement(R:author) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:href) +SAX.characters(http://www.foo.bar/container/i, 39) +SAX.endElement(D:href) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(R:bigbox) +SAX.endElement(R:bigbox) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( +, 1) +SAX.endElement(D:multistatus) +SAX.endDocument() diff --git a/result/dav3.sax2 b/result/dav3.sax2 new file mode 100644 index 0000000..0088f29 --- /dev/null +++ b/result/dav3.sax2 @@ -0,0 +1,63 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.startElementNs(author, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.endElementNs(author, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/i, 39) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/dav4 b/result/dav4 new file mode 100644 index 0000000..9ab7ceb --- /dev/null +++ b/result/dav4 @@ -0,0 +1,16 @@ + + + + + + Jim Whitehead + Roy Fielding + + + + + + + + + diff --git a/result/dav4.rde b/result/dav4.rde new file mode 100644 index 0000000..e764047 --- /dev/null +++ b/result/dav4.rde @@ -0,0 +1,47 @@ +0 1 D:propertyupdate 0 0 +1 14 #text 0 1 + +1 1 D:set 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 Z:authors 0 0 +4 14 #text 0 1 + +4 1 Z:Author 0 0 +5 3 #text 0 1 Jim Whitehead +4 15 Z:Author 0 0 +4 14 #text 0 1 + +4 1 Z:Author 0 0 +5 3 #text 0 1 Roy Fielding +4 15 Z:Author 0 0 +4 14 #text 0 1 + +3 15 Z:authors 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +1 15 D:set 0 0 +1 14 #text 0 1 + +1 1 D:remove 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 Z:Copyright-Owner 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +1 15 D:remove 0 0 +1 14 #text 0 1 + +0 15 D:propertyupdate 0 0 diff --git a/result/dav4.rdr b/result/dav4.rdr new file mode 100644 index 0000000..e764047 --- /dev/null +++ b/result/dav4.rdr @@ -0,0 +1,47 @@ +0 1 D:propertyupdate 0 0 +1 14 #text 0 1 + +1 1 D:set 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 Z:authors 0 0 +4 14 #text 0 1 + +4 1 Z:Author 0 0 +5 3 #text 0 1 Jim Whitehead +4 15 Z:Author 0 0 +4 14 #text 0 1 + +4 1 Z:Author 0 0 +5 3 #text 0 1 Roy Fielding +4 15 Z:Author 0 0 +4 14 #text 0 1 + +3 15 Z:authors 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +1 15 D:set 0 0 +1 14 #text 0 1 + +1 1 D:remove 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 Z:Copyright-Owner 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +1 15 D:remove 0 0 +1 14 #text 0 1 + +0 15 D:propertyupdate 0 0 diff --git a/result/dav4.sax b/result/dav4.sax new file mode 100644 index 0000000..8268026 --- /dev/null +++ b/result/dav4.sax @@ -0,0 +1,51 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:propertyupdate, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:Z='http://www.w3.com/standards/z39.50/') +SAX.characters( + , 3) +SAX.startElement(D:set) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(Z:authors) +SAX.characters( + , 9) +SAX.startElement(Z:Author) +SAX.characters(Jim Whitehead, 13) +SAX.endElement(Z:Author) +SAX.characters( + , 9) +SAX.startElement(Z:Author) +SAX.characters(Roy Fielding, 12) +SAX.endElement(Z:Author) +SAX.characters( + , 7) +SAX.endElement(Z:authors) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 3) +SAX.endElement(D:set) +SAX.characters( + , 3) +SAX.startElement(D:remove) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(Z:Copyright-Owner) +SAX.endElement(Z:Copyright-Owner) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 3) +SAX.endElement(D:remove) +SAX.characters( +, 1) +SAX.endElement(D:propertyupdate) +SAX.endDocument() diff --git a/result/dav4.sax2 b/result/dav4.sax2 new file mode 100644 index 0000000..58fb8ac --- /dev/null +++ b/result/dav4.sax2 @@ -0,0 +1,51 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(propertyupdate, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:Z='http://www.w3.com/standards/z39.50/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(set, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(authors, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.characters(Jim Whitehead, 13) +SAX.endElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 9) +SAX.startElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.characters(Roy Fielding, 12) +SAX.endElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 7) +SAX.endElementNs(authors, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(set, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(remove, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.endElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(remove, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(propertyupdate, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/dav5 b/result/dav5 new file mode 100644 index 0000000..68ebab9 --- /dev/null +++ b/result/dav5 @@ -0,0 +1,17 @@ + + + + + + + HTTP/1.1 420 Method Failure + + + + + + HTTP/1.1 409 Conflict + + Copyright Owner can not be deleted or +altered. + diff --git a/result/dav5.rde b/result/dav5.rde new file mode 100644 index 0000000..c92d177 --- /dev/null +++ b/result/dav5.rde @@ -0,0 +1,50 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 Z:Authors 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 420 Method Failure +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 Z:Copyright-Owner 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 409 Conflict +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:responsedescription 0 0 +2 3 #text 0 1 Copyright Owner can not be deleted or +altered. +1 15 D:responsedescription 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/result/dav5.rdr b/result/dav5.rdr new file mode 100644 index 0000000..c92d177 --- /dev/null +++ b/result/dav5.rdr @@ -0,0 +1,50 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 Z:Authors 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 420 Method Failure +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 Z:Copyright-Owner 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP/1.1 409 Conflict +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:responsedescription 0 0 +2 3 #text 0 1 Copyright Owner can not be deleted or +altered. +1 15 D:responsedescription 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/result/dav5.sax b/result/dav5.sax new file mode 100644 index 0000000..53967f8 --- /dev/null +++ b/result/dav5.sax @@ -0,0 +1,54 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:multistatus, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:Z='http://www.w3.com/standards/z39.50/') +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(Z:Authors) +SAX.endElement(Z:Authors) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP/1.1 420 Method Failure, 27) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(Z:Copyright-Owner) +SAX.endElement(Z:Copyright-Owner) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP/1.1 409 Conflict, 21) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( + , 3) +SAX.startElement(D:responsedescription) +SAX.characters( Copyright Owner can not be de, 47) +SAX.endElement(D:responsedescription) +SAX.characters( +, 1) +SAX.endElement(D:multistatus) +SAX.endDocument() diff --git a/result/dav5.sax2 b/result/dav5.sax2 new file mode 100644 index 0000000..6062cca --- /dev/null +++ b/result/dav5.sax2 @@ -0,0 +1,54 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:Z='http://www.w3.com/standards/z39.50/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Authors, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.endElementNs(Authors, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 420 Method Failure, 27) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.endElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 409 Conflict, 21) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( Copyright Owner can not be de, 47) +SAX.endElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/dav6 b/result/dav6 new file mode 100644 index 0000000..3d0de24 --- /dev/null +++ b/result/dav6 @@ -0,0 +1,22 @@ + + + + http://www.microsoft.com/user/yarong/dav_drafts/ + + + + + + + HTTP 1.1 200 OK + + + + http://www.microsoft.com/user/yarong/dav_drafts/base + + + + + HTTP 1.1 200 OK + + diff --git a/result/dav6.rde b/result/dav6.rde new file mode 100644 index 0000000..726e3c2 --- /dev/null +++ b/result/dav6.rde @@ -0,0 +1,63 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 http://www.microsoft.com/user/yarong/dav_drafts/ + +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 D:resourcetype 0 0 +4 14 #text 0 1 + +4 1 D:collection 1 0 +4 14 #text 0 1 + +3 15 D:resourcetype 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 + http://www.microsoft.com/user/yarong/dav_drafts/base + +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 D:resourcetype 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/result/dav6.rdr b/result/dav6.rdr new file mode 100644 index 0000000..726e3c2 --- /dev/null +++ b/result/dav6.rdr @@ -0,0 +1,63 @@ +0 1 D:multistatus 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 http://www.microsoft.com/user/yarong/dav_drafts/ + +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 D:resourcetype 0 0 +4 14 #text 0 1 + +4 1 D:collection 1 0 +4 14 #text 0 1 + +3 15 D:resourcetype 0 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +1 1 D:response 0 0 +2 14 #text 0 1 + +2 1 D:href 0 0 +3 3 #text 0 1 + http://www.microsoft.com/user/yarong/dav_drafts/base + +2 15 D:href 0 0 +2 14 #text 0 1 + +2 1 D:prop 0 0 +3 14 #text 0 1 + +3 1 D:resourcetype 1 0 +3 14 #text 0 1 + +2 15 D:prop 0 0 +2 14 #text 0 1 + +2 1 D:status 0 0 +3 3 #text 0 1 HTTP 1.1 200 OK +2 15 D:status 0 0 +2 14 #text 0 1 + +1 15 D:response 0 0 +1 14 #text 0 1 + +0 15 D:multistatus 0 0 diff --git a/result/dav6.sax b/result/dav6.sax new file mode 100644 index 0000000..a6a5b2d --- /dev/null +++ b/result/dav6.sax @@ -0,0 +1,66 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(D:multistatus, xmlns:D='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:href) +SAX.characters(http://www.microsoft.com/user/, 55) +SAX.endElement(D:href) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(D:resourcetype) +SAX.characters( + , 9) +SAX.startElement(D:collection) +SAX.endElement(D:collection) +SAX.characters( + , 7) +SAX.endElement(D:resourcetype) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( + , 3) +SAX.startElement(D:response) +SAX.characters( + , 5) +SAX.startElement(D:href) +SAX.characters( + http://www.microsoft.co, 66) +SAX.endElement(D:href) +SAX.characters( + , 5) +SAX.startElement(D:prop) +SAX.characters( + , 7) +SAX.startElement(D:resourcetype) +SAX.endElement(D:resourcetype) +SAX.characters( + , 5) +SAX.endElement(D:prop) +SAX.characters( + , 5) +SAX.startElement(D:status) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElement(D:status) +SAX.characters( + , 3) +SAX.endElement(D:response) +SAX.characters( +, 1) +SAX.endElement(D:multistatus) +SAX.endDocument() diff --git a/result/dav6.sax2 b/result/dav6.sax2 new file mode 100644 index 0000000..31952c5 --- /dev/null +++ b/result/dav6.sax2 @@ -0,0 +1,66 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.microsoft.com/user/, 55) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(collection, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.endElementNs(collection, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + http://www.microsoft.co, 66) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.endElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/dav7 b/result/dav7 new file mode 100644 index 0000000..ec4a952 --- /dev/null +++ b/result/dav7 @@ -0,0 +1,16 @@ + + + + http://www.foo.bar/container/resource1 + http://www.foo.bar/container/resource2 + HTTP/1.1 200 OK + + + http://www.foo.bar/container/ + HTTP/1.1 420 Method Failure + + + http://www.foo.bar/container/resource3 + HTTP/1.1 412 Precondition Failed + + diff --git a/result/dav7.rde b/result/dav7.rde new file mode 100644 index 0000000..3f98328 --- /dev/null +++ b/result/dav7.rde @@ -0,0 +1,57 @@ +0 1 d:multistatus 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource1 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 200 OK +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/ +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 420 Method Failure +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource3 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 412 Precondition Failed +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +0 15 d:multistatus 0 0 diff --git a/result/dav7.rdr b/result/dav7.rdr new file mode 100644 index 0000000..3f98328 --- /dev/null +++ b/result/dav7.rdr @@ -0,0 +1,57 @@ +0 1 d:multistatus 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource1 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 200 OK +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/ +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 420 Method Failure +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource3 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 412 Precondition Failed +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +0 15 d:multistatus 0 0 diff --git a/result/dav7.sax b/result/dav7.sax new file mode 100644 index 0000000..133a9c1 --- /dev/null +++ b/result/dav7.sax @@ -0,0 +1,60 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(d:multistatus, xmlns:d='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(d:response) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:status) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElement(d:status) +SAX.characters( + , 3) +SAX.endElement(d:response) +SAX.characters( + , 3) +SAX.startElement(d:response) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:status) +SAX.characters(HTTP/1.1 420 Method Failure, 27) +SAX.endElement(d:status) +SAX.characters( + , 3) +SAX.endElement(d:response) +SAX.characters( + , 3) +SAX.startElement(d:response) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:status) +SAX.characters(HTTP/1.1 412 Precondition Fail, 32) +SAX.endElement(d:status) +SAX.characters( + , 3) +SAX.endElement(d:response) +SAX.characters( +, 1) +SAX.endElement(d:multistatus) +SAX.endDocument() diff --git a/result/dav7.sax2 b/result/dav7.sax2 new file mode 100644 index 0000000..1d51e74 --- /dev/null +++ b/result/dav7.sax2 @@ -0,0 +1,60 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/', 1, xmlns:d='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 420 Method Failure, 27) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 412 Precondition Fail, 32) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/dav8 b/result/dav8 new file mode 100644 index 0000000..7f99baf --- /dev/null +++ b/result/dav8 @@ -0,0 +1,14 @@ + + + + http://www.foo.bar/othercontainer/resource1 + http://www.foo.bar/othercontainer/resource2 + http://www.foo.bar/othercontainer/ + http://www.foo.bar/othercontainer/R2/D2 + HTTP/1.1 201 Created + + + http://www.foo.bar/othercontainer/R2/ + HTTP/1.1 412 Precondition Failed + + diff --git a/result/dav8.rde b/result/dav8.rde new file mode 100644 index 0000000..f14225e --- /dev/null +++ b/result/dav8.rde @@ -0,0 +1,51 @@ +0 1 d:multistatus 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/resource1 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/resource2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/ +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/R2/D2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 201 Created +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/R2/ +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 412 Precondition Failed +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +0 15 d:multistatus 0 0 diff --git a/result/dav8.rdr b/result/dav8.rdr new file mode 100644 index 0000000..f14225e --- /dev/null +++ b/result/dav8.rdr @@ -0,0 +1,51 @@ +0 1 d:multistatus 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/resource1 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/resource2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/ +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/R2/D2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 201 Created +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/R2/ +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 412 Precondition Failed +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +0 15 d:multistatus 0 0 diff --git a/result/dav8.sax b/result/dav8.sax new file mode 100644 index 0000000..8a810ef --- /dev/null +++ b/result/dav8.sax @@ -0,0 +1,54 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(d:multistatus, xmlns:d='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(d:response) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/othercontai, 43) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/othercontai, 43) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/othercontai, 34) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/othercontai, 39) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:status) +SAX.characters(HTTP/1.1 201 Created, 20) +SAX.endElement(d:status) +SAX.characters( + , 3) +SAX.endElement(d:response) +SAX.characters( + , 3) +SAX.startElement(d:response) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/othercontai, 37) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:status) +SAX.characters(HTTP/1.1 412 Precondition Fail, 32) +SAX.endElement(d:status) +SAX.characters( + , 3) +SAX.endElement(d:response) +SAX.characters( +, 1) +SAX.endElement(d:multistatus) +SAX.endDocument() diff --git a/result/dav8.sax2 b/result/dav8.sax2 new file mode 100644 index 0000000..7de547e --- /dev/null +++ b/result/dav8.sax2 @@ -0,0 +1,54 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/', 1, xmlns:d='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 43) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 43) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 34) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 39) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 201 Created, 20) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 37) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 412 Precondition Fail, 32) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/dav9 b/result/dav9 new file mode 100644 index 0000000..8ed63b8 --- /dev/null +++ b/result/dav9 @@ -0,0 +1,18 @@ + + + + http://www.foo.bar/container/resource1 + http://www.foo.bar/container/resource2 + http://www.foo.bar/container/ + http://www.foo.bar/container/C2/R2 + HTTP/1.1 201 Created + + + http://www.foo.bar/container/C2 + HTTP/1.1 420 Method Failure + + + http://www.foo.bar/othercontainer/C2 + HTTP/1.1 409 Conflict + + diff --git a/result/dav9.rde b/result/dav9.rde new file mode 100644 index 0000000..943ab96 --- /dev/null +++ b/result/dav9.rde @@ -0,0 +1,67 @@ +0 1 d:multistatus 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource1 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/ +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/C2/R2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 201 Created +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/C2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 420 Method Failure +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/C2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 409 Conflict +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +0 15 d:multistatus 0 0 diff --git a/result/dav9.rdr b/result/dav9.rdr new file mode 100644 index 0000000..943ab96 --- /dev/null +++ b/result/dav9.rdr @@ -0,0 +1,67 @@ +0 1 d:multistatus 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource1 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/resource2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/ +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/C2/R2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 201 Created +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/container/C2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 420 Method Failure +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +1 1 d:response 0 0 +2 14 #text 0 1 + +2 1 d:href 0 0 +3 3 #text 0 1 http://www.foo.bar/othercontainer/C2 +2 15 d:href 0 0 +2 14 #text 0 1 + +2 1 d:status 0 0 +3 3 #text 0 1 HTTP/1.1 409 Conflict +2 15 d:status 0 0 +2 14 #text 0 1 + +1 15 d:response 0 0 +1 14 #text 0 1 + +0 15 d:multistatus 0 0 diff --git a/result/dav9.sax b/result/dav9.sax new file mode 100644 index 0000000..4116bad --- /dev/null +++ b/result/dav9.sax @@ -0,0 +1,70 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(d:multistatus, xmlns:d='http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElement(d:response) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/container/C, 34) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:status) +SAX.characters(HTTP/1.1 201 Created, 20) +SAX.endElement(d:status) +SAX.characters( + , 3) +SAX.endElement(d:response) +SAX.characters( + , 3) +SAX.startElement(d:response) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/container/C, 31) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:status) +SAX.characters(HTTP/1.1 420 Method Failure, 27) +SAX.endElement(d:status) +SAX.characters( + , 3) +SAX.endElement(d:response) +SAX.characters( + , 3) +SAX.startElement(d:response) +SAX.characters( + , 5) +SAX.startElement(d:href) +SAX.characters(http://www.foo.bar/othercontai, 36) +SAX.endElement(d:href) +SAX.characters( + , 5) +SAX.startElement(d:status) +SAX.characters(HTTP/1.1 409 Conflict, 21) +SAX.endElement(d:status) +SAX.characters( + , 3) +SAX.endElement(d:response) +SAX.characters( +, 1) +SAX.endElement(d:multistatus) +SAX.endDocument() diff --git a/result/dav9.sax2 b/result/dav9.sax2 new file mode 100644 index 0000000..26e4942 --- /dev/null +++ b/result/dav9.sax2 @@ -0,0 +1,70 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/', 1, xmlns:d='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/C, 34) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 201 Created, 20) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/C, 31) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 420 Method Failure, 27) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 36) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 409 Conflict, 21) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/defattr.xml b/result/defattr.xml new file mode 100644 index 0000000..0a4ac15 --- /dev/null +++ b/result/defattr.xml @@ -0,0 +1,6 @@ + + + +]> + diff --git a/result/defattr.xml.rde b/result/defattr.xml.rde new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/result/defattr.xml.rde @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/result/defattr.xml.rdr b/result/defattr.xml.rdr new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/result/defattr.xml.rdr @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/result/defattr.xml.sax b/result/defattr.xml.sax new file mode 100644 index 0000000..86ef54a --- /dev/null +++ b/result/defattr.xml.sax @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 1, ...) +SAX.attributeDecl(doc, xmlns, 1, 4, http://www.example.com/, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/defattr.xml.sax2 b/result/defattr.xml.sax2 new file mode 100644 index 0000000..dfeba49 --- /dev/null +++ b/result/defattr.xml.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 1, ...) +SAX.attributeDecl(doc, xmlns, 1, 4, http://www.example.com/, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, 'http://www.example.com/', 1, xmlns='http://www.example.com/', 0, 0) +SAX.endElementNs(doc, NULL, 'http://www.example.com/') +SAX.endDocument() diff --git a/result/defattr2.xml b/result/defattr2.xml new file mode 100644 index 0000000..8d1fc3b --- /dev/null +++ b/result/defattr2.xml @@ -0,0 +1,8 @@ + + + + + +]> + diff --git a/result/defattr2.xml.rde b/result/defattr2.xml.rde new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/result/defattr2.xml.rde @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/result/defattr2.xml.rdr b/result/defattr2.xml.rdr new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/result/defattr2.xml.rdr @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/result/defattr2.xml.sax b/result/defattr2.xml.sax new file mode 100644 index 0000000..72f8fca --- /dev/null +++ b/result/defattr2.xml.sax @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 1, ...) +SAX.attributeDecl(doc, defatt, 9, 1, 0, ...) +SAX.attributeDecl(doc, xmlns:tst, 1, 4, http://example.org, ...) +SAX.attributeDecl(doc, tst:att, 9, 1, 1, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc, att='1') +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/defattr2.xml.sax2 b/result/defattr2.xml.sax2 new file mode 100644 index 0000000..0f77271 --- /dev/null +++ b/result/defattr2.xml.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 1, ...) +SAX.attributeDecl(doc, defatt, 9, 1, 0, ...) +SAX.attributeDecl(doc, xmlns:tst, 1, 4, http://example.org, ...) +SAX.attributeDecl(doc, tst:att, 9, 1, 1, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 1, xmlns:tst='http://example.org', 3, 2, att='1"/>...', 1, defatt='0...', 1, tst:att='1...', 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/dia1 b/result/dia1 new file mode 100644 index 0000000..207bd73 --- /dev/null +++ b/result/dia1 @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/result/dia1.rde b/result/dia1.rde new file mode 100644 index 0000000..3767325 --- /dev/null +++ b/result/dia1.rde @@ -0,0 +1,292 @@ +0 1 dia:diagram 0 0 +1 14 #text 0 1 + +1 1 dia:diagramdata 0 0 +2 14 #text 0 1 + +2 1 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:color 1 0 +3 14 #text 0 1 + +2 15 dia:attribute 0 0 +2 14 #text 0 1 + +1 15 dia:diagramdata 0 0 +1 14 #text 0 1 + +1 1 dia:layer 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:connections 0 0 +4 14 #text 0 1 + +4 1 dia:connection 1 0 +4 14 #text 0 1 + +3 15 dia:connections 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:composite 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:string 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:font 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:real 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:point 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:color 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:enum 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +4 15 dia:composite 0 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +1 15 dia:layer 0 0 +1 14 #text 0 1 + +0 15 dia:diagram 0 0 diff --git a/result/dia1.rdr b/result/dia1.rdr new file mode 100644 index 0000000..3767325 --- /dev/null +++ b/result/dia1.rdr @@ -0,0 +1,292 @@ +0 1 dia:diagram 0 0 +1 14 #text 0 1 + +1 1 dia:diagramdata 0 0 +2 14 #text 0 1 + +2 1 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:color 1 0 +3 14 #text 0 1 + +2 15 dia:attribute 0 0 +2 14 #text 0 1 + +1 15 dia:diagramdata 0 0 +1 14 #text 0 1 + +1 1 dia:layer 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:connections 0 0 +4 14 #text 0 1 + +4 1 dia:connection 1 0 +4 14 #text 0 1 + +3 15 dia:connections 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:composite 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:string 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:font 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:real 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:point 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:color 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:enum 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +4 15 dia:composite 0 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +1 15 dia:layer 0 0 +1 14 #text 0 1 + +0 15 dia:diagram 0 0 diff --git a/result/dia1.sax b/result/dia1.sax new file mode 100644 index 0000000..6f65d63 --- /dev/null +++ b/result/dia1.sax @@ -0,0 +1,323 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(dia:diagram, xmlns:dia='http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.startElement(dia:diagramdata) +SAX.characters( + , 5) +SAX.startElement(dia:attribute, name='background') +SAX.characters( + , 7) +SAX.startElement(dia:color, val='#ffffff') +SAX.endElement(dia:color) +SAX.characters( + , 5) +SAX.endElement(dia:attribute) +SAX.characters( + , 3) +SAX.endElement(dia:diagramdata) +SAX.characters( + , 3) +SAX.startElement(dia:layer, name='Background', visible='true') +SAX.characters( + , 5) +SAX.startElement(dia:object, type='Standard - Line', version='0', id='O0') +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_pos') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='1.95,6.85') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_bb') +SAX.characters( + , 9) +SAX.startElement(dia:rectangle, val='1.9,6.8;11,8.55') +SAX.endElement(dia:rectangle) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='conn_endpoints') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='1.95,6.85') +SAX.endElement(dia:point) +SAX.characters( + , 9) +SAX.startElement(dia:point, val='10.95,8.5') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='line_color') +SAX.characters( + , 9) +SAX.startElement(dia:color, val='#000000') +SAX.endElement(dia:color) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='line_width') +SAX.characters( + , 9) +SAX.startElement(dia:real, val='0.1') +SAX.endElement(dia:real) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='line_style') +SAX.characters( + , 9) +SAX.startElement(dia:enum, val='0') +SAX.endElement(dia:enum) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='start_arrow') +SAX.characters( + , 9) +SAX.startElement(dia:enum, val='0') +SAX.endElement(dia:enum) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='end_arrow') +SAX.characters( + , 9) +SAX.startElement(dia:enum, val='0') +SAX.endElement(dia:enum) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:connections) +SAX.characters( + , 9) +SAX.startElement(dia:connection, handle='1', to='O2', connection='3') +SAX.endElement(dia:connection) +SAX.characters( + , 7) +SAX.endElement(dia:connections) +SAX.characters( + , 5) +SAX.endElement(dia:object) +SAX.characters( + , 5) +SAX.startElement(dia:object, type='Standard - Text', version='0', id='O1') +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_pos') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='4.8,4.75') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_bb') +SAX.characters( + , 9) +SAX.startElement(dia:rectangle, val='2.579,3.96359;7.021,4.96359') +SAX.endElement(dia:rectangle) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='text') +SAX.characters( + , 9) +SAX.startElement(dia:composite, type='text') +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='string') +SAX.characters( + , 13) +SAX.startElement(dia:string, val='sdfsdfg') +SAX.endElement(dia:string) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='font') +SAX.characters( + , 13) +SAX.startElement(dia:font, name='Courier') +SAX.endElement(dia:font) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='height') +SAX.characters( + , 13) +SAX.startElement(dia:real, val='1') +SAX.endElement(dia:real) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='pos') +SAX.characters( + , 13) +SAX.startElement(dia:point, val='4.8,4.75') +SAX.endElement(dia:point) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='color') +SAX.characters( + , 13) +SAX.startElement(dia:color, val='#000000') +SAX.endElement(dia:color) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='alignment') +SAX.characters( + , 13) +SAX.startElement(dia:enum, val='1') +SAX.endElement(dia:enum) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 9) +SAX.endElement(dia:composite) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 5) +SAX.endElement(dia:object) +SAX.characters( + , 5) +SAX.startElement(dia:object, type='Standard - Box', version='0', id='O2') +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_pos') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='10.95,7.5') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_bb') +SAX.characters( + , 9) +SAX.startElement(dia:rectangle, val='10.9,7.45;13.05,9.55') +SAX.endElement(dia:rectangle) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='elem_corner') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='10.95,7.5') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='elem_width') +SAX.characters( + , 9) +SAX.startElement(dia:real, val='2.05') +SAX.endElement(dia:real) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='elem_height') +SAX.characters( + , 9) +SAX.startElement(dia:real, val='2') +SAX.endElement(dia:real) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='border_width') +SAX.characters( + , 9) +SAX.startElement(dia:real, val='0.1') +SAX.endElement(dia:real) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='border_color') +SAX.characters( + , 9) +SAX.startElement(dia:color, val='#000000') +SAX.endElement(dia:color) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='inner_color') +SAX.characters( + , 9) +SAX.startElement(dia:color, val='#ffffff') +SAX.endElement(dia:color) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='line_style') +SAX.characters( + , 9) +SAX.startElement(dia:enum, val='0') +SAX.endElement(dia:enum) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 5) +SAX.endElement(dia:object) +SAX.characters( + , 3) +SAX.endElement(dia:layer) +SAX.characters( +, 1) +SAX.endElement(dia:diagram) +SAX.endDocument() diff --git a/result/dia1.sax2 b/result/dia1.sax2 new file mode 100644 index 0000000..4821c9b --- /dev/null +++ b/result/dia1.sax2 @@ -0,0 +1,323 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='back...', 10) +SAX.characters( + , 7) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.endElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.startElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 2, 0, name='Back...', 10, visible='true...', 4) +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O0">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.9,...', 15) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='conn...', 14) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='star...', 11) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='end_...', 9) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, handle='1" t...', 1, to='O2" ...', 2, connection='3"/>...', 1) +SAX.endElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O1">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.57...', 27) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='text...', 4) +SAX.characters( + , 9) +SAX.startElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, type='text...', 4) +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='stri...', 6) +SAX.characters( + , 13) +SAX.startElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='sdfs...', 7) +SAX.endElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='font...', 4) +SAX.characters( + , 13) +SAX.startElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='Cour...', 7) +SAX.endElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='heig...', 6) +SAX.characters( + , 13) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='pos"...', 3) +SAX.characters( + , 13) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='colo...', 5) +SAX.characters( + , 13) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='alig...', 9) +SAX.characters( + , 13) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 9) +SAX.endElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 14, version='0" i...', 1, id='O2">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 20) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 10) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.05...', 4) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2"/>...', 1) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='inne...', 11) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.endElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( +, 1) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/result/dia2 b/result/dia2 new file mode 100644 index 0000000..207bd73 --- /dev/null +++ b/result/dia2 @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/result/dia2.rde b/result/dia2.rde new file mode 100644 index 0000000..3767325 --- /dev/null +++ b/result/dia2.rde @@ -0,0 +1,292 @@ +0 1 dia:diagram 0 0 +1 14 #text 0 1 + +1 1 dia:diagramdata 0 0 +2 14 #text 0 1 + +2 1 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:color 1 0 +3 14 #text 0 1 + +2 15 dia:attribute 0 0 +2 14 #text 0 1 + +1 15 dia:diagramdata 0 0 +1 14 #text 0 1 + +1 1 dia:layer 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:connections 0 0 +4 14 #text 0 1 + +4 1 dia:connection 1 0 +4 14 #text 0 1 + +3 15 dia:connections 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:composite 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:string 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:font 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:real 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:point 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:color 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:enum 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +4 15 dia:composite 0 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +1 15 dia:layer 0 0 +1 14 #text 0 1 + +0 15 dia:diagram 0 0 diff --git a/result/dia2.rdr b/result/dia2.rdr new file mode 100644 index 0000000..3767325 --- /dev/null +++ b/result/dia2.rdr @@ -0,0 +1,292 @@ +0 1 dia:diagram 0 0 +1 14 #text 0 1 + +1 1 dia:diagramdata 0 0 +2 14 #text 0 1 + +2 1 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:color 1 0 +3 14 #text 0 1 + +2 15 dia:attribute 0 0 +2 14 #text 0 1 + +1 15 dia:diagramdata 0 0 +1 14 #text 0 1 + +1 1 dia:layer 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:connections 0 0 +4 14 #text 0 1 + +4 1 dia:connection 1 0 +4 14 #text 0 1 + +3 15 dia:connections 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:composite 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:string 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:font 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:real 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:point 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:color 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +5 1 dia:attribute 0 0 +6 14 #text 0 1 + +6 1 dia:enum 1 0 +6 14 #text 0 1 + +5 15 dia:attribute 0 0 +5 14 #text 0 1 + +4 15 dia:composite 0 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +2 1 dia:object 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:rectangle 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:point 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:real 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:color 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +3 1 dia:attribute 0 0 +4 14 #text 0 1 + +4 1 dia:enum 1 0 +4 14 #text 0 1 + +3 15 dia:attribute 0 0 +3 14 #text 0 1 + +2 15 dia:object 0 0 +2 14 #text 0 1 + +1 15 dia:layer 0 0 +1 14 #text 0 1 + +0 15 dia:diagram 0 0 diff --git a/result/dia2.sax b/result/dia2.sax new file mode 100644 index 0000000..6f65d63 --- /dev/null +++ b/result/dia2.sax @@ -0,0 +1,323 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(dia:diagram, xmlns:dia='http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.startElement(dia:diagramdata) +SAX.characters( + , 5) +SAX.startElement(dia:attribute, name='background') +SAX.characters( + , 7) +SAX.startElement(dia:color, val='#ffffff') +SAX.endElement(dia:color) +SAX.characters( + , 5) +SAX.endElement(dia:attribute) +SAX.characters( + , 3) +SAX.endElement(dia:diagramdata) +SAX.characters( + , 3) +SAX.startElement(dia:layer, name='Background', visible='true') +SAX.characters( + , 5) +SAX.startElement(dia:object, type='Standard - Line', version='0', id='O0') +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_pos') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='1.95,6.85') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_bb') +SAX.characters( + , 9) +SAX.startElement(dia:rectangle, val='1.9,6.8;11,8.55') +SAX.endElement(dia:rectangle) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='conn_endpoints') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='1.95,6.85') +SAX.endElement(dia:point) +SAX.characters( + , 9) +SAX.startElement(dia:point, val='10.95,8.5') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='line_color') +SAX.characters( + , 9) +SAX.startElement(dia:color, val='#000000') +SAX.endElement(dia:color) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='line_width') +SAX.characters( + , 9) +SAX.startElement(dia:real, val='0.1') +SAX.endElement(dia:real) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='line_style') +SAX.characters( + , 9) +SAX.startElement(dia:enum, val='0') +SAX.endElement(dia:enum) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='start_arrow') +SAX.characters( + , 9) +SAX.startElement(dia:enum, val='0') +SAX.endElement(dia:enum) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='end_arrow') +SAX.characters( + , 9) +SAX.startElement(dia:enum, val='0') +SAX.endElement(dia:enum) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:connections) +SAX.characters( + , 9) +SAX.startElement(dia:connection, handle='1', to='O2', connection='3') +SAX.endElement(dia:connection) +SAX.characters( + , 7) +SAX.endElement(dia:connections) +SAX.characters( + , 5) +SAX.endElement(dia:object) +SAX.characters( + , 5) +SAX.startElement(dia:object, type='Standard - Text', version='0', id='O1') +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_pos') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='4.8,4.75') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_bb') +SAX.characters( + , 9) +SAX.startElement(dia:rectangle, val='2.579,3.96359;7.021,4.96359') +SAX.endElement(dia:rectangle) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='text') +SAX.characters( + , 9) +SAX.startElement(dia:composite, type='text') +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='string') +SAX.characters( + , 13) +SAX.startElement(dia:string, val='sdfsdfg') +SAX.endElement(dia:string) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='font') +SAX.characters( + , 13) +SAX.startElement(dia:font, name='Courier') +SAX.endElement(dia:font) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='height') +SAX.characters( + , 13) +SAX.startElement(dia:real, val='1') +SAX.endElement(dia:real) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='pos') +SAX.characters( + , 13) +SAX.startElement(dia:point, val='4.8,4.75') +SAX.endElement(dia:point) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='color') +SAX.characters( + , 13) +SAX.startElement(dia:color, val='#000000') +SAX.endElement(dia:color) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 11) +SAX.startElement(dia:attribute, name='alignment') +SAX.characters( + , 13) +SAX.startElement(dia:enum, val='1') +SAX.endElement(dia:enum) +SAX.characters( + , 11) +SAX.endElement(dia:attribute) +SAX.characters( + , 9) +SAX.endElement(dia:composite) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 5) +SAX.endElement(dia:object) +SAX.characters( + , 5) +SAX.startElement(dia:object, type='Standard - Box', version='0', id='O2') +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_pos') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='10.95,7.5') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='obj_bb') +SAX.characters( + , 9) +SAX.startElement(dia:rectangle, val='10.9,7.45;13.05,9.55') +SAX.endElement(dia:rectangle) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='elem_corner') +SAX.characters( + , 9) +SAX.startElement(dia:point, val='10.95,7.5') +SAX.endElement(dia:point) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='elem_width') +SAX.characters( + , 9) +SAX.startElement(dia:real, val='2.05') +SAX.endElement(dia:real) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='elem_height') +SAX.characters( + , 9) +SAX.startElement(dia:real, val='2') +SAX.endElement(dia:real) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='border_width') +SAX.characters( + , 9) +SAX.startElement(dia:real, val='0.1') +SAX.endElement(dia:real) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='border_color') +SAX.characters( + , 9) +SAX.startElement(dia:color, val='#000000') +SAX.endElement(dia:color) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='inner_color') +SAX.characters( + , 9) +SAX.startElement(dia:color, val='#ffffff') +SAX.endElement(dia:color) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 7) +SAX.startElement(dia:attribute, name='line_style') +SAX.characters( + , 9) +SAX.startElement(dia:enum, val='0') +SAX.endElement(dia:enum) +SAX.characters( + , 7) +SAX.endElement(dia:attribute) +SAX.characters( + , 5) +SAX.endElement(dia:object) +SAX.characters( + , 3) +SAX.endElement(dia:layer) +SAX.characters( +, 1) +SAX.endElement(dia:diagram) +SAX.endDocument() diff --git a/result/dia2.sax2 b/result/dia2.sax2 new file mode 100644 index 0000000..4821c9b --- /dev/null +++ b/result/dia2.sax2 @@ -0,0 +1,323 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='back...', 10) +SAX.characters( + , 7) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.endElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.startElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 2, 0, name='Back...', 10, visible='true...', 4) +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O0">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.9,...', 15) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='conn...', 14) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='star...', 11) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='end_...', 9) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, handle='1" t...', 1, to='O2" ...', 2, connection='3"/>...', 1) +SAX.endElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O1">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.57...', 27) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='text...', 4) +SAX.characters( + , 9) +SAX.startElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, type='text...', 4) +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='stri...', 6) +SAX.characters( + , 13) +SAX.startElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='sdfs...', 7) +SAX.endElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='font...', 4) +SAX.characters( + , 13) +SAX.startElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='Cour...', 7) +SAX.endElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='heig...', 6) +SAX.characters( + , 13) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='pos"...', 3) +SAX.characters( + , 13) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='colo...', 5) +SAX.characters( + , 13) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='alig...', 9) +SAX.characters( + , 13) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 9) +SAX.endElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 14, version='0" i...', 1, id='O2">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 20) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 10) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.05...', 4) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2"/>...', 1) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='inne...', 11) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.endElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( +, 1) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/result/dtd1 b/result/dtd1 new file mode 100644 index 0000000..fb11ffa --- /dev/null +++ b/result/dtd1 @@ -0,0 +1,4 @@ + + + + diff --git a/result/dtd1.rde b/result/dtd1.rde new file mode 100644 index 0000000..6bb39b8 --- /dev/null +++ b/result/dtd1.rde @@ -0,0 +1,5 @@ +0 10 MEMO 0 0 +0 1 MEMO 0 0 +1 14 #text 0 1 + +0 15 MEMO 0 0 diff --git a/result/dtd1.rdr b/result/dtd1.rdr new file mode 100644 index 0000000..6bb39b8 --- /dev/null +++ b/result/dtd1.rdr @@ -0,0 +1,5 @@ +0 10 MEMO 0 0 +0 1 MEMO 0 0 +1 14 #text 0 1 + +0 15 MEMO 0 0 diff --git a/result/dtd1.sax b/result/dtd1.sax new file mode 100644 index 0000000..ef8d6d3 --- /dev/null +++ b/result/dtd1.sax @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(MEMO, -//SGMLSOURCE//DTD MEMO//EN, http://www.sgmlsource.com/dtds/memo.dtd) +SAX.externalSubset(MEMO, -//SGMLSOURCE//DTD MEMO//EN, http://www.sgmlsource.com/dtds/memo.dtd) +SAX.startElement(MEMO) +SAX.characters( +, 1) +SAX.endElement(MEMO) +SAX.endDocument() diff --git a/result/dtd1.sax2 b/result/dtd1.sax2 new file mode 100644 index 0000000..47be5e0 --- /dev/null +++ b/result/dtd1.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(MEMO, -//SGMLSOURCE//DTD MEMO//EN, http://www.sgmlsource.com/dtds/memo.dtd) +SAX.externalSubset(MEMO, -//SGMLSOURCE//DTD MEMO//EN, http://www.sgmlsource.com/dtds/memo.dtd) +SAX.startElementNs(MEMO, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.endElementNs(MEMO, NULL, NULL) +SAX.endDocument() diff --git a/result/dtd10 b/result/dtd10 new file mode 100644 index 0000000..8c7d5e7 --- /dev/null +++ b/result/dtd10 @@ -0,0 +1,9 @@ + + + + + + +]> +This is a valid document diff --git a/result/dtd10.rde b/result/dtd10.rde new file mode 100644 index 0000000..1df24c7 --- /dev/null +++ b/result/dtd10.rde @@ -0,0 +1,12 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 b 0 0 +2 3 #text 0 1 This +1 15 b 0 0 +1 1 c 0 0 +2 3 #text 0 1 is a +1 15 c 0 0 +1 1 d 0 0 +2 3 #text 0 1 valid document +1 15 d 0 0 +0 15 doc 0 0 diff --git a/result/dtd10.rdr b/result/dtd10.rdr new file mode 100644 index 0000000..1df24c7 --- /dev/null +++ b/result/dtd10.rdr @@ -0,0 +1,12 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 b 0 0 +2 3 #text 0 1 This +1 15 b 0 0 +1 1 c 0 0 +2 3 #text 0 1 is a +1 15 c 0 0 +1 1 d 0 0 +2 3 #text 0 1 valid document +1 15 d 0 0 +0 15 doc 0 0 diff --git a/result/dtd10.sax b/result/dtd10.sax new file mode 100644 index 0000000..87fd041 --- /dev/null +++ b/result/dtd10.sax @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.elementDecl(c, 3, ...) +SAX.elementDecl(d, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.startElement(b) +SAX.characters(This, 4) +SAX.endElement(b) +SAX.startElement(c) +SAX.characters( is a, 5) +SAX.endElement(c) +SAX.startElement(d) +SAX.characters( valid document, 15) +SAX.endElement(d) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/dtd10.sax2 b/result/dtd10.sax2 new file mode 100644 index 0000000..7f15a09 --- /dev/null +++ b/result/dtd10.sax2 @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.elementDecl(c, 3, ...) +SAX.elementDecl(d, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(b, NULL, NULL) +SAX.startElementNs(c, NULL, NULL, 0, 0, 0) +SAX.characters( is a, 5) +SAX.endElementNs(c, NULL, NULL) +SAX.startElementNs(d, NULL, NULL, 0, 0, 0) +SAX.characters( valid document, 15) +SAX.endElementNs(d, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/dtd11 b/result/dtd11 new file mode 100644 index 0000000..e0df8af --- /dev/null +++ b/result/dtd11 @@ -0,0 +1,6 @@ + + + +]> + diff --git a/result/dtd11.rde b/result/dtd11.rde new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/result/dtd11.rde @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/result/dtd11.rdr b/result/dtd11.rdr new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/result/dtd11.rdr @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/result/dtd11.sax b/result/dtd11.sax new file mode 100644 index 0000000..a2bee0c --- /dev/null +++ b/result/dtd11.sax @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 3, ...) +SAX.attributeDecl(doc, val, 1, 3, NULL, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc, val='v1') +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/dtd11.sax2 b/result/dtd11.sax2 new file mode 100644 index 0000000..a9cae5d --- /dev/null +++ b/result/dtd11.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 3, ...) +SAX.attributeDecl(doc, val, 1, 3, NULL, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 1, 0, val='v1"/...', 2) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/dtd12 b/result/dtd12 new file mode 100644 index 0000000..f0d1261 --- /dev/null +++ b/result/dtd12 @@ -0,0 +1,6 @@ + + + +]> +&WhatHeSaid; diff --git a/result/dtd12.rde b/result/dtd12.rde new file mode 100644 index 0000000..c2d4cc0 --- /dev/null +++ b/result/dtd12.rde @@ -0,0 +1,4 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 3 #text 0 1 He said "Yes" +0 15 doc 0 0 diff --git a/result/dtd12.rdr b/result/dtd12.rdr new file mode 100644 index 0000000..c394a46 --- /dev/null +++ b/result/dtd12.rdr @@ -0,0 +1,4 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 5 WhatHeSaid 0 0 +0 15 doc 0 0 diff --git a/result/dtd12.sax b/result/dtd12.sax new file mode 100644 index 0000000..82054ce --- /dev/null +++ b/result/dtd12.sax @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(YN, 1, (null), (null), "Yes") +SAX.getEntity(YN) +SAX.entityDecl(WhatHeSaid, 1, (null), (null), He said &YN;) +SAX.getEntity(WhatHeSaid) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.getEntity(WhatHeSaid) +SAX.characters(He said , 8) +SAX.getEntity(YN) +SAX.characters("Yes", 5) +SAX.reference(YN) +SAX.reference(WhatHeSaid) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/dtd12.sax2 b/result/dtd12.sax2 new file mode 100644 index 0000000..8a5d8a4 --- /dev/null +++ b/result/dtd12.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(YN, 1, (null), (null), "Yes") +SAX.getEntity(YN) +SAX.entityDecl(WhatHeSaid, 1, (null), (null), He said &YN;) +SAX.getEntity(WhatHeSaid) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.getEntity(WhatHeSaid) +SAX.characters(He said , 8) +SAX.getEntity(YN) +SAX.characters("Yes", 5) +SAX.reference(YN) +SAX.reference(WhatHeSaid) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/dtd13 b/result/dtd13 new file mode 100644 index 0000000..2814146 --- /dev/null +++ b/result/dtd13 @@ -0,0 +1,7 @@ + + + +]> + + diff --git a/result/dtd13.rde b/result/dtd13.rde new file mode 100644 index 0000000..f567ccb --- /dev/null +++ b/result/dtd13.rde @@ -0,0 +1,4 @@ +0 8 #comment 0 1 comment before the DTD +0 10 doc 0 0 +0 8 #comment 0 1 comment after the DTD +0 1 doc 1 0 diff --git a/result/dtd13.rdr b/result/dtd13.rdr new file mode 100644 index 0000000..f567ccb --- /dev/null +++ b/result/dtd13.rdr @@ -0,0 +1,4 @@ +0 8 #comment 0 1 comment before the DTD +0 10 doc 0 0 +0 8 #comment 0 1 comment after the DTD +0 1 doc 1 0 diff --git a/result/dtd13.sax b/result/dtd13.sax new file mode 100644 index 0000000..5b1245f --- /dev/null +++ b/result/dtd13.sax @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( comment before the DTD ) +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 2, ...) +SAX.externalSubset(doc, , ) +SAX.comment( comment after the DTD ) +SAX.startElement(doc) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/dtd13.sax2 b/result/dtd13.sax2 new file mode 100644 index 0000000..b631501 --- /dev/null +++ b/result/dtd13.sax2 @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( comment before the DTD ) +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 2, ...) +SAX.externalSubset(doc, , ) +SAX.comment( comment after the DTD ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/dtd2 b/result/dtd2 new file mode 100644 index 0000000..921fd94 --- /dev/null +++ b/result/dtd2 @@ -0,0 +1,5 @@ + + +]> +This is a valid document ! diff --git a/result/dtd2.rde b/result/dtd2.rde new file mode 100644 index 0000000..20cbf2a --- /dev/null +++ b/result/dtd2.rde @@ -0,0 +1,4 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 3 #text 0 1 This is a valid document ! +0 15 doc 0 0 diff --git a/result/dtd2.rdr b/result/dtd2.rdr new file mode 100644 index 0000000..20cbf2a --- /dev/null +++ b/result/dtd2.rdr @@ -0,0 +1,4 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 3 #text 0 1 This is a valid document ! +0 15 doc 0 0 diff --git a/result/dtd2.sax b/result/dtd2.sax new file mode 100644 index 0000000..0343486 --- /dev/null +++ b/result/dtd2.sax @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.characters(This is a valid document !, 26) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/dtd2.sax2 b/result/dtd2.sax2 new file mode 100644 index 0000000..ff6b568 --- /dev/null +++ b/result/dtd2.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters(This is a valid document !, 26) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/dtd3 b/result/dtd3 new file mode 100644 index 0000000..6681ef7 --- /dev/null +++ b/result/dtd3 @@ -0,0 +1,5 @@ + + +]> +This is a valid document ! diff --git a/result/dtd3.rde b/result/dtd3.rde new file mode 100644 index 0000000..20cbf2a --- /dev/null +++ b/result/dtd3.rde @@ -0,0 +1,4 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 3 #text 0 1 This is a valid document ! +0 15 doc 0 0 diff --git a/result/dtd3.rdr b/result/dtd3.rdr new file mode 100644 index 0000000..20cbf2a --- /dev/null +++ b/result/dtd3.rdr @@ -0,0 +1,4 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 3 #text 0 1 This is a valid document ! +0 15 doc 0 0 diff --git a/result/dtd3.sax b/result/dtd3.sax new file mode 100644 index 0000000..57539d3 --- /dev/null +++ b/result/dtd3.sax @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 2, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.characters(This is a valid document !, 26) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/dtd3.sax2 b/result/dtd3.sax2 new file mode 100644 index 0000000..9625ad5 --- /dev/null +++ b/result/dtd3.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 2, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters(This is a valid document !, 26) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/dtd4 b/result/dtd4 new file mode 100644 index 0000000..6cf2444 --- /dev/null +++ b/result/dtd4 @@ -0,0 +1,5 @@ + + +]> + diff --git a/result/dtd4.rde b/result/dtd4.rde new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/result/dtd4.rde @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/result/dtd4.rdr b/result/dtd4.rdr new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/result/dtd4.rdr @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/result/dtd4.sax b/result/dtd4.sax new file mode 100644 index 0000000..cfb4c79 --- /dev/null +++ b/result/dtd4.sax @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 1, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/dtd4.sax2 b/result/dtd4.sax2 new file mode 100644 index 0000000..8366d48 --- /dev/null +++ b/result/dtd4.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 1, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/dtd5 b/result/dtd5 new file mode 100644 index 0000000..5409d51 --- /dev/null +++ b/result/dtd5 @@ -0,0 +1,7 @@ + + + + +]> +This is a valid document diff --git a/result/dtd5.rde b/result/dtd5.rde new file mode 100644 index 0000000..66773a3 --- /dev/null +++ b/result/dtd5.rde @@ -0,0 +1,11 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 a 0 0 +2 3 #text 0 1 This +1 15 a 0 0 +1 3 #text 0 1 is a +1 1 b 0 0 +2 3 #text 0 1 valid +1 15 b 0 0 +1 3 #text 0 1 document +0 15 doc 0 0 diff --git a/result/dtd5.rdr b/result/dtd5.rdr new file mode 100644 index 0000000..66773a3 --- /dev/null +++ b/result/dtd5.rdr @@ -0,0 +1,11 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 a 0 0 +2 3 #text 0 1 This +1 15 a 0 0 +1 3 #text 0 1 is a +1 1 b 0 0 +2 3 #text 0 1 valid +1 15 b 0 0 +1 3 #text 0 1 document +0 15 doc 0 0 diff --git a/result/dtd5.sax b/result/dtd5.sax new file mode 100644 index 0000000..5dc8db3 --- /dev/null +++ b/result/dtd5.sax @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 3, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.startElement(a) +SAX.characters(This, 4) +SAX.endElement(a) +SAX.characters( is a , 6) +SAX.startElement(b) +SAX.characters(valid, 5) +SAX.endElement(b) +SAX.characters( document, 9) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/dtd5.sax2 b/result/dtd5.sax2 new file mode 100644 index 0000000..f48c01c --- /dev/null +++ b/result/dtd5.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 3, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(a, NULL, NULL) +SAX.characters( is a , 6) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters(valid, 5) +SAX.endElementNs(b, NULL, NULL) +SAX.characters( document, 9) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/dtd6 b/result/dtd6 new file mode 100644 index 0000000..ed2d993 --- /dev/null +++ b/result/dtd6 @@ -0,0 +1,7 @@ + + + + +]> +This is a valid document diff --git a/result/dtd6.rde b/result/dtd6.rde new file mode 100644 index 0000000..a941e6a --- /dev/null +++ b/result/dtd6.rde @@ -0,0 +1,12 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 a 0 0 +2 3 #text 0 1 This +1 15 a 0 0 +1 1 b 0 0 +2 3 #text 0 1 is a valid +1 15 b 0 0 +1 1 a 0 0 +2 3 #text 0 1 document +1 15 a 0 0 +0 15 doc 0 0 diff --git a/result/dtd6.rdr b/result/dtd6.rdr new file mode 100644 index 0000000..a941e6a --- /dev/null +++ b/result/dtd6.rdr @@ -0,0 +1,12 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 a 0 0 +2 3 #text 0 1 This +1 15 a 0 0 +1 1 b 0 0 +2 3 #text 0 1 is a valid +1 15 b 0 0 +1 1 a 0 0 +2 3 #text 0 1 document +1 15 a 0 0 +0 15 doc 0 0 diff --git a/result/dtd6.sax b/result/dtd6.sax new file mode 100644 index 0000000..e9088d7 --- /dev/null +++ b/result/dtd6.sax @@ -0,0 +1,19 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.startElement(a) +SAX.characters(This, 4) +SAX.endElement(a) +SAX.startElement(b) +SAX.characters( is a valid, 11) +SAX.endElement(b) +SAX.startElement(a) +SAX.characters( document, 9) +SAX.endElement(a) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/dtd6.sax2 b/result/dtd6.sax2 new file mode 100644 index 0000000..6e78924 --- /dev/null +++ b/result/dtd6.sax2 @@ -0,0 +1,19 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(a, NULL, NULL) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters( is a valid, 11) +SAX.endElementNs(b, NULL, NULL) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters( document, 9) +SAX.endElementNs(a, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/dtd7 b/result/dtd7 new file mode 100644 index 0000000..0a4075f --- /dev/null +++ b/result/dtd7 @@ -0,0 +1,7 @@ + + + + +]> +This is a valid document diff --git a/result/dtd7.rde b/result/dtd7.rde new file mode 100644 index 0000000..a477613 --- /dev/null +++ b/result/dtd7.rde @@ -0,0 +1,9 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 a 0 0 +2 3 #text 0 1 This +1 15 a 0 0 +1 1 b 0 0 +2 3 #text 0 1 is a valid document +1 15 b 0 0 +0 15 doc 0 0 diff --git a/result/dtd7.rdr b/result/dtd7.rdr new file mode 100644 index 0000000..a477613 --- /dev/null +++ b/result/dtd7.rdr @@ -0,0 +1,9 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 a 0 0 +2 3 #text 0 1 This +1 15 a 0 0 +1 1 b 0 0 +2 3 #text 0 1 is a valid document +1 15 b 0 0 +0 15 doc 0 0 diff --git a/result/dtd7.sax b/result/dtd7.sax new file mode 100644 index 0000000..dbf6e5f --- /dev/null +++ b/result/dtd7.sax @@ -0,0 +1,16 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.startElement(a) +SAX.characters(This, 4) +SAX.endElement(a) +SAX.startElement(b) +SAX.characters( is a valid document, 20) +SAX.endElement(b) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/dtd7.sax2 b/result/dtd7.sax2 new file mode 100644 index 0000000..4a47191 --- /dev/null +++ b/result/dtd7.sax2 @@ -0,0 +1,16 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(a, NULL, NULL) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters( is a valid document, 20) +SAX.endElementNs(b, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/dtd8 b/result/dtd8 new file mode 100644 index 0000000..7a655f9 --- /dev/null +++ b/result/dtd8 @@ -0,0 +1,9 @@ + + + + + + +]> +This is a valid document diff --git a/result/dtd8.rde b/result/dtd8.rde new file mode 100644 index 0000000..15ee010 --- /dev/null +++ b/result/dtd8.rde @@ -0,0 +1,9 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 b 0 0 +2 3 #text 0 1 This +1 15 b 0 0 +1 1 c 0 0 +2 3 #text 0 1 is a valid document +1 15 c 0 0 +0 15 doc 0 0 diff --git a/result/dtd8.rdr b/result/dtd8.rdr new file mode 100644 index 0000000..15ee010 --- /dev/null +++ b/result/dtd8.rdr @@ -0,0 +1,9 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 b 0 0 +2 3 #text 0 1 This +1 15 b 0 0 +1 1 c 0 0 +2 3 #text 0 1 is a valid document +1 15 c 0 0 +0 15 doc 0 0 diff --git a/result/dtd8.sax b/result/dtd8.sax new file mode 100644 index 0000000..fd949a2 --- /dev/null +++ b/result/dtd8.sax @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.elementDecl(c, 3, ...) +SAX.elementDecl(d, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.startElement(b) +SAX.characters(This, 4) +SAX.endElement(b) +SAX.startElement(c) +SAX.characters( is a valid document, 20) +SAX.endElement(c) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/dtd8.sax2 b/result/dtd8.sax2 new file mode 100644 index 0000000..d38b60d --- /dev/null +++ b/result/dtd8.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.elementDecl(c, 3, ...) +SAX.elementDecl(d, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(b, NULL, NULL) +SAX.startElementNs(c, NULL, NULL, 0, 0, 0) +SAX.characters( is a valid document, 20) +SAX.endElementNs(c, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/dtd9 b/result/dtd9 new file mode 100644 index 0000000..89cc1d4 --- /dev/null +++ b/result/dtd9 @@ -0,0 +1,9 @@ + + + + + + +]> +This is a valid document diff --git a/result/dtd9.rde b/result/dtd9.rde new file mode 100644 index 0000000..2e2b2e9 --- /dev/null +++ b/result/dtd9.rde @@ -0,0 +1,9 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 b 0 0 +2 3 #text 0 1 This +1 15 b 0 0 +1 1 d 0 0 +2 3 #text 0 1 is a valid document +1 15 d 0 0 +0 15 doc 0 0 diff --git a/result/dtd9.rdr b/result/dtd9.rdr new file mode 100644 index 0000000..2e2b2e9 --- /dev/null +++ b/result/dtd9.rdr @@ -0,0 +1,9 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 1 b 0 0 +2 3 #text 0 1 This +1 15 b 0 0 +1 1 d 0 0 +2 3 #text 0 1 is a valid document +1 15 d 0 0 +0 15 doc 0 0 diff --git a/result/dtd9.sax b/result/dtd9.sax new file mode 100644 index 0000000..738f4d3 --- /dev/null +++ b/result/dtd9.sax @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.elementDecl(c, 3, ...) +SAX.elementDecl(d, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.startElement(b) +SAX.characters(This, 4) +SAX.endElement(b) +SAX.startElement(d) +SAX.characters( is a valid document, 20) +SAX.endElement(d) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/dtd9.sax2 b/result/dtd9.sax2 new file mode 100644 index 0000000..a5b537f --- /dev/null +++ b/result/dtd9.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.elementDecl(c, 3, ...) +SAX.elementDecl(d, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(b, NULL, NULL) +SAX.startElementNs(d, NULL, NULL, 0, 0, 0) +SAX.characters( is a valid document, 20) +SAX.endElementNs(d, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/ebcdic_566012.xml b/result/ebcdic_566012.xml new file mode 100644 index 0000000..153add5 --- /dev/null +++ b/result/ebcdic_566012.xml @@ -0,0 +1 @@ +Lo@~K@~`on%L@~JZan% \ No newline at end of file diff --git a/result/ebcdic_566012.xml.rde b/result/ebcdic_566012.xml.rde new file mode 100644 index 0000000..efbc18b --- /dev/null +++ b/result/ebcdic_566012.xml.rde @@ -0,0 +1 @@ +0 1 test 1 0 diff --git a/result/ebcdic_566012.xml.rdr b/result/ebcdic_566012.xml.rdr new file mode 100644 index 0000000..efbc18b --- /dev/null +++ b/result/ebcdic_566012.xml.rdr @@ -0,0 +1 @@ +0 1 test 1 0 diff --git a/result/ebcdic_566012.xml.sax b/result/ebcdic_566012.xml.sax new file mode 100644 index 0000000..7ec6d5a --- /dev/null +++ b/result/ebcdic_566012.xml.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(test, attr='ÄÖÜ') +SAX.endElement(test) +SAX.endDocument() diff --git a/result/ebcdic_566012.xml.sax2 b/result/ebcdic_566012.xml.sax2 new file mode 100644 index 0000000..b8a4ce0 --- /dev/null +++ b/result/ebcdic_566012.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(test, NULL, NULL, 0, 1, 0, attr='ÄÖ...', 6) +SAX.endElementNs(test, NULL, NULL) +SAX.endDocument() diff --git a/result/emptycdata.xml b/result/emptycdata.xml new file mode 100644 index 0000000..bc98388 --- /dev/null +++ b/result/emptycdata.xml @@ -0,0 +1,4 @@ + + + + diff --git a/result/emptycdata.xml.rde b/result/emptycdata.xml.rde new file mode 100644 index 0000000..1c8b74f --- /dev/null +++ b/result/emptycdata.xml.rde @@ -0,0 +1,7 @@ +0 1 html 0 0 +1 14 #text 0 1 + +1 4 #cdata-section 0 1 +1 14 #text 0 1 + +0 15 html 0 0 diff --git a/result/emptycdata.xml.rdr b/result/emptycdata.xml.rdr new file mode 100644 index 0000000..1c8b74f --- /dev/null +++ b/result/emptycdata.xml.rdr @@ -0,0 +1,7 @@ +0 1 html 0 0 +1 14 #text 0 1 + +1 4 #cdata-section 0 1 +1 14 #text 0 1 + +0 15 html 0 0 diff --git a/result/emptycdata.xml.sax b/result/emptycdata.xml.sax new file mode 100644 index 0000000..39587c6 --- /dev/null +++ b/result/emptycdata.xml.sax @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html, xmlns='http://www.w3.org/1999/xhtml') +SAX.characters( +, 1) +SAX.pcdata(, 0) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.endDocument() diff --git a/result/emptycdata.xml.sax2 b/result/emptycdata.xml.sax2 new file mode 100644 index 0000000..7f80296 --- /dev/null +++ b/result/emptycdata.xml.sax2 @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(html, NULL, 'http://www.w3.org/1999/xhtml', 1, xmlns='http://www.w3.org/1999/xhtml', 0, 0) +SAX.characters( +, 1) +SAX.pcdata(, 0) +SAX.characters( +, 1) +SAX.endElementNs(html, NULL, 'http://www.w3.org/1999/xhtml') +SAX.endDocument() diff --git a/result/ent1 b/result/ent1 new file mode 100644 index 0000000..3e24756 --- /dev/null +++ b/result/ent1 @@ -0,0 +1,7 @@ + + +]> + + &xml; + diff --git a/result/ent1.rde b/result/ent1.rde new file mode 100644 index 0000000..d806d24 --- /dev/null +++ b/result/ent1.rde @@ -0,0 +1,6 @@ +0 10 EXAMPLE 0 0 +0 1 EXAMPLE 0 0 +1 3 #text 0 1 + Extensible Markup Language + +0 15 EXAMPLE 0 0 diff --git a/result/ent1.rdr b/result/ent1.rdr new file mode 100644 index 0000000..9f9c2cc --- /dev/null +++ b/result/ent1.rdr @@ -0,0 +1,8 @@ +0 10 EXAMPLE 0 0 +0 1 EXAMPLE 0 0 +1 14 #text 0 1 + +1 5 xml 0 0 +1 14 #text 0 1 + +0 15 EXAMPLE 0 0 diff --git a/result/ent1.sax b/result/ent1.sax new file mode 100644 index 0000000..1d5334f --- /dev/null +++ b/result/ent1.sax @@ -0,0 +1,16 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.startElement(EXAMPLE) +SAX.characters( + , 5) +SAX.getEntity(xml) +SAX.characters(Extensible Markup Language, 26) +SAX.reference(xml) +SAX.characters( +, 1) +SAX.endElement(EXAMPLE) +SAX.endDocument() diff --git a/result/ent1.sax2 b/result/ent1.sax2 new file mode 100644 index 0000000..573f485 --- /dev/null +++ b/result/ent1.sax2 @@ -0,0 +1,16 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.getEntity(xml) +SAX.characters(Extensible Markup Language, 26) +SAX.reference(xml) +SAX.characters( +, 1) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/result/ent10 b/result/ent10 new file mode 100644 index 0000000..c46d19f --- /dev/null +++ b/result/ent10 @@ -0,0 +1,14 @@ + + + + + + hello world + + "> +]> + + &f; + diff --git a/result/ent10.rde b/result/ent10.rde new file mode 100644 index 0000000..e69594c --- /dev/null +++ b/result/ent10.rde @@ -0,0 +1,14 @@ +0 10 rnode 0 0 +0 1 rnode 0 0 +1 14 #text 0 1 + + +1 1 f 0 0 +2 3 #text 0 1 + hello world + +1 15 f 0 0 +1 14 #text 0 1 + + +0 15 rnode 0 0 diff --git a/result/ent10.rdr b/result/ent10.rdr new file mode 100644 index 0000000..34edb50 --- /dev/null +++ b/result/ent10.rdr @@ -0,0 +1,8 @@ +0 10 rnode 0 0 +0 1 rnode 0 0 +1 14 #text 0 1 + +1 5 f 0 0 +1 14 #text 0 1 + +0 15 rnode 0 0 diff --git a/result/ent10.sax b/result/ent10.sax new file mode 100644 index 0000000..75ed20a --- /dev/null +++ b/result/ent10.sax @@ -0,0 +1,31 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(rnode, , ) +SAX.elementDecl(rnode, 4, ...) +SAX.elementDecl(f, 3, ...) +SAX.attributeDecl(f, att1, 1, 4, J, ...) +SAX.entityDecl(f, 1, (null), (null), + + hello world + + ) +SAX.getEntity(f) +SAX.externalSubset(rnode, , ) +SAX.startElement(rnode) +SAX.characters( + , 4) +SAX.getEntity(f) +SAX.ignorableWhitespace( + , 4) +SAX.startElement(f) +SAX.characters( + hello world + , 19) +SAX.endElement(f) +SAX.characters( + , 4) +SAX.reference(f) +SAX.characters( +, 1) +SAX.endElement(rnode) +SAX.endDocument() diff --git a/result/ent10.sax2 b/result/ent10.sax2 new file mode 100644 index 0000000..7a379fc --- /dev/null +++ b/result/ent10.sax2 @@ -0,0 +1,31 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(rnode, , ) +SAX.elementDecl(rnode, 4, ...) +SAX.elementDecl(f, 3, ...) +SAX.attributeDecl(f, att1, 1, 4, J, ...) +SAX.entityDecl(f, 1, (null), (null), + + hello world + + ) +SAX.getEntity(f) +SAX.externalSubset(rnode, , ) +SAX.startElementNs(rnode, NULL, NULL, 0, 0, 0) +SAX.characters( + , 4) +SAX.getEntity(f) +SAX.ignorableWhitespace( + , 4) +SAX.startElementNs(f, NULL, NULL, 0, 1, 1, att1='J...', 1) +SAX.characters( + hello world + , 19) +SAX.endElementNs(f, NULL, NULL) +SAX.characters( + , 4) +SAX.reference(f) +SAX.characters( +, 1) +SAX.endElementNs(rnode, NULL, NULL) +SAX.endDocument() diff --git a/result/ent11 b/result/ent11 new file mode 100644 index 0000000..7eee023 --- /dev/null +++ b/result/ent11 @@ -0,0 +1,5 @@ + + +]> +&newl; diff --git a/result/ent11.rde b/result/ent11.rde new file mode 100644 index 0000000..f6c3c27 --- /dev/null +++ b/result/ent11.rde @@ -0,0 +1,5 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/ent11.rdr b/result/ent11.rdr new file mode 100644 index 0000000..54a754a --- /dev/null +++ b/result/ent11.rdr @@ -0,0 +1,4 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 5 newl 0 0 +0 15 doc 0 0 diff --git a/result/ent11.sax b/result/ent11.sax new file mode 100644 index 0000000..4e36a6b --- /dev/null +++ b/result/ent11.sax @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(newl, 1, (null), (null), ) +SAX.getEntity(newl) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.getEntity(newl) +SAX.characters( +, 1) +SAX.reference(newl) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/ent11.sax2 b/result/ent11.sax2 new file mode 100644 index 0000000..e80778f --- /dev/null +++ b/result/ent11.sax2 @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(newl, 1, (null), (null), ) +SAX.getEntity(newl) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.getEntity(newl) +SAX.characters( +, 1) +SAX.reference(newl) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/ent12 b/result/ent12 new file mode 100644 index 0000000..f603c59 --- /dev/null +++ b/result/ent12 @@ -0,0 +1,8 @@ + + + +]> + + &bar; + diff --git a/result/ent12.rde b/result/ent12.rde new file mode 100644 index 0000000..483547b --- /dev/null +++ b/result/ent12.rde @@ -0,0 +1,10 @@ +0 10 root 0 0 +0 1 root 0 0 +1 14 #text 0 1 + +1 1 element 0 0 +2 3 #text 0 1 def +1 15 element 0 0 +1 14 #text 0 1 + +0 15 root 0 0 diff --git a/result/ent12.rdr b/result/ent12.rdr new file mode 100644 index 0000000..884c1fe --- /dev/null +++ b/result/ent12.rdr @@ -0,0 +1,10 @@ +0 10 root 0 0 +0 1 root 0 0 +1 14 #text 0 1 + +1 1 element 0 0 +2 5 bar 0 0 +1 15 element 0 0 +1 14 #text 0 1 + +0 15 root 0 0 diff --git a/result/ent12.sax b/result/ent12.sax new file mode 100644 index 0000000..84322d2 --- /dev/null +++ b/result/ent12.sax @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(root, , ) +SAX.entityDecl(foo, 1, (null), (null), abc) +SAX.getEntity(foo) +SAX.entityDecl(bar, 1, (null), (null), def) +SAX.getEntity(bar) +SAX.externalSubset(root, , ) +SAX.getEntity(foo) +SAX.startElement(root, attribute='&foo;') +SAX.characters( + , 4) +SAX.startElement(element) +SAX.getEntity(bar) +SAX.characters(def, 3) +SAX.reference(bar) +SAX.endElement(element) +SAX.characters( +, 1) +SAX.endElement(root) +SAX.endDocument() diff --git a/result/ent12.sax2 b/result/ent12.sax2 new file mode 100644 index 0000000..881fedd --- /dev/null +++ b/result/ent12.sax2 @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(root, , ) +SAX.entityDecl(foo, 1, (null), (null), abc) +SAX.getEntity(foo) +SAX.entityDecl(bar, 1, (null), (null), def) +SAX.getEntity(bar) +SAX.externalSubset(root, , ) +SAX.getEntity(foo) +SAX.startElementNs(root, NULL, NULL, 0, 1, 0, attribute='&foo...', 5) +SAX.characters( + , 4) +SAX.startElementNs(element, NULL, NULL, 0, 0, 0) +SAX.getEntity(bar) +SAX.characters(def, 3) +SAX.reference(bar) +SAX.endElementNs(element, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(root, NULL, NULL) +SAX.endDocument() diff --git a/result/ent13 b/result/ent13 new file mode 100644 index 0000000..8dd96c9 --- /dev/null +++ b/result/ent13 @@ -0,0 +1,5 @@ + + +]> +a diff --git a/result/ent13.rde b/result/ent13.rde new file mode 100644 index 0000000..d9227fc --- /dev/null +++ b/result/ent13.rde @@ -0,0 +1,4 @@ +0 10 test 0 0 +0 1 t 0 0 +1 3 #text 0 1 a +0 15 t 0 0 diff --git a/result/ent13.rdr b/result/ent13.rdr new file mode 100644 index 0000000..d9227fc --- /dev/null +++ b/result/ent13.rdr @@ -0,0 +1,4 @@ +0 10 test 0 0 +0 1 t 0 0 +1 3 #text 0 1 a +0 15 t 0 0 diff --git a/result/ent13.sax b/result/ent13.sax new file mode 100644 index 0000000..5e4bb44 --- /dev/null +++ b/result/ent13.sax @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.entityDecl(ampproblem, 1, (null), (null), &) +SAX.getEntity(ampproblem) +SAX.externalSubset(test, , ) +SAX.getEntity(ampproblem) +SAX.startElement(t, a='&problem;') +SAX.characters(a, 1) +SAX.endElement(t) +SAX.endDocument() diff --git a/result/ent13.sax2 b/result/ent13.sax2 new file mode 100644 index 0000000..3414da6 --- /dev/null +++ b/result/ent13.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.entityDecl(ampproblem, 1, (null), (null), &) +SAX.getEntity(ampproblem) +SAX.externalSubset(test, , ) +SAX.getEntity(ampproblem) +SAX.startElementNs(t, NULL, NULL, 0, 1, 0, a='&...', 12) +SAX.characters(a, 1) +SAX.endElementNs(t, NULL, NULL) +SAX.endDocument() diff --git a/result/ent2 b/result/ent2 new file mode 100644 index 0000000..2b4137c --- /dev/null +++ b/result/ent2 @@ -0,0 +1,10 @@ + + + + +]> + + &title; + This text is about XML, the &xml; and this is an embedded + diff --git a/result/ent2.rde b/result/ent2.rde new file mode 100644 index 0000000..7fe3aa8 --- /dev/null +++ b/result/ent2.rde @@ -0,0 +1,15 @@ +0 10 EXAMPLE 0 0 +0 1 EXAMPLE 0 0 +1 14 #text 0 1 + + +1 1 title 0 0 +2 3 #text 0 1 my title +1 15 title 0 0 +1 3 #text 0 1 + + This text is about XML, the Extensible Markup Language and this is an embedded +1 1 IMG 1 0 +1 14 #text 0 1 + +0 15 EXAMPLE 0 0 diff --git a/result/ent2.rdr b/result/ent2.rdr new file mode 100644 index 0000000..6c2e761 --- /dev/null +++ b/result/ent2.rdr @@ -0,0 +1,13 @@ +0 10 EXAMPLE 0 0 +0 1 EXAMPLE 0 0 +1 14 #text 0 1 + +1 5 title 0 0 +1 3 #text 0 1 + This text is about XML, the +1 5 xml 0 0 +1 3 #text 0 1 and this is an embedded +1 1 IMG 1 0 +1 14 #text 0 1 + +0 15 EXAMPLE 0 0 diff --git a/result/ent2.sax b/result/ent2.sax new file mode 100644 index 0000000..07d2ce4 --- /dev/null +++ b/result/ent2.sax @@ -0,0 +1,26 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.entityDecl(title, 2, -//MY-TITLE//FR, title.xml, (null)) +SAX.unparsedEntityDecl(image, (null), img.gif, GIF) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.startElement(EXAMPLE) +SAX.characters( + , 3) +SAX.getEntity(title) +SAX.error: Entity 'title' not defined +SAX.reference(title) +SAX.characters( + This text is about XML, the, 31) +SAX.getEntity(xml) +SAX.characters(Extensible Markup Language, 26) +SAX.reference(xml) +SAX.characters( and this is an embedded , 25) +SAX.startElement(IMG, src='image') +SAX.endElement(IMG) +SAX.characters( +, 1) +SAX.endElement(EXAMPLE) +SAX.endDocument() diff --git a/result/ent2.sax2 b/result/ent2.sax2 new file mode 100644 index 0000000..d7c8002 --- /dev/null +++ b/result/ent2.sax2 @@ -0,0 +1,26 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.entityDecl(title, 2, -//MY-TITLE//FR, title.xml, (null)) +SAX.unparsedEntityDecl(image, (null), img.gif, GIF) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.getEntity(title) +SAX.error: Entity 'title' not defined +SAX.reference(title) +SAX.characters( + This text is about XML, the, 31) +SAX.getEntity(xml) +SAX.characters(Extensible Markup Language, 26) +SAX.reference(xml) +SAX.characters( and this is an embedded , 25) +SAX.startElementNs(IMG, NULL, NULL, 0, 1, 0, src='imag...', 5) +SAX.endElementNs(IMG, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/result/ent3 b/result/ent3 new file mode 100644 index 0000000..7fb4c7b --- /dev/null +++ b/result/ent3 @@ -0,0 +1,7 @@ + + +]> + + Test of entities in attributes. + diff --git a/result/ent3.rde b/result/ent3.rde new file mode 100644 index 0000000..740442d --- /dev/null +++ b/result/ent3.rde @@ -0,0 +1,6 @@ +0 10 EXAMPLE 0 0 +0 1 EXAMPLE 0 0 +1 3 #text 0 1 + Test of entities in attributes. + +0 15 EXAMPLE 0 0 diff --git a/result/ent3.rdr b/result/ent3.rdr new file mode 100644 index 0000000..740442d --- /dev/null +++ b/result/ent3.rdr @@ -0,0 +1,6 @@ +0 10 EXAMPLE 0 0 +0 1 EXAMPLE 0 0 +1 3 #text 0 1 + Test of entities in attributes. + +0 15 EXAMPLE 0 0 diff --git a/result/ent3.sax b/result/ent3.sax new file mode 100644 index 0000000..407d24b --- /dev/null +++ b/result/ent3.sax @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.getEntity(xml) +SAX.startElement(EXAMPLE, prop1='a&b', prop2='&xml;') +SAX.characters( + Test of entities in attribu, 35) +SAX.endElement(EXAMPLE) +SAX.endDocument() diff --git a/result/ent3.sax2 b/result/ent3.sax2 new file mode 100644 index 0000000..de5ff15 --- /dev/null +++ b/result/ent3.sax2 @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.getEntity(xml) +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 2, 0, prop1='a...', 7, prop2='&xml...', 5) +SAX.characters( + Test of entities in attribu, 35) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/result/ent4 b/result/ent4 new file mode 100644 index 0000000..a92194c --- /dev/null +++ b/result/ent4 @@ -0,0 +1,7 @@ + + +]> + + Test of &amp; behaviour a&b . + diff --git a/result/ent4.rde b/result/ent4.rde new file mode 100644 index 0000000..7b65485 --- /dev/null +++ b/result/ent4.rde @@ -0,0 +1,6 @@ +0 10 EXAMPLE 0 0 +0 1 EXAMPLE 0 0 +1 3 #text 0 1 + Test of & behaviour a&b . + +0 15 EXAMPLE 0 0 diff --git a/result/ent4.rdr b/result/ent4.rdr new file mode 100644 index 0000000..7b65485 --- /dev/null +++ b/result/ent4.rdr @@ -0,0 +1,6 @@ +0 10 EXAMPLE 0 0 +0 1 EXAMPLE 0 0 +1 3 #text 0 1 + Test of & behaviour a&b . + +0 15 EXAMPLE 0 0 diff --git a/result/ent4.sax b/result/ent4.sax new file mode 100644 index 0000000..20bc28e --- /dev/null +++ b/result/ent4.sax @@ -0,0 +1,16 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.startElement(EXAMPLE) +SAX.characters( + Test of , 11) +SAX.characters(&, 1) +SAX.characters(amp; behaviour a, 16) +SAX.characters(&, 1) +SAX.characters(b . +, 4) +SAX.endElement(EXAMPLE) +SAX.endDocument() diff --git a/result/ent4.sax2 b/result/ent4.sax2 new file mode 100644 index 0000000..b0a6b08 --- /dev/null +++ b/result/ent4.sax2 @@ -0,0 +1,16 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0) +SAX.characters( + Test of , 11) +SAX.characters(&, 1) +SAX.characters(amp; behaviour a, 16) +SAX.characters(&, 1) +SAX.characters(b . +, 4) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/result/ent5 b/result/ent5 new file mode 100644 index 0000000..16e7e10 --- /dev/null +++ b/result/ent5 @@ -0,0 +1,5 @@ + + + This is an inverted exclamation sign ¡ + This is a space + diff --git a/result/ent5.rde b/result/ent5.rde new file mode 100644 index 0000000..c570c31 --- /dev/null +++ b/result/ent5.rde @@ -0,0 +1,6 @@ +0 1 EXAMPLE 0 0 +1 3 #text 0 1 + This is an inverted exclamation sign ¡ + This is a space + +0 15 EXAMPLE 0 0 diff --git a/result/ent5.rdr b/result/ent5.rdr new file mode 100644 index 0000000..c570c31 --- /dev/null +++ b/result/ent5.rdr @@ -0,0 +1,6 @@ +0 1 EXAMPLE 0 0 +1 3 #text 0 1 + This is an inverted exclamation sign ¡ + This is a space + +0 15 EXAMPLE 0 0 diff --git a/result/ent5.sax b/result/ent5.sax new file mode 100644 index 0000000..7ad8b65 --- /dev/null +++ b/result/ent5.sax @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(EXAMPLE) +SAX.characters( + This is an inverted excla, 42) +SAX.characters(¡, 2) +SAX.characters( + This is a space , 21) +SAX.characters( , 1) +SAX.characters( +, 2) +SAX.endElement(EXAMPLE) +SAX.endDocument() diff --git a/result/ent5.sax2 b/result/ent5.sax2 new file mode 100644 index 0000000..f7251e4 --- /dev/null +++ b/result/ent5.sax2 @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0) +SAX.characters( + This is an inverted excla, 42) +SAX.characters(¡, 2) +SAX.characters( + This is a space , 21) +SAX.characters( , 1) +SAX.characters( +, 2) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/result/ent6 b/result/ent6 new file mode 100644 index 0000000..047f9bb --- /dev/null +++ b/result/ent6 @@ -0,0 +1,9 @@ + + + + + + +]> + diff --git a/result/ent6.rde b/result/ent6.rde new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/result/ent6.rde @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/result/ent6.rdr b/result/ent6.rdr new file mode 100644 index 0000000..9b0a34d --- /dev/null +++ b/result/ent6.rdr @@ -0,0 +1,2 @@ +0 10 doc 0 0 +0 1 doc 1 0 diff --git a/result/ent6.sax b/result/ent6.sax new file mode 100644 index 0000000..a4426e7 --- /dev/null +++ b/result/ent6.sax @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(lt, 1, (null), (null), <) +SAX.getEntity(lt) +SAX.entityDecl(gt, 1, (null), (null), >) +SAX.getEntity(gt) +SAX.entityDecl(amp, 1, (null), (null), &) +SAX.getEntity(amp) +SAX.entityDecl(apos, 1, (null), (null), ') +SAX.getEntity(apos) +SAX.entityDecl(quot, 1, (null), (null), ") +SAX.getEntity(quot) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/ent6.sax2 b/result/ent6.sax2 new file mode 100644 index 0000000..a70d0bb --- /dev/null +++ b/result/ent6.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(lt, 1, (null), (null), <) +SAX.getEntity(lt) +SAX.entityDecl(gt, 1, (null), (null), >) +SAX.getEntity(gt) +SAX.entityDecl(amp, 1, (null), (null), &) +SAX.getEntity(amp) +SAX.entityDecl(apos, 1, (null), (null), ') +SAX.getEntity(apos) +SAX.entityDecl(quot, 1, (null), (null), ") +SAX.getEntity(quot) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/ent7 b/result/ent7 new file mode 100644 index 0000000..f46d8bb --- /dev/null +++ b/result/ent7 @@ -0,0 +1,8 @@ + +"> + + + +]> +'they called me &sampleEnt;' diff --git a/result/ent7.rde b/result/ent7.rde new file mode 100644 index 0000000..fa74b0f --- /dev/null +++ b/result/ent7.rde @@ -0,0 +1,6 @@ +0 10 item 0 0 +0 1 item 0 0 +1 1 para 0 0 +2 3 #text 0 1 'they called me the hyacinth girl' +1 15 para 0 0 +0 15 item 0 0 diff --git a/result/ent7.rdr b/result/ent7.rdr new file mode 100644 index 0000000..937a848 --- /dev/null +++ b/result/ent7.rdr @@ -0,0 +1,8 @@ +0 10 item 0 0 +0 1 item 0 0 +1 1 para 0 0 +2 3 #text 0 1 'they called me +2 5 sampleEnt 0 0 +2 3 #text 0 1 ' +1 15 para 0 0 +0 15 item 0 0 diff --git a/result/ent7.sax b/result/ent7.sax new file mode 100644 index 0000000..3228de3 --- /dev/null +++ b/result/ent7.sax @@ -0,0 +1,17 @@ +xmlSAXUserParseFile returned error 27 +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(item, , ) +SAX.entityDecl(sampleEnt, 4, (null), (null), ) +SAX.getParameterEntity(sampleEnt) +SAX.entityDecl(sampleEnt, 1, (null), (null), the hyacinth girl) +SAX.getEntity(sampleEnt) +SAX.getParameterEntity(sampleEnt) +SAX.error: PEReference: %sampleEnt; not found +SAX.characters('they called me , 16) +SAX.getEntity(sampleEnt) +SAX.error: Entity 'sampleEnt' not defined +SAX.reference(sampleEnt) +SAX.characters(', 1) +SAX.endDocument() +xmlSAXUserParseFile returned error 27 diff --git a/result/ent7.sax2 b/result/ent7.sax2 new file mode 100644 index 0000000..3228de3 --- /dev/null +++ b/result/ent7.sax2 @@ -0,0 +1,17 @@ +xmlSAXUserParseFile returned error 27 +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(item, , ) +SAX.entityDecl(sampleEnt, 4, (null), (null), ) +SAX.getParameterEntity(sampleEnt) +SAX.entityDecl(sampleEnt, 1, (null), (null), the hyacinth girl) +SAX.getEntity(sampleEnt) +SAX.getParameterEntity(sampleEnt) +SAX.error: PEReference: %sampleEnt; not found +SAX.characters('they called me , 16) +SAX.getEntity(sampleEnt) +SAX.error: Entity 'sampleEnt' not defined +SAX.reference(sampleEnt) +SAX.characters(', 1) +SAX.endDocument() +xmlSAXUserParseFile returned error 27 diff --git a/result/ent8 b/result/ent8 new file mode 100644 index 0000000..86e6c30 --- /dev/null +++ b/result/ent8 @@ -0,0 +1,10 @@ + + + +]> + + Retenção + <> + &test1;&test2; + diff --git a/result/ent8.rde b/result/ent8.rde new file mode 100644 index 0000000..fb87667 --- /dev/null +++ b/result/ent8.rde @@ -0,0 +1,20 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 Content 0 0 +2 3 #text 0 1 Retenção +1 15 Content 0 0 +1 14 #text 0 1 + +1 1 Content 0 0 +2 3 #text 0 1 <> +1 15 Content 0 0 +1 14 #text 0 1 + +1 1 Content 0 0 +2 3 #text 0 1 test 1test 2 +1 15 Content 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/ent8.rdr b/result/ent8.rdr new file mode 100644 index 0000000..0977e90 --- /dev/null +++ b/result/ent8.rdr @@ -0,0 +1,21 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 Content 0 0 +2 3 #text 0 1 Retenção +1 15 Content 0 0 +1 14 #text 0 1 + +1 1 Content 0 0 +2 3 #text 0 1 <> +1 15 Content 0 0 +1 14 #text 0 1 + +1 1 Content 0 0 +2 5 test1 0 0 +2 5 test2 0 0 +1 15 Content 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/ent8.sax b/result/ent8.sax new file mode 100644 index 0000000..4639441 --- /dev/null +++ b/result/ent8.sax @@ -0,0 +1,37 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(test1, 1, (null), (null), test 1) +SAX.getEntity(test1) +SAX.entityDecl(test2, 1, (null), (null), test 2) +SAX.getEntity(test2) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.characters( + , 4) +SAX.startElement(Content) +SAX.characters(Reten, 5) +SAX.characters(ç, 2) +SAX.characters(ã, 2) +SAX.characters(o, 1) +SAX.endElement(Content) +SAX.characters( + , 4) +SAX.startElement(Content) +SAX.characters(<, 1) +SAX.characters(>, 1) +SAX.endElement(Content) +SAX.characters( + , 4) +SAX.startElement(Content) +SAX.getEntity(test1) +SAX.characters(test 1, 6) +SAX.reference(test1) +SAX.getEntity(test2) +SAX.characters(test 2, 6) +SAX.reference(test2) +SAX.endElement(Content) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/ent8.sax2 b/result/ent8.sax2 new file mode 100644 index 0000000..301f9a4 --- /dev/null +++ b/result/ent8.sax2 @@ -0,0 +1,37 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(test1, 1, (null), (null), test 1) +SAX.getEntity(test1) +SAX.entityDecl(test2, 1, (null), (null), test 2) +SAX.getEntity(test2) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( + , 4) +SAX.startElementNs(Content, NULL, NULL, 0, 0, 0) +SAX.characters(Reten, 5) +SAX.characters(ç, 2) +SAX.characters(ã, 2) +SAX.characters(o, 1) +SAX.endElementNs(Content, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(Content, NULL, NULL, 0, 0, 0) +SAX.characters(<, 1) +SAX.characters(>, 1) +SAX.endElementNs(Content, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(Content, NULL, NULL, 0, 0, 0) +SAX.getEntity(test1) +SAX.characters(test 1, 6) +SAX.reference(test1) +SAX.getEntity(test2) +SAX.characters(test 2, 6) +SAX.reference(test2) +SAX.endElementNs(Content, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/ent9 b/result/ent9 new file mode 100644 index 0000000..1ce3089 --- /dev/null +++ b/result/ent9 @@ -0,0 +1,61 @@ + +,,,"> +]> + + &test1; +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    + &test1; +
    diff --git a/result/ent9.rde b/result/ent9.rde new file mode 100644 index 0000000..38b9f43 --- /dev/null +++ b/result/ent9.rde @@ -0,0 +1,300 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 ent 0 0 +2 1 a 0 0 +2 15 a 0 0 +2 3 #text 0 1 , +2 1 b 0 0 +2 15 b 0 0 +2 3 #text 0 1 , +2 1 c 0 0 +2 15 c 0 0 +2 3 #text 0 1 , +2 1 d 0 0 +2 15 d 0 0 +1 15 ent 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 ent 0 0 +2 1 a 0 0 +2 15 a 0 0 +2 3 #text 0 1 , +2 1 b 0 0 +2 15 b 0 0 +2 3 #text 0 1 , +2 1 c 0 0 +2 15 c 0 0 +2 3 #text 0 1 , +2 1 d 0 0 +2 15 d 0 0 +1 15 ent 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/ent9.rdr b/result/ent9.rdr new file mode 100644 index 0000000..42f8a5f --- /dev/null +++ b/result/ent9.rdr @@ -0,0 +1,280 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 ent 0 0 +2 5 test1 0 0 +1 15 ent 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 WE need lot of garbage now to trigger the problem +1 15 p 0 0 +1 14 #text 0 1 + +1 1 ent 0 0 +2 5 test1 0 0 +1 15 ent 0 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/ent9.sax b/result/ent9.sax new file mode 100644 index 0000000..aca2ad1 --- /dev/null +++ b/result/ent9.sax @@ -0,0 +1,310 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(test1, 1, (null), (null), ,,,) +SAX.getEntity(test1) +SAX.externalSubset(doc, , ) +SAX.startElement(doc) +SAX.characters( + , 4) +SAX.startElement(ent) +SAX.getEntity(test1) +SAX.startElement(a) +SAX.endElement(a) +SAX.characters(,, 1) +SAX.startElement(b) +SAX.endElement(b) +SAX.characters(,, 1) +SAX.startElement(c) +SAX.endElement(c) +SAX.characters(,, 1) +SAX.startElement(d) +SAX.endElement(d) +SAX.reference(test1) +SAX.endElement(ent) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(p) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElement(p) +SAX.characters( + , 4) +SAX.startElement(ent) +SAX.getEntity(test1) +SAX.startElement(a) +SAX.endElement(a) +SAX.characters(,, 1) +SAX.startElement(b) +SAX.endElement(b) +SAX.characters(,, 1) +SAX.startElement(c) +SAX.endElement(c) +SAX.characters(,, 1) +SAX.startElement(d) +SAX.endElement(d) +SAX.reference(test1) +SAX.endElement(ent) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/ent9.sax2 b/result/ent9.sax2 new file mode 100644 index 0000000..439dcfc --- /dev/null +++ b/result/ent9.sax2 @@ -0,0 +1,310 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(test1, 1, (null), (null), ,,,) +SAX.getEntity(test1) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( + , 4) +SAX.startElementNs(ent, NULL, NULL, 0, 0, 0) +SAX.getEntity(test1) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.endElementNs(a, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.endElementNs(b, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(c, NULL, NULL, 0, 0, 0) +SAX.endElementNs(c, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(d, NULL, NULL, 0, 0, 0) +SAX.endElementNs(d, NULL, NULL) +SAX.reference(test1) +SAX.endElementNs(ent, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(ent, NULL, NULL, 0, 0, 0) +SAX.getEntity(test1) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.endElementNs(a, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.endElementNs(b, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(c, NULL, NULL, 0, 0, 0) +SAX.endElementNs(c, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(d, NULL, NULL, 0, 0, 0) +SAX.endElementNs(d, NULL, NULL) +SAX.reference(test1) +SAX.endElementNs(ent, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/ent_738805.xml b/result/ent_738805.xml new file mode 100644 index 0000000..d285eee --- /dev/null +++ b/result/ent_738805.xml @@ -0,0 +1,15 @@ + + + +]> + + + + +&a; should appear after colon: &a; +&b; should appear after colon: &a; +&a; should appear after colon: &b; +&b; should appear after colon: &b; + + diff --git a/result/ent_738805.xml.rde b/result/ent_738805.xml.rde new file mode 100644 index 0000000..fa086fe --- /dev/null +++ b/result/ent_738805.xml.rde @@ -0,0 +1,15 @@ +0 10 somedoc 0 0 +0 1 somedoc 0 0 +1 14 #text 0 1 + + +1 1 somebeacon 1 0 +1 3 #text 0 1 + +something should appear after colon: something +something should appear after colon: something +something should appear after colon: something +something should appear after colon: something + + +0 15 somedoc 0 0 diff --git a/result/ent_738805.xml.rdr b/result/ent_738805.xml.rdr new file mode 100644 index 0000000..c52dbf1 --- /dev/null +++ b/result/ent_738805.xml.rdr @@ -0,0 +1,31 @@ +0 10 somedoc 0 0 +0 1 somedoc 0 0 +1 14 #text 0 1 + + +1 1 somebeacon 1 0 +1 14 #text 0 1 + + +1 5 a 0 0 +1 3 #text 0 1 should appear after colon: +1 5 a 0 0 +1 14 #text 0 1 + +1 5 b 0 0 +1 3 #text 0 1 should appear after colon: +1 5 a 0 0 +1 14 #text 0 1 + +1 5 a 0 0 +1 3 #text 0 1 should appear after colon: +1 5 b 0 0 +1 14 #text 0 1 + +1 5 b 0 0 +1 3 #text 0 1 should appear after colon: +1 5 b 0 0 +1 14 #text 0 1 + + +0 15 somedoc 0 0 diff --git a/result/ent_738805.xml.sax b/result/ent_738805.xml.sax new file mode 100644 index 0000000..2649117 --- /dev/null +++ b/result/ent_738805.xml.sax @@ -0,0 +1,66 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(somedoc, , ) +SAX.entityDecl(a, 1, (null), (null), something) +SAX.getEntity(a) +SAX.entityDecl(b, 1, (null), (null), &a;) +SAX.getEntity(b) +SAX.externalSubset(somedoc, , ) +SAX.startElement(somedoc) +SAX.characters( + +, 2) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.startElement(somebeacon, someattribute='&b;') +SAX.endElement(somebeacon) +SAX.characters( + +, 2) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.characters( +, 1) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.reference(b) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.characters( +, 1) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.reference(b) +SAX.characters( +, 1) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.reference(b) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.reference(b) +SAX.characters( + +, 2) +SAX.endElement(somedoc) +SAX.endDocument() diff --git a/result/ent_738805.xml.sax2 b/result/ent_738805.xml.sax2 new file mode 100644 index 0000000..1eae781 --- /dev/null +++ b/result/ent_738805.xml.sax2 @@ -0,0 +1,66 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(somedoc, , ) +SAX.entityDecl(a, 1, (null), (null), something) +SAX.getEntity(a) +SAX.entityDecl(b, 1, (null), (null), &a;) +SAX.getEntity(b) +SAX.externalSubset(somedoc, , ) +SAX.startElementNs(somedoc, NULL, NULL, 0, 0, 0) +SAX.characters( + +, 2) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.startElementNs(somebeacon, NULL, NULL, 0, 1, 0, someattribute='&b;...', 3) +SAX.endElementNs(somebeacon, NULL, NULL) +SAX.characters( + +, 2) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.characters( +, 1) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.reference(b) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.characters( +, 1) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.reference(b) +SAX.characters( +, 1) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.reference(b) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.reference(a) +SAX.reference(b) +SAX.characters( + +, 2) +SAX.endElementNs(somedoc, NULL, NULL) +SAX.endDocument() diff --git a/result/errors/754946.xml b/result/errors/754946.xml new file mode 100644 index 0000000..e69de29 diff --git a/result/errors/754946.xml.err b/result/errors/754946.xml.err new file mode 100644 index 0000000..be77781 --- /dev/null +++ b/result/errors/754946.xml.err @@ -0,0 +1,20 @@ +./test/errors/754946.xml:3: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + + %SYSTEM; + ^ +Entity: line 1: +A + ^ +./test/errors/754947.xml:1: parser error : EndTag: ' + ^ diff --git a/result/errors/754947.xml.str b/result/errors/754947.xml.str new file mode 100644 index 0000000..4d2f52e --- /dev/null +++ b/result/errors/754947.xml.str @@ -0,0 +1,5 @@ +./test/errors/754947.xml:1: parser error : Input is not proper UTF-8, indicate encoding ! +Bytes: 0xEE 0x5D 0x5D 0x3E + + ^ +./test/errors/754947.xml : failed to parse diff --git a/result/errors/758588.xml b/result/errors/758588.xml new file mode 100644 index 0000000..e69de29 diff --git a/result/errors/758588.xml.err b/result/errors/758588.xml.err new file mode 100644 index 0000000..dfa59bc --- /dev/null +++ b/result/errors/758588.xml.err @@ -0,0 +1,9 @@ +./test/errors/758588.xml:1: namespace error : Namespace prefix a-340282366920938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867261d on a is not defined +63472597946867209384634725979468672093846347259794686720938463472597946867261d:a + ^ +./test/errors/758588.xml:1: parser error : expected '>' +2597946867209384634725979468672093846347259794686720938463472597946867261d:a>' +2597946867209384634725979468672093846347259794686720938463472597946867261d:a> + ^ +./test/errors/759398.xml:316: parser error : Extra content at the end of the document + +^ diff --git a/result/errors/759398.xml.str b/result/errors/759398.xml.str new file mode 100644 index 0000000..de9a28c --- /dev/null +++ b/result/errors/759398.xml.str @@ -0,0 +1,5 @@ +./test/errors/759398.xml:210: parser error : internal error: detected an error in element content + +need to worry about parsers whi + ^ +Entity: line 1: parser error : xmlParseEntityDecl: no name +%zz; + ^ +Entity: line 1: + + ^ +Entity: line 1: parser error : ParsePI: PI xDOCTYPEm space expected +%zz; + ^ +Entity: line 1: + + ^ +./test/errors/759573-2.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%xx;ggKENSMYNT#MENTDŴzz;'> + ^ +Entity: line 2: + + ^ +./test/errors/759573-2.xml:6: parser error : DOCTYPE improperly terminated +%xx;ggKENSMYNT#MENTDŴzz;'> + ^ +./test/errors/759573-2.xml:6: parser error : Start tag expected, '<' not found +%xx;ggKENSMYNT#MENTDŴzz;'> + ^ diff --git a/result/errors/759573-2.xml.str b/result/errors/759573-2.xml.str new file mode 100644 index 0000000..baac164 --- /dev/null +++ b/result/errors/759573-2.xml.str @@ -0,0 +1,4 @@ +./test/errors/759573-2.xml:2: parser error : Extra content at the end of the document +%xx; + ^ +Entity: line 1: +%%xx; + ^ +Entity: line 1: +%%xx; + ^ +./test/errors/759573.xml:1: parser error : DOCTYPE improperly terminated +T t (A)>%xx; + ^ +./test/errors/759573.xml:1: parser error : Start tag expected, '<' not found +T t (A)>%xx; + ^ diff --git a/result/errors/759573.xml.str b/result/errors/759573.xml.str new file mode 100644 index 0000000..1b6addb --- /dev/null +++ b/result/errors/759573.xml.str @@ -0,0 +1,4 @@ +./test/errors/759573.xml:1: parser error : Extra content at the end of the document + + + +]> + diff --git a/result/errors/attr3.xml.err b/result/errors/attr3.xml.err new file mode 100644 index 0000000..a628ca7 --- /dev/null +++ b/result/errors/attr3.xml.err @@ -0,0 +1,3 @@ +./test/errors/attr3.xml:4: validity warning : Attribute a1 of element doc: already defined + + ^ diff --git a/result/errors/attr3.xml.str b/result/errors/attr3.xml.str new file mode 100644 index 0000000..a628ca7 --- /dev/null +++ b/result/errors/attr3.xml.str @@ -0,0 +1,3 @@ +./test/errors/attr3.xml:4: validity warning : Attribute a1 of element doc: already defined + + ^ diff --git a/result/errors/attr4.xml b/result/errors/attr4.xml new file mode 100644 index 0000000..e69de29 diff --git a/result/errors/attr4.xml.err b/result/errors/attr4.xml.err new file mode 100644 index 0000000..a9966d8 --- /dev/null +++ b/result/errors/attr4.xml.err @@ -0,0 +1,12 @@ +./test/errors/attr4.xml:1: parser error : invalid character in attribute value + + ^ +./test/errors/attr4.xml:1: parser error : attributes construct error + + ^ +./test/errors/attr4.xml:1: parser error : Couldn't find end of Start Tag ROOT line 1 + + ^ +./test/errors/attr4.xml:1: parser error : Extra content at the end of the document + + ^ diff --git a/result/errors/attr4.xml.str b/result/errors/attr4.xml.str new file mode 100644 index 0000000..eeb9252 --- /dev/null +++ b/result/errors/attr4.xml.str @@ -0,0 +1,10 @@ +./test/errors/attr4.xml:1: parser error : invalid character in attribute value + + ^ +./test/errors/attr4.xml:1: parser error : attributes construct error + + ^ +./test/errors/attr4.xml:1: parser error : Couldn't find end of Start Tag ROOT + + ^ +./test/errors/attr4.xml : failed to parse diff --git a/result/errors/cdata.xml b/result/errors/cdata.xml new file mode 100644 index 0000000..e69de29 diff --git a/result/errors/cdata.xml.err b/result/errors/cdata.xml.err new file mode 100644 index 0000000..f757963 --- /dev/null +++ b/result/errors/cdata.xml.err @@ -0,0 +1,4 @@ +./test/errors/cdata.xml:2: parser error : Input is not proper UTF-8, indicate encoding ! +Bytes: 0xE1 0x72 0x5D 0x5D + + ^ diff --git a/result/errors/cdata.xml.str b/result/errors/cdata.xml.str new file mode 100644 index 0000000..cf83d2b --- /dev/null +++ b/result/errors/cdata.xml.str @@ -0,0 +1,5 @@ +./test/errors/cdata.xml:2: parser error : Input is not proper UTF-8, indicate encoding ! +Bytes: 0xE1 0x72 0x5D 0x5D + + ^ +./test/errors/cdata.xml : failed to parse diff --git a/result/errors/charref1.xml b/result/errors/charref1.xml new file mode 100644 index 0000000..e69de29 diff --git a/result/errors/charref1.xml.err b/result/errors/charref1.xml.err new file mode 100644 index 0000000..dbf3005 --- /dev/null +++ b/result/errors/charref1.xml.err @@ -0,0 +1,3 @@ +./test/errors/charref1.xml:1: parser error : xmlParseCharRef: character reference out of bounds + + ^ diff --git a/result/errors/charref1.xml.str b/result/errors/charref1.xml.str new file mode 100644 index 0000000..692f614 --- /dev/null +++ b/result/errors/charref1.xml.str @@ -0,0 +1,4 @@ +./test/errors/charref1.xml:1: parser error : xmlParseCharRef: character reference out of bounds + + ^ +./test/errors/charref1.xml : failed to parse diff --git a/result/errors/comment1.xml b/result/errors/comment1.xml new file mode 100644 index 0000000..e69de29 diff --git a/result/errors/comment1.xml.err b/result/errors/comment1.xml.err new file mode 100644 index 0000000..5a732dd --- /dev/null +++ b/result/errors/comment1.xml.err @@ -0,0 +1,6 @@ +./test/errors/comment1.xml:5: parser error : xmlParseComment: invalid xmlChar value 14 + in p02:  --> + ^ +./test/errors/comment1.xml:5: parser error : Start tag expected, '<' not found + in p02:  --> + ^ diff --git a/result/errors/comment1.xml.str b/result/errors/comment1.xml.str new file mode 100644 index 0000000..494d1ed --- /dev/null +++ b/result/errors/comment1.xml.str @@ -0,0 +1,4 @@ +./test/errors/comment1.xml:5: parser error : xmlParseComment: invalid xmlChar value 14 + in p02:  --> + ^ +./test/errors/comment1.xml : failed to parse diff --git a/result/errors/content1.xml b/result/errors/content1.xml new file mode 100644 index 0000000..e69de29 diff --git a/result/errors/content1.xml.err b/result/errors/content1.xml.err new file mode 100644 index 0000000..9fcd603 --- /dev/null +++ b/result/errors/content1.xml.err @@ -0,0 +1,16 @@ +./test/errors/content1.xml:7: parser error : ContentDecl : ',' '|' or ')' expected + + ^ +./test/errors/content1.xml:7: parser error : expected '>' + + ^ +./test/errors/content1.xml:7: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + + + ^ +./test/errors/content1.xml:7: parser error : DOCTYPE improperly terminated + + ^ +./test/errors/content1.xml:7: parser error : Start tag expected, '<' not found + + ^ diff --git a/result/errors/content1.xml.str b/result/errors/content1.xml.str new file mode 100644 index 0000000..d806a63 --- /dev/null +++ b/result/errors/content1.xml.str @@ -0,0 +1,14 @@ +./test/errors/content1.xml:7: parser error : ContentDecl : ',' '|' or ')' expected + + ^ +./test/errors/content1.xml:7: parser error : expected '>' + + ^ +./test/errors/content1.xml:7: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + + + ^ +./test/errors/content1.xml:7: parser error : DOCTYPE improperly terminated + + ^ +./test/errors/content1.xml : failed to parse diff --git a/result/errors/extparsedent.xml b/result/errors/extparsedent.xml new file mode 100644 index 0000000..07e4c54 --- /dev/null +++ b/result/errors/extparsedent.xml @@ -0,0 +1,5 @@ + + +]> +&c; diff --git a/result/errors/extparsedent.xml.err b/result/errors/extparsedent.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/errors/extparsedent.xml.str b/result/errors/extparsedent.xml.str new file mode 100644 index 0000000..e69de29 diff --git a/result/errors/name.xml b/result/errors/name.xml new file mode 100644 index 0000000..e69de29 diff --git a/result/errors/name.xml.err b/result/errors/name.xml.err new file mode 100644 index 0000000..4dbfc52 --- /dev/null +++ b/result/errors/name.xml.err @@ -0,0 +1,3 @@ +./test/errors/name.xml:2: parser error : Couldn't find end of Start Tag foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo line 1 + +^ diff --git a/result/errors/name.xml.str b/result/errors/name.xml.str new file mode 100644 index 0000000..fd4af59 --- /dev/null +++ b/result/errors/name.xml.str @@ -0,0 +1,4 @@ +./test/errors/name.xml:2: parser error : Couldn't find end of Start Tag foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo + +^ +./test/errors/name.xml : failed to parse diff --git a/result/errors/name2.xml b/result/errors/name2.xml new file mode 100644 index 0000000..e69de29 diff --git a/result/errors/name2.xml.err b/result/errors/name2.xml.err new file mode 100644 index 0000000..8acef79 --- /dev/null +++ b/result/errors/name2.xml.err @@ -0,0 +1,9 @@ +./test/errors/name2.xml:2: parser error : Specification mandates value for attribute foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo + +^ +./test/errors/name2.xml:2: parser error : attributes construct error + +^ +./test/errors/name2.xml:2: parser error : Couldn't find end of Start Tag foo line 1 + +^ diff --git a/result/errors/name2.xml.str b/result/errors/name2.xml.str new file mode 100644 index 0000000..90f8c08 --- /dev/null +++ b/result/errors/name2.xml.str @@ -0,0 +1,10 @@ +./test/errors/name2.xml:2: parser error : Specification mandates value for attribute foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo + +^ +./test/errors/name2.xml:2: parser error : attributes construct error + +^ +./test/errors/name2.xml:2: parser error : Couldn't find end of Start Tag foo + +^ +./test/errors/name2.xml : failed to parse diff --git a/result/errors10/781205.xml b/result/errors10/781205.xml new file mode 100644 index 0000000..e69de29 diff --git a/result/errors10/781205.xml.err b/result/errors10/781205.xml.err new file mode 100644 index 0000000..3ddc203 --- /dev/null +++ b/result/errors10/781205.xml.err @@ -0,0 +1,17 @@ +./test/errors10/781205.xml:3: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + + %a; + ^ +Entity: line 1: +<:0000 +^ +./test/errors10/781205.xml:4: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + + +^ +./test/errors10/781205.xml:4: parser error : DOCTYPE improperly terminated + +^ +./test/errors10/781205.xml:4: parser error : Start tag expected, '<' not found + +^ diff --git a/result/errors10/781361.xml b/result/errors10/781361.xml new file mode 100644 index 0000000..e69de29 diff --git a/result/errors10/781361.xml.err b/result/errors10/781361.xml.err new file mode 100644 index 0000000..655f41a --- /dev/null +++ b/result/errors10/781361.xml.err @@ -0,0 +1,13 @@ +./test/errors10/781361.xml:4: parser error : xmlParseElementDecl: 'EMPTY', 'ANY' or '(' expected + +^ +./test/errors10/781361.xml:4: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + + +^ +./test/errors10/781361.xml:4: parser error : DOCTYPE improperly terminated + +^ +./test/errors10/781361.xml:4: parser error : Start tag expected, '<' not found + +^ diff --git a/result/eve.xml b/result/eve.xml new file mode 100644 index 0000000..dab7208 --- /dev/null +++ b/result/eve.xml @@ -0,0 +1,6 @@ + + +]> + + diff --git a/result/eve.xml.rde b/result/eve.xml.rde new file mode 100644 index 0000000..6f08c55 --- /dev/null +++ b/result/eve.xml.rde @@ -0,0 +1,5 @@ +0 10 spec 0 0 +0 1 spec 0 0 +1 14 #text 0 1 + +0 15 spec 0 0 diff --git a/result/eve.xml.rdr b/result/eve.xml.rdr new file mode 100644 index 0000000..6f08c55 --- /dev/null +++ b/result/eve.xml.rdr @@ -0,0 +1,5 @@ +0 10 spec 0 0 +0 1 spec 0 0 +1 14 #text 0 1 + +0 15 spec 0 0 diff --git a/result/eve.xml.sax b/result/eve.xml.sax new file mode 100644 index 0000000..1b416b2 --- /dev/null +++ b/result/eve.xml.sax @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(spec, -//testspec//, dtds/eve.dtd) +SAX.entityDecl(iso6.doc.date, 1, (null), (null), 29-May-1999) +SAX.getEntity(iso6.doc.date) +SAX.externalSubset(spec, -//testspec//, dtds/eve.dtd) +SAX.startElement(spec) +SAX.characters( +, 1) +SAX.endElement(spec) +SAX.endDocument() diff --git a/result/eve.xml.sax2 b/result/eve.xml.sax2 new file mode 100644 index 0000000..ea3b430 --- /dev/null +++ b/result/eve.xml.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(spec, -//testspec//, dtds/eve.dtd) +SAX.entityDecl(iso6.doc.date, 1, (null), (null), 29-May-1999) +SAX.getEntity(iso6.doc.date) +SAX.externalSubset(spec, -//testspec//, dtds/eve.dtd) +SAX.startElementNs(spec, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.endElementNs(spec, NULL, NULL) +SAX.endDocument() diff --git a/result/example.dtd b/result/example.dtd new file mode 100644 index 0000000..e69de29 diff --git a/result/expr/base b/result/expr/base new file mode 100644 index 0000000..9ab0d19 --- /dev/null +++ b/result/expr/base @@ -0,0 +1,85 @@ +Expression: a +Subexp: a => accept, Ok +Subexp: a | a => accept, Ok +Subexp: b => reject, Ok +Expression: a|b +Subexp: a => accept, Ok +Subexp: b => accept, Ok +Subexp: a | b => accept, Ok +Subexp: a{0} => reject, Ok +Subexp: b{0} => reject, Ok +Expression: a | b | a +Subexp: a => accept, Ok +Subexp: b => accept, Ok +Subexp: a | b => accept, Ok +Subexp: b | a => accept, Ok +Subexp: a | b | b => accept, Ok +Subexp: a | b | a => accept, Ok +Subexp: b | a | b => accept, Ok +Expression: a,a +Subexp: a,a => accept, Ok +Subexp: a => reject, Ok +Subexp: a,a,a => reject, Ok +Expression: a{0,3} +Subexp: a{3} => accept, Ok +Subexp: a => accept, Ok +Subexp: a,a,a => accept, Ok +Subexp: a{1,3} => accept, Ok +Expression: (a|b){0,4} +Subexp: a => accept, Ok +Subexp: b => accept, Ok +Subexp: a,b => accept, Ok +Subexp: a,b,a,b => accept, Ok +Subexp: b,a,b,a,b => reject, Ok +Subexp: b,a{1,3} => accept, Ok +Subexp: a{1,3},b => accept, Ok +Subexp: a{1,3},b,a => reject, Ok +Subexp: a{1,4},b => reject, Ok +Subexp: a{0,5} => reject, Ok +Subexp: (b|a){0,4} => accept, Ok +Subexp: (b|a){0,4},a => reject, Ok +Subexp: (a,b){0,2} => accept, Ok +Subexp: (a,b){0,1},b => accept, Ok +Expression: a* +Subexp: a => accept, Ok +Subexp: a? => accept, Ok +Subexp: a+ => accept, Ok +Subexp: a* => accept, Ok +Subexp: a{0} => accept, Ok +Expression: a+ +Subexp: a => accept, Ok +Subexp: a? => reject, Ok +Subexp: a+ => accept, Ok +Subexp: a* => reject, Ok +Subexp: a?,a => accept, Ok +Subexp: a,a* => accept, Ok +Subexp: a*,a => accept, Ok +Subexp: a?,a*,a => accept, Ok +Subexp: a*,a?,a => accept, Ok +Expression: (a|b)* +Subexp: a => accept, Ok +Subexp: b => accept, Ok +Subexp: a,b => accept, Ok +Subexp: a,b,a,b => accept, Ok +Subexp: (b|a){0,4} => accept, Ok +Subexp: (b|a){0,4},a => accept, Ok +Subexp: a* => accept, Ok +Subexp: b* => accept, Ok +Subexp: (a|b)* => accept, Ok +Subexp: a{1,3} => accept, Ok +Subexp: b,a{1,3} => accept, Ok +Subexp: a{1,3},b => accept, Ok +Subexp: a*,(a|b)* => accept, Ok +Subexp: a*,b{2,5} => accept, Ok +Subexp: a*,(a|b)*,b{2,5} => accept, Ok +Expression: (a|b)+,(c|d) +Subexp: a+,c => accept, Ok +Subexp: a*,c => reject, Ok +Subexp: a,c => accept, Ok +Subexp: a,b*,a*,c => accept, Ok +Expression: (a|b),(a|c){0,100} +Subexp: a{0,100},(a|c) => accept, Ok +Subexp: a{0,101},(a|c) => reject, Ok +Expression: (a, ((b, c, d){0,5}, e{0,1}){0,4}, f) +Subexp: (a, b, (c, d, b){2,3}, c, d, e, f) => accept, Ok +Ops: 0 nodes, 221 cons diff --git a/result/icu_parse_test.xml b/result/icu_parse_test.xml new file mode 100644 index 0000000..031a967 --- /dev/null +++ b/result/icu_parse_test.xml @@ -0,0 +1,13 @@ + + +Text with EUC-JP chars at position 214 (0xd6) +___ +_______________ +_______________ +_______________ +_______________ +_______________ +_______________ +_______________ +_______鮏___ +_ diff --git a/result/icu_parse_test.xml.rde b/result/icu_parse_test.xml.rde new file mode 100644 index 0000000..54cd5f0 --- /dev/null +++ b/result/icu_parse_test.xml.rde @@ -0,0 +1,14 @@ +0 1 foo 0 0 +1 3 #text 0 1 +Text with EUC-JP chars at position 214 (0xd6) +___ +_______________ +_______________ +_______________ +_______________ +_______________ +_______________ +_______________ +_______駪槗___ +_ +0 15 foo 0 0 diff --git a/result/icu_parse_test.xml.rdr b/result/icu_parse_test.xml.rdr new file mode 100644 index 0000000..54cd5f0 --- /dev/null +++ b/result/icu_parse_test.xml.rdr @@ -0,0 +1,14 @@ +0 1 foo 0 0 +1 3 #text 0 1 +Text with EUC-JP chars at position 214 (0xd6) +___ +_______________ +_______________ +_______________ +_______________ +_______________ +_______________ +_______________ +_______駪槗___ +_ +0 15 foo 0 0 diff --git a/result/icu_parse_test.xml.sax b/result/icu_parse_test.xml.sax new file mode 100644 index 0000000..91e11d5 --- /dev/null +++ b/result/icu_parse_test.xml.sax @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(foo) +SAX.characters( +Text with EUC-JP chars at pos, 170) +SAX.characters(駪槗___ +_, 11) +SAX.endElement(foo) +SAX.endDocument() diff --git a/result/icu_parse_test.xml.sax2 b/result/icu_parse_test.xml.sax2 new file mode 100644 index 0000000..eb0d6c6 --- /dev/null +++ b/result/icu_parse_test.xml.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(foo, NULL, NULL, 0, 0, 0) +SAX.characters( +Text with EUC-JP chars at pos, 170) +SAX.characters(駪槗___ +_, 11) +SAX.endElementNs(foo, NULL, NULL) +SAX.endDocument() diff --git a/result/intsubset.xml b/result/intsubset.xml new file mode 100644 index 0000000..bd85795 --- /dev/null +++ b/result/intsubset.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/result/intsubset.xml.rde b/result/intsubset.xml.rde new file mode 100644 index 0000000..7503422 --- /dev/null +++ b/result/intsubset.xml.rde @@ -0,0 +1,2 @@ +0 10 root 0 0 +0 1 root 1 0 diff --git a/result/intsubset.xml.rdr b/result/intsubset.xml.rdr new file mode 100644 index 0000000..7503422 --- /dev/null +++ b/result/intsubset.xml.rdr @@ -0,0 +1,2 @@ +0 10 root 0 0 +0 1 root 1 0 diff --git a/result/intsubset.xml.sax b/result/intsubset.xml.sax new file mode 100644 index 0000000..a92e2b7 --- /dev/null +++ b/result/intsubset.xml.sax @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(root, , ) +SAX.elementDecl(root, 1, ...) +SAX.comment( " ) +SAX.externalSubset(root, , ) +SAX.startElement(root) +SAX.endElement(root) +SAX.endDocument() diff --git a/result/intsubset.xml.sax2 b/result/intsubset.xml.sax2 new file mode 100644 index 0000000..f4db2a8 --- /dev/null +++ b/result/intsubset.xml.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(root, , ) +SAX.elementDecl(root, 1, ...) +SAX.comment( " ) +SAX.externalSubset(root, , ) +SAX.startElementNs(root, NULL, NULL, 0, 0, 0) +SAX.endElementNs(root, NULL, NULL) +SAX.endDocument() diff --git a/result/intsubset2.xml b/result/intsubset2.xml new file mode 100644 index 0000000..b103955 --- /dev/null +++ b/result/intsubset2.xml @@ -0,0 +1,250 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + diff --git a/result/intsubset2.xml.rde b/result/intsubset2.xml.rde new file mode 100644 index 0000000..d27e245 --- /dev/null +++ b/result/intsubset2.xml.rde @@ -0,0 +1,5 @@ +0 10 kanjidic2 0 0 +0 1 kanjidic2 0 0 +1 14 #text 0 1 + +0 15 kanjidic2 0 0 diff --git a/result/intsubset2.xml.rdr b/result/intsubset2.xml.rdr new file mode 100644 index 0000000..d27e245 --- /dev/null +++ b/result/intsubset2.xml.rdr @@ -0,0 +1,5 @@ +0 10 kanjidic2 0 0 +0 1 kanjidic2 0 0 +1 14 #text 0 1 + +0 15 kanjidic2 0 0 diff --git a/result/intsubset2.xml.sax b/result/intsubset2.xml.sax new file mode 100644 index 0000000..b4d7bf4 --- /dev/null +++ b/result/intsubset2.xml.sax @@ -0,0 +1,286 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(kanjidic2, , ) +SAX.comment( Version 1.3 + This is the DTD of the XML-format kanji file combining information from + the KANJIDIC and KANJD212 files. It is intended to be largely self- + documenting, with each field being accompanied by an explanatory + comment. + + The file covers the following kanji: + (a) the 6,355 kanji from JIS X 0208; + (b) the 5,801 kanji from JIS X 0212; + (c) the 3,625 kanji from JIS X 0213 as follows: + (i) the 2,741 kanji which are also in JIS X 0212 have + JIS X 0213 code-points (kuten) added to the existing entry; + (ii) the 884 "new" kanji have new entries. + + At the end of the explanation for a number of fields there is a tag + with the format [N]. This indicates the leading letter(s) of the + equivalent field in the KANJIDIC and KANJD212 files. + + The KANJIDIC documentation should also be read for additional + information about the information in the file. + ) +SAX.elementDecl(kanjidic2, 4, ...) +SAX.elementDecl(header, 4, ...) +SAX.comment( + The single header element will contain identification information + about the version of the file + ) +SAX.elementDecl(file_version, 3, ...) +SAX.comment( + This field denotes the version of kanjidic2 structure, as more + than one version may exist. + ) +SAX.elementDecl(database_version, 3, ...) +SAX.comment( + The version of the file, in the format YYYY-NN, where NN will be + a number starting with 01 for the first version released in a + calendar year, then increasing for each version in that year. + ) +SAX.elementDecl(date_of_creation, 3, ...) +SAX.comment( + The date the file was created in international format (YYYY-MM-DD). + ) +SAX.elementDecl(character, 4, ...) +SAX.elementDecl(literal, 3, ...) +SAX.comment( + The character itself in UTF8 coding. + ) +SAX.elementDecl(codepoint, 4, ...) +SAX.comment( + The codepoint element states the code of the character in the various + character set standards. + ) +SAX.elementDecl(cp_value, 3, ...) +SAX.comment( + The cp_value contains the codepoint of the character in a particular + standard. The standard will be identified in the cp_type attribute. + ) +SAX.attributeDecl(cp_value, cp_type, 1, 2, NULL, ...) +SAX.comment( + The cp_type attribute states the coding standard applying to the + element. The values assigned so far are: + jis208 - JIS X 0208-1997 - kuten coding (nn-nn) + jis212 - JIS X 0212-1990 - kuten coding (nn-nn) + jis213 - JIS X 0213-2000 - kuten coding (p-nn-nn) + ucs - Unicode 4.0 - hex coding (4 or 5 hexadecimal digits) + ) +SAX.elementDecl(radical, 4, ...) +SAX.elementDecl(rad_value, 3, ...) +SAX.comment( + The radical number, in the range 1 to 214. The particular + classification type is stated in the rad_type attribute. + ) +SAX.attributeDecl(rad_value, rad_type, 1, 2, NULL, ...) +SAX.comment( + The rad_type attribute states the type of radical classification. + classical - as recorded in the KangXi Zidian. + nelson - as used in the Nelson "Modern Japanese-English + Character Dictionary" (i.e. the Classic, not the New Nelson). + This will only be used where Nelson reclassified the kanji. + ) +SAX.elementDecl(misc, 4, ...) +SAX.elementDecl(grade, 3, ...) +SAX.comment( + The Jouyou Kanji grade level. 1 through 6 indicate the grade in which + the kanji is taught in Japanese schools. 8 indicates it is one of the + remaining Jouyou Kanji to be learned in junior high school, and 9 + indicates it is a Jinmeiyou (for use in names) kanji. [G] + ) +SAX.elementDecl(stroke_count, 3, ...) +SAX.comment( + The stroke count of the kanji, including the radical. If more than + one, the first is considered the accepted count, while subsequent ones + are common miscounts. (See Appendix E. of the KANJIDIC documentation + for some of the rules applied when counting strokes in some of the + radicals.) [S] + ) +SAX.elementDecl(variant, 3, ...) +SAX.comment( + A cross-reference code to another kanji, usually regarded as a variant. + The type of cross-reference is given in the var_type attribute. + ) +SAX.attributeDecl(variant, var_type, 1, 2, NULL, ...) +SAX.comment( + The var_type attribute indicates the type of variant code. The current + values are: + jis208 - in JIS X 0208 - kuten coding + jis212 - in JIS X 0212 - kuten coding + jis213 - in JIS X 0213 - kuten coding + deroo - De Roo number - numeric + njecd - Halpern NJECD index number - numeric + s_h - The Kanji Dictionary (Spahn & Hadamitzky) - descriptor + nelson - "Classic" Nelson - numeric + oneill - Japanese Names (O'Neill) - numeric + ) +SAX.elementDecl(freq, 3, ...) +SAX.comment( + A frequency-of-use ranking. The 2,500 most-used characters have a + ranking; those characters that lack this field are not ranked. The + frequency is a number from 1 to 2,500 that expresses the relative + frequency of occurrence of a character in modern Japanese. This is + based on a survey in newspapers, so it is biassed towards kanji + used in newspaper articles. The discrimination between the less + frequently used kanji is not strong. + ) +SAX.elementDecl(rad_name, 3, ...) +SAX.comment( + When the kanji is itself a radical and has a name, this element + contains the name (in hiragana.) [T2] + ) +SAX.elementDecl(dic_number, 4, ...) +SAX.comment( + This element contains the index numbers and similar unstructured + information such as page numbers in a number of published dictionaries, + and instructional books on kanji. + ) +SAX.elementDecl(dic_ref, 3, ...) +SAX.comment( + Each dic_ref contains an index number. The particular dictionary, + etc. is defined by the dr_type attribute. + ) +SAX.attributeDecl(dic_ref, dr_type, 1, 2, NULL, ...) +SAX.comment( + The dr_type defines the dictionary or reference book, etc. to which + dic_ref element applies. The initial allocation is: + nelson_c - "Modern Reader's Japanese-English Character Dictionary", + edited by Andrew Nelson (now published as the "Classic" + Nelson). + nelson_n - "The New Nelson Japanese-English Character Dictionary", + edited by John Haig. + halpern_njecd - "New Japanese-English Character Dictionary", + edited by Jack Halpern. + halpern_kkld - "Kanji Learners Dictionary" (Kodansha) edited by + Jack Halpern. + heisig - "Remembering The Kanji" by James Heisig. + gakken - "A New Dictionary of Kanji Usage" (Gakken) + oneill_names - "Japanese Names", by P.G. O'Neill. + oneill_kk - "Essential Kanji" by P.G. O'Neill. + moro - "Daikanwajiten" compiled by Morohashi. For some kanji two + additional attributes are used: m_vol: the volume of the + dictionary in which the kanji is found, and m_page: the page + number in the volume. + henshall - "A Guide To Remembering Japanese Characters" by + Kenneth G. Henshall. + sh_kk - "Kanji and Kana" by Spahn and Hadamitzky. + sakade - "A Guide To Reading and Writing Japanese" edited by + Florence Sakade. + henshall3 - "A Guide To Reading and Writing Japanese" 3rd + edition, edited by Henshall, Seeley and De Groot. + tutt_cards - Tuttle Kanji Cards, compiled by Alexander Kask. + crowley - "The Kanji Way to Japanese Language Power" by + Dale Crowley. + kanji_in_context - "Kanji in Context" by Nishiguchi and Kono. + busy_people - "Japanese For Busy People" vols I-III, published + by the AJLT. The codes are the volume.chapter. + kodansha_compact - the "Kodansha Compact Kanji Guide". + ) +SAX.attributeDecl(dic_ref, m_vol, 1, 3, NULL, ...) +SAX.comment( + See above under "moro". + ) +SAX.attributeDecl(dic_ref, m_page, 1, 3, NULL, ...) +SAX.comment( + See above under "moro". + ) +SAX.elementDecl(query_code, 4, ...) +SAX.comment( + These codes contain information relating to the glyph, and can be used + for finding a required kanji. The type of code is defined by the + qc_type attribute. + ) +SAX.elementDecl(q_code, 3, ...) +SAX.comment( + The q_code contains the actual query-code value, according to the + qc_type attribute. + ) +SAX.attributeDecl(q_code, qc_type, 1, 2, NULL, ...) +SAX.comment( + The q_code attribute defines the type of query code. The current values + are: + skip - Halpern's SKIP (System of Kanji Indexing by Patterns) + code. The format is n-nn-nn. See the KANJIDIC documentation + for a description of the code and restrictions on the + commercial use of this data. [P] + + sh_desc - the descriptor codes for The Kanji Dictionary (Tuttle + 1996) by Spahn and Hadamitzky. They are in the form nxnn.n, + e.g. 3k11.2, where the kanji has 3 strokes in the + identifying radical, it is radical "k" in the SH + classification system, there are 11 other strokes, and it is + the 2nd kanji in the 3k11 sequence. (I am very grateful to + Mark Spahn for providing the list of these descriptor codes + for the kanji in this file.) [I] + four_corner - the "Four Corner" code for the kanji. This is a code + invented by Wang Chen in 1928. See the KANJIDIC documentation + for an overview of the Four Corner System. [Q] + + deroo - the codes developed by the late Father Joseph De Roo, and + published in his book "2001 Kanji" (Bojinsha). Fr De Roo + gave his permission for these codes to be included. [DR] + misclass - a possible misclassification of the kanji according + to one of the code types. (See the "Z" codes in the KANJIDIC + documentation for more details.) + + ) +SAX.elementDecl(reading_meaning, 4, ...) +SAX.comment( + The readings for the kanji in several languages, and the meanings, also + in several languages. The readings and meanings are grouped to enable + the handling of the situation where the meaning is differentiated by + reading. [T1] + ) +SAX.elementDecl(nanori, 3, ...) +SAX.comment( + Japanese readings that are now only associated with names. + ) +SAX.elementDecl(rmgroup, 4, ...) +SAX.elementDecl(reading, 3, ...) +SAX.comment( + The reading element contains the reading or pronunciation + of the kanji. + ) +SAX.attributeDecl(reading, r_type, 1, 2, NULL, ...) +SAX.comment( + The r_type attribute defines the type of reading in the reading + element. The current values are: + pinyin - the modern PinYin romanization of the Chinese reading + of the kanji. The tones are represented by a concluding + digit. [Y] + korean_r - the romanized form of the Korean reading(s) of the + kanji. The readings are in the (Republic of Korea) Ministry + of Education style of romanization. [W] + korean_h - the Korean reading(s) of the kanji in hangul. + ja_on - the "on" Japanese reading of the kanji, in katakana. A + second attribute r_status, if present, will indicate with + a value of "jy" whether the reading is approved for a + "Jouyou kanji". + ja_kun - the "kun" Japanese reading of the kanji, in hiragana. + Where relevant the okurigana is also included separated by a + ".". Readings associated with prefixes and suffixes are + marked with a "-". A second attribute r_status, if present, + will indicate with a value of "jy" whether the reading is + approved for a "Jouyou kanji". + ) +SAX.attributeDecl(reading, r_status, 1, 3, NULL, ...) +SAX.comment( + See under ja_on and ja_kun above. + ) +SAX.elementDecl(meaning, 3, ...) +SAX.comment( + The meaning associated with the kanji. + ) +SAX.attributeDecl(meaning, m_lang, 1, 3, NULL, ...) +SAX.comment( + The m_lang attribute defines the target language of the meaning. It + will be coded using the two-letter language code from the ISO 639 + standard. When absent, the value "en" (i.e. English) is implied. [{}] + ) +SAX.externalSubset(kanjidic2, , ) +SAX.startElement(kanjidic2) +SAX.characters( +, 1) +SAX.endElement(kanjidic2) +SAX.endDocument() diff --git a/result/intsubset2.xml.sax2 b/result/intsubset2.xml.sax2 new file mode 100644 index 0000000..5558701 --- /dev/null +++ b/result/intsubset2.xml.sax2 @@ -0,0 +1,286 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(kanjidic2, , ) +SAX.comment( Version 1.3 + This is the DTD of the XML-format kanji file combining information from + the KANJIDIC and KANJD212 files. It is intended to be largely self- + documenting, with each field being accompanied by an explanatory + comment. + + The file covers the following kanji: + (a) the 6,355 kanji from JIS X 0208; + (b) the 5,801 kanji from JIS X 0212; + (c) the 3,625 kanji from JIS X 0213 as follows: + (i) the 2,741 kanji which are also in JIS X 0212 have + JIS X 0213 code-points (kuten) added to the existing entry; + (ii) the 884 "new" kanji have new entries. + + At the end of the explanation for a number of fields there is a tag + with the format [N]. This indicates the leading letter(s) of the + equivalent field in the KANJIDIC and KANJD212 files. + + The KANJIDIC documentation should also be read for additional + information about the information in the file. + ) +SAX.elementDecl(kanjidic2, 4, ...) +SAX.elementDecl(header, 4, ...) +SAX.comment( + The single header element will contain identification information + about the version of the file + ) +SAX.elementDecl(file_version, 3, ...) +SAX.comment( + This field denotes the version of kanjidic2 structure, as more + than one version may exist. + ) +SAX.elementDecl(database_version, 3, ...) +SAX.comment( + The version of the file, in the format YYYY-NN, where NN will be + a number starting with 01 for the first version released in a + calendar year, then increasing for each version in that year. + ) +SAX.elementDecl(date_of_creation, 3, ...) +SAX.comment( + The date the file was created in international format (YYYY-MM-DD). + ) +SAX.elementDecl(character, 4, ...) +SAX.elementDecl(literal, 3, ...) +SAX.comment( + The character itself in UTF8 coding. + ) +SAX.elementDecl(codepoint, 4, ...) +SAX.comment( + The codepoint element states the code of the character in the various + character set standards. + ) +SAX.elementDecl(cp_value, 3, ...) +SAX.comment( + The cp_value contains the codepoint of the character in a particular + standard. The standard will be identified in the cp_type attribute. + ) +SAX.attributeDecl(cp_value, cp_type, 1, 2, NULL, ...) +SAX.comment( + The cp_type attribute states the coding standard applying to the + element. The values assigned so far are: + jis208 - JIS X 0208-1997 - kuten coding (nn-nn) + jis212 - JIS X 0212-1990 - kuten coding (nn-nn) + jis213 - JIS X 0213-2000 - kuten coding (p-nn-nn) + ucs - Unicode 4.0 - hex coding (4 or 5 hexadecimal digits) + ) +SAX.elementDecl(radical, 4, ...) +SAX.elementDecl(rad_value, 3, ...) +SAX.comment( + The radical number, in the range 1 to 214. The particular + classification type is stated in the rad_type attribute. + ) +SAX.attributeDecl(rad_value, rad_type, 1, 2, NULL, ...) +SAX.comment( + The rad_type attribute states the type of radical classification. + classical - as recorded in the KangXi Zidian. + nelson - as used in the Nelson "Modern Japanese-English + Character Dictionary" (i.e. the Classic, not the New Nelson). + This will only be used where Nelson reclassified the kanji. + ) +SAX.elementDecl(misc, 4, ...) +SAX.elementDecl(grade, 3, ...) +SAX.comment( + The Jouyou Kanji grade level. 1 through 6 indicate the grade in which + the kanji is taught in Japanese schools. 8 indicates it is one of the + remaining Jouyou Kanji to be learned in junior high school, and 9 + indicates it is a Jinmeiyou (for use in names) kanji. [G] + ) +SAX.elementDecl(stroke_count, 3, ...) +SAX.comment( + The stroke count of the kanji, including the radical. If more than + one, the first is considered the accepted count, while subsequent ones + are common miscounts. (See Appendix E. of the KANJIDIC documentation + for some of the rules applied when counting strokes in some of the + radicals.) [S] + ) +SAX.elementDecl(variant, 3, ...) +SAX.comment( + A cross-reference code to another kanji, usually regarded as a variant. + The type of cross-reference is given in the var_type attribute. + ) +SAX.attributeDecl(variant, var_type, 1, 2, NULL, ...) +SAX.comment( + The var_type attribute indicates the type of variant code. The current + values are: + jis208 - in JIS X 0208 - kuten coding + jis212 - in JIS X 0212 - kuten coding + jis213 - in JIS X 0213 - kuten coding + deroo - De Roo number - numeric + njecd - Halpern NJECD index number - numeric + s_h - The Kanji Dictionary (Spahn & Hadamitzky) - descriptor + nelson - "Classic" Nelson - numeric + oneill - Japanese Names (O'Neill) - numeric + ) +SAX.elementDecl(freq, 3, ...) +SAX.comment( + A frequency-of-use ranking. The 2,500 most-used characters have a + ranking; those characters that lack this field are not ranked. The + frequency is a number from 1 to 2,500 that expresses the relative + frequency of occurrence of a character in modern Japanese. This is + based on a survey in newspapers, so it is biassed towards kanji + used in newspaper articles. The discrimination between the less + frequently used kanji is not strong. + ) +SAX.elementDecl(rad_name, 3, ...) +SAX.comment( + When the kanji is itself a radical and has a name, this element + contains the name (in hiragana.) [T2] + ) +SAX.elementDecl(dic_number, 4, ...) +SAX.comment( + This element contains the index numbers and similar unstructured + information such as page numbers in a number of published dictionaries, + and instructional books on kanji. + ) +SAX.elementDecl(dic_ref, 3, ...) +SAX.comment( + Each dic_ref contains an index number. The particular dictionary, + etc. is defined by the dr_type attribute. + ) +SAX.attributeDecl(dic_ref, dr_type, 1, 2, NULL, ...) +SAX.comment( + The dr_type defines the dictionary or reference book, etc. to which + dic_ref element applies. The initial allocation is: + nelson_c - "Modern Reader's Japanese-English Character Dictionary", + edited by Andrew Nelson (now published as the "Classic" + Nelson). + nelson_n - "The New Nelson Japanese-English Character Dictionary", + edited by John Haig. + halpern_njecd - "New Japanese-English Character Dictionary", + edited by Jack Halpern. + halpern_kkld - "Kanji Learners Dictionary" (Kodansha) edited by + Jack Halpern. + heisig - "Remembering The Kanji" by James Heisig. + gakken - "A New Dictionary of Kanji Usage" (Gakken) + oneill_names - "Japanese Names", by P.G. O'Neill. + oneill_kk - "Essential Kanji" by P.G. O'Neill. + moro - "Daikanwajiten" compiled by Morohashi. For some kanji two + additional attributes are used: m_vol: the volume of the + dictionary in which the kanji is found, and m_page: the page + number in the volume. + henshall - "A Guide To Remembering Japanese Characters" by + Kenneth G. Henshall. + sh_kk - "Kanji and Kana" by Spahn and Hadamitzky. + sakade - "A Guide To Reading and Writing Japanese" edited by + Florence Sakade. + henshall3 - "A Guide To Reading and Writing Japanese" 3rd + edition, edited by Henshall, Seeley and De Groot. + tutt_cards - Tuttle Kanji Cards, compiled by Alexander Kask. + crowley - "The Kanji Way to Japanese Language Power" by + Dale Crowley. + kanji_in_context - "Kanji in Context" by Nishiguchi and Kono. + busy_people - "Japanese For Busy People" vols I-III, published + by the AJLT. The codes are the volume.chapter. + kodansha_compact - the "Kodansha Compact Kanji Guide". + ) +SAX.attributeDecl(dic_ref, m_vol, 1, 3, NULL, ...) +SAX.comment( + See above under "moro". + ) +SAX.attributeDecl(dic_ref, m_page, 1, 3, NULL, ...) +SAX.comment( + See above under "moro". + ) +SAX.elementDecl(query_code, 4, ...) +SAX.comment( + These codes contain information relating to the glyph, and can be used + for finding a required kanji. The type of code is defined by the + qc_type attribute. + ) +SAX.elementDecl(q_code, 3, ...) +SAX.comment( + The q_code contains the actual query-code value, according to the + qc_type attribute. + ) +SAX.attributeDecl(q_code, qc_type, 1, 2, NULL, ...) +SAX.comment( + The q_code attribute defines the type of query code. The current values + are: + skip - Halpern's SKIP (System of Kanji Indexing by Patterns) + code. The format is n-nn-nn. See the KANJIDIC documentation + for a description of the code and restrictions on the + commercial use of this data. [P] + + sh_desc - the descriptor codes for The Kanji Dictionary (Tuttle + 1996) by Spahn and Hadamitzky. They are in the form nxnn.n, + e.g. 3k11.2, where the kanji has 3 strokes in the + identifying radical, it is radical "k" in the SH + classification system, there are 11 other strokes, and it is + the 2nd kanji in the 3k11 sequence. (I am very grateful to + Mark Spahn for providing the list of these descriptor codes + for the kanji in this file.) [I] + four_corner - the "Four Corner" code for the kanji. This is a code + invented by Wang Chen in 1928. See the KANJIDIC documentation + for an overview of the Four Corner System. [Q] + + deroo - the codes developed by the late Father Joseph De Roo, and + published in his book "2001 Kanji" (Bojinsha). Fr De Roo + gave his permission for these codes to be included. [DR] + misclass - a possible misclassification of the kanji according + to one of the code types. (See the "Z" codes in the KANJIDIC + documentation for more details.) + + ) +SAX.elementDecl(reading_meaning, 4, ...) +SAX.comment( + The readings for the kanji in several languages, and the meanings, also + in several languages. The readings and meanings are grouped to enable + the handling of the situation where the meaning is differentiated by + reading. [T1] + ) +SAX.elementDecl(nanori, 3, ...) +SAX.comment( + Japanese readings that are now only associated with names. + ) +SAX.elementDecl(rmgroup, 4, ...) +SAX.elementDecl(reading, 3, ...) +SAX.comment( + The reading element contains the reading or pronunciation + of the kanji. + ) +SAX.attributeDecl(reading, r_type, 1, 2, NULL, ...) +SAX.comment( + The r_type attribute defines the type of reading in the reading + element. The current values are: + pinyin - the modern PinYin romanization of the Chinese reading + of the kanji. The tones are represented by a concluding + digit. [Y] + korean_r - the romanized form of the Korean reading(s) of the + kanji. The readings are in the (Republic of Korea) Ministry + of Education style of romanization. [W] + korean_h - the Korean reading(s) of the kanji in hangul. + ja_on - the "on" Japanese reading of the kanji, in katakana. A + second attribute r_status, if present, will indicate with + a value of "jy" whether the reading is approved for a + "Jouyou kanji". + ja_kun - the "kun" Japanese reading of the kanji, in hiragana. + Where relevant the okurigana is also included separated by a + ".". Readings associated with prefixes and suffixes are + marked with a "-". A second attribute r_status, if present, + will indicate with a value of "jy" whether the reading is + approved for a "Jouyou kanji". + ) +SAX.attributeDecl(reading, r_status, 1, 3, NULL, ...) +SAX.comment( + See under ja_on and ja_kun above. + ) +SAX.elementDecl(meaning, 3, ...) +SAX.comment( + The meaning associated with the kanji. + ) +SAX.attributeDecl(meaning, m_lang, 1, 3, NULL, ...) +SAX.comment( + The m_lang attribute defines the target language of the meaning. It + will be coded using the two-letter language code from the ISO 639 + standard. When absent, the value "en" (i.e. English) is implied. [{}] + ) +SAX.externalSubset(kanjidic2, , ) +SAX.startElementNs(kanjidic2, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.endElementNs(kanjidic2, NULL, NULL) +SAX.endDocument() diff --git a/result/isolat1 b/result/isolat1 new file mode 100644 index 0000000..1e5a059 --- /dev/null +++ b/result/isolat1 @@ -0,0 +1,2 @@ + +l diff --git a/result/isolat1.rde b/result/isolat1.rde new file mode 100644 index 0000000..e289b2f --- /dev/null +++ b/result/isolat1.rde @@ -0,0 +1,3 @@ +0 1 très 0 0 +1 3 #text 0 1 là +0 15 très 0 0 diff --git a/result/isolat1.rdr b/result/isolat1.rdr new file mode 100644 index 0000000..e289b2f --- /dev/null +++ b/result/isolat1.rdr @@ -0,0 +1,3 @@ +0 1 très 0 0 +1 3 #text 0 1 là +0 15 très 0 0 diff --git a/result/isolat1.sax b/result/isolat1.sax new file mode 100644 index 0000000..bf2a6ee --- /dev/null +++ b/result/isolat1.sax @@ -0,0 +1,7 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(très) +SAX.characters(l, 1) +SAX.characters(à, 2) +SAX.endElement(très) +SAX.endDocument() diff --git a/result/isolat1.sax2 b/result/isolat1.sax2 new file mode 100644 index 0000000..b97920a --- /dev/null +++ b/result/isolat1.sax2 @@ -0,0 +1,7 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(très, NULL, NULL, 0, 0, 0) +SAX.characters(l, 1) +SAX.characters(à, 2) +SAX.endElementNs(très, NULL, NULL) +SAX.endDocument() diff --git a/result/isolat2 b/result/isolat2 new file mode 100644 index 0000000..8c290b9 --- /dev/null +++ b/result/isolat2 @@ -0,0 +1,107 @@ + + + + The following table displays the characters in ISO 8859 + Latin-1, which are printable and unlisted in the ascii + manual page. + + Oct Dec Hex Char Description + -------------------------------------------------------------------- + 240 160 A0 NO-BREAK SPACE + 241 161 A1 INVERTED EXCLAMATION MARK + 242 162 A2 CENT SIGN + 243 163 A3 POUND SIGN + 244 164 A4 CURRENCY SIGN + 245 165 A5 YEN SIGN + 246 166 A6 BROKEN BAR + 247 167 A7 SECTION SIGN + 250 168 A8 DIAERESIS + 251 169 A9 COPYRIGHT SIGN + 252 170 AA FEMININE ORDINAL INDICATOR + 253 171 AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK + 254 172 AC NOT SIGN + 255 173 AD SOFT HYPHEN + 256 174 AE REGISTERED SIGN + 257 175 AF MACRON + 260 176 B0 DEGREE SIGN + 261 177 B1 PLUS-MINUS SIGN + 262 178 B2 SUPERSCRIPT TWO + 263 179 B3 SUPERSCRIPT THREE + 264 180 B4 ACUTE ACCENT + 265 181 B5 MICRO SIGN + 266 182 B6 PILCROW SIGN + 267 183 B7 MIDDLE DOT + 270 184 B8 CEDILLA + 271 185 B9 SUPERSCRIPT ONE + 272 186 BA MASCULINE ORDINAL INDICATOR + 273 187 BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + 274 188 BC VULGAR FRACTION ONE QUARTER + 275 189 BD VULGAR FRACTION ONE HALF + 276 190 BE VULGAR FRACTION THREE QUARTERS + 277 191 BF INVERTED QUESTION MARK + 300 192 C0 LATIN CAPITAL LETTER A WITH GRAVE + 301 193 C1 LATIN CAPITAL LETTER A WITH ACUTE + 302 194 C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX + 303 195 C3 LATIN CAPITAL LETTER A WITH TILDE + 304 196 C4 LATIN CAPITAL LETTER A WITH DIAERESIS + 305 197 C5 LATIN CAPITAL LETTER A WITH RING ABOVE + 306 198 C6 LATIN CAPITAL LETTER AE + 307 199 C7 LATIN CAPITAL LETTER C WITH CEDILLA + 310 200 C8 LATIN CAPITAL LETTER E WITH GRAVE + 311 201 C9 LATIN CAPITAL LETTER E WITH ACUTE + 312 202 CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX + 313 203 CB LATIN CAPITAL LETTER E WITH DIAERESIS + 314 204 CC LATIN CAPITAL LETTER I WITH GRAVE + 315 205 CD LATIN CAPITAL LETTER I WITH ACUTE + 316 206 CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX + 317 207 CF LATIN CAPITAL LETTER I WITH DIAERESIS + 320 208 D0 LATIN CAPITAL LETTER ETH + 321 209 D1 LATIN CAPITAL LETTER N WITH TILDE + 322 210 D2 LATIN CAPITAL LETTER O WITH GRAVE + 323 211 D3 LATIN CAPITAL LETTER O WITH ACUTE + 324 212 D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX + 325 213 D5 LATIN CAPITAL LETTER O WITH TILDE + 326 214 D6 LATIN CAPITAL LETTER O WITH DIAERESIS + 327 215 D7 MULTIPLICATION SIGN + 330 216 D8 LATIN CAPITAL LETTER O WITH STROKE + 331 217 D9 LATIN CAPITAL LETTER U WITH GRAVE + 332 218 DA LATIN CAPITAL LETTER U WITH ACUTE + 333 219 DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX + 334 220 DC LATIN CAPITAL LETTER U WITH DIAERESIS + 335 221 DD LATIN CAPITAL LETTER Y WITH ACUTE + 336 222 DE LATIN CAPITAL LETTER THORN + 337 223 DF LATIN SMALL LETTER SHARP S + 340 224 E0 LATIN SMALL LETTER A WITH GRAVE + 341 225 E1 LATIN SMALL LETTER A WITH ACUTE + 342 226 E2 LATIN SMALL LETTER A WITH CIRCUMFLEX + 343 227 E3 LATIN SMALL LETTER A WITH TILDE + 344 228 E4 LATIN SMALL LETTER A WITH DIAERESIS + 345 229 E5 LATIN SMALL LETTER A WITH RING ABOVE + 346 230 E6 LATIN SMALL LETTER AE + 347 231 E7 LATIN SMALL LETTER C WITH CEDILLA + 350 232 E8 LATIN SMALL LETTER E WITH GRAVE + 351 233 E9 LATIN SMALL LETTER E WITH ACUTE + 352 234 EA LATIN SMALL LETTER E WITH CIRCUMFLEX + 353 235 EB LATIN SMALL LETTER E WITH DIAERESIS + 354 236 EC LATIN SMALL LETTER I WITH GRAVE + 355 237 ED LATIN SMALL LETTER I WITH ACUTE + 356 238 EE LATIN SMALL LETTER I WITH CIRCUMFLEX + 357 239 EF LATIN SMALL LETTER I WITH DIAERESIS + 360 240 F0 LATIN SMALL LETTER ETH + 361 241 F1 LATIN SMALL LETTER N WITH TILDE + 362 242 F2 LATIN SMALL LETTER O WITH GRAVE + 363 243 F3 LATIN SMALL LETTER O WITH ACUTE + 364 244 F4 LATIN SMALL LETTER O WITH CIRCUMFLEX + 365 245 F5 LATIN SMALL LETTER O WITH TILDE + 366 246 F6 LATIN SMALL LETTER O WITH DIAERESIS + 367 247 F7 DIVISION SIGN + 370 248 F8 LATIN SMALL LETTER O WITH STROKE + 371 249 F9 LATIN SMALL LETTER U WITH GRAVE + 372 250 FA LATIN SMALL LETTER U WITH ACUTE + 373 251 FB LATIN SMALL LETTER U WITH CIRCUMFLEX + 374 252 FC LATIN SMALL LETTER U WITH DIAERESIS + 375 253 FD LATIN SMALL LETTER Y WITH ACUTE + 376 254 FE LATIN SMALL LETTER THORN + 377 255 FF LATIN SMALL LETTER Y WITH DIAERESIS + + diff --git a/result/isolat2.rde b/result/isolat2.rde new file mode 100644 index 0000000..524cb3e --- /dev/null +++ b/result/isolat2.rde @@ -0,0 +1,108 @@ +0 1 tst 0 0 +1 3 #text 0 1 + + The following table displays the characters in ISO 8859 + Latin-1, which are printable and unlisted in the ascii + manual page. + + Oct Dec Hex Char Description + -------------------------------------------------------------------- + 240 160 A0 NO-BREAK SPACE + 241 161 A1 ¡ INVERTED EXCLAMATION MARK + 242 162 A2 ¢ CENT SIGN + 243 163 A3 £ POUND SIGN + 244 164 A4 ¤ CURRENCY SIGN + 245 165 A5 ¥ YEN SIGN + 246 166 A6 ¦ BROKEN BAR + 247 167 A7 § SECTION SIGN + 250 168 A8 ¨ DIAERESIS + 251 169 A9 © COPYRIGHT SIGN + 252 170 AA ª FEMININE ORDINAL INDICATOR + 253 171 AB « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK + 254 172 AC ¬ NOT SIGN + 255 173 AD ­ SOFT HYPHEN + 256 174 AE ® REGISTERED SIGN + 257 175 AF ¯ MACRON + 260 176 B0 ° DEGREE SIGN + 261 177 B1 ± PLUS-MINUS SIGN + 262 178 B2 ² SUPERSCRIPT TWO + 263 179 B3 ³ SUPERSCRIPT THREE + 264 180 B4 ´ ACUTE ACCENT + 265 181 B5 µ MICRO SIGN + 266 182 B6 ¶ PILCROW SIGN + 267 183 B7 · MIDDLE DOT + 270 184 B8 ¸ CEDILLA + 271 185 B9 ¹ SUPERSCRIPT ONE + 272 186 BA º MASCULINE ORDINAL INDICATOR + 273 187 BB » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + 274 188 BC ¼ VULGAR FRACTION ONE QUARTER + 275 189 BD ½ VULGAR FRACTION ONE HALF + 276 190 BE ¾ VULGAR FRACTION THREE QUARTERS + 277 191 BF ¿ INVERTED QUESTION MARK + 300 192 C0 À LATIN CAPITAL LETTER A WITH GRAVE + 301 193 C1 Á LATIN CAPITAL LETTER A WITH ACUTE + 302 194 C2 Â LATIN CAPITAL LETTER A WITH CIRCUMFLEX + 303 195 C3 Ã LATIN CAPITAL LETTER A WITH TILDE + 304 196 C4 Ä LATIN CAPITAL LETTER A WITH DIAERESIS + 305 197 C5 Å LATIN CAPITAL LETTER A WITH RING ABOVE + 306 198 C6 Æ LATIN CAPITAL LETTER AE + 307 199 C7 Ç LATIN CAPITAL LETTER C WITH CEDILLA + 310 200 C8 È LATIN CAPITAL LETTER E WITH GRAVE + 311 201 C9 É LATIN CAPITAL LETTER E WITH ACUTE + 312 202 CA Ê LATIN CAPITAL LETTER E WITH CIRCUMFLEX + 313 203 CB Ë LATIN CAPITAL LETTER E WITH DIAERESIS + 314 204 CC Ì LATIN CAPITAL LETTER I WITH GRAVE + 315 205 CD Í LATIN CAPITAL LETTER I WITH ACUTE + 316 206 CE Î LATIN CAPITAL LETTER I WITH CIRCUMFLEX + 317 207 CF Ï LATIN CAPITAL LETTER I WITH DIAERESIS + 320 208 D0 Ð LATIN CAPITAL LETTER ETH + 321 209 D1 Ñ LATIN CAPITAL LETTER N WITH TILDE + 322 210 D2 Ò LATIN CAPITAL LETTER O WITH GRAVE + 323 211 D3 Ó LATIN CAPITAL LETTER O WITH ACUTE + 324 212 D4 Ô LATIN CAPITAL LETTER O WITH CIRCUMFLEX + 325 213 D5 Õ LATIN CAPITAL LETTER O WITH TILDE + 326 214 D6 Ö LATIN CAPITAL LETTER O WITH DIAERESIS + 327 215 D7 × MULTIPLICATION SIGN + 330 216 D8 Ø LATIN CAPITAL LETTER O WITH STROKE + 331 217 D9 Ù LATIN CAPITAL LETTER U WITH GRAVE + 332 218 DA Ú LATIN CAPITAL LETTER U WITH ACUTE + 333 219 DB Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX + 334 220 DC Ü LATIN CAPITAL LETTER U WITH DIAERESIS + 335 221 DD Ý LATIN CAPITAL LETTER Y WITH ACUTE + 336 222 DE Þ LATIN CAPITAL LETTER THORN + 337 223 DF ß LATIN SMALL LETTER SHARP S + 340 224 E0 à LATIN SMALL LETTER A WITH GRAVE + 341 225 E1 á LATIN SMALL LETTER A WITH ACUTE + 342 226 E2 â LATIN SMALL LETTER A WITH CIRCUMFLEX + 343 227 E3 ã LATIN SMALL LETTER A WITH TILDE + 344 228 E4 ä LATIN SMALL LETTER A WITH DIAERESIS + 345 229 E5 å LATIN SMALL LETTER A WITH RING ABOVE + 346 230 E6 æ LATIN SMALL LETTER AE + 347 231 E7 ç LATIN SMALL LETTER C WITH CEDILLA + 350 232 E8 è LATIN SMALL LETTER E WITH GRAVE + 351 233 E9 é LATIN SMALL LETTER E WITH ACUTE + 352 234 EA ê LATIN SMALL LETTER E WITH CIRCUMFLEX + 353 235 EB ë LATIN SMALL LETTER E WITH DIAERESIS + 354 236 EC ì LATIN SMALL LETTER I WITH GRAVE + 355 237 ED í LATIN SMALL LETTER I WITH ACUTE + 356 238 EE î LATIN SMALL LETTER I WITH CIRCUMFLEX + 357 239 EF ï LATIN SMALL LETTER I WITH DIAERESIS + 360 240 F0 ð LATIN SMALL LETTER ETH + 361 241 F1 ñ LATIN SMALL LETTER N WITH TILDE + 362 242 F2 ò LATIN SMALL LETTER O WITH GRAVE + 363 243 F3 ó LATIN SMALL LETTER O WITH ACUTE + 364 244 F4 ô LATIN SMALL LETTER O WITH CIRCUMFLEX + 365 245 F5 õ LATIN SMALL LETTER O WITH TILDE + 366 246 F6 ö LATIN SMALL LETTER O WITH DIAERESIS + 367 247 F7 ÷ DIVISION SIGN + 370 248 F8 ø LATIN SMALL LETTER O WITH STROKE + 371 249 F9 ù LATIN SMALL LETTER U WITH GRAVE + 372 250 FA ú LATIN SMALL LETTER U WITH ACUTE + 373 251 FB û LATIN SMALL LETTER U WITH CIRCUMFLEX + 374 252 FC ü LATIN SMALL LETTER U WITH DIAERESIS + 375 253 FD ý LATIN SMALL LETTER Y WITH ACUTE + 376 254 FE þ LATIN SMALL LETTER THORN + 377 255 FF ÿ LATIN SMALL LETTER Y WITH DIAERESIS + + +0 15 tst 0 0 diff --git a/result/isolat2.rdr b/result/isolat2.rdr new file mode 100644 index 0000000..524cb3e --- /dev/null +++ b/result/isolat2.rdr @@ -0,0 +1,108 @@ +0 1 tst 0 0 +1 3 #text 0 1 + + The following table displays the characters in ISO 8859 + Latin-1, which are printable and unlisted in the ascii + manual page. + + Oct Dec Hex Char Description + -------------------------------------------------------------------- + 240 160 A0 NO-BREAK SPACE + 241 161 A1 ¡ INVERTED EXCLAMATION MARK + 242 162 A2 ¢ CENT SIGN + 243 163 A3 £ POUND SIGN + 244 164 A4 ¤ CURRENCY SIGN + 245 165 A5 ¥ YEN SIGN + 246 166 A6 ¦ BROKEN BAR + 247 167 A7 § SECTION SIGN + 250 168 A8 ¨ DIAERESIS + 251 169 A9 © COPYRIGHT SIGN + 252 170 AA ª FEMININE ORDINAL INDICATOR + 253 171 AB « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK + 254 172 AC ¬ NOT SIGN + 255 173 AD ­ SOFT HYPHEN + 256 174 AE ® REGISTERED SIGN + 257 175 AF ¯ MACRON + 260 176 B0 ° DEGREE SIGN + 261 177 B1 ± PLUS-MINUS SIGN + 262 178 B2 ² SUPERSCRIPT TWO + 263 179 B3 ³ SUPERSCRIPT THREE + 264 180 B4 ´ ACUTE ACCENT + 265 181 B5 µ MICRO SIGN + 266 182 B6 ¶ PILCROW SIGN + 267 183 B7 · MIDDLE DOT + 270 184 B8 ¸ CEDILLA + 271 185 B9 ¹ SUPERSCRIPT ONE + 272 186 BA º MASCULINE ORDINAL INDICATOR + 273 187 BB » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + 274 188 BC ¼ VULGAR FRACTION ONE QUARTER + 275 189 BD ½ VULGAR FRACTION ONE HALF + 276 190 BE ¾ VULGAR FRACTION THREE QUARTERS + 277 191 BF ¿ INVERTED QUESTION MARK + 300 192 C0 À LATIN CAPITAL LETTER A WITH GRAVE + 301 193 C1 Á LATIN CAPITAL LETTER A WITH ACUTE + 302 194 C2 Â LATIN CAPITAL LETTER A WITH CIRCUMFLEX + 303 195 C3 Ã LATIN CAPITAL LETTER A WITH TILDE + 304 196 C4 Ä LATIN CAPITAL LETTER A WITH DIAERESIS + 305 197 C5 Å LATIN CAPITAL LETTER A WITH RING ABOVE + 306 198 C6 Æ LATIN CAPITAL LETTER AE + 307 199 C7 Ç LATIN CAPITAL LETTER C WITH CEDILLA + 310 200 C8 È LATIN CAPITAL LETTER E WITH GRAVE + 311 201 C9 É LATIN CAPITAL LETTER E WITH ACUTE + 312 202 CA Ê LATIN CAPITAL LETTER E WITH CIRCUMFLEX + 313 203 CB Ë LATIN CAPITAL LETTER E WITH DIAERESIS + 314 204 CC Ì LATIN CAPITAL LETTER I WITH GRAVE + 315 205 CD Í LATIN CAPITAL LETTER I WITH ACUTE + 316 206 CE Î LATIN CAPITAL LETTER I WITH CIRCUMFLEX + 317 207 CF Ï LATIN CAPITAL LETTER I WITH DIAERESIS + 320 208 D0 Ð LATIN CAPITAL LETTER ETH + 321 209 D1 Ñ LATIN CAPITAL LETTER N WITH TILDE + 322 210 D2 Ò LATIN CAPITAL LETTER O WITH GRAVE + 323 211 D3 Ó LATIN CAPITAL LETTER O WITH ACUTE + 324 212 D4 Ô LATIN CAPITAL LETTER O WITH CIRCUMFLEX + 325 213 D5 Õ LATIN CAPITAL LETTER O WITH TILDE + 326 214 D6 Ö LATIN CAPITAL LETTER O WITH DIAERESIS + 327 215 D7 × MULTIPLICATION SIGN + 330 216 D8 Ø LATIN CAPITAL LETTER O WITH STROKE + 331 217 D9 Ù LATIN CAPITAL LETTER U WITH GRAVE + 332 218 DA Ú LATIN CAPITAL LETTER U WITH ACUTE + 333 219 DB Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX + 334 220 DC Ü LATIN CAPITAL LETTER U WITH DIAERESIS + 335 221 DD Ý LATIN CAPITAL LETTER Y WITH ACUTE + 336 222 DE Þ LATIN CAPITAL LETTER THORN + 337 223 DF ß LATIN SMALL LETTER SHARP S + 340 224 E0 à LATIN SMALL LETTER A WITH GRAVE + 341 225 E1 á LATIN SMALL LETTER A WITH ACUTE + 342 226 E2 â LATIN SMALL LETTER A WITH CIRCUMFLEX + 343 227 E3 ã LATIN SMALL LETTER A WITH TILDE + 344 228 E4 ä LATIN SMALL LETTER A WITH DIAERESIS + 345 229 E5 å LATIN SMALL LETTER A WITH RING ABOVE + 346 230 E6 æ LATIN SMALL LETTER AE + 347 231 E7 ç LATIN SMALL LETTER C WITH CEDILLA + 350 232 E8 è LATIN SMALL LETTER E WITH GRAVE + 351 233 E9 é LATIN SMALL LETTER E WITH ACUTE + 352 234 EA ê LATIN SMALL LETTER E WITH CIRCUMFLEX + 353 235 EB ë LATIN SMALL LETTER E WITH DIAERESIS + 354 236 EC ì LATIN SMALL LETTER I WITH GRAVE + 355 237 ED í LATIN SMALL LETTER I WITH ACUTE + 356 238 EE î LATIN SMALL LETTER I WITH CIRCUMFLEX + 357 239 EF ï LATIN SMALL LETTER I WITH DIAERESIS + 360 240 F0 ð LATIN SMALL LETTER ETH + 361 241 F1 ñ LATIN SMALL LETTER N WITH TILDE + 362 242 F2 ò LATIN SMALL LETTER O WITH GRAVE + 363 243 F3 ó LATIN SMALL LETTER O WITH ACUTE + 364 244 F4 ô LATIN SMALL LETTER O WITH CIRCUMFLEX + 365 245 F5 õ LATIN SMALL LETTER O WITH TILDE + 366 246 F6 ö LATIN SMALL LETTER O WITH DIAERESIS + 367 247 F7 ÷ DIVISION SIGN + 370 248 F8 ø LATIN SMALL LETTER O WITH STROKE + 371 249 F9 ù LATIN SMALL LETTER U WITH GRAVE + 372 250 FA ú LATIN SMALL LETTER U WITH ACUTE + 373 251 FB û LATIN SMALL LETTER U WITH CIRCUMFLEX + 374 252 FC ü LATIN SMALL LETTER U WITH DIAERESIS + 375 253 FD ý LATIN SMALL LETTER Y WITH ACUTE + 376 254 FE þ LATIN SMALL LETTER THORN + 377 255 FF ÿ LATIN SMALL LETTER Y WITH DIAERESIS + + +0 15 tst 0 0 diff --git a/result/isolat2.sax b/result/isolat2.sax new file mode 100644 index 0000000..737c948 --- /dev/null +++ b/result/isolat2.sax @@ -0,0 +1,35 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(tst) +SAX.characters( + + The following table d, 345) +SAX.characters(¡ INVERTED EXCLAMATION MA, 300) +SAX.characters( 250 168 A8 ¨ , 300) +SAX.characters(SOFT HYPHEN + 256 174 , 300) +SAX.characters( 264 180 B4 ´ AC, 300) +SAX.characters(SCULINE ORDINAL INDICATOR + , 300) +SAX.characters(1 BF ¿ INVERTED QUE, 300) +SAX.characters( A WITH TILDE + 304 196, 300) +SAX.characters( C8 È LATIN CAPITAL , 300) +SAX.characters(APITAL LETTER I WITH GRAVE + , 300) +SAX.characters( 321 209 D1 Ñ LA, 300) +SAX.characters( LATIN CAPITAL LETTER O WITH T, 300) +SAX.characters( 332 218 DA Ú LAT, 300) +SAX.characters( LATIN CAPITAL LETTER THORN, 300) +SAX.characters(3 227 E3 ã LATIN , 300) +SAX.characters(R C WITH CEDILLA + 350 , 300) +SAX.characters(36 EC ì LATIN SMALL, 300) +SAX.characters(LETTER ETH + 361 241 , 300) +SAX.characters( õ LATIN SMALL LETTER O , 300) +SAX.characters( 250 FA ú LATIN SMA, 300) +SAX.characters(L LETTER THORN + 377 25, 85) +SAX.endElement(tst) +SAX.endDocument() diff --git a/result/isolat2.sax2 b/result/isolat2.sax2 new file mode 100644 index 0000000..0ac3f56 --- /dev/null +++ b/result/isolat2.sax2 @@ -0,0 +1,35 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(tst, NULL, NULL, 0, 0, 0) +SAX.characters( + + The following table d, 345) +SAX.characters(¡ INVERTED EXCLAMATION MA, 300) +SAX.characters( 250 168 A8 ¨ , 300) +SAX.characters(SOFT HYPHEN + 256 174 , 300) +SAX.characters( 264 180 B4 ´ AC, 300) +SAX.characters(SCULINE ORDINAL INDICATOR + , 300) +SAX.characters(1 BF ¿ INVERTED QUE, 300) +SAX.characters( A WITH TILDE + 304 196, 300) +SAX.characters( C8 È LATIN CAPITAL , 300) +SAX.characters(APITAL LETTER I WITH GRAVE + , 300) +SAX.characters( 321 209 D1 Ñ LA, 300) +SAX.characters( LATIN CAPITAL LETTER O WITH T, 300) +SAX.characters( 332 218 DA Ú LAT, 300) +SAX.characters( LATIN CAPITAL LETTER THORN, 300) +SAX.characters(3 227 E3 ã LATIN , 300) +SAX.characters(R C WITH CEDILLA + 350 , 300) +SAX.characters(36 EC ì LATIN SMALL, 300) +SAX.characters(LETTER ETH + 361 241 , 300) +SAX.characters( õ LATIN SMALL LETTER O , 300) +SAX.characters( 250 FA ú LATIN SMA, 300) +SAX.characters(L LETTER THORN + 377 25, 85) +SAX.endElementNs(tst, NULL, NULL) +SAX.endDocument() diff --git a/result/isolat3 b/result/isolat3 new file mode 100644 index 0000000..1abf7b4 --- /dev/null +++ b/result/isolat3 @@ -0,0 +1,10 @@ + + + + +]]> +then the replacement text for the entity "book" is: +La Peste: Albert Camus, + 1947 ditions Gallimard. &rights; + diff --git a/result/isolat3.rde b/result/isolat3.rde new file mode 100644 index 0000000..1067c0f --- /dev/null +++ b/result/isolat3.rde @@ -0,0 +1,23 @@ +0 1 rec 0 0 +1 14 #text 0 1 + +1 1 eg 0 0 +2 4 #cdata-section 0 1 + + +1 15 eg 0 0 +1 3 #text 0 1 +then the replacement text for the entity " +1 1 code 0 0 +2 3 #text 0 1 book +1 15 code 0 0 +1 3 #text 0 1 " is: + +1 1 eg 0 0 +2 3 #text 0 1 La Peste: Albert Camus, +© 1947 Éditions Gallimard. &rights; +1 15 eg 0 0 +1 14 #text 0 1 + +0 15 rec 0 0 diff --git a/result/isolat3.rdr b/result/isolat3.rdr new file mode 100644 index 0000000..1067c0f --- /dev/null +++ b/result/isolat3.rdr @@ -0,0 +1,23 @@ +0 1 rec 0 0 +1 14 #text 0 1 + +1 1 eg 0 0 +2 4 #cdata-section 0 1 + + +1 15 eg 0 0 +1 3 #text 0 1 +then the replacement text for the entity " +1 1 code 0 0 +2 3 #text 0 1 book +1 15 code 0 0 +1 3 #text 0 1 " is: + +1 1 eg 0 0 +2 3 #text 0 1 La Peste: Albert Camus, +© 1947 Éditions Gallimard. &rights; +1 15 eg 0 0 +1 14 #text 0 1 + +0 15 rec 0 0 diff --git a/result/isolat3.sax b/result/isolat3.sax new file mode 100644 index 0000000..7c40e6e --- /dev/null +++ b/result/isolat3.sax @@ -0,0 +1,29 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(rec) +SAX.characters( +, 1) +SAX.startElement(eg) +SAX.pcdata( +<入力メッセージ xmlns="http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826"> + + diff --git a/result/japancrlf.xml.rde b/result/japancrlf.xml.rde new file mode 100644 index 0000000..0bc5af7 --- /dev/null +++ b/result/japancrlf.xml.rde @@ -0,0 +1,7 @@ +0 1 入力メッセージ 0 0 +1 14 #text 0 1 + +1 1 c8c:Ele 1 0 +1 14 #text 0 1 + +0 15 入力メッセージ 0 0 diff --git a/result/japancrlf.xml.rdr b/result/japancrlf.xml.rdr new file mode 100644 index 0000000..0bc5af7 --- /dev/null +++ b/result/japancrlf.xml.rdr @@ -0,0 +1,7 @@ +0 1 入力メッセージ 0 0 +1 14 #text 0 1 + +1 1 c8c:Ele 1 0 +1 14 #text 0 1 + +0 15 入力メッセージ 0 0 diff --git a/result/japancrlf.xml.sax b/result/japancrlf.xml.sax new file mode 100644 index 0000000..c3bbdc6 --- /dev/null +++ b/result/japancrlf.xml.sax @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(入力メッセージ, xmlns='http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826') +SAX.characters( + , 2) +SAX.startElement(c8c:Ele, xmlns:c8c='http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826') +SAX.endElement(c8c:Ele) +SAX.characters( +, 1) +SAX.endElement(入力メッセージ) +SAX.endDocument() diff --git a/result/japancrlf.xml.sax2 b/result/japancrlf.xml.sax2 new file mode 100644 index 0000000..878eae4 --- /dev/null +++ b/result/japancrlf.xml.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(入力メッセージ, NULL, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 1, xmlns='http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 0, 0) +SAX.characters( + , 2) +SAX.startElementNs(Ele, c8c, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 1, xmlns:c8c='http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 0, 0) +SAX.endElementNs(Ele, c8c, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826') +SAX.characters( +, 1) +SAX.endElementNs(入力メッセージ, NULL, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826') +SAX.endDocument() diff --git a/result/namespaces/err_0.xml b/result/namespaces/err_0.xml new file mode 100644 index 0000000..968d954 --- /dev/null +++ b/result/namespaces/err_0.xml @@ -0,0 +1,2 @@ + + diff --git a/result/namespaces/err_0.xml.err b/result/namespaces/err_0.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/namespaces/err_1.xml b/result/namespaces/err_1.xml new file mode 100644 index 0000000..a4aa8ff --- /dev/null +++ b/result/namespaces/err_1.xml @@ -0,0 +1,2 @@ + + diff --git a/result/namespaces/err_1.xml.err b/result/namespaces/err_1.xml.err new file mode 100644 index 0000000..77466cf --- /dev/null +++ b/result/namespaces/err_1.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_1.xml:1: namespace error : Failed to parse QName 'xmlns:' + + ^ diff --git a/result/namespaces/err_10.xml b/result/namespaces/err_10.xml new file mode 100644 index 0000000..e69de29 diff --git a/result/namespaces/err_10.xml.err b/result/namespaces/err_10.xml.err new file mode 100644 index 0000000..a4a4b55 --- /dev/null +++ b/result/namespaces/err_10.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_10.xml:1: parser error : Attribute xmlns redefined + + ^ diff --git a/result/namespaces/err_11.xml b/result/namespaces/err_11.xml new file mode 100644 index 0000000..e69de29 diff --git a/result/namespaces/err_11.xml.err b/result/namespaces/err_11.xml.err new file mode 100644 index 0000000..619bc00 --- /dev/null +++ b/result/namespaces/err_11.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_11.xml:1: parser error : Attribute xmlns:a redefined + + ^ diff --git a/result/namespaces/err_2.xml b/result/namespaces/err_2.xml new file mode 100644 index 0000000..73e727b --- /dev/null +++ b/result/namespaces/err_2.xml @@ -0,0 +1,2 @@ + +<:/> diff --git a/result/namespaces/err_2.xml.err b/result/namespaces/err_2.xml.err new file mode 100644 index 0000000..031bcff --- /dev/null +++ b/result/namespaces/err_2.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_2.xml:1: namespace error : Failed to parse QName ':' +<:/> + ^ diff --git a/result/namespaces/err_3.xml b/result/namespaces/err_3.xml new file mode 100644 index 0000000..ee51834 --- /dev/null +++ b/result/namespaces/err_3.xml @@ -0,0 +1,2 @@ + +<:foo/> diff --git a/result/namespaces/err_3.xml.err b/result/namespaces/err_3.xml.err new file mode 100644 index 0000000..a18fe9f --- /dev/null +++ b/result/namespaces/err_3.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_3.xml:1: namespace error : Failed to parse QName ':foo' +<:foo/> + ^ diff --git a/result/namespaces/err_4.xml b/result/namespaces/err_4.xml new file mode 100644 index 0000000..d0d664e --- /dev/null +++ b/result/namespaces/err_4.xml @@ -0,0 +1,2 @@ + + diff --git a/result/namespaces/err_4.xml.err b/result/namespaces/err_4.xml.err new file mode 100644 index 0000000..c9b0c02 --- /dev/null +++ b/result/namespaces/err_4.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_4.xml:1: namespace error : Failed to parse QName 'f:' + + ^ diff --git a/result/namespaces/err_5.xml b/result/namespaces/err_5.xml new file mode 100644 index 0000000..7d8d0b2 --- /dev/null +++ b/result/namespaces/err_5.xml @@ -0,0 +1,2 @@ + + diff --git a/result/namespaces/err_5.xml.err b/result/namespaces/err_5.xml.err new file mode 100644 index 0000000..432a2e1 --- /dev/null +++ b/result/namespaces/err_5.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_5.xml:1: namespace error : Failed to parse QName 'f:a:' + + ^ diff --git a/result/namespaces/err_6.xml b/result/namespaces/err_6.xml new file mode 100644 index 0000000..daa2a58 --- /dev/null +++ b/result/namespaces/err_6.xml @@ -0,0 +1,2 @@ + + diff --git a/result/namespaces/err_6.xml.err b/result/namespaces/err_6.xml.err new file mode 100644 index 0000000..47c14fd --- /dev/null +++ b/result/namespaces/err_6.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_6.xml:1: namespace error : Failed to parse QName 'f:a:' + + ^ diff --git a/result/namespaces/err_7.xml b/result/namespaces/err_7.xml new file mode 100644 index 0000000..4b4c662 --- /dev/null +++ b/result/namespaces/err_7.xml @@ -0,0 +1,2 @@ + + diff --git a/result/namespaces/err_7.xml.err b/result/namespaces/err_7.xml.err new file mode 100644 index 0000000..e7ff95b --- /dev/null +++ b/result/namespaces/err_7.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_7.xml:1: namespace error : Namespace prefix f on foo is not defined + + ^ diff --git a/result/namespaces/err_8.xml b/result/namespaces/err_8.xml new file mode 100644 index 0000000..5608312 --- /dev/null +++ b/result/namespaces/err_8.xml @@ -0,0 +1,2 @@ + + diff --git a/result/namespaces/err_8.xml.err b/result/namespaces/err_8.xml.err new file mode 100644 index 0000000..e6735d7 --- /dev/null +++ b/result/namespaces/err_8.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_8.xml:1: namespace error : xml namespace prefix mapped to wrong URI + + ^ diff --git a/result/namespaces/err_9.xml b/result/namespaces/err_9.xml new file mode 100644 index 0000000..0407dff --- /dev/null +++ b/result/namespaces/err_9.xml @@ -0,0 +1,2 @@ + + diff --git a/result/namespaces/err_9.xml.err b/result/namespaces/err_9.xml.err new file mode 100644 index 0000000..d1837a1 --- /dev/null +++ b/result/namespaces/err_9.xml.err @@ -0,0 +1,3 @@ +./test/namespaces/err_9.xml:2: namespace error : Namespaced Attribute err in 'http://example.com/' redefined + a:err="1" b:err="2"/> + ^ diff --git a/result/noent/att1 b/result/noent/att1 new file mode 100644 index 0000000..00aa6be --- /dev/null +++ b/result/noent/att1 @@ -0,0 +1,2 @@ + + diff --git a/result/noent/att1.sax2 b/result/noent/att1.sax2 new file mode 100644 index 0000000..76ba131 --- /dev/null +++ b/result/noent/att1.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 1, 0, attr='to n...', 28) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/att10 b/result/noent/att10 new file mode 100644 index 0000000..07f0096 --- /dev/null +++ b/result/noent/att10 @@ -0,0 +1,18 @@ + + + + + + + + +]> + + + + + + + + diff --git a/result/noent/att10.sax2 b/result/noent/att10.sax2 new file mode 100644 index 0000000..cc8b58e --- /dev/null +++ b/result/noent/att10.sax2 @@ -0,0 +1,57 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(tst, 3, ...) +SAX.attributeDecl(tst, a, 8, 3, NULL, ...) +SAX.attributeDecl(tst, b, 1, 3, NULL, ...) +SAX.entityDecl(d, 1, (null), (null), ) +SAX.getEntity(d) +SAX.entityDecl(a, 1, (null), (null), +) +SAX.getEntity(a) +SAX.entityDecl(da, 1, (null), (null), +) +SAX.getEntity(da) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='xyz"...', 3, b=' xy...', 5) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.getEntity(d) +SAX.getEntity(d) +SAX.getEntity(a) +SAX.getEntity(a) +SAX.getEntity(da) +SAX.getEntity(d) +SAX.getEntity(d) +SAX.getEntity(a) +SAX.getEntity(a) +SAX.getEntity(da) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='A B...', 3, b=' A ...', 9) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a=' A +...', 8, b=' A +...', 8) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='x y...', 3, b=' x ...', 6) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='a b ...', 3, b=' a b...', 5) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(tst, NULL, NULL, 0, 2, 0, a='a b...', 3, b=' a ...', 8) +SAX.endElementNs(tst, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/att11 b/result/noent/att11 new file mode 100644 index 0000000..3646e62 --- /dev/null +++ b/result/noent/att11 @@ -0,0 +1,9 @@ + + + + + + +]> + diff --git a/result/noent/att11.sax2 b/result/noent/att11.sax2 new file mode 100644 index 0000000..518e231 --- /dev/null +++ b/result/noent/att11.sax2 @@ -0,0 +1,20 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(attributes, , ) +SAX.elementDecl(attributes, 1, ...) +SAX.attributeDecl(attributes, nmtoken, 7, 3, NULL, ...) +SAX.attributeDecl(attributes, nmtokens, 8, 3, NULL, ...) +SAX.entityDecl(ent, 1, (null), (null), entity&recursive; ) +SAX.getEntity(ent) +SAX.entityDecl(recursive, 1, (null), (null), reference) +SAX.getEntity(recursive) +SAX.externalSubset(attributes, , ) +SAX.getEntity(ent) +SAX.getEntity(recursive) +SAX.getEntity(ent) +SAX.getEntity(recursive) +SAX.getEntity(ent) +SAX.getEntity(recursive) +SAX.startElementNs(attributes, NULL, NULL, 0, 2, 0, nmtoken='enti...', 47, nmtokens='Test...', 25) +SAX.endElementNs(attributes, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/att2 b/result/noent/att2 new file mode 100644 index 0000000..28989a2 --- /dev/null +++ b/result/noent/att2 @@ -0,0 +1,2 @@ + + diff --git a/result/noent/att2.sax2 b/result/noent/att2.sax2 new file mode 100644 index 0000000..84aebcb --- /dev/null +++ b/result/noent/att2.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 1, 0, attr='to n...', 27) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/att3 b/result/noent/att3 new file mode 100644 index 0000000..3f3ac5c --- /dev/null +++ b/result/noent/att3 @@ -0,0 +1,2 @@ + + diff --git a/result/noent/att3.sax2 b/result/noent/att3.sax2 new file mode 100644 index 0000000..8e7ca86 --- /dev/null +++ b/result/noent/att3.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(select, NULL, NULL, 0, 1, 0, onclick='aaaa...', 17) +SAX.characters(f, 1) +SAX.characters( , 2) +SAX.characters(oo, 2) +SAX.endElementNs(select, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/att4 b/result/noent/att4 new file mode 100644 index 0000000..882cea7 --- /dev/null +++ b/result/noent/att4 @@ -0,0 +1,9264 @@ + + + + + + + diff --git a/result/noent/att4.sax2 b/result/noent/att4.sax2 new file mode 100644 index 0000000..553148c --- /dev/null +++ b/result/noent/att4.sax2 @@ -0,0 +1,36976 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( edited with XML Spy v4.4 U (http://www.xmlspy.com) by Slava (GIVC) ) +SAX.startElementNs(electroxml, NULL, NULL, 0, 1, 0, modified='2002...', 15) +SAX.characters( + , 2) +SAX.startElementNs(data, NULL, NULL, 0, 2, 0, from='2002...', 11, to='2002...', 11) +SAX.characters( + , 3) +SAX.startElementNs(select, NULL, NULL, 0, 0, 0) +SAX.characters( + , 4) +SAX.startElementNs(device, NULL, NULL, 0, 1, 0, serialnumb='E000...', 9) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1134...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='55"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1693...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='199....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='200....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='201....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='199....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='220"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='222"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='220"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='219"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='217....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='224....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='219"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='221....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='221"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='217....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='219"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='222"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='224....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='219"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='219....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='221"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='220....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='225....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='225"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='222....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='224....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='190"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='122....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='354....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='333....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='323....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='278....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='286....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='292....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='21.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='273....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='272....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='285....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='28.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='68.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='147....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='95.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='89.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='88.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='92.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='149....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='148....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='127....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='203....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='124....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='230....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='79.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='51.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='22.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='323....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='341....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='46.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='71.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='71.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='63.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='76.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='58.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='92"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='79.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='63.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='51.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='81.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='205....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='96.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='95.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='96.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='92.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='91.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='86.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='270"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='270....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='296....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='306....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='331....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='13.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='46.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='262....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='143....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='127....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='132....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='128....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='155....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='99.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='130....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='132....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='121....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='100....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='153....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='155....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='167....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='165"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='156....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='162....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='203....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='212....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='162"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='149....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='136....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='145....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='164....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='158....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='163"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='147....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='163"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='161"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='174....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='203....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='158....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='138"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='135....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='170"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='167"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='164....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='151....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='158....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='207....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='214....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='213....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='210....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='162....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='156....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='153....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='143....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='153....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='169....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='139....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='142....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='122....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='125....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='110....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='110....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='99.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='209....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='76.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='61.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='44.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='44.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='60.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='64.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='67.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='341....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='115....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='117....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='252....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='261....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='313....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='311....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='292"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='57.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='151....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='92.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='93.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='100....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='97.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='184"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='289....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='274....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='39.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='6.5"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='355....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='19.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='44.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='61.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='55.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='60.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='71.7...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='66.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='61.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='38.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='17.3...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='35.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='44.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='71.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='125"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='176"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='99.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='90"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='273....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='344....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='307....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='271....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='278....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='291....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='52.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='76.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='87.6...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='174....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='183....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='181....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='201....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='205....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='208....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='194....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='194....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='189....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='201....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='162....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='181....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='183....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='223....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='228....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='229....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='216....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='226....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='249....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='245....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='250....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='251....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='252....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='259....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='254....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='228....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='227....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='214....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='218....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='217"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='231....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='230....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='52"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='340....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='18.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='357....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='344....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='338....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='28.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='21.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='10.4...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='343....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='342....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='358....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='353....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='353....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='1.4"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='6.4"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='10.5...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='350....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='350....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='357....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='181....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='194....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='195"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='199....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='200....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='200....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='203....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='164....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='134....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='176"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='206....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='216....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='211....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='210....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='211....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='171....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='129....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='163....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='183....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='189....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='197....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='168....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='184"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='169....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='190....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='160"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='192....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='200....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='116....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='162....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='130....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='122"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='183....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='142....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='145....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='182....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='173....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='169....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='164....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='158"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='169....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='185....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='176....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='167....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='167"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='166....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='146....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='155....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='157....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='189....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='139....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='172"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='189....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='187....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='193....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='198....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='180....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='180"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='165....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='160....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='147....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='178....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='172"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='156....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='154....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='157"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='166"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='172....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='196....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='179....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='195....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='202....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='209....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='204....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='199....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='175....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='170....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='159....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='156....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='137....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='146"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='139....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='143....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='137....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='177....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='186....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='184....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='191....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='146....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='161....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='188....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1069...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='50.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='49.9...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='50"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='8612...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='25.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='24.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='23.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='26.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='28.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='34.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='40.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='40.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='38.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='35.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='34.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0.04...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0.04...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='36.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='8.35...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='5.95...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='7.13...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='8.64...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='6.42...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='10.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='14.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='3.54...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='3.8"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='6.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='5.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='7.52...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='11.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='0.95...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='5.77...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='22.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='1.26...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='3.13...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='6.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='7.27...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='9.37...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='7.71...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='8.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='9.84...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='5.25...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='2.64...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='7.17...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='19.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='4.70...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='5.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='5.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='4.40...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='5.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='10.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='5.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='10.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='4.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='5.22...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='6.62...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='2.57...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='3.76...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='2.92...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='4.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='2.44...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='10.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='15.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='11.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='7.26...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='3.27...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='12.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='8.86...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='8.42...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='7.50...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='7.80...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='10.9...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='5.74...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='2.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='7.75...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='16.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='13.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='14.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='14.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='15.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='20.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='16.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='17.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='11.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='8.73...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='4.86...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='4.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='6.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='14.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='9.98...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='11.9...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='15.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='22.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='24.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='23.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='24.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='24.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='25.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='23.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='19.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='19.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='16.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='16.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='14.2...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='14.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='9.55...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='9.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='8.33...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='9.77...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='19.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='19.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='21.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='22.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='20.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='22.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='16.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='13.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='8.71...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='8.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='8.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='8.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='19.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='20.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='26.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='21.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='22.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.27...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.05...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.44...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.33...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.04...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.08...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.05...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.25...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.19...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.03...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.04...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.17...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.60...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.72...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.47...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.47...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.49...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.49...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.57...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.62...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='35.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='33.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='35.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='32.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='29.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='30.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='28.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='28.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='25.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='25.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='30.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='32.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='38.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='64.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='63.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='60.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='57.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='59.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='56.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='60.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='56.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='37.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='40.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='38.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='32.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='26.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='21.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='20.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='19.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='20.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='25.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='29.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='31.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='32.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='32.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='29.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='29.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='29.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='29.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='29.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='18.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='23.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='25.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='13.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='22.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='20.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='14.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='18.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='14.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='11.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='6.40...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='13.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='16.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='17.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='16.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='4.33...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='4.33...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='20.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='22.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='34.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='33.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='32.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='33.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='34.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='36.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='36.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='36.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='37.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='37.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='37.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='32.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='31.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='31.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='15.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='16.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='32.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='37.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='36.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='37.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='37.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='35.9...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='34.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='31.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='27.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='27.7...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='27.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='9.65...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='8.98...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='8.87...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='11.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='11.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='13.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='12.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='13.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='12.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='12.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='12.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='11.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='11.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='20.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='17.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='17.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='19.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='14.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='10.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='12.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='24.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='27.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='31.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='28.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='26.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='27.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='31.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='33.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='31.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='27.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='26.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='22.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='21.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='20.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='20.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='17.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='14.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='14.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='13.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='18.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='22.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='29.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='30.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='31.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='30.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='30.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='29.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='29.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='30.4...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='31.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='28.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='26.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='24.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='17.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='16.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='18.4...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='9.83...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='9.73...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='12.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='17.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='17.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='23.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='22.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='22.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='27.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='29.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='27.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='25.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='25.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='21.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='19.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='15.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='13.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='15.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='18.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='22.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='26.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='34.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='35.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='36.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='34.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='32.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='33.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='31.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='36.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='30.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='28.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='28.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='27.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='26.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='21.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='17.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='17.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='17.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='16.1...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='17.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='20.9...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='25.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='31.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='33.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='82.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='46.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='31.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='30.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='28.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='30.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='31.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='28.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='27.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='24.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='22.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='17.5...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='17.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='20.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='18.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='18.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='18.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='18.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='23.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='23.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='26.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='24.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='23.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='24"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='22.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='26.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='24.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='23.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='15.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='8608...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='8604...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='19.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='19.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='18.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='22.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='24.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='29.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='35.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='35.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='33.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='30.7...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='29.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0.07...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='30.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='10.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='3.83...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='3.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='4.19...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='2.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='4.91...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='7.89...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='2.93...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='1.48...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='2.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='1.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='5.98...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='10.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='3.65...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='7.25...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='19.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='21.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='18.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='3.45...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='4.91...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='7.33...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='7.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='9.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='8.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='7.68...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='8.66...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='7.73...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='5.14...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='5.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='4.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='3.97...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='2.24...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='2.51...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='4.78...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='5.86...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='9.66...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='5.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='5.35...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='7.74...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='3.65...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='4.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='3.28...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='5.65...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='2.24...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='12.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='11.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='15.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='12.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='8.53...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='1.47...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='7.44...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='4.26...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='3.80...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='3.75...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='5.53...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='9.52...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='1.98...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='4.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='9.62...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='19.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='14.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='12.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='13.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='13.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='13.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='15.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='15.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='11.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='9.89...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='7.99...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='13.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='6.33...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='5.63...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='7.36...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='14.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='9.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='12.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='14.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='20.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='22.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='22.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='24.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='23.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='23.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='22.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='18.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='16.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='15.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='12.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='12.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='8.94...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='8.83...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='8.79...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='10.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='15.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='22.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='23.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='20.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='18.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='20.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='19.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='21.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='21.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='19.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='20.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='17.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='16.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='13.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='12.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='8.96...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='8.31...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='8.35...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='8.49...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='10.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='13.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='15.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='18.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='22.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='23.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='20.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='19.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='20.8...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0.02...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0.02...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0.00...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0.01...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0.01...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.26...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.12...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.16...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.22...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.24...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.23...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.41...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.15...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.14...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.30...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.20...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.09...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.03...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.08...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.25...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.22...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.19...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.04...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.15...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.12...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.28...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.16...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.15...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.24...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.21...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.09...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.29...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.06...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.06...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.04...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.05...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.07...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.03...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.02...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.07...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.17...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.22...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.57...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.63...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.67...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.45...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.46...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.47...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.48...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.56...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.59...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='34.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='33.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='34.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='31.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='26.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='26.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='28.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='24.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='28.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='35.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='61.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='61.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='58.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='54.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='56.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='53.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='57.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='53.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='36.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='36.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='35.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='29.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='25.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='19.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='19.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='18.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='18.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='25.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='27.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='29.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='27.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='30.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='29.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='28.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='28.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='28.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='11.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='14.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='19.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='20.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='11.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='12.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='16.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='15.1...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='9.95...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='12.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='12.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='9.68...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='6.80...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='4.55...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='10.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='14.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='14.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='13.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='15.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='13.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='12.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='3.99...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='2.18...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='16.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='15.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='29.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='27.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='25.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='24.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='25.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='28.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='28.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='28.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='30.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='30.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='24.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='23.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='23.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='15.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='16.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='16.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='16.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='27.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='31.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='31.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='32.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='31.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='30.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='29.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='27.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='23.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='23.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='23.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='8.57...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='7.91...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='7.85...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='9.84...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='11.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='11.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='12.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='11.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='11.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='10.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='10.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='10.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='13.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='19.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='16.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='15.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='14.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='15.7...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='16.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='13.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='11.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='11.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='9.24...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='8.96...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='9.42...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='11.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='18.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='15.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='23.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='26.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='29.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='25.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='25.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='26.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='30.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='30.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='28.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='24.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='19.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='18.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='15.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='13.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='13.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='12.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='13.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='17.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='25.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='28.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='27.6...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='28.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='27.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='27.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='28.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='27.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='26.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='24.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='24.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='17.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='16.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='14.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='10.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='10.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='13.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='17.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='15.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='17.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='21.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='24.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='26.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='27.0...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='22.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='20.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='25.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='25.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='27.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='25.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='24.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='23.8...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='20.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='18.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='14.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='14.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='14.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='13.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='13.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='15.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='17.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='20.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='24.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='32.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='34.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='34.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='31.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='29.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='30.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='29.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='34.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='28.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='25.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='26.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='24.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='24.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='20.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='18.2...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='15.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='15.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='15.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='15.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='16.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='19.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='20.0...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='23.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='29.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='31.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='75.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='41.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='21.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='29.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='28.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='27.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='28.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='29.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='26.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='25.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='23.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='21.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='20.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='16.3...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='15.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='17.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='16.8...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='16.6...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='17.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='18.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='18.4...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='22.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='22.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='25.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='22.9...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='23.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='21.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='23.5...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='23.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='22.7...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='22.3...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='23.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='18.2...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='14.1...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='9812...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='109....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='124....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='127....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='118....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='116....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='114....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='127....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='128....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='127....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='127....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='127....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='121....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='115....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='119....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='9808...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='9804...', 4, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='109....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='127....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='112....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='121....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='113....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.11...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.11...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.10...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='128....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='126....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='116....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='125....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='123....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='122....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='126....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='121....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='118....', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='120....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='123....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='125....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='115....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='119....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='117....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='114....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='124....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='124....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='116....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='118....', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='123....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='117....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='119....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='121....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='118....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='120....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='122....', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4406...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-127...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-148...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-156...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-164...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-144...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-127...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-104...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-169...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-176...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-166...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-206...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-199...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-192...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-201...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-184...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-631...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='1564...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='-66"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='-393...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='-691...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='-883...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='-157...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='-220...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='109"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='-420...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='-859...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='-628...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='516"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='1839...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='293"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='1185...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='3946...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='4230...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='3689...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='248"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='430"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='1026...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-526...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-258...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-65"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-489...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-842...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='1082...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='310"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-111...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='3632...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='513"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='214"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='-292...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='-127...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='495"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='1815...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='818"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='1539...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='680"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='712"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='1280...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='397"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='493"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='250"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='785"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-201...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='2156...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='2937...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='2107...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='2824...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='2269...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='1441...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='-297...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='-228...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='-118...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='-964...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='-442...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='261"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1309...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-849...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='178"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='1111...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='2750...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='2769...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='2973...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='1327...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='454"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='199"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='167"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='556"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='416"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-370...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-115...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='93"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-843...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='171"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-646...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-723...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='2665...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='837"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='698"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='1097...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='2649...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-495...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='1165...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='542"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='1871...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='979"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='1210...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-356...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='1654...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='1368...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='1462...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='1612...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='1309...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='1886...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='1136...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='1169...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='1403...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='1316...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-104...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-119...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-160...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-199...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-252...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='585"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='1069...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='1973...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='1831...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='1127...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='1767...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='1343...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='1564...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='849"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='805"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='1093...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='880"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='1254...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='2664...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='1368...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='1009...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='208"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='22"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='1142...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='286"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-116...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='712"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='227"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='236"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='372"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='1441...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='2015...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='1211...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='1284...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='369"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-310...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-802...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='781"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='491"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='1023...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='516"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='2"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='2"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='2274...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='1775...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='1153...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='769"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-846...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-236...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-296...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-251...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-244...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-286...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-227...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-125...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-716...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-148...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-200...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-105...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-978...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-126...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-317...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-266...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-254...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-237...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='1219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-106...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-151...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-128...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-190...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-162...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-778...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-173...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-174...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-187...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-120...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-211...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='1619...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-764...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-827...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='40"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-199...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-967...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-680...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-385...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-241...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='371"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='471"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='61"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-244...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-344...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-386...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-165...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-227...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-413...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-373...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-265...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-328...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-337...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-270...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-797...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-204...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-279...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-193...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-209...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-221...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-267...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-253...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='453"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='-157...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='1143...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='-146...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='-100...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='-140...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='2949...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='2229...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='1022...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='-162...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='-183...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='-211...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='-767...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='-792...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='173"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='776"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='1249...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='-957...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='-911...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='-243...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-65"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-308...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-811...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-806...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-952...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-716...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-191...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-180...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-222...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-227...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-231...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-228...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-186...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-220...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-296...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-449...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-142...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-422...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-365...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-581...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-263...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-325...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-142...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-355...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-310...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='496"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='660"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='1246...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='2889...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='1532...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-143...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-518...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='225"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-166...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-172...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-148...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-151...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-476...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-193...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='128"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='376"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='2872...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='408"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='1923...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='1830...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='1798...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='334"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='1260...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='1815...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='2272...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='262"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-387...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-613...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-251...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-885...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='551"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='48"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-982...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-381...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-441...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='71"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='1020...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='760"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-319...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-114...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='302"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-319...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-582...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='408"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='1031...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1139...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='2082...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-120...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='622"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='456"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-736...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-818...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='1684...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='307"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-801...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-125...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='3308...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='506"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='639"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='1963...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='2867...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-831...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-270...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='2010...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='3408...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='3190...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-187...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-225...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='531"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-823...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='62"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='1079...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='1547...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='900"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='112"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='1780...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='1407...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='298"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='565"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-311...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-657...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='168"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='647"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='1427...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='829"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='-5"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='1197...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='3751...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='2991...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='2801...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-118...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-828...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-799...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='57"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='4601...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='1911...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='799"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-972...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-708...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-790...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-490...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-131...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-825...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-101...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-117...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-35"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='1352...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='1059...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='1290...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='2079...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='3618...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-468...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-247...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-556...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='189"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='260"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='816"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='2489...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='2732...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='2234...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='57"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='1219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='632"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-136...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='38"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-980...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-150...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-211...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-131...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-432...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='309"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='685"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='1692...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='1899...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='3622...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='2709...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='3037...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='2898...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='3251...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='186"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-636...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-421...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-729...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-978...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='2670...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='1255...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-496...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4246...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-431...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-410...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-409...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-398...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-393...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-443...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-532...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-629...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-733...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-754...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-724...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-686...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-645...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-646...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-354...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='-986...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='697"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='776"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='925"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='125"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='456"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='903"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='278"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='27"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='43"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='173"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='947"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='728"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='-452...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='-117...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='23"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='182"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='-152...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='-423...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='-705...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='-790...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-157...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-202...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-172...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-190...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='-741...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='-812...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-891...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='652"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='411"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='516"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='398"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='382"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='470"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='591"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='267"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='770"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='164"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='438"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='-43"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='72"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='249"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='201"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='115"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-425...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='-229...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='-284...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='-247...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='-135...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='-54"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='96"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='16"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='598"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='721"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='818"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='1067...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1245...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-117...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='-721...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='-150...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='-208...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='-255...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='-234...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='-292...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='-271...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='-285...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='-292...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='-280...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='-303...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-401...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-391...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='-341...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-344...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='-256...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-176...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='-465...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='-702...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='-647...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='-676...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='-509...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='-235...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='-317...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='-403...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='-433...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='-465...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-466...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='-457...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='-492...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='-486...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='-389...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='-378...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='-298...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='-309...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-333...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-268...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-252...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='-178...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='-269...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='-393...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='-440...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='-436...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='-469...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='-392...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='-410...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='-418...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='-413...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='-449...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='-388...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='-329...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='-286...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-266...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='-177...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='-181...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='-182...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='-180...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='-159...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='-205...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='-296...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='-483...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-429...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-525...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='-440...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='-432...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='-442...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='-395...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='-686...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='-679...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='-725...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='-673...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-603...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-589...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-606...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-548...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-544...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-533...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-498...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-519...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-683...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-785...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-135...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-133...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-127...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-118...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-123...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-117...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-126...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-118...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='-747...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-812...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-769...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-653...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-617...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-566...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-448...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-426...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-411...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-410...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-451...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='-513...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-603...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-639...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='-589...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-669...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-660...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-615...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-612...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-622...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='-604...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='-600...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='-229...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-254...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-308...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-326...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-226...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-153...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-167...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-960...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-106...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-505...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-536...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-991...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-181...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-257...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-284...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-260...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-292...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-211...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='354"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='438"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='3408...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='3269...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='3655...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='3521...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='5431...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='5560...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='5660...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='5623...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='5896...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='6656...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='6647...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='6733...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='6914...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='6873...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='6691...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='5814...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='5617...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='5608...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-323...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-365...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-344...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-360...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-373...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-599...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-671...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-658...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-676...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-680...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-652...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-617...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-567...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-491...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-491...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-480...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-181...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-183...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-225...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-232...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-268...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-267...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-277...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-268...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-265...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-255...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='-235...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='-231...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='-258...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='-281...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='-318...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-357...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-354...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='-314...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-334...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-313...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-280...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-250...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-249...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='-249...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='-236...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='-351...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='-456...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='-534...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='-605...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='-579...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='-534...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='-597...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='-609...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-677...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-637...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-547...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-538...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='-431...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-405...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-386...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-348...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-311...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-301...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='-294...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='-281...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='-364...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-449...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-579...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='-619...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-617...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-610...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='-621...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='-589...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='-598...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='-563...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-621...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='-578...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='-572...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-553...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-540...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='-387...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-329...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='-168...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='-205...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='-167...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-348...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-391...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='-457...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='-478...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='-469...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-483...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-465...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='-553...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='-586...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='-522...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='-516...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='-525...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='-438...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='-421...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='-401...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='-322...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-331...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-318...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='-297...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='-294...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='-293...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='-357...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='-454...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='-511...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='-573...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='-651...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='-677...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-675...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-636...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-654...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='-627...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='-540...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='-579...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='-564...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-574...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-544...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-544...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-455...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-401...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-348...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-355...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-340...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='-360...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='-402...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='-418...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='-499...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='-581...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='-559...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-152...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-869...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-457...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='-610...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='-575...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='-576...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='-564...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='-524...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='-556...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='-487...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='-461...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-461...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-346...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-356...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-367...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-386...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='-396...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='-388...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='-438...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='-427...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='-396...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='-400...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='-356...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='-387...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='-356...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='-469...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-519...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-521...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-503...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-496...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='-404...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='-370...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-321...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4382...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-110...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-128...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-135...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-142...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-124...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-110...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-909...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-147...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-152...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-143...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-178...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-168...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-174...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-159...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-500...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='1379...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='-45"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='-346...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='-580...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='-752...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='-136...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='-190...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='101"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='-366...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='-740...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='-550...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='432"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='1595...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='275"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='1019...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='3444...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='3629...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='3203...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='215"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='380"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='890"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-446...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-200...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-44"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-424...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-718...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='946"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='276"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-944...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='3129...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='453"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='194"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='-246...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='-122...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='430"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='1582...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='720"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='1333...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='588"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='642"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='1096...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='313"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='374"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='204"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='692"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-196...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='1888...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='2502...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='1840...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='2437...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='1930...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='1219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='-250...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='-197...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='-102...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='-107...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='-388...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='229"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1131...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-726...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='166"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='965"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='2341...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='2354...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='2565...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='1136...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='367"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='173"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='156"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='460"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='358"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-308...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-100...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='93"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-723...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='147"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-551...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-626...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='2316...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='714"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='600"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='953"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='2267...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-403...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='999"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='475"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='1663...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='829"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='1055...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-314...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='1431...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='1201...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='1280...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='1431...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='1145...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='1635...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='957"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='1019...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='1219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='1143...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-893...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-101...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-138...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-182...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-220...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='502"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='940"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='1719...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='1592...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='960"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='1537...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='1177...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='1337...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='737"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='723"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='917"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='794"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='1075...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='2328...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='1192...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='867"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='184"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='12"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='978"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='256"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-100...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='614"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='205"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='195"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='316"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='1241...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='1748...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='1046...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='1099...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='309"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-202...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-722...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='680"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='440"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='870"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='475"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='2"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='1"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='1959...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='1506...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='1027...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='677"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-759...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-204...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-255...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-217...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-212...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-248...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-107...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-524...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-136...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-893...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-845...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-114...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-271...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-229...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-220...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-203...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-997...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='1048...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-955...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-133...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-162...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-141...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-671...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-150...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-151...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-103...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-192...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='1397...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-627...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-711...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='20"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-130...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-843...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-642...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-320...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-210...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='295"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='417"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='37"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-210...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-298...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-332...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-143...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-357...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-323...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-228...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-284...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-294...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-234...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-171...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-668...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-176...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-241...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-172...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-183...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-188...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-234...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-217...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='374"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='-132...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='993"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='-150...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='-843...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='-119...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='2577...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='1582...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='909"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='-140...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='-159...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='-186...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='-658...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='-679...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='89"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='680"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='1095...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='-832...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='-785...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='-228...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-40"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-280...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-697...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-697...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-811...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-629...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-140...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-166...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-157...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-192...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-197...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-201...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-200...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-161...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-185...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-190...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-251...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-386...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-121...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-365...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-313...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-506...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-232...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-288...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-121...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-310...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-245...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='439"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='609"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='1078...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='2491...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='1327...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-115...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-442...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='203"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-143...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-201...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-149...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-128...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-130...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-409...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-162...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='90"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='319"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='2483...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='357"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='1681...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='1572...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='1575...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='302"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='1076...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='1555...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='1971...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='239"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-351...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-527...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-215...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-782...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='452"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='60"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-848...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-138...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-989...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-325...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-382...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='60"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='884"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='659"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-264...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-990...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='289"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-292...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-542...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='366"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='909"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='992"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='1808...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-104...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='543"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='377"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-619...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-712...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='1459...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='257"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-696...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-108...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='2873...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='421"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='557"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='1696...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='2480...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-707...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-237...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='1730...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='2990...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='2746...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-174...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-194...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='485"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-729...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='70"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='907"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='1297...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='776"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='123"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='1557...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='1208...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='253"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='508"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-274...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-571...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='146"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='567"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='1222...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='733"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='8"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='1041...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='3222...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='2576...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='2422...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-103...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-746...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-661...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='45"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='3983...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='1694...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='709"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-844...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-605...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-661...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-436...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-115...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-716...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-877...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-102...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='1185...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='884"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='1103...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='1789...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='3132...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-403...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-211...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-498...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='174"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='210"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='710"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='2127...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='2386...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='1916...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='53"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='1070...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='564"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-118...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='34"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-847...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-131...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-184...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-140...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-372...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='269"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='572"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='1413...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='1586...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='3161...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='2347...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='2627...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='2502...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='2818...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='158"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-545...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-370...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-624...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-847...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='2315...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='1099...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-417...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4222...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-409...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-408...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-396...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-396...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-441...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-535...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-729...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-751...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-735...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-689...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-646...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='-6"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-9"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='-8"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='-7"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-632...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-351...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='-963...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='644"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='700"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='942"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='99"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='464"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='912"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='289"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='32"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='46"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='200"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='921"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='744"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='-561...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='-68"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='31"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='142"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='-123...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='-451...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='-729...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='-712...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-158...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-189...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='-827...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='-882...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-899...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='644"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='417"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='524"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='400"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='372"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='484"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='591"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='336"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='741"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='114"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='507"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='-51"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='136"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='334"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='235"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='116"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-417...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='-232...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='-184...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='-219...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='-134...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='-51"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='143"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='11"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='600"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='644"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='836"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='1068...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1213...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-135...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='-755...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='-149...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='-201...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='-256...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='-289...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='-278...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='-291...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='-291...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='-283...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='-301...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-409...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-397...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='-337...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-342...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='-255...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-218...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-175...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='-477...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='-709...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='-653...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='-653...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='-468...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-211...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='-223...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='-319...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='-408...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='-455...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-462...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='-485...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='-461...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='-481...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='-424...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='-391...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='-380...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='-302...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='-303...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-329...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-268...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-253...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-208...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-198...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='-207...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='-272...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='-401...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='-432...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='-433...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='-472...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='-433...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='-390...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='-411...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='-432...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='-435...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='-416...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='-389...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='-328...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='-286...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-266...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='-179...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='-182...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='-178...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='-158...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='-208...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='-288...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='-355...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='-483...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-432...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='-427...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='-435...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='-390...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='-1"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='-2"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='-4"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='-3"/...', 2) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='-684...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='-684...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='-727...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='-671...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-604...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-587...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-606...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-548...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-543...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-534...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-498...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-519...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-632...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-692...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-788...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-134...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-133...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-128...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-119...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-124...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-116...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-125...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-119...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='-756...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-810...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-767...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-656...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-616...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-566...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-447...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-430...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-425...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-412...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-412...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-449...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='-513...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-596...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-635...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='-596...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-661...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-661...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-619...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-623...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='-607...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='-607...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='-239...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-260...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-305...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-333...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-223...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-154...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-167...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-969...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-112...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-107...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-481...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-537...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-995...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-181...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-263...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-292...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-259...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-289...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-217...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-209...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='311"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='399"...', 3) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='3486...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='3357...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='3670...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='3580...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='5398...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='5478...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='5618...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='5659...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='5923...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='6651...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='6654...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='6713...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='6885...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='6893...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='6705...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='5853...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='5545...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='5589...', 4) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-321...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-347...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-363...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-372...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-603...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-675...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-664...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-677...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-679...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-659...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-613...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-565...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-491...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-490...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-480...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-197...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-182...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-182...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-227...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-264...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-264...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-274...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-272...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-258...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-254...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='-237...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='-233...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='-256...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='-278...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='-319...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-358...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-359...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='-312...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-333...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-314...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-280...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-248...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-249...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-217...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-213...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='-215...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='-250...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='-239...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='-346...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='-451...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='-535...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='-591...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='-577...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='-528...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='-538...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='-597...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='-610...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-674...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-631...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-553...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-545...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='-463...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-404...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-385...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-351...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-313...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-301...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='-290...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='-282...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='-368...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-450...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-584...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='-619...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-616...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-614...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='-622...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='-593...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='-592...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='-555...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-624...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='-575...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='-577...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-546...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='-454...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='-387...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-329...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='-168...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='-208...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='-204...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='-167...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='-178...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-349...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-408...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='-445...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='-481...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='-440...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='-462...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-482...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-464...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='-443...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-539...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='-555...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='-588...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='-520...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='-520...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='-525...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='-434...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='-419...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='-399...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='-319...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-332...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-319...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='-296...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='-295...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='-291...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='-456...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='-501...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='-579...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='-660...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='-678...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-673...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-643...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-641...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='-626...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='-537...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='-570...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='-566...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-581...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-549...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-536...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-453...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-400...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-348...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-359...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-357...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-342...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='-361...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='-406...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='-420...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='-497...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='-584...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='-566...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-151...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-862...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-460...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='-632...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='-612...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='-581...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='-580...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='-562...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='-531...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='-554...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='-491...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='-458...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-467...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='-369...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-349...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-358...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-368...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-360...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-368...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-385...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='-392...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='-395...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='-446...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='-425...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='-391...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='-389...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='-353...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='-379...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='-362...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='-454...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-517...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-503...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-502...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-502...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='-399...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='-355...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-320...', 5) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6746...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='2212...', 155) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6738...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0:0:...', 147) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6734...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='7289...', 176) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6730...', 6, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0:0:...', 87) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::1...', 258) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::5...', 185) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='6::1...', 186) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='6::1...', 201) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='629:...', 257) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='2289...', 258) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='1954...', 292) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='2.48...', 279) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.00...', 304) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='5016...', 313) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1243...', 68) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='8197...', 288) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='8270...', 280) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='6511...', 268) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='3280...', 278) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='8226...', 56) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 162) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='273:...', 298) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='16::...', 298) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='14::...', 323) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0::0...', 306) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.03...', 294) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0::0...', 223) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0::0...', 28) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1413...', 268) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='303:...', 270) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='5304...', 297) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1514...', 280) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1776...', 61) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::4...', 265) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::8...', 208) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='8::1...', 206) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='8::1...', 222) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='2::4...', 228) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='0::0...', 292) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='4757...', 350) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='3.74...', 307) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0::0...', 234) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='1113...', 339) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='3972...', 63) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1295...', 285) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='3876...', 321) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='6481...', 322) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='7162...', 331) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='5709...', 61) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 157) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='1070...', 279) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='1231...', 208) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0::0...', 237) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.03...', 296) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0::0...', 146) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0::0...', 28) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='9208...', 271) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='0::0...', 25) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1314...', 7, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='2703...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1313...', 7, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='3066...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1313...', 7, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='1576...', 7) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1313...', 7, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='1270...', 6) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::1...', 324) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='2226...', 336) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='2243...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='2261...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='2937...', 336) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='3974...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='4804...', 369) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='5025...', 523) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='5025...', 490) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='5944...', 361) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1369...', 78) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1748...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='2118...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='2325...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='2434...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='2668...', 70) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 165) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='2745...', 327) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='5015...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='9659...', 415) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1317...', 573) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1317...', 539) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='1382...', 386) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1443...', 78) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1627...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='1747...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='2013...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='2534...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='3009...', 70) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::4...', 328) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='7309...', 336) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='7346...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='7382...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='8444...', 336) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='9988...', 377) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='2254...', 421) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1520...', 573) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1520...', 540) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='4071...', 386) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='7095...', 78) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='7709...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='8856...', 400) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1085...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1306...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1537...', 79) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 160) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='4546...', 306) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='1353...', 334) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='1715...', 374) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1715...', 526) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1715...', 486) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='1715...', 338) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1715...', 68) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='2636...', 367) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='1270...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1270...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1270...', 382) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1270...', 70) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3460...', 5, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='6094...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='6116...', 432) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='6117...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='6117...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='6123...', 432) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='6134...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='6142...', 449) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1448...', 572) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1448...', 543) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='6154...', 434) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='6231...', 88) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='6269...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='6306...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='6327...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='6338...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='6361...', 79) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3380...', 5, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='8817...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='8817...', 480) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='8817...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='8817...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='8818...', 480) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='8822...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='8827...', 495) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1111...', 570) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1112...', 552) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='8831...', 482) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='8832...', 98) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='8834...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='8835...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='8838...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='8843...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='8848...', 88) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3340...', 5, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='9437...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='9510...', 432) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='9511...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='9511...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='9522...', 432) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='9537...', 430) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='9663...', 449) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='8980...', 518) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='8983...', 507) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='9844...', 466) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1014...', 98) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1020...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='1032...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1052...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1074...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1097...', 88) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3300...', 5, h='3dc1...', 8) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='3861...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='3861...', 480) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='3861...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='3861...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='3861...', 480) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='3862...', 478) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='3862...', 498) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='2297...', 574) +SAX.endElementNs(val, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(par, NULL, NULL) +SAX.characters( + , 4) +SAX.endElementNs(device, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(select, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(data, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(electroxml, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/att5 b/result/noent/att5 new file mode 100644 index 0000000..8768e36 --- /dev/null +++ b/result/noent/att5 @@ -0,0 +1,40 @@ + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/result/noent/att5.sax2 b/result/noent/att5.sax2 new file mode 100644 index 0000000..22da39d --- /dev/null +++ b/result/noent/att5.sax2 @@ -0,0 +1,149 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.attributeDecl(normId, attr, 8, 3, NULL, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.comment( no normalization ) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' '...', 3) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' f...', 13) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' fo...', 8) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' foo...', 9) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr='foob...', 8) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' & ...', 3) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' f...', 13) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' fo...', 9) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr='&foo...', 9) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr='foob...', 9) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' < ...', 3) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' f...', 13) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' fo...', 9) +SAX.endElementNs(norm, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' +...', 0) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo ...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 6) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo ...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 6) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='&...', 1) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo&...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='&foo...', 8) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 8) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='<...', 1) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo<...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 7) +SAX.endElementNs(normId, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr=' + + + pvalue->ReferencedOrder.SellersOrderID + + diff --git a/result/noent/att6.sax2 b/result/noent/att6.sax2 new file mode 100644 index 0000000..54dd6d3 --- /dev/null +++ b/result/noent/att6.sax2 @@ -0,0 +1,20 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(Invoice, NULL, 'urn:oasis:names:tc:ubl:Invoice:1.0:0.70', 4, xmlns:ccts='urn:oasis:names:tc:ubl:CoreComponentParameters:1.0:0.70', xmlns:cct='urn:oasis:names:tc:ubl:CoreComponentTypes:1.0:0.70', xmlns:cat='urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70', xmlns='urn:oasis:names:tc:ubl:Invoice:1.0:0.70', 0, 0) +SAX.characters( + , 4) +SAX.startElementNs(ReferencedOrder, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(SellersOrderID, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70', 0, 11, 0, schemeID='pval...', 47, schemeAgencyID='pval...', 53, schemeVersionID='pval...', 54, schemeAgencySchemeID='pval...', 59, schemeAgencySchemeAgencyID='pval...', 65, schemeDataURI='pval...', 52, schemeURI='pval...', 48, UID='pval...', 42, UIDRef='pval...', 45, UIDRefs='pval...', 47, language='pval...', 47) +SAX.characters(pvalue-, 7) +SAX.characters(>, 1) +SAX.characters(ReferencedOrder.SellersOrderID, 30) +SAX.endElementNs(SellersOrderID, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70') +SAX.characters( + , 4) +SAX.endElementNs(ReferencedOrder, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70') +SAX.characters( +, 1) +SAX.endElementNs(Invoice, NULL, 'urn:oasis:names:tc:ubl:Invoice:1.0:0.70') +SAX.endDocument() diff --git a/result/noent/att7 b/result/noent/att7 new file mode 100644 index 0000000..a58a04d --- /dev/null +++ b/result/noent/att7 @@ -0,0 +1,11 @@ + + + + +"> +]> + + + + diff --git a/result/noent/att7.sax2 b/result/noent/att7.sax2 new file mode 100644 index 0000000..4a5f318 --- /dev/null +++ b/result/noent/att7.sax2 @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(x, , ) +SAX.elementDecl(x, 4, ...) +SAX.elementDecl(test, 1, ...) +SAX.attributeDecl(test, att, 1, 1, attvalue, ...) +SAX.entityDecl(test.ent, 1, (null), (null), ) +SAX.getEntity(test.ent) +SAX.externalSubset(x, , ) +SAX.startElementNs(x, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(test, NULL, NULL, 0, 1, 1, att='attv...', 8) +SAX.endElementNs(test, NULL, NULL) +SAX.characters( + , 5) +SAX.getEntity(test.ent) +SAX.startElementNs(test, NULL, NULL, 0, 1, 1, att='attv...', 8) +SAX.endElementNs(test, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(x, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/att8 b/result/noent/att8 new file mode 100644 index 0000000..1d807a2 --- /dev/null +++ b/result/noent/att8 @@ -0,0 +1,2 @@ + +/bsk:DocPart[@docId='20040308152601345236' and @docPartNo=1]XQL Request processing XQL Request processed diff --git a/result/noent/att8.sax2 b/result/noent/att8.sax2 new file mode 100644 index 0000000..1f2344a --- /dev/null +++ b/result/noent/att8.sax2 @@ -0,0 +1,29 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(response, ino, 'http://namespaces.softwareag.com/tamino/response2', 2, xmlns:ino='http://namespaces.softwareag.com/tamino/response2', xmlns:xql='http://metalab.unc.edu/xql/', 2, 0, ino:sessionid='556"...', 3, ino:sessionkey='1590...', 10) +SAX.startElementNs(query, xql, 'http://metalab.unc.edu/xql/', 0, 0, 0) +SAX.characters(/bsk:DocPart[@docId=, 20) +SAX.characters(', 1) +SAX.characters(20040308152601345236, 20) +SAX.characters(', 1) +SAX.characters( and @docPartNo=1], 18) +SAX.endElementNs(query, xql, 'http://metalab.unc.edu/xql/') +SAX.startElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 1, 0, ino:returnvalue='0"><...', 1) +SAX.startElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 0, 0) +SAX.characters(XQL Request processing, 22) +SAX.endElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.endElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.startElementNs(result, xql, 'http://metalab.unc.edu/xql/', 0, 0, 0) +SAX.startElementNs(DocPart, bsk, 'http://www.heitec.net/sara4/tamino/basket', 1, xmlns:bsk='http://www.heitec.net/sara4/tamino/basket', 3, 0, docId='2004...', 20, docPartNo='1" i...', 1, ino:id='1529...', 5) +SAX.startElementNs(File, bsk, 'http://www.heitec.net/sara4/tamino/basket', 0, 2, 0, name='4898...', 13, size='7519...', 5) +SAX.characters( , 1) +SAX.endElementNs(File, bsk, 'http://www.heitec.net/sara4/tamino/basket') +SAX.endElementNs(DocPart, bsk, 'http://www.heitec.net/sara4/tamino/basket') +SAX.endElementNs(result, xql, 'http://metalab.unc.edu/xql/') +SAX.startElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 1, 0, ino:returnvalue='0"><...', 1) +SAX.startElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 0, 0) +SAX.characters(XQL Request processed, 21) +SAX.endElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.endElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.endElementNs(response, ino, 'http://namespaces.softwareag.com/tamino/response2') +SAX.endDocument() diff --git a/result/noent/att9 b/result/noent/att9 new file mode 100644 index 0000000..e4982a2 --- /dev/null +++ b/result/noent/att9 @@ -0,0 +1,6 @@ + + + +]> + diff --git a/result/noent/att9.sax2 b/result/noent/att9.sax2 new file mode 100644 index 0000000..09b3a04 --- /dev/null +++ b/result/noent/att9.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.attributeDecl(doc, a1, 8, 1, 1 2, ...) +SAX.elementDecl(doc, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 1, 1, a1='1 2...', 3) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/attrib.xml b/result/noent/attrib.xml new file mode 100644 index 0000000..89a1e57 --- /dev/null +++ b/result/noent/attrib.xml @@ -0,0 +1,2 @@ + + diff --git a/result/noent/attrib.xml.sax2 b/result/noent/attrib.xml.sax2 new file mode 100644 index 0000000..c7d2c87 --- /dev/null +++ b/result/noent/attrib.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(item, NULL, NULL, 0, 5, 0, title='Icro...', 173, url='http...', 24, first_time='9850...', 9, last_time='9850...', 9, visits='1"/>...', 1) +SAX.endElementNs(item, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/badcomment.xml b/result/noent/badcomment.xml new file mode 100644 index 0000000..6b13c11 --- /dev/null +++ b/result/noent/badcomment.xml @@ -0,0 +1,17 @@ + + +Char* ']]>' Char*)) +']]>' +CDATA sections +| '<!DOCTYPE' +(Char - ('[' | ']'))+ +('[' +simpleDTD* +']')? '>' +doc type declaration +simpleDTD +'<!&como;' +(Char* - +(Char* '&comc;' Char*)) +'&comc;>'--> + diff --git a/result/noent/badcomment.xml.sax2 b/result/noent/badcomment.xml.sax2 new file mode 100644 index 0000000..08e5622 --- /dev/null +++ b/result/noent/badcomment.xml.sax2 @@ -0,0 +1,24 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(foo, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.comment( def='NT-Char') +SAX.comment(>Char* ']]>' Char*)) +']]>' +CDATA sections +| '<!DOCTYPE' +(Char - ('[' | ']'))+ +('[' +simpleDTD* +']')? '>' +doc type declaration +simpleDTD +'<!&como;' +(Char* - +(Char* '&comc;' Char*)) +'&comc;>') +SAX.characters( +, 1) +SAX.endElementNs(foo, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/bigentname.xml b/result/noent/bigentname.xml new file mode 100644 index 0000000..7e7d9d0 --- /dev/null +++ b/result/noent/bigentname.xml @@ -0,0 +1,6 @@ + + + +]> +He said "Yes" diff --git a/result/noent/bigentname.xml.sax2 b/result/noent/bigentname.xml.sax2 new file mode 100644 index 0000000..1067843 --- /dev/null +++ b/result/noent/bigentname.xml.sax2 @@ -0,0 +1,15 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name, 1, (null), (null), "Yes") +SAX.getEntity(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name) +SAX.entityDecl(WhatHeSaid, 1, (null), (null), He said &very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name;) +SAX.getEntity(WhatHeSaid) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.getEntity(WhatHeSaid) +SAX.characters(He said , 8) +SAX.getEntity(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name) +SAX.characters("Yes", 5) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/bigname.xml b/result/noent/bigname.xml new file mode 100644 index 0000000..885fd7c --- /dev/null +++ b/result/noent/bigname.xml @@ -0,0 +1,2 @@ + + diff --git a/result/noent/bigname.xml.sax2 b/result/noent/bigname.xml.sax2 new file mode 100644 index 0000000..ef939f9 --- /dev/null +++ b/result/noent/bigname.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(this_is_a_very_large_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, NULL, NULL, 0, 0, 0) +SAX.endElementNs(this_is_a_very_large_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/bigname2.xml b/result/noent/bigname2.xml new file mode 100644 index 0000000..a48c359 --- /dev/null +++ b/result/noent/bigname2.xml @@ -0,0 +1,2 @@ + + diff --git a/result/noent/bigname2.xml.sax2 b/result/noent/bigname2.xml.sax2 new file mode 100644 index 0000000..6b406f4 --- /dev/null +++ b/result/noent/bigname2.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(start_nc_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix, 'http://www.example.com/testns/', 1, xmlns:this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix='http://www.example.com/testns/', 0, 0) +SAX.endElementNs(start_nc_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix, 'http://www.example.com/testns/') +SAX.endDocument() diff --git a/result/noent/cdata b/result/noent/cdata new file mode 100644 index 0000000..180ea46 --- /dev/null +++ b/result/noent/cdata @@ -0,0 +1,4 @@ + + +Hello, world!
    ]]> +
    diff --git a/result/noent/cdata-2-byte-UTF-8.xml b/result/noent/cdata-2-byte-UTF-8.xml new file mode 100644 index 0000000..8552efc --- /dev/null +++ b/result/noent/cdata-2-byte-UTF-8.xml @@ -0,0 +1,6 @@ + + + +

    +

    +
    diff --git a/result/noent/cdata-2-byte-UTF-8.xml.sax2 b/result/noent/cdata-2-byte-UTF-8.xml.sax2 new file mode 100644 index 0000000..2da2d50 --- /dev/null +++ b/result/noent/cdata-2-byte-UTF-8.xml.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This tests that two-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata(ČČČČČČČČČČ, 1200) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( ČČČČČČČČČ, 1201) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/cdata-3-byte-UTF-8.xml b/result/noent/cdata-3-byte-UTF-8.xml new file mode 100644 index 0000000..b959a12 --- /dev/null +++ b/result/noent/cdata-3-byte-UTF-8.xml @@ -0,0 +1,7 @@ + + + +

    +

    +

    +
    diff --git a/result/noent/cdata-3-byte-UTF-8.xml.sax2 b/result/noent/cdata-3-byte-UTF-8.xml.sax2 new file mode 100644 index 0000000..3969579 --- /dev/null +++ b/result/noent/cdata-3-byte-UTF-8.xml.sax2 @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This tests that three-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata(牛牛牛牛牛牛, 1200) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( 牛牛牛牛牛牛, 1201) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( 牛牛牛牛牛牛, 1202) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/cdata-4-byte-UTF-8.xml b/result/noent/cdata-4-byte-UTF-8.xml new file mode 100644 index 0000000..4d1d9a8 --- /dev/null +++ b/result/noent/cdata-4-byte-UTF-8.xml @@ -0,0 +1,8 @@ + + + +

    +

    +

    +

    +
    diff --git a/result/noent/cdata-4-byte-UTF-8.xml.sax2 b/result/noent/cdata-4-byte-UTF-8.xml.sax2 new file mode 100644 index 0000000..5e07d83 --- /dev/null +++ b/result/noent/cdata-4-byte-UTF-8.xml.sax2 @@ -0,0 +1,28 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This tests that four-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata(🍦🍦🍦🍦🍦, 1200) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( 🍦🍦🍦🍦, 1201) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( 🍦🍦🍦🍦, 1202) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.pcdata( 🍦🍦🍦🍦, 1203) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/cdata.sax2 b/result/noent/cdata.sax2 new file mode 100644 index 0000000..117b2b0 --- /dev/null +++ b/result/noent/cdata.sax2 @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.pcdata(Hello, wor, 34) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/cdata2 b/result/noent/cdata2 new file mode 100644 index 0000000..b4db791 --- /dev/null +++ b/result/noent/cdata2 @@ -0,0 +1,6 @@ + + + ]> + diff --git a/result/noent/cdata2.sax2 b/result/noent/cdata2.sax2 new file mode 100644 index 0000000..d1420e9 --- /dev/null +++ b/result/noent/cdata2.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(collection, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(test, NULL, NULL, 0, 0, 0) +SAX.pcdata( + , 1) +SAX.pcdata( + , 3) +SAX.endElementNs(test, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(collection, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/comment.xml b/result/noent/comment.xml new file mode 100644 index 0000000..98c5eff --- /dev/null +++ b/result/noent/comment.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/result/noent/comment.xml.sax2 b/result/noent/comment.xml.sax2 new file mode 100644 index 0000000..da57f50 --- /dev/null +++ b/result/noent/comment.xml.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.comment( document start ) +SAX.characters( +, 1) +SAX.startElementNs(empty, NULL, NULL, 0, 0, 0) +SAX.endElementNs(empty, NULL, NULL) +SAX.characters( +, 1) +SAX.comment( document end ) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/comment2.xml b/result/noent/comment2.xml new file mode 100644 index 0000000..9e122ec --- /dev/null +++ b/result/noent/comment2.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/result/noent/comment2.xml.sax2 b/result/noent/comment2.xml.sax2 new file mode 100644 index 0000000..a286744 --- /dev/null +++ b/result/noent/comment2.xml.sax2 @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( document start ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(empty, NULL, NULL, 0, 0, 0) +SAX.endElementNs(empty, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.comment( document end ) +SAX.endDocument() diff --git a/result/noent/comment3.xml b/result/noent/comment3.xml new file mode 100644 index 0000000..395f67c --- /dev/null +++ b/result/noent/comment3.xml @@ -0,0 +1,164 @@ + + + diff --git a/result/noent/comment3.xml.sax2 b/result/noent/comment3.xml.sax2 new file mode 100644 index 0000000..a5f1fd6 --- /dev/null +++ b/result/noent/comment3.xml.sax2 @@ -0,0 +1,167 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( test of very very long comments and buffer limits +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +01234567890123456789012345678901234567890123456789 +) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/comment4.xml b/result/noent/comment4.xml new file mode 100644 index 0000000..93282d8 --- /dev/null +++ b/result/noent/comment4.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/result/noent/comment4.xml.sax2 b/result/noent/comment4.xml.sax2 new file mode 100644 index 0000000..0e2611f --- /dev/null +++ b/result/noent/comment4.xml.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( test of non ascii comments like là et très ) +SAX.comment(à another one ) +SAX.comment( another one à) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/comment5.xml b/result/noent/comment5.xml new file mode 100644 index 0000000..398f974 --- /dev/null +++ b/result/noent/comment5.xml @@ -0,0 +1,9 @@ + + + diff --git a/result/noent/comment5.xml.sax2 b/result/noent/comment5.xml.sax2 new file mode 100644 index 0000000..f0940b2 --- /dev/null +++ b/result/noent/comment5.xml.sax2 @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( test of hyphen and line break handling + some text - interrupted - +- - - - - - - - - - - - - - - - - - - - - - + this should stop here^ + + +) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/comment6.xml b/result/noent/comment6.xml new file mode 100644 index 0000000..3e6074e --- /dev/null +++ b/result/noent/comment6.xml @@ -0,0 +1,14 @@ + + + +]> + diff --git a/result/noent/comment6.xml.sax2 b/result/noent/comment6.xml.sax2 new file mode 100644 index 0000000..7dd7dc0 --- /dev/null +++ b/result/noent/comment6.xml.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +long comment long comment long comment long comment long comment long comment +) +SAX.internalSubset(a, , ) +SAX.elementDecl(a, 1, ...) +SAX.externalSubset(a, , ) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.endElementNs(a, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/dav1 b/result/noent/dav1 new file mode 100644 index 0000000..cbfd4c4 --- /dev/null +++ b/result/noent/dav1 @@ -0,0 +1,25 @@ + + + + + + Box type A + + + J.J. Dingleheimerschmidt + + + HTTP/1.1 200 OK + + + + + + + HTTP/1.1 403 Forbidden + The user does not have access to the DingALing property. + + + There has been an access violation error. + + diff --git a/result/noent/dav1.sax2 b/result/noent/dav1.sax2 new file mode 100644 index 0000000..44ad11c --- /dev/null +++ b/result/noent/dav1.sax2 @@ -0,0 +1,81 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(BoxType, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.characters(Box type A, 10) +SAX.endElementNs(BoxType, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 7) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 7) +SAX.startElementNs(author, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Name, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.characters(J.J. Dingleheimerschmidt, 24) +SAX.endElementNs(Name, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 7) +SAX.endElementNs(author, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(DingALing, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.endElementNs(DingALing, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 7) +SAX.startElementNs(Random, R, 'http://www.foo.bar/boxschema', 0, 0, 0) +SAX.endElementNs(Random, R, 'http://www.foo.bar/boxschema') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 403 Forbidden, 22) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( The user does not have access, 64) +SAX.endElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( There has been an access viol, 44) +SAX.endElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/noent/dav10 b/result/noent/dav10 new file mode 100644 index 0000000..4b00da4 --- /dev/null +++ b/result/noent/dav10 @@ -0,0 +1,4 @@ + + + http://www.ics.uci.edu/~ejw/contact.html + diff --git a/result/noent/dav10.sax2 b/result/noent/dav10.sax2 new file mode 100644 index 0000000..e93e22c --- /dev/null +++ b/result/noent/dav10.sax2 @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(owner, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.ics.uci.edu/~ejw/co, 40) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(owner, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/noent/dav11 b/result/noent/dav11 new file mode 100644 index 0000000..8ac23d6 --- /dev/null +++ b/result/noent/dav11 @@ -0,0 +1,21 @@ + + + + + write + exclusive + + + + http://www.ics.uci.edu/~ejw/contact.html + + + Second-604800 + + + opaquelocktoken:xyz122393481230912asdfa09s8df09s7df + + + + + diff --git a/result/noent/dav11.sax2 b/result/noent/dav11.sax2 new file mode 100644 index 0000000..d0f2329 --- /dev/null +++ b/result/noent/dav11.sax2 @@ -0,0 +1,62 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(activelock, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(write, 5) +SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(exclusive, 9) +SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.endElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(owner, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + http://www.ics.uci.edu/~ejw, 46) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(owner, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(timeout, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Second-604800, 13) +SAX.endElementNs(timeout, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + opaquelocktoken:xyz122393, 59) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(activelock, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/noent/dav12 b/result/noent/dav12 new file mode 100644 index 0000000..d8d03fe --- /dev/null +++ b/result/noent/dav12 @@ -0,0 +1,2 @@ + +http://www.ics.uci.edu/~ejw/contact.html diff --git a/result/noent/dav12.sax2 b/result/noent/dav12.sax2 new file mode 100644 index 0000000..61715b6 --- /dev/null +++ b/result/noent/dav12.sax2 @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters(http://www.ics.uci.edu/~ejw/co, 40) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/noent/dav13 b/result/noent/dav13 new file mode 100644 index 0000000..f44ae38 --- /dev/null +++ b/result/noent/dav13 @@ -0,0 +1,16 @@ + + + + + http://webdav.sb.aol.com/workspace/webdav/proposal.doc + + + http://webdav.sb.aol.com/workspace/webdav/ + + HTTP/1.1 202 Accepted + + + http://foo.bar/blah + HTTP/1.1 403 Forbidden + + diff --git a/result/noent/dav13.sax2 b/result/noent/dav13.sax2 new file mode 100644 index 0000000..f6c5381 --- /dev/null +++ b/result/noent/dav13.sax2 @@ -0,0 +1,46 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + http://webdav.sb.aol.com/, 66) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + http://webdav.sb.aol.com/, 54) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 202 Accepted, 21) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/blah, 19) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 403 Forbidden, 22) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/noent/dav15 b/result/noent/dav15 new file mode 100644 index 0000000..b80802e --- /dev/null +++ b/result/noent/dav15 @@ -0,0 +1,20 @@ + + + + + Source + http://foo.bar/program + http://foo.bar/src/main.c + + + Library + http://foo.bar/program + http://foo.bar/src/main.lib + + + Makefile + http://foo.bar/program + http://foo.bar/src/makefile + + + diff --git a/result/noent/dav15.sax2 b/result/noent/dav15.sax2 new file mode 100644 index 0000000..6040cd1 --- /dev/null +++ b/result/noent/dav15.sax2 @@ -0,0 +1,76 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:F='http://www.foocorp.com/Project/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(Source, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(link, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(projfiles, F, 'http://www.foocorp.com/Project/', 0, 0, 0) +SAX.characters(Source, 6) +SAX.endElementNs(projfiles, F, 'http://www.foocorp.com/Project/') +SAX.characters( + , 7) +SAX.startElementNs(src, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/program, 22) +SAX.endElementNs(src, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(dst, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/src/main.c, 25) +SAX.endElementNs(dst, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(link, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(link, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(projfiles, F, 'http://www.foocorp.com/Project/', 0, 0, 0) +SAX.characters(Library, 7) +SAX.endElementNs(projfiles, F, 'http://www.foocorp.com/Project/') +SAX.characters( + , 7) +SAX.startElementNs(src, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/program, 22) +SAX.endElementNs(src, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(dst, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/src/main.lib, 27) +SAX.endElementNs(dst, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(link, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(link, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(projfiles, F, 'http://www.foocorp.com/Project/', 0, 0, 0) +SAX.characters(Makefile, 8) +SAX.endElementNs(projfiles, F, 'http://www.foocorp.com/Project/') +SAX.characters( + , 7) +SAX.startElementNs(src, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/program, 22) +SAX.endElementNs(src, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.startElementNs(dst, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.bar/src/makefile, 27) +SAX.endElementNs(dst, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(link, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(Source, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/noent/dav16 b/result/noent/dav16 new file mode 100644 index 0000000..9a7dc36 --- /dev/null +++ b/result/noent/dav16 @@ -0,0 +1,6 @@ + + + + + + diff --git a/result/noent/dav16.sax2 b/result/noent/dav16.sax2 new file mode 100644 index 0000000..1ede22e --- /dev/null +++ b/result/noent/dav16.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(propfind, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(lockdiscovery, NULL, NULL, 0, 0, 0) +SAX.endElementNs(lockdiscovery, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(propfind, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/noent/dav17 b/result/noent/dav17 new file mode 100644 index 0000000..1137662 --- /dev/null +++ b/result/noent/dav17 @@ -0,0 +1,22 @@ + + + + + + + write + exclusive + + http://foo.com/doc/ + + Jane Smith + Infinite + + iamuri:unique!!!!! + + + + + HTTP/1.1 200 OK + + diff --git a/result/noent/dav17.sax2 b/result/noent/dav17.sax2 new file mode 100644 index 0000000..48185a2 --- /dev/null +++ b/result/noent/dav17.sax2 @@ -0,0 +1,78 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(activelock, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 11) +SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(write, 5) +SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(exclusive, 9) +SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 13) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://foo.com/doc/, 19) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.endElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(owner, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Jane Smith, 10) +SAX.endElementNs(owner, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(timeout, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Infinite, 8) +SAX.endElementNs(timeout, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 13) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(iamuri:unique!!!!!, 18) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.endElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 9) +SAX.endElementNs(activelock, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/noent/dav18 b/result/noent/dav18 new file mode 100644 index 0000000..3de1c19 --- /dev/null +++ b/result/noent/dav18 @@ -0,0 +1,6 @@ + + + + + + diff --git a/result/noent/dav18.sax2 b/result/noent/dav18.sax2 new file mode 100644 index 0000000..cddc100 --- /dev/null +++ b/result/noent/dav18.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(propfind, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(supportedlock, NULL, NULL, 0, 0, 0) +SAX.endElementNs(supportedlock, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(propfind, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/noent/dav19 b/result/noent/dav19 new file mode 100644 index 0000000..9535ffc --- /dev/null +++ b/result/noent/dav19 @@ -0,0 +1,18 @@ + + + + + + + Write + Exclusive + + + Write + Shared + + + + HTTP/1.1 200 OK + + diff --git a/result/noent/dav19.sax2 b/result/noent/dav19.sax2 new file mode 100644 index 0000000..f0dd402 --- /dev/null +++ b/result/noent/dav19.sax2 @@ -0,0 +1,62 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(supportedlock, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 11) +SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Write, 5) +SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Exclusive, 9) +SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 9) +SAX.endElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 9) +SAX.startElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 11) +SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Write, 5) +SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 11) +SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(Shared, 6) +SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 9) +SAX.endElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(supportedlock, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/noent/dav2 b/result/noent/dav2 new file mode 100644 index 0000000..f831b4b --- /dev/null +++ b/result/noent/dav2 @@ -0,0 +1,24 @@ + + + + http://www.foo.bar/container/ + + + Box type A + + + Hadrian + + + HTTP 1.1 200 OK + + + http://www.foo.bar/container/index.html + + + Box type B + + + HTTP 1.1 200 OK + + diff --git a/result/noent/dav2.sax2 b/result/noent/dav2.sax2 new file mode 100644 index 0000000..22c7bb0 --- /dev/null +++ b/result/noent/dav2.sax2 @@ -0,0 +1,84 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, S, 'http://www.ietf.org/standards/dav/', 2, xmlns:S='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElementNs(href, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(BoxType, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters(Box type A, 10) +SAX.endElementNs(BoxType, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.startElementNs(author, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Name, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters(Hadrian, 7) +SAX.endElementNs(Name, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.endElementNs(author, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 5) +SAX.endElementNs(prop, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/i, 39) +SAX.endElementNs(href, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(BoxType, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.characters(Box type B, 10) +SAX.endElementNs(BoxType, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 5) +SAX.endElementNs(prop, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, S, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, S, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/noent/dav3 b/result/noent/dav3 new file mode 100644 index 0000000..986b3fe --- /dev/null +++ b/result/noent/dav3 @@ -0,0 +1,18 @@ + + + + http://www.foo.bar/container/ + + + + + HTTP 1.1 200 OK + + + http://www.foo.bar/container/index.html + + + + HTTP 1.1 200 OK + + diff --git a/result/noent/dav3.sax2 b/result/noent/dav3.sax2 new file mode 100644 index 0000000..0088f29 --- /dev/null +++ b/result/noent/dav3.sax2 @@ -0,0 +1,63 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 7) +SAX.startElementNs(author, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.endElementNs(author, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/i, 39) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0) +SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/noent/dav4 b/result/noent/dav4 new file mode 100644 index 0000000..9ab7ceb --- /dev/null +++ b/result/noent/dav4 @@ -0,0 +1,16 @@ + + + + + + Jim Whitehead + Roy Fielding + + + + + + + + + diff --git a/result/noent/dav4.sax2 b/result/noent/dav4.sax2 new file mode 100644 index 0000000..58fb8ac --- /dev/null +++ b/result/noent/dav4.sax2 @@ -0,0 +1,51 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(propertyupdate, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:Z='http://www.w3.com/standards/z39.50/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(set, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(authors, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.characters(Jim Whitehead, 13) +SAX.endElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 9) +SAX.startElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.characters(Roy Fielding, 12) +SAX.endElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 7) +SAX.endElementNs(authors, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(set, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(remove, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.endElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(remove, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(propertyupdate, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/noent/dav5 b/result/noent/dav5 new file mode 100644 index 0000000..68ebab9 --- /dev/null +++ b/result/noent/dav5 @@ -0,0 +1,17 @@ + + + + + + + HTTP/1.1 420 Method Failure + + + + + + HTTP/1.1 409 Conflict + + Copyright Owner can not be deleted or +altered. + diff --git a/result/noent/dav5.sax2 b/result/noent/dav5.sax2 new file mode 100644 index 0000000..6062cca --- /dev/null +++ b/result/noent/dav5.sax2 @@ -0,0 +1,54 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:Z='http://www.w3.com/standards/z39.50/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Authors, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.endElementNs(Authors, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 420 Method Failure, 27) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0) +SAX.endElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 409 Conflict, 21) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( Copyright Owner can not be de, 47) +SAX.endElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/noent/dav6 b/result/noent/dav6 new file mode 100644 index 0000000..3d0de24 --- /dev/null +++ b/result/noent/dav6 @@ -0,0 +1,22 @@ + + + + http://www.microsoft.com/user/yarong/dav_drafts/ + + + + + + + HTTP 1.1 200 OK + + + + http://www.microsoft.com/user/yarong/dav_drafts/base + + + + + HTTP 1.1 200 OK + + diff --git a/result/noent/dav6.sax2 b/result/noent/dav6.sax2 new file mode 100644 index 0000000..31952c5 --- /dev/null +++ b/result/noent/dav6.sax2 @@ -0,0 +1,66 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.microsoft.com/user/, 55) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(collection, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.endElementNs(collection, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 7) +SAX.endElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + http://www.microsoft.co, 66) +SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.endElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP 1.1 200 OK, 15) +SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/noent/dav7 b/result/noent/dav7 new file mode 100644 index 0000000..ec4a952 --- /dev/null +++ b/result/noent/dav7 @@ -0,0 +1,16 @@ + + + + http://www.foo.bar/container/resource1 + http://www.foo.bar/container/resource2 + HTTP/1.1 200 OK + + + http://www.foo.bar/container/ + HTTP/1.1 420 Method Failure + + + http://www.foo.bar/container/resource3 + HTTP/1.1 412 Precondition Failed + + diff --git a/result/noent/dav7.sax2 b/result/noent/dav7.sax2 new file mode 100644 index 0000000..1d51e74 --- /dev/null +++ b/result/noent/dav7.sax2 @@ -0,0 +1,60 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/', 1, xmlns:d='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 200 OK, 15) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 420 Method Failure, 27) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 412 Precondition Fail, 32) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/noent/dav8 b/result/noent/dav8 new file mode 100644 index 0000000..7f99baf --- /dev/null +++ b/result/noent/dav8 @@ -0,0 +1,14 @@ + + + + http://www.foo.bar/othercontainer/resource1 + http://www.foo.bar/othercontainer/resource2 + http://www.foo.bar/othercontainer/ + http://www.foo.bar/othercontainer/R2/D2 + HTTP/1.1 201 Created + + + http://www.foo.bar/othercontainer/R2/ + HTTP/1.1 412 Precondition Failed + + diff --git a/result/noent/dav8.sax2 b/result/noent/dav8.sax2 new file mode 100644 index 0000000..7de547e --- /dev/null +++ b/result/noent/dav8.sax2 @@ -0,0 +1,54 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/', 1, xmlns:d='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 43) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 43) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 34) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 39) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 201 Created, 20) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 37) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 412 Precondition Fail, 32) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/noent/dav9 b/result/noent/dav9 new file mode 100644 index 0000000..8ed63b8 --- /dev/null +++ b/result/noent/dav9 @@ -0,0 +1,18 @@ + + + + http://www.foo.bar/container/resource1 + http://www.foo.bar/container/resource2 + http://www.foo.bar/container/ + http://www.foo.bar/container/C2/R2 + HTTP/1.1 201 Created + + + http://www.foo.bar/container/C2 + HTTP/1.1 420 Method Failure + + + http://www.foo.bar/othercontainer/C2 + HTTP/1.1 409 Conflict + + diff --git a/result/noent/dav9.sax2 b/result/noent/dav9.sax2 new file mode 100644 index 0000000..26e4942 --- /dev/null +++ b/result/noent/dav9.sax2 @@ -0,0 +1,70 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/', 1, xmlns:d='http://www.ietf.org/standards/dav/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/r, 38) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/, 29) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/C, 34) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 201 Created, 20) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/container/C, 31) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 420 Method Failure, 27) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(http://www.foo.bar/othercontai, 36) +SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 5) +SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0) +SAX.characters(HTTP/1.1 409 Conflict, 21) +SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( + , 3) +SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/') +SAX.characters( +, 1) +SAX.endElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/') +SAX.endDocument() diff --git a/result/noent/defattr.xml b/result/noent/defattr.xml new file mode 100644 index 0000000..0a4ac15 --- /dev/null +++ b/result/noent/defattr.xml @@ -0,0 +1,6 @@ + + + +]> + diff --git a/result/noent/defattr.xml.sax2 b/result/noent/defattr.xml.sax2 new file mode 100644 index 0000000..dfeba49 --- /dev/null +++ b/result/noent/defattr.xml.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 1, ...) +SAX.attributeDecl(doc, xmlns, 1, 4, http://www.example.com/, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, 'http://www.example.com/', 1, xmlns='http://www.example.com/', 0, 0) +SAX.endElementNs(doc, NULL, 'http://www.example.com/') +SAX.endDocument() diff --git a/result/noent/defattr2.xml b/result/noent/defattr2.xml new file mode 100644 index 0000000..8d1fc3b --- /dev/null +++ b/result/noent/defattr2.xml @@ -0,0 +1,8 @@ + + + + + +]> + diff --git a/result/noent/defattr2.xml.sax2 b/result/noent/defattr2.xml.sax2 new file mode 100644 index 0000000..0f77271 --- /dev/null +++ b/result/noent/defattr2.xml.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 1, ...) +SAX.attributeDecl(doc, defatt, 9, 1, 0, ...) +SAX.attributeDecl(doc, xmlns:tst, 1, 4, http://example.org, ...) +SAX.attributeDecl(doc, tst:att, 9, 1, 1, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 1, xmlns:tst='http://example.org', 3, 2, att='1"/>...', 1, defatt='0...', 1, tst:att='1...', 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/dia1 b/result/noent/dia1 new file mode 100644 index 0000000..207bd73 --- /dev/null +++ b/result/noent/dia1 @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/result/noent/dia1.sax2 b/result/noent/dia1.sax2 new file mode 100644 index 0000000..4821c9b --- /dev/null +++ b/result/noent/dia1.sax2 @@ -0,0 +1,323 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='back...', 10) +SAX.characters( + , 7) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.endElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.startElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 2, 0, name='Back...', 10, visible='true...', 4) +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O0">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.9,...', 15) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='conn...', 14) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='star...', 11) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='end_...', 9) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, handle='1" t...', 1, to='O2" ...', 2, connection='3"/>...', 1) +SAX.endElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O1">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.57...', 27) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='text...', 4) +SAX.characters( + , 9) +SAX.startElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, type='text...', 4) +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='stri...', 6) +SAX.characters( + , 13) +SAX.startElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='sdfs...', 7) +SAX.endElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='font...', 4) +SAX.characters( + , 13) +SAX.startElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='Cour...', 7) +SAX.endElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='heig...', 6) +SAX.characters( + , 13) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='pos"...', 3) +SAX.characters( + , 13) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='colo...', 5) +SAX.characters( + , 13) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='alig...', 9) +SAX.characters( + , 13) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 9) +SAX.endElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 14, version='0" i...', 1, id='O2">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 20) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 10) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.05...', 4) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2"/>...', 1) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='inne...', 11) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.endElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( +, 1) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/result/noent/dia2 b/result/noent/dia2 new file mode 100644 index 0000000..207bd73 --- /dev/null +++ b/result/noent/dia2 @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/result/noent/dia2.sax2 b/result/noent/dia2.sax2 new file mode 100644 index 0000000..4821c9b --- /dev/null +++ b/result/noent/dia2.sax2 @@ -0,0 +1,323 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='back...', 10) +SAX.characters( + , 7) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.endElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.startElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 2, 0, name='Back...', 10, visible='true...', 4) +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O0">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.9,...', 15) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='conn...', 14) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='star...', 11) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='end_...', 9) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, handle='1" t...', 1, to='O2" ...', 2, connection='3"/>...', 1) +SAX.endElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O1">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.57...', 27) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='text...', 4) +SAX.characters( + , 9) +SAX.startElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, type='text...', 4) +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='stri...', 6) +SAX.characters( + , 13) +SAX.startElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='sdfs...', 7) +SAX.endElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='font...', 4) +SAX.characters( + , 13) +SAX.startElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='Cour...', 7) +SAX.endElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='heig...', 6) +SAX.characters( + , 13) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='pos"...', 3) +SAX.characters( + , 13) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='colo...', 5) +SAX.characters( + , 13) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='alig...', 9) +SAX.characters( + , 13) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 11) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 9) +SAX.endElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 14, version='0" i...', 1, id='O2">...', 2) +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6) +SAX.characters( + , 9) +SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 20) +SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11) +SAX.characters( + , 9) +SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9) +SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 10) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.05...', 4) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2"/>...', 1) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12) +SAX.characters( + , 9) +SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3) +SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='inne...', 11) +SAX.characters( + , 9) +SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7) +SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10) +SAX.characters( + , 9) +SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1) +SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 7) +SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 5) +SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.endElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( +, 1) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/result/noent/dtd1 b/result/noent/dtd1 new file mode 100644 index 0000000..fb11ffa --- /dev/null +++ b/result/noent/dtd1 @@ -0,0 +1,4 @@ + + + + diff --git a/result/noent/dtd1.sax2 b/result/noent/dtd1.sax2 new file mode 100644 index 0000000..47be5e0 --- /dev/null +++ b/result/noent/dtd1.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(MEMO, -//SGMLSOURCE//DTD MEMO//EN, http://www.sgmlsource.com/dtds/memo.dtd) +SAX.externalSubset(MEMO, -//SGMLSOURCE//DTD MEMO//EN, http://www.sgmlsource.com/dtds/memo.dtd) +SAX.startElementNs(MEMO, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.endElementNs(MEMO, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/dtd10 b/result/noent/dtd10 new file mode 100644 index 0000000..8c7d5e7 --- /dev/null +++ b/result/noent/dtd10 @@ -0,0 +1,9 @@ + + + + + + +]> +This is a valid document diff --git a/result/noent/dtd10.sax2 b/result/noent/dtd10.sax2 new file mode 100644 index 0000000..7f15a09 --- /dev/null +++ b/result/noent/dtd10.sax2 @@ -0,0 +1,21 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.elementDecl(c, 3, ...) +SAX.elementDecl(d, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(b, NULL, NULL) +SAX.startElementNs(c, NULL, NULL, 0, 0, 0) +SAX.characters( is a, 5) +SAX.endElementNs(c, NULL, NULL) +SAX.startElementNs(d, NULL, NULL, 0, 0, 0) +SAX.characters( valid document, 15) +SAX.endElementNs(d, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/dtd11 b/result/noent/dtd11 new file mode 100644 index 0000000..e0df8af --- /dev/null +++ b/result/noent/dtd11 @@ -0,0 +1,6 @@ + + + +]> + diff --git a/result/noent/dtd11.sax2 b/result/noent/dtd11.sax2 new file mode 100644 index 0000000..a9cae5d --- /dev/null +++ b/result/noent/dtd11.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 3, ...) +SAX.attributeDecl(doc, val, 1, 3, NULL, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 1, 0, val='v1"/...', 2) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/dtd12 b/result/noent/dtd12 new file mode 100644 index 0000000..b0aff81 --- /dev/null +++ b/result/noent/dtd12 @@ -0,0 +1,6 @@ + + + +]> +He said "Yes" diff --git a/result/noent/dtd12.sax2 b/result/noent/dtd12.sax2 new file mode 100644 index 0000000..53206d4 --- /dev/null +++ b/result/noent/dtd12.sax2 @@ -0,0 +1,15 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(YN, 1, (null), (null), "Yes") +SAX.getEntity(YN) +SAX.entityDecl(WhatHeSaid, 1, (null), (null), He said &YN;) +SAX.getEntity(WhatHeSaid) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.getEntity(WhatHeSaid) +SAX.characters(He said , 8) +SAX.getEntity(YN) +SAX.characters("Yes", 5) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/dtd13 b/result/noent/dtd13 new file mode 100644 index 0000000..2814146 --- /dev/null +++ b/result/noent/dtd13 @@ -0,0 +1,7 @@ + + + +]> + + diff --git a/result/noent/dtd13.sax2 b/result/noent/dtd13.sax2 new file mode 100644 index 0000000..b631501 --- /dev/null +++ b/result/noent/dtd13.sax2 @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( comment before the DTD ) +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 2, ...) +SAX.externalSubset(doc, , ) +SAX.comment( comment after the DTD ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/dtd2 b/result/noent/dtd2 new file mode 100644 index 0000000..921fd94 --- /dev/null +++ b/result/noent/dtd2 @@ -0,0 +1,5 @@ + + +]> +This is a valid document ! diff --git a/result/noent/dtd2.sax2 b/result/noent/dtd2.sax2 new file mode 100644 index 0000000..ff6b568 --- /dev/null +++ b/result/noent/dtd2.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters(This is a valid document !, 26) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/dtd3 b/result/noent/dtd3 new file mode 100644 index 0000000..6681ef7 --- /dev/null +++ b/result/noent/dtd3 @@ -0,0 +1,5 @@ + + +]> +This is a valid document ! diff --git a/result/noent/dtd3.sax2 b/result/noent/dtd3.sax2 new file mode 100644 index 0000000..9625ad5 --- /dev/null +++ b/result/noent/dtd3.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 2, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters(This is a valid document !, 26) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/dtd4 b/result/noent/dtd4 new file mode 100644 index 0000000..6cf2444 --- /dev/null +++ b/result/noent/dtd4 @@ -0,0 +1,5 @@ + + +]> + diff --git a/result/noent/dtd4.sax2 b/result/noent/dtd4.sax2 new file mode 100644 index 0000000..8366d48 --- /dev/null +++ b/result/noent/dtd4.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 1, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/dtd5 b/result/noent/dtd5 new file mode 100644 index 0000000..5409d51 --- /dev/null +++ b/result/noent/dtd5 @@ -0,0 +1,7 @@ + + + + +]> +This is a valid document diff --git a/result/noent/dtd5.sax2 b/result/noent/dtd5.sax2 new file mode 100644 index 0000000..f48c01c --- /dev/null +++ b/result/noent/dtd5.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 3, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(a, NULL, NULL) +SAX.characters( is a , 6) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters(valid, 5) +SAX.endElementNs(b, NULL, NULL) +SAX.characters( document, 9) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/dtd6 b/result/noent/dtd6 new file mode 100644 index 0000000..ed2d993 --- /dev/null +++ b/result/noent/dtd6 @@ -0,0 +1,7 @@ + + + + +]> +This is a valid document diff --git a/result/noent/dtd6.sax2 b/result/noent/dtd6.sax2 new file mode 100644 index 0000000..6e78924 --- /dev/null +++ b/result/noent/dtd6.sax2 @@ -0,0 +1,19 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(a, NULL, NULL) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters( is a valid, 11) +SAX.endElementNs(b, NULL, NULL) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters( document, 9) +SAX.endElementNs(a, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/dtd7 b/result/noent/dtd7 new file mode 100644 index 0000000..0a4075f --- /dev/null +++ b/result/noent/dtd7 @@ -0,0 +1,7 @@ + + + + +]> +This is a valid document diff --git a/result/noent/dtd7.sax2 b/result/noent/dtd7.sax2 new file mode 100644 index 0000000..4a47191 --- /dev/null +++ b/result/noent/dtd7.sax2 @@ -0,0 +1,16 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(a, NULL, NULL) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters( is a valid document, 20) +SAX.endElementNs(b, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/dtd8 b/result/noent/dtd8 new file mode 100644 index 0000000..7a655f9 --- /dev/null +++ b/result/noent/dtd8 @@ -0,0 +1,9 @@ + + + + + + +]> +This is a valid document diff --git a/result/noent/dtd8.sax2 b/result/noent/dtd8.sax2 new file mode 100644 index 0000000..d38b60d --- /dev/null +++ b/result/noent/dtd8.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.elementDecl(c, 3, ...) +SAX.elementDecl(d, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(b, NULL, NULL) +SAX.startElementNs(c, NULL, NULL, 0, 0, 0) +SAX.characters( is a valid document, 20) +SAX.endElementNs(c, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/dtd9 b/result/noent/dtd9 new file mode 100644 index 0000000..89cc1d4 --- /dev/null +++ b/result/noent/dtd9 @@ -0,0 +1,9 @@ + + + + + + +]> +This is a valid document diff --git a/result/noent/dtd9.sax2 b/result/noent/dtd9.sax2 new file mode 100644 index 0000000..a5b537f --- /dev/null +++ b/result/noent/dtd9.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.elementDecl(doc, 4, ...) +SAX.elementDecl(a, 3, ...) +SAX.elementDecl(b, 3, ...) +SAX.elementDecl(c, 3, ...) +SAX.elementDecl(d, 3, ...) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.characters(This, 4) +SAX.endElementNs(b, NULL, NULL) +SAX.startElementNs(d, NULL, NULL, 0, 0, 0) +SAX.characters( is a valid document, 20) +SAX.endElementNs(d, NULL, NULL) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/ebcdic_566012.xml b/result/noent/ebcdic_566012.xml new file mode 100644 index 0000000..153add5 --- /dev/null +++ b/result/noent/ebcdic_566012.xml @@ -0,0 +1 @@ +Lo@~K@~`on%L@~JZan% \ No newline at end of file diff --git a/result/noent/ebcdic_566012.xml.sax2 b/result/noent/ebcdic_566012.xml.sax2 new file mode 100644 index 0000000..b8a4ce0 --- /dev/null +++ b/result/noent/ebcdic_566012.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(test, NULL, NULL, 0, 1, 0, attr='ÄÖ...', 6) +SAX.endElementNs(test, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/emptycdata.xml b/result/noent/emptycdata.xml new file mode 100644 index 0000000..bc98388 --- /dev/null +++ b/result/noent/emptycdata.xml @@ -0,0 +1,4 @@ + + + + diff --git a/result/noent/emptycdata.xml.sax2 b/result/noent/emptycdata.xml.sax2 new file mode 100644 index 0000000..7f80296 --- /dev/null +++ b/result/noent/emptycdata.xml.sax2 @@ -0,0 +1,10 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(html, NULL, 'http://www.w3.org/1999/xhtml', 1, xmlns='http://www.w3.org/1999/xhtml', 0, 0) +SAX.characters( +, 1) +SAX.pcdata(, 0) +SAX.characters( +, 1) +SAX.endElementNs(html, NULL, 'http://www.w3.org/1999/xhtml') +SAX.endDocument() diff --git a/result/noent/ent1 b/result/noent/ent1 new file mode 100644 index 0000000..14bf428 --- /dev/null +++ b/result/noent/ent1 @@ -0,0 +1,7 @@ + + +]> + + Extensible Markup Language + diff --git a/result/noent/ent1.sax2 b/result/noent/ent1.sax2 new file mode 100644 index 0000000..9f270ef --- /dev/null +++ b/result/noent/ent1.sax2 @@ -0,0 +1,15 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.getEntity(xml) +SAX.characters(Extensible Markup Language, 26) +SAX.characters( +, 1) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/ent10 b/result/noent/ent10 new file mode 100644 index 0000000..946aff8 --- /dev/null +++ b/result/noent/ent10 @@ -0,0 +1,18 @@ + + + + + + hello world + + "> +]> + + + + hello world + + + diff --git a/result/noent/ent10.sax2 b/result/noent/ent10.sax2 new file mode 100644 index 0000000..4b86bfb --- /dev/null +++ b/result/noent/ent10.sax2 @@ -0,0 +1,30 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(rnode, , ) +SAX.elementDecl(rnode, 4, ...) +SAX.elementDecl(f, 3, ...) +SAX.attributeDecl(f, att1, 1, 4, J, ...) +SAX.entityDecl(f, 1, (null), (null), + + hello world + + ) +SAX.getEntity(f) +SAX.externalSubset(rnode, , ) +SAX.startElementNs(rnode, NULL, NULL, 0, 0, 0) +SAX.characters( + , 4) +SAX.getEntity(f) +SAX.ignorableWhitespace( + , 4) +SAX.startElementNs(f, NULL, NULL, 0, 1, 1, att1='J...', 1) +SAX.characters( + hello world + , 19) +SAX.endElementNs(f, NULL, NULL) +SAX.characters( + , 4) +SAX.characters( +, 1) +SAX.endElementNs(rnode, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/ent11 b/result/noent/ent11 new file mode 100644 index 0000000..e1e1e0f --- /dev/null +++ b/result/noent/ent11 @@ -0,0 +1,6 @@ + + +]> + + diff --git a/result/noent/ent11.sax2 b/result/noent/ent11.sax2 new file mode 100644 index 0000000..5c2c916 --- /dev/null +++ b/result/noent/ent11.sax2 @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(newl, 1, (null), (null), ) +SAX.getEntity(newl) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.getEntity(newl) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/ent12 b/result/noent/ent12 new file mode 100644 index 0000000..e398313 --- /dev/null +++ b/result/noent/ent12 @@ -0,0 +1,8 @@ + + + +]> + + def + diff --git a/result/noent/ent12.sax2 b/result/noent/ent12.sax2 new file mode 100644 index 0000000..fd5c71e --- /dev/null +++ b/result/noent/ent12.sax2 @@ -0,0 +1,20 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(root, , ) +SAX.entityDecl(foo, 1, (null), (null), abc) +SAX.getEntity(foo) +SAX.entityDecl(bar, 1, (null), (null), def) +SAX.getEntity(bar) +SAX.externalSubset(root, , ) +SAX.getEntity(foo) +SAX.startElementNs(root, NULL, NULL, 0, 1, 0, attribute='abc...', 3) +SAX.characters( + , 4) +SAX.startElementNs(element, NULL, NULL, 0, 0, 0) +SAX.getEntity(bar) +SAX.characters(def, 3) +SAX.endElementNs(element, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(root, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/ent13 b/result/noent/ent13 new file mode 100644 index 0000000..02bc069 --- /dev/null +++ b/result/noent/ent13 @@ -0,0 +1,5 @@ + + +]> +a diff --git a/result/noent/ent13.sax2 b/result/noent/ent13.sax2 new file mode 100644 index 0000000..9add146 --- /dev/null +++ b/result/noent/ent13.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.entityDecl(ampproblem, 1, (null), (null), &) +SAX.getEntity(ampproblem) +SAX.externalSubset(test, , ) +SAX.getEntity(ampproblem) +SAX.startElementNs(t, NULL, NULL, 0, 1, 0, a='&...', 1) +SAX.characters(a, 1) +SAX.endElementNs(t, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/ent2 b/result/noent/ent2 new file mode 100644 index 0000000..b643ac3 --- /dev/null +++ b/result/noent/ent2 @@ -0,0 +1,12 @@ + + + + +]> + + +my title + + This text is about XML, the Extensible Markup Language and this is an embedded + diff --git a/result/noent/ent2.sax2 b/result/noent/ent2.sax2 new file mode 100644 index 0000000..88c6aa6 --- /dev/null +++ b/result/noent/ent2.sax2 @@ -0,0 +1,37 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.entityDecl(title, 2, -//MY-TITLE//FR, title.xml, (null)) +SAX.unparsedEntityDecl(image, (null), img.gif, GIF) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.getEntity(title) +SAX.ignorableWhitespace( +, 1) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(my title, 8) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( +, 1) +SAX.ignorableWhitespace( +, 1) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(my title, 8) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( +, 1) +SAX.characters( + This text is about XML, the, 31) +SAX.getEntity(xml) +SAX.characters(Extensible Markup Language, 26) +SAX.characters( and this is an embedded , 25) +SAX.startElementNs(IMG, NULL, NULL, 0, 1, 0, src='imag...', 5) +SAX.endElementNs(IMG, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/ent3 b/result/noent/ent3 new file mode 100644 index 0000000..b1c0b14 --- /dev/null +++ b/result/noent/ent3 @@ -0,0 +1,7 @@ + + +]> + + Test of entities in attributes. + diff --git a/result/noent/ent3.sax2 b/result/noent/ent3.sax2 new file mode 100644 index 0000000..96f605f --- /dev/null +++ b/result/noent/ent3.sax2 @@ -0,0 +1,12 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.getEntity(xml) +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 2, 0, prop1='a&b...', 3, prop2='Exte...', 26) +SAX.characters( + Test of entities in attribu, 35) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/ent4 b/result/noent/ent4 new file mode 100644 index 0000000..a92194c --- /dev/null +++ b/result/noent/ent4 @@ -0,0 +1,7 @@ + + +]> + + Test of &amp; behaviour a&b . + diff --git a/result/noent/ent4.sax2 b/result/noent/ent4.sax2 new file mode 100644 index 0000000..b0a6b08 --- /dev/null +++ b/result/noent/ent4.sax2 @@ -0,0 +1,16 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(EXAMPLE, , example.dtd) +SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language) +SAX.getEntity(xml) +SAX.externalSubset(EXAMPLE, , example.dtd) +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0) +SAX.characters( + Test of , 11) +SAX.characters(&, 1) +SAX.characters(amp; behaviour a, 16) +SAX.characters(&, 1) +SAX.characters(b . +, 4) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/ent5 b/result/noent/ent5 new file mode 100644 index 0000000..16e7e10 --- /dev/null +++ b/result/noent/ent5 @@ -0,0 +1,5 @@ + + + This is an inverted exclamation sign ¡ + This is a space + diff --git a/result/noent/ent5.sax2 b/result/noent/ent5.sax2 new file mode 100644 index 0000000..f7251e4 --- /dev/null +++ b/result/noent/ent5.sax2 @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0) +SAX.characters( + This is an inverted excla, 42) +SAX.characters(¡, 2) +SAX.characters( + This is a space , 21) +SAX.characters( , 1) +SAX.characters( +, 2) +SAX.endElementNs(EXAMPLE, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/ent6 b/result/noent/ent6 new file mode 100644 index 0000000..047f9bb --- /dev/null +++ b/result/noent/ent6 @@ -0,0 +1,9 @@ + + + + + + +]> + diff --git a/result/noent/ent6.sax2 b/result/noent/ent6.sax2 new file mode 100644 index 0000000..a70d0bb --- /dev/null +++ b/result/noent/ent6.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(lt, 1, (null), (null), <) +SAX.getEntity(lt) +SAX.entityDecl(gt, 1, (null), (null), >) +SAX.getEntity(gt) +SAX.entityDecl(amp, 1, (null), (null), &) +SAX.getEntity(amp) +SAX.entityDecl(apos, 1, (null), (null), ') +SAX.getEntity(apos) +SAX.entityDecl(quot, 1, (null), (null), ") +SAX.getEntity(quot) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/ent7 b/result/noent/ent7 new file mode 100644 index 0000000..1c895af --- /dev/null +++ b/result/noent/ent7 @@ -0,0 +1,8 @@ + +"> + + + +]> +'they called me the hyacinth girl' diff --git a/result/noent/ent7.sax2 b/result/noent/ent7.sax2 new file mode 100644 index 0000000..3228de3 --- /dev/null +++ b/result/noent/ent7.sax2 @@ -0,0 +1,17 @@ +xmlSAXUserParseFile returned error 27 +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(item, , ) +SAX.entityDecl(sampleEnt, 4, (null), (null), ) +SAX.getParameterEntity(sampleEnt) +SAX.entityDecl(sampleEnt, 1, (null), (null), the hyacinth girl) +SAX.getEntity(sampleEnt) +SAX.getParameterEntity(sampleEnt) +SAX.error: PEReference: %sampleEnt; not found +SAX.characters('they called me , 16) +SAX.getEntity(sampleEnt) +SAX.error: Entity 'sampleEnt' not defined +SAX.reference(sampleEnt) +SAX.characters(', 1) +SAX.endDocument() +xmlSAXUserParseFile returned error 27 diff --git a/result/noent/ent8 b/result/noent/ent8 new file mode 100644 index 0000000..676266c --- /dev/null +++ b/result/noent/ent8 @@ -0,0 +1,10 @@ + + + +]> + + Retenção + <> + test 1test 2 + diff --git a/result/noent/ent8.sax2 b/result/noent/ent8.sax2 new file mode 100644 index 0000000..c8418fa --- /dev/null +++ b/result/noent/ent8.sax2 @@ -0,0 +1,35 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(test1, 1, (null), (null), test 1) +SAX.getEntity(test1) +SAX.entityDecl(test2, 1, (null), (null), test 2) +SAX.getEntity(test2) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( + , 4) +SAX.startElementNs(Content, NULL, NULL, 0, 0, 0) +SAX.characters(Reten, 5) +SAX.characters(ç, 2) +SAX.characters(ã, 2) +SAX.characters(o, 1) +SAX.endElementNs(Content, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(Content, NULL, NULL, 0, 0, 0) +SAX.characters(<, 1) +SAX.characters(>, 1) +SAX.endElementNs(Content, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(Content, NULL, NULL, 0, 0, 0) +SAX.getEntity(test1) +SAX.characters(test 1, 6) +SAX.getEntity(test2) +SAX.characters(test 2, 6) +SAX.endElementNs(Content, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/ent9 b/result/noent/ent9 new file mode 100644 index 0000000..b930e4c --- /dev/null +++ b/result/noent/ent9 @@ -0,0 +1,61 @@ + +,,,"> +]> + + ,,, +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +

    WE need lot of garbage now to trigger the problem

    +
    ,,, +
    diff --git a/result/noent/ent9.sax2 b/result/noent/ent9.sax2 new file mode 100644 index 0000000..442333e --- /dev/null +++ b/result/noent/ent9.sax2 @@ -0,0 +1,308 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(doc, , ) +SAX.entityDecl(test1, 1, (null), (null), ,,,) +SAX.getEntity(test1) +SAX.externalSubset(doc, , ) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( + , 4) +SAX.startElementNs(ent, NULL, NULL, 0, 0, 0) +SAX.getEntity(test1) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.endElementNs(a, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.endElementNs(b, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(c, NULL, NULL, 0, 0, 0) +SAX.endElementNs(c, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(d, NULL, NULL, 0, 0, 0) +SAX.endElementNs(d, NULL, NULL) +SAX.endElementNs(ent, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( WE need lot of garbage now to, 50) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(ent, NULL, NULL, 0, 0, 0) +SAX.getEntity(test1) +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.endElementNs(a, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(b, NULL, NULL, 0, 0, 0) +SAX.endElementNs(b, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(c, NULL, NULL, 0, 0, 0) +SAX.endElementNs(c, NULL, NULL) +SAX.characters(,, 1) +SAX.startElementNs(d, NULL, NULL, 0, 0, 0) +SAX.endElementNs(d, NULL, NULL) +SAX.endElementNs(ent, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/ent_738805.xml b/result/noent/ent_738805.xml new file mode 100644 index 0000000..5e44a55 --- /dev/null +++ b/result/noent/ent_738805.xml @@ -0,0 +1,15 @@ + + + +]> + + + + +something should appear after colon: something +something should appear after colon: something +something should appear after colon: something +something should appear after colon: something + + diff --git a/result/noent/ent_738805.xml.sax2 b/result/noent/ent_738805.xml.sax2 new file mode 100644 index 0000000..d8a4f1e --- /dev/null +++ b/result/noent/ent_738805.xml.sax2 @@ -0,0 +1,54 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(somedoc, , ) +SAX.entityDecl(a, 1, (null), (null), something) +SAX.getEntity(a) +SAX.entityDecl(b, 1, (null), (null), &a;) +SAX.getEntity(b) +SAX.externalSubset(somedoc, , ) +SAX.startElementNs(somedoc, NULL, NULL, 0, 0, 0) +SAX.characters( + +, 2) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.startElementNs(somebeacon, NULL, NULL, 0, 1, 0, someattribute='some...', 9) +SAX.endElementNs(somebeacon, NULL, NULL) +SAX.characters( + +, 2) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.characters( +, 1) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.characters( +, 1) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.characters( +, 1) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.characters( should appear after colon: , 28) +SAX.getEntity(b) +SAX.getEntity(a) +SAX.characters(something, 9) +SAX.characters( + +, 2) +SAX.endElementNs(somedoc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/eve.xml b/result/noent/eve.xml new file mode 100644 index 0000000..dab7208 --- /dev/null +++ b/result/noent/eve.xml @@ -0,0 +1,6 @@ + + +]> + + diff --git a/result/noent/eve.xml.sax2 b/result/noent/eve.xml.sax2 new file mode 100644 index 0000000..ea3b430 --- /dev/null +++ b/result/noent/eve.xml.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(spec, -//testspec//, dtds/eve.dtd) +SAX.entityDecl(iso6.doc.date, 1, (null), (null), 29-May-1999) +SAX.getEntity(iso6.doc.date) +SAX.externalSubset(spec, -//testspec//, dtds/eve.dtd) +SAX.startElementNs(spec, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.endElementNs(spec, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/icu_parse_test.xml b/result/noent/icu_parse_test.xml new file mode 100644 index 0000000..031a967 --- /dev/null +++ b/result/noent/icu_parse_test.xml @@ -0,0 +1,13 @@ + + +Text with EUC-JP chars at position 214 (0xd6) +___ +_______________ +_______________ +_______________ +_______________ +_______________ +_______________ +_______________ +_______鮏___ +_ diff --git a/result/noent/icu_parse_test.xml.sax2 b/result/noent/icu_parse_test.xml.sax2 new file mode 100644 index 0000000..eb0d6c6 --- /dev/null +++ b/result/noent/icu_parse_test.xml.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(foo, NULL, NULL, 0, 0, 0) +SAX.characters( +Text with EUC-JP chars at pos, 170) +SAX.characters(駪槗___ +_, 11) +SAX.endElementNs(foo, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/intsubset.xml b/result/noent/intsubset.xml new file mode 100644 index 0000000..bd85795 --- /dev/null +++ b/result/noent/intsubset.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/result/noent/intsubset.xml.sax2 b/result/noent/intsubset.xml.sax2 new file mode 100644 index 0000000..f4db2a8 --- /dev/null +++ b/result/noent/intsubset.xml.sax2 @@ -0,0 +1,9 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(root, , ) +SAX.elementDecl(root, 1, ...) +SAX.comment( " ) +SAX.externalSubset(root, , ) +SAX.startElementNs(root, NULL, NULL, 0, 0, 0) +SAX.endElementNs(root, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/intsubset2.xml b/result/noent/intsubset2.xml new file mode 100644 index 0000000..b103955 --- /dev/null +++ b/result/noent/intsubset2.xml @@ -0,0 +1,250 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + diff --git a/result/noent/intsubset2.xml.sax2 b/result/noent/intsubset2.xml.sax2 new file mode 100644 index 0000000..5558701 --- /dev/null +++ b/result/noent/intsubset2.xml.sax2 @@ -0,0 +1,286 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(kanjidic2, , ) +SAX.comment( Version 1.3 + This is the DTD of the XML-format kanji file combining information from + the KANJIDIC and KANJD212 files. It is intended to be largely self- + documenting, with each field being accompanied by an explanatory + comment. + + The file covers the following kanji: + (a) the 6,355 kanji from JIS X 0208; + (b) the 5,801 kanji from JIS X 0212; + (c) the 3,625 kanji from JIS X 0213 as follows: + (i) the 2,741 kanji which are also in JIS X 0212 have + JIS X 0213 code-points (kuten) added to the existing entry; + (ii) the 884 "new" kanji have new entries. + + At the end of the explanation for a number of fields there is a tag + with the format [N]. This indicates the leading letter(s) of the + equivalent field in the KANJIDIC and KANJD212 files. + + The KANJIDIC documentation should also be read for additional + information about the information in the file. + ) +SAX.elementDecl(kanjidic2, 4, ...) +SAX.elementDecl(header, 4, ...) +SAX.comment( + The single header element will contain identification information + about the version of the file + ) +SAX.elementDecl(file_version, 3, ...) +SAX.comment( + This field denotes the version of kanjidic2 structure, as more + than one version may exist. + ) +SAX.elementDecl(database_version, 3, ...) +SAX.comment( + The version of the file, in the format YYYY-NN, where NN will be + a number starting with 01 for the first version released in a + calendar year, then increasing for each version in that year. + ) +SAX.elementDecl(date_of_creation, 3, ...) +SAX.comment( + The date the file was created in international format (YYYY-MM-DD). + ) +SAX.elementDecl(character, 4, ...) +SAX.elementDecl(literal, 3, ...) +SAX.comment( + The character itself in UTF8 coding. + ) +SAX.elementDecl(codepoint, 4, ...) +SAX.comment( + The codepoint element states the code of the character in the various + character set standards. + ) +SAX.elementDecl(cp_value, 3, ...) +SAX.comment( + The cp_value contains the codepoint of the character in a particular + standard. The standard will be identified in the cp_type attribute. + ) +SAX.attributeDecl(cp_value, cp_type, 1, 2, NULL, ...) +SAX.comment( + The cp_type attribute states the coding standard applying to the + element. The values assigned so far are: + jis208 - JIS X 0208-1997 - kuten coding (nn-nn) + jis212 - JIS X 0212-1990 - kuten coding (nn-nn) + jis213 - JIS X 0213-2000 - kuten coding (p-nn-nn) + ucs - Unicode 4.0 - hex coding (4 or 5 hexadecimal digits) + ) +SAX.elementDecl(radical, 4, ...) +SAX.elementDecl(rad_value, 3, ...) +SAX.comment( + The radical number, in the range 1 to 214. The particular + classification type is stated in the rad_type attribute. + ) +SAX.attributeDecl(rad_value, rad_type, 1, 2, NULL, ...) +SAX.comment( + The rad_type attribute states the type of radical classification. + classical - as recorded in the KangXi Zidian. + nelson - as used in the Nelson "Modern Japanese-English + Character Dictionary" (i.e. the Classic, not the New Nelson). + This will only be used where Nelson reclassified the kanji. + ) +SAX.elementDecl(misc, 4, ...) +SAX.elementDecl(grade, 3, ...) +SAX.comment( + The Jouyou Kanji grade level. 1 through 6 indicate the grade in which + the kanji is taught in Japanese schools. 8 indicates it is one of the + remaining Jouyou Kanji to be learned in junior high school, and 9 + indicates it is a Jinmeiyou (for use in names) kanji. [G] + ) +SAX.elementDecl(stroke_count, 3, ...) +SAX.comment( + The stroke count of the kanji, including the radical. If more than + one, the first is considered the accepted count, while subsequent ones + are common miscounts. (See Appendix E. of the KANJIDIC documentation + for some of the rules applied when counting strokes in some of the + radicals.) [S] + ) +SAX.elementDecl(variant, 3, ...) +SAX.comment( + A cross-reference code to another kanji, usually regarded as a variant. + The type of cross-reference is given in the var_type attribute. + ) +SAX.attributeDecl(variant, var_type, 1, 2, NULL, ...) +SAX.comment( + The var_type attribute indicates the type of variant code. The current + values are: + jis208 - in JIS X 0208 - kuten coding + jis212 - in JIS X 0212 - kuten coding + jis213 - in JIS X 0213 - kuten coding + deroo - De Roo number - numeric + njecd - Halpern NJECD index number - numeric + s_h - The Kanji Dictionary (Spahn & Hadamitzky) - descriptor + nelson - "Classic" Nelson - numeric + oneill - Japanese Names (O'Neill) - numeric + ) +SAX.elementDecl(freq, 3, ...) +SAX.comment( + A frequency-of-use ranking. The 2,500 most-used characters have a + ranking; those characters that lack this field are not ranked. The + frequency is a number from 1 to 2,500 that expresses the relative + frequency of occurrence of a character in modern Japanese. This is + based on a survey in newspapers, so it is biassed towards kanji + used in newspaper articles. The discrimination between the less + frequently used kanji is not strong. + ) +SAX.elementDecl(rad_name, 3, ...) +SAX.comment( + When the kanji is itself a radical and has a name, this element + contains the name (in hiragana.) [T2] + ) +SAX.elementDecl(dic_number, 4, ...) +SAX.comment( + This element contains the index numbers and similar unstructured + information such as page numbers in a number of published dictionaries, + and instructional books on kanji. + ) +SAX.elementDecl(dic_ref, 3, ...) +SAX.comment( + Each dic_ref contains an index number. The particular dictionary, + etc. is defined by the dr_type attribute. + ) +SAX.attributeDecl(dic_ref, dr_type, 1, 2, NULL, ...) +SAX.comment( + The dr_type defines the dictionary or reference book, etc. to which + dic_ref element applies. The initial allocation is: + nelson_c - "Modern Reader's Japanese-English Character Dictionary", + edited by Andrew Nelson (now published as the "Classic" + Nelson). + nelson_n - "The New Nelson Japanese-English Character Dictionary", + edited by John Haig. + halpern_njecd - "New Japanese-English Character Dictionary", + edited by Jack Halpern. + halpern_kkld - "Kanji Learners Dictionary" (Kodansha) edited by + Jack Halpern. + heisig - "Remembering The Kanji" by James Heisig. + gakken - "A New Dictionary of Kanji Usage" (Gakken) + oneill_names - "Japanese Names", by P.G. O'Neill. + oneill_kk - "Essential Kanji" by P.G. O'Neill. + moro - "Daikanwajiten" compiled by Morohashi. For some kanji two + additional attributes are used: m_vol: the volume of the + dictionary in which the kanji is found, and m_page: the page + number in the volume. + henshall - "A Guide To Remembering Japanese Characters" by + Kenneth G. Henshall. + sh_kk - "Kanji and Kana" by Spahn and Hadamitzky. + sakade - "A Guide To Reading and Writing Japanese" edited by + Florence Sakade. + henshall3 - "A Guide To Reading and Writing Japanese" 3rd + edition, edited by Henshall, Seeley and De Groot. + tutt_cards - Tuttle Kanji Cards, compiled by Alexander Kask. + crowley - "The Kanji Way to Japanese Language Power" by + Dale Crowley. + kanji_in_context - "Kanji in Context" by Nishiguchi and Kono. + busy_people - "Japanese For Busy People" vols I-III, published + by the AJLT. The codes are the volume.chapter. + kodansha_compact - the "Kodansha Compact Kanji Guide". + ) +SAX.attributeDecl(dic_ref, m_vol, 1, 3, NULL, ...) +SAX.comment( + See above under "moro". + ) +SAX.attributeDecl(dic_ref, m_page, 1, 3, NULL, ...) +SAX.comment( + See above under "moro". + ) +SAX.elementDecl(query_code, 4, ...) +SAX.comment( + These codes contain information relating to the glyph, and can be used + for finding a required kanji. The type of code is defined by the + qc_type attribute. + ) +SAX.elementDecl(q_code, 3, ...) +SAX.comment( + The q_code contains the actual query-code value, according to the + qc_type attribute. + ) +SAX.attributeDecl(q_code, qc_type, 1, 2, NULL, ...) +SAX.comment( + The q_code attribute defines the type of query code. The current values + are: + skip - Halpern's SKIP (System of Kanji Indexing by Patterns) + code. The format is n-nn-nn. See the KANJIDIC documentation + for a description of the code and restrictions on the + commercial use of this data. [P] + + sh_desc - the descriptor codes for The Kanji Dictionary (Tuttle + 1996) by Spahn and Hadamitzky. They are in the form nxnn.n, + e.g. 3k11.2, where the kanji has 3 strokes in the + identifying radical, it is radical "k" in the SH + classification system, there are 11 other strokes, and it is + the 2nd kanji in the 3k11 sequence. (I am very grateful to + Mark Spahn for providing the list of these descriptor codes + for the kanji in this file.) [I] + four_corner - the "Four Corner" code for the kanji. This is a code + invented by Wang Chen in 1928. See the KANJIDIC documentation + for an overview of the Four Corner System. [Q] + + deroo - the codes developed by the late Father Joseph De Roo, and + published in his book "2001 Kanji" (Bojinsha). Fr De Roo + gave his permission for these codes to be included. [DR] + misclass - a possible misclassification of the kanji according + to one of the code types. (See the "Z" codes in the KANJIDIC + documentation for more details.) + + ) +SAX.elementDecl(reading_meaning, 4, ...) +SAX.comment( + The readings for the kanji in several languages, and the meanings, also + in several languages. The readings and meanings are grouped to enable + the handling of the situation where the meaning is differentiated by + reading. [T1] + ) +SAX.elementDecl(nanori, 3, ...) +SAX.comment( + Japanese readings that are now only associated with names. + ) +SAX.elementDecl(rmgroup, 4, ...) +SAX.elementDecl(reading, 3, ...) +SAX.comment( + The reading element contains the reading or pronunciation + of the kanji. + ) +SAX.attributeDecl(reading, r_type, 1, 2, NULL, ...) +SAX.comment( + The r_type attribute defines the type of reading in the reading + element. The current values are: + pinyin - the modern PinYin romanization of the Chinese reading + of the kanji. The tones are represented by a concluding + digit. [Y] + korean_r - the romanized form of the Korean reading(s) of the + kanji. The readings are in the (Republic of Korea) Ministry + of Education style of romanization. [W] + korean_h - the Korean reading(s) of the kanji in hangul. + ja_on - the "on" Japanese reading of the kanji, in katakana. A + second attribute r_status, if present, will indicate with + a value of "jy" whether the reading is approved for a + "Jouyou kanji". + ja_kun - the "kun" Japanese reading of the kanji, in hiragana. + Where relevant the okurigana is also included separated by a + ".". Readings associated with prefixes and suffixes are + marked with a "-". A second attribute r_status, if present, + will indicate with a value of "jy" whether the reading is + approved for a "Jouyou kanji". + ) +SAX.attributeDecl(reading, r_status, 1, 3, NULL, ...) +SAX.comment( + See under ja_on and ja_kun above. + ) +SAX.elementDecl(meaning, 3, ...) +SAX.comment( + The meaning associated with the kanji. + ) +SAX.attributeDecl(meaning, m_lang, 1, 3, NULL, ...) +SAX.comment( + The m_lang attribute defines the target language of the meaning. It + will be coded using the two-letter language code from the ISO 639 + standard. When absent, the value "en" (i.e. English) is implied. [{}] + ) +SAX.externalSubset(kanjidic2, , ) +SAX.startElementNs(kanjidic2, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.endElementNs(kanjidic2, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/isolat1 b/result/noent/isolat1 new file mode 100644 index 0000000..1e5a059 --- /dev/null +++ b/result/noent/isolat1 @@ -0,0 +1,2 @@ + +l diff --git a/result/noent/isolat1.sax2 b/result/noent/isolat1.sax2 new file mode 100644 index 0000000..b97920a --- /dev/null +++ b/result/noent/isolat1.sax2 @@ -0,0 +1,7 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(très, NULL, NULL, 0, 0, 0) +SAX.characters(l, 1) +SAX.characters(à, 2) +SAX.endElementNs(très, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/isolat2 b/result/noent/isolat2 new file mode 100644 index 0000000..8c290b9 --- /dev/null +++ b/result/noent/isolat2 @@ -0,0 +1,107 @@ + + + + The following table displays the characters in ISO 8859 + Latin-1, which are printable and unlisted in the ascii + manual page. + + Oct Dec Hex Char Description + -------------------------------------------------------------------- + 240 160 A0 NO-BREAK SPACE + 241 161 A1 INVERTED EXCLAMATION MARK + 242 162 A2 CENT SIGN + 243 163 A3 POUND SIGN + 244 164 A4 CURRENCY SIGN + 245 165 A5 YEN SIGN + 246 166 A6 BROKEN BAR + 247 167 A7 SECTION SIGN + 250 168 A8 DIAERESIS + 251 169 A9 COPYRIGHT SIGN + 252 170 AA FEMININE ORDINAL INDICATOR + 253 171 AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK + 254 172 AC NOT SIGN + 255 173 AD SOFT HYPHEN + 256 174 AE REGISTERED SIGN + 257 175 AF MACRON + 260 176 B0 DEGREE SIGN + 261 177 B1 PLUS-MINUS SIGN + 262 178 B2 SUPERSCRIPT TWO + 263 179 B3 SUPERSCRIPT THREE + 264 180 B4 ACUTE ACCENT + 265 181 B5 MICRO SIGN + 266 182 B6 PILCROW SIGN + 267 183 B7 MIDDLE DOT + 270 184 B8 CEDILLA + 271 185 B9 SUPERSCRIPT ONE + 272 186 BA MASCULINE ORDINAL INDICATOR + 273 187 BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + 274 188 BC VULGAR FRACTION ONE QUARTER + 275 189 BD VULGAR FRACTION ONE HALF + 276 190 BE VULGAR FRACTION THREE QUARTERS + 277 191 BF INVERTED QUESTION MARK + 300 192 C0 LATIN CAPITAL LETTER A WITH GRAVE + 301 193 C1 LATIN CAPITAL LETTER A WITH ACUTE + 302 194 C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX + 303 195 C3 LATIN CAPITAL LETTER A WITH TILDE + 304 196 C4 LATIN CAPITAL LETTER A WITH DIAERESIS + 305 197 C5 LATIN CAPITAL LETTER A WITH RING ABOVE + 306 198 C6 LATIN CAPITAL LETTER AE + 307 199 C7 LATIN CAPITAL LETTER C WITH CEDILLA + 310 200 C8 LATIN CAPITAL LETTER E WITH GRAVE + 311 201 C9 LATIN CAPITAL LETTER E WITH ACUTE + 312 202 CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX + 313 203 CB LATIN CAPITAL LETTER E WITH DIAERESIS + 314 204 CC LATIN CAPITAL LETTER I WITH GRAVE + 315 205 CD LATIN CAPITAL LETTER I WITH ACUTE + 316 206 CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX + 317 207 CF LATIN CAPITAL LETTER I WITH DIAERESIS + 320 208 D0 LATIN CAPITAL LETTER ETH + 321 209 D1 LATIN CAPITAL LETTER N WITH TILDE + 322 210 D2 LATIN CAPITAL LETTER O WITH GRAVE + 323 211 D3 LATIN CAPITAL LETTER O WITH ACUTE + 324 212 D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX + 325 213 D5 LATIN CAPITAL LETTER O WITH TILDE + 326 214 D6 LATIN CAPITAL LETTER O WITH DIAERESIS + 327 215 D7 MULTIPLICATION SIGN + 330 216 D8 LATIN CAPITAL LETTER O WITH STROKE + 331 217 D9 LATIN CAPITAL LETTER U WITH GRAVE + 332 218 DA LATIN CAPITAL LETTER U WITH ACUTE + 333 219 DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX + 334 220 DC LATIN CAPITAL LETTER U WITH DIAERESIS + 335 221 DD LATIN CAPITAL LETTER Y WITH ACUTE + 336 222 DE LATIN CAPITAL LETTER THORN + 337 223 DF LATIN SMALL LETTER SHARP S + 340 224 E0 LATIN SMALL LETTER A WITH GRAVE + 341 225 E1 LATIN SMALL LETTER A WITH ACUTE + 342 226 E2 LATIN SMALL LETTER A WITH CIRCUMFLEX + 343 227 E3 LATIN SMALL LETTER A WITH TILDE + 344 228 E4 LATIN SMALL LETTER A WITH DIAERESIS + 345 229 E5 LATIN SMALL LETTER A WITH RING ABOVE + 346 230 E6 LATIN SMALL LETTER AE + 347 231 E7 LATIN SMALL LETTER C WITH CEDILLA + 350 232 E8 LATIN SMALL LETTER E WITH GRAVE + 351 233 E9 LATIN SMALL LETTER E WITH ACUTE + 352 234 EA LATIN SMALL LETTER E WITH CIRCUMFLEX + 353 235 EB LATIN SMALL LETTER E WITH DIAERESIS + 354 236 EC LATIN SMALL LETTER I WITH GRAVE + 355 237 ED LATIN SMALL LETTER I WITH ACUTE + 356 238 EE LATIN SMALL LETTER I WITH CIRCUMFLEX + 357 239 EF LATIN SMALL LETTER I WITH DIAERESIS + 360 240 F0 LATIN SMALL LETTER ETH + 361 241 F1 LATIN SMALL LETTER N WITH TILDE + 362 242 F2 LATIN SMALL LETTER O WITH GRAVE + 363 243 F3 LATIN SMALL LETTER O WITH ACUTE + 364 244 F4 LATIN SMALL LETTER O WITH CIRCUMFLEX + 365 245 F5 LATIN SMALL LETTER O WITH TILDE + 366 246 F6 LATIN SMALL LETTER O WITH DIAERESIS + 367 247 F7 DIVISION SIGN + 370 248 F8 LATIN SMALL LETTER O WITH STROKE + 371 249 F9 LATIN SMALL LETTER U WITH GRAVE + 372 250 FA LATIN SMALL LETTER U WITH ACUTE + 373 251 FB LATIN SMALL LETTER U WITH CIRCUMFLEX + 374 252 FC LATIN SMALL LETTER U WITH DIAERESIS + 375 253 FD LATIN SMALL LETTER Y WITH ACUTE + 376 254 FE LATIN SMALL LETTER THORN + 377 255 FF LATIN SMALL LETTER Y WITH DIAERESIS + + diff --git a/result/noent/isolat2.sax2 b/result/noent/isolat2.sax2 new file mode 100644 index 0000000..0ac3f56 --- /dev/null +++ b/result/noent/isolat2.sax2 @@ -0,0 +1,35 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(tst, NULL, NULL, 0, 0, 0) +SAX.characters( + + The following table d, 345) +SAX.characters(¡ INVERTED EXCLAMATION MA, 300) +SAX.characters( 250 168 A8 ¨ , 300) +SAX.characters(SOFT HYPHEN + 256 174 , 300) +SAX.characters( 264 180 B4 ´ AC, 300) +SAX.characters(SCULINE ORDINAL INDICATOR + , 300) +SAX.characters(1 BF ¿ INVERTED QUE, 300) +SAX.characters( A WITH TILDE + 304 196, 300) +SAX.characters( C8 È LATIN CAPITAL , 300) +SAX.characters(APITAL LETTER I WITH GRAVE + , 300) +SAX.characters( 321 209 D1 Ñ LA, 300) +SAX.characters( LATIN CAPITAL LETTER O WITH T, 300) +SAX.characters( 332 218 DA Ú LAT, 300) +SAX.characters( LATIN CAPITAL LETTER THORN, 300) +SAX.characters(3 227 E3 ã LATIN , 300) +SAX.characters(R C WITH CEDILLA + 350 , 300) +SAX.characters(36 EC ì LATIN SMALL, 300) +SAX.characters(LETTER ETH + 361 241 , 300) +SAX.characters( õ LATIN SMALL LETTER O , 300) +SAX.characters( 250 FA ú LATIN SMA, 300) +SAX.characters(L LETTER THORN + 377 25, 85) +SAX.endElementNs(tst, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/isolat3 b/result/noent/isolat3 new file mode 100644 index 0000000..1abf7b4 --- /dev/null +++ b/result/noent/isolat3 @@ -0,0 +1,10 @@ + + + + +]]> +then the replacement text for the entity "book" is: +La Peste: Albert Camus, + 1947 ditions Gallimard. &rights; + diff --git a/result/noent/isolat3.sax2 b/result/noent/isolat3.sax2 new file mode 100644 index 0000000..31296af --- /dev/null +++ b/result/noent/isolat3.sax2 @@ -0,0 +1,29 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(rec, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(eg, NULL, NULL, 0, 0, 0) +SAX.pcdata( +<入力メッセージ xmlns="http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826"> + + diff --git a/result/noent/japancrlf.xml.sax2 b/result/noent/japancrlf.xml.sax2 new file mode 100644 index 0000000..878eae4 --- /dev/null +++ b/result/noent/japancrlf.xml.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(入力メッセージ, NULL, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 1, xmlns='http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 0, 0) +SAX.characters( + , 2) +SAX.startElementNs(Ele, c8c, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 1, xmlns:c8c='http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 0, 0) +SAX.endElementNs(Ele, c8c, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826') +SAX.characters( +, 1) +SAX.endElementNs(入力メッセージ, NULL, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826') +SAX.endDocument() diff --git a/result/noent/ns b/result/noent/ns new file mode 100644 index 0000000..94b927e --- /dev/null +++ b/result/noent/ns @@ -0,0 +1,4 @@ + + + + diff --git a/result/noent/ns.sax2 b/result/noent/ns.sax2 new file mode 100644 index 0000000..c615db3 --- /dev/null +++ b/result/noent/ns.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, dia:testattr='test...', 4) +SAX.endElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( +, 1) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/result/noent/ns2 b/result/noent/ns2 new file mode 100644 index 0000000..b69ad82 --- /dev/null +++ b/result/noent/ns2 @@ -0,0 +1,2 @@ + + diff --git a/result/noent/ns2.sax2 b/result/noent/ns2.sax2 new file mode 100644 index 0000000..fc8d6f4 --- /dev/null +++ b/result/noent/ns2.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 1, 0, dia:testattr='test...', 4) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/result/noent/ns3 b/result/noent/ns3 new file mode 100644 index 0000000..b69ad82 --- /dev/null +++ b/result/noent/ns3 @@ -0,0 +1,2 @@ + + diff --git a/result/noent/ns3.sax2 b/result/noent/ns3.sax2 new file mode 100644 index 0000000..fc8d6f4 --- /dev/null +++ b/result/noent/ns3.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 1, 0, dia:testattr='test...', 4) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/result/noent/ns4 b/result/noent/ns4 new file mode 100644 index 0000000..136bf92 --- /dev/null +++ b/result/noent/ns4 @@ -0,0 +1,2 @@ + + diff --git a/result/noent/ns4.sax2 b/result/noent/ns4.sax2 new file mode 100644 index 0000000..e31cc56 --- /dev/null +++ b/result/noent/ns4.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, NULL, NULL, 0, 4, 0, testattr='test...', 4, xml:lang='en" ...', 2, xml:link='simp...', 6, xml:space='pres...', 8) +SAX.endElementNs(diagram, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/ns5 b/result/noent/ns5 new file mode 100644 index 0000000..0afe4e2 --- /dev/null +++ b/result/noent/ns5 @@ -0,0 +1,4 @@ + + + + diff --git a/result/noent/ns5.sax2 b/result/noent/ns5.sax2 new file mode 100644 index 0000000..a434d6b --- /dev/null +++ b/result/noent/ns5.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(element, NULL, 'http://example.org/ns/1', 2, xmlns:rng='http://example.org/ns/1', xmlns='http://example.org/ns/1', 1, 0, name='foo"...', 3) +SAX.characters( + , 3) +SAX.startElementNs(empty, NULL, 'http://example.org/ns/1', 0, 0, 0) +SAX.endElementNs(empty, NULL, 'http://example.org/ns/1') +SAX.characters( +, 1) +SAX.endElementNs(element, NULL, 'http://example.org/ns/1') +SAX.endDocument() diff --git a/result/noent/ns6 b/result/noent/ns6 new file mode 100644 index 0000000..c971252 --- /dev/null +++ b/result/noent/ns6 @@ -0,0 +1,5 @@ + + + + + diff --git a/result/noent/ns6.sax2 b/result/noent/ns6.sax2 new file mode 100644 index 0000000..7b54552 --- /dev/null +++ b/result/noent/ns6.sax2 @@ -0,0 +1,15 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(root, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(foo, NULL, 'http://abc', 1, xmlns='http://abc', 0, 0) +SAX.endElementNs(foo, NULL, 'http://abc') +SAX.characters( + , 3) +SAX.startElementNs(bar, NULL, NULL, 0, 0, 0) +SAX.endElementNs(bar, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(root, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/ns7 b/result/noent/ns7 new file mode 100644 index 0000000..b5089e1 --- /dev/null +++ b/result/noent/ns7 @@ -0,0 +1,2 @@ + + diff --git a/result/noent/ns7.sax2 b/result/noent/ns7.sax2 new file mode 100644 index 0000000..2a2c714 --- /dev/null +++ b/result/noent/ns7.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(test, xml, 'http://www.w3.org/XML/1998/namespace', 0, 0, 0) +SAX.endElementNs(test, xml, 'http://www.w3.org/XML/1998/namespace') +SAX.endDocument() diff --git a/result/noent/nsclean.xml b/result/noent/nsclean.xml new file mode 100644 index 0000000..8f1ea82 --- /dev/null +++ b/result/noent/nsclean.xml @@ -0,0 +1,5 @@ + +
    + + +
    diff --git a/result/noent/nsclean.xml.sax2 b/result/noent/nsclean.xml.sax2 new file mode 100644 index 0000000..d443e2b --- /dev/null +++ b/result/noent/nsclean.xml.sax2 @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(article, NULL, 'tag:foofoofoofoofoofoofoofoo', 3, xmlns='tag:foofoofoofoofoofoofoofoo', xmlns:dc='http://purl.org/dc/elements/1.1/', xmlns:dcterms='http://purl.org/dc/terms/', 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(content, foop, 'tag:foofoofoofoofoofoofoofoo', 2, xmlns='http://www.w3.org/1999/xhtml', xmlns:foop='tag:foofoofoofoofoofoofoofoo', 0, 0) +SAX.characters( +, 1) +SAX.endElementNs(content, foop, 'tag:foofoofoofoofoofoofoofoo') +SAX.characters( +, 1) +SAX.endElementNs(article, NULL, 'tag:foofoofoofoofoofoofoofoo') +SAX.endDocument() diff --git a/result/noent/p3p b/result/noent/p3p new file mode 100644 index 0000000..31d5587 --- /dev/null +++ b/result/noent/p3p @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/result/noent/p3p.sax2 b/result/noent/p3p.sax2 new file mode 100644 index 0000000..6815789 --- /dev/null +++ b/result/noent/p3p.sax2 @@ -0,0 +1,65 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 2, xmlns:p3p='http://www.w3.org/TR/1998/WD-P3P10-syntax#proposal.DTD', xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#', 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(PROP, NULL, NULL, 0, 4, 0, realm='http...', 37, entity='Cool...', 11, agreeID='94df...', 16, assurance='http...', 22) +SAX.characters( + , 3) +SAX.startElementNs(USES, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(STATEMENT, NULL, NULL, 0, 4, 0, purp='2,3"...', 3, recpnt='0" i...', 1, id='0" + ...', 1, consq='a si...', 37) +SAX.characters( + , 5) +SAX.startElementNs(WITH, NULL, NULL, 0, 0, 0) +SAX.startElementNs(PREFIX, NULL, NULL, 0, 1, 0, name='User...', 5) +SAX.characters( + , 6) +SAX.startElementNs(REF, NULL, NULL, 0, 1, 0, name='Name...', 10) +SAX.endElementNs(REF, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(REF, NULL, NULL, 0, 2, 0, name='Bdat...', 10, optional='1"/>...', 1) +SAX.endElementNs(REF, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(REF, NULL, NULL, 0, 1, 0, name='Gend...', 6) +SAX.endElementNs(REF, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(PREFIX, NULL, NULL) +SAX.endElementNs(WITH, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(STATEMENT, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(USES, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(USES, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(STATEMENT, NULL, NULL, 0, 4, 0, action='read...', 10, purp='0" r...', 1, recpnt='0" i...', 1, id='1"> +...', 1) +SAX.characters( + , 5) +SAX.startElementNs(REF, NULL, NULL, 0, 1, 0, name='User...', 14) +SAX.endElementNs(REF, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(STATEMENT, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(USES, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(DISCLOSURE, NULL, NULL, 0, 3, 0, discURI='http...', 47, access='3" o...', 1, other='0,1"...', 3) +SAX.endElementNs(DISCLOSURE, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(PROP, NULL, NULL) +SAX.endElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.endDocument() diff --git a/result/noent/pi.xml b/result/noent/pi.xml new file mode 100644 index 0000000..48c7ff0 --- /dev/null +++ b/result/noent/pi.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/result/noent/pi.xml.sax2 b/result/noent/pi.xml.sax2 new file mode 100644 index 0000000..a4490ea --- /dev/null +++ b/result/noent/pi.xml.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.processingInstruction(document-start, doc) +SAX.characters( +, 1) +SAX.startElementNs(empty, NULL, NULL, 0, 0, 0) +SAX.endElementNs(empty, NULL, NULL) +SAX.characters( +, 1) +SAX.processingInstruction(document-end, doc) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/pi2.xml b/result/noent/pi2.xml new file mode 100644 index 0000000..710d51c --- /dev/null +++ b/result/noent/pi2.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/result/noent/pi2.xml.sax2 b/result/noent/pi2.xml.sax2 new file mode 100644 index 0000000..1e6caad --- /dev/null +++ b/result/noent/pi2.xml.sax2 @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.processingInstruction(document-start, doc) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(empty, NULL, NULL, 0, 0, 0) +SAX.endElementNs(empty, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.processingInstruction(document-end, doc) +SAX.endDocument() diff --git a/result/noent/rdf1 b/result/noent/rdf1 new file mode 100644 index 0000000..d44c3c6 --- /dev/null +++ b/result/noent/rdf1 @@ -0,0 +1,81 @@ + + + + rpm + 2.5 + 2 + i386 + Linux + Manhattan + Red Hat Software + Red Hat Software <bugs@redhat.com> + Utilities/System + Red Hat Package Manager + RPM is a powerful package manager, which can be used to build, install, +query, verify, update, and uninstall individual software packages. A +package consists of an archive of files, and package information, including +name, version, and description. + GPL + * Sun May 10 1998 Prospector System <bugs@redhat.com> + - translations modified for de, fr, tr + + rpm-2.5-2.src.rpm + ftp://ftp.redhat.com/pub/redhat/redhat-5.1/SRPMS + Sun May 10 14:52:32 1998 + 894826352 + 850599 + porky.redhat.com + + + rpm + + + + + /bin/sh + ld-linux.so.2 + libc.so.6 + libdb.so.2 + libz.so.1 + /bin/bash + /bin/sh + + + /bin/rpm +/usr/bin/find-provides +/usr/bin/find-requires +/usr/bin/gendiff +/usr/bin/rpm2cpio +/usr/doc/rpm-2.5 +/usr/doc/rpm-2.5/CHANGES +/usr/doc/rpm-2.5/RPM-PGP-KEY +/usr/doc/rpm-2.5/buildroot +/usr/doc/rpm-2.5/dependencies +/usr/doc/rpm-2.5/format +/usr/doc/rpm-2.5/groups +/usr/doc/rpm-2.5/macros +/usr/doc/rpm-2.5/queryformat +/usr/doc/rpm-2.5/relocatable +/usr/doc/rpm-2.5/signatures +/usr/doc/rpm-2.5/spec +/usr/doc/rpm-2.5/triggers +/usr/lib/rpmpopt +/usr/lib/rpmrc +/usr/man/man8/rpm.8 +/usr/man/man8/rpm2cpio.8 +/usr/share/locale/de/LC_MESSAGES/rpm.mo +/usr/share/locale/fr/LC_MESSAGES/rpm.mo +/usr/share/locale/pt-br/LC_MESSAGES/rpm.mo +/usr/share/locale/sv/LC_MESSAGES/rpm.mo +/usr/share/locale/tr/LC_MESSAGES/rpm.mo +/usr/src/redhat +/usr/src/redhat/BUILD +/usr/src/redhat/RPMS +/usr/src/redhat/RPMS/i386 +/usr/src/redhat/RPMS/noarch +/usr/src/redhat/SOURCES +/usr/src/redhat/SPECS +/usr/src/redhat/SRPMS + + + diff --git a/result/noent/rdf1.sax2 b/result/noent/rdf1.sax2 new file mode 100644 index 0000000..24822e1 --- /dev/null +++ b/result/noent/rdf1.sax2 @@ -0,0 +1,186 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 2, xmlns:RPM='http://www.rpm.org/', xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 1, 0, HREF='ftp:...', 78) +SAX.characters( + , 5) +SAX.startElementNs(Name, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(rpm, 3) +SAX.endElementNs(Name, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Version, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(2.5, 3) +SAX.endElementNs(Version, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Release, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(2, 1) +SAX.endElementNs(Release, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Arch, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(i386, 4) +SAX.endElementNs(Arch, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Os, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Linux, 5) +SAX.endElementNs(Os, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Distribution, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Manhattan , 10) +SAX.endElementNs(Distribution, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Vendor, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Red Hat Software, 16) +SAX.endElementNs(Vendor, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Packager, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Red Hat Software , 17) +SAX.characters(<, 1) +SAX.characters(bugs@redhat.com, 15) +SAX.characters(>, 1) +SAX.endElementNs(Packager, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Group, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Utilities/System, 16) +SAX.endElementNs(Group, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Summary, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Red Hat Package Manager, 23) +SAX.endElementNs(Summary, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Description, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(RPM is a powerful package mana, 248) +SAX.endElementNs(Description, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Copyright, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(GPL, 3) +SAX.endElementNs(Copyright, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Changelog, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(* Sun May 10 1998 Prospector S, 36) +SAX.characters(<, 1) +SAX.characters(bugs@redhat.com, 15) +SAX.characters(>, 1) +SAX.characters( + - translations modified for, 42) +SAX.endElementNs(Changelog, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Sources, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(rpm-2.5-2.src.rpm, 17) +SAX.endElementNs(Sources, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(SourcesFtp, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(ftp://ftp.redhat.com/pub/redha, 48) +SAX.endElementNs(SourcesFtp, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(BuildDate, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Sun May 10 14:52:32 1998, 24) +SAX.endElementNs(BuildDate, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Date, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(894826352, 9) +SAX.endElementNs(Date, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Size, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(850599, 6) +SAX.endElementNs(Size, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(BuildHost, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(porky.redhat.com, 16) +SAX.endElementNs(BuildHost, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Provides, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(rpm, 3) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 7) +SAX.endElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( + , 5) +SAX.endElementNs(Provides, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Requires, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/bin/sh, 7) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(ld-linux.so.2, 13) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(libc.so.6, 9) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(libdb.so.2, 10) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(libz.so.1, 9) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/bin/bash, 9) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/bin/sh, 7) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 7) +SAX.endElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( + , 5) +SAX.endElementNs(Requires, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Files, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/bin/rpm +/usr/bin/find-provide, 885) +SAX.endElementNs(Files, RPM, 'http://www.rpm.org/') +SAX.characters( + , 3) +SAX.endElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( +, 1) +SAX.endElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.endDocument() diff --git a/result/noent/rdf2 b/result/noent/rdf2 new file mode 100644 index 0000000..284946b --- /dev/null +++ b/result/noent/rdf2 @@ -0,0 +1,1899 @@ + + + + ncurses4 + 4.2 + 3 + i386 + Linux + DLD + delix Computer GmbH + Till Bubeck <bubeck@delix.de>, Ngo Than <than@delix.de> + Libraries + Bibliothek zur Ansteuerung von Terminals + Diese Library stellt dem Programmierer vom Terminal unabhängige +Routinen zur Ansteuerung Ihres Bildschirms zur Verfügung, die +speziell optimiert sind. +Diese Version ist die 'new curses' (ncurses) Variante und ist der +anerkannte Ersatz für die klassische Curses-Library, die nicht mehr +weiterentwickelt wird. + GPL + ncurses4-4.2-3.src.rpm + Tue May 12 19:30:26 1998 + 895015826 + 1373513 + erdbeere.delix.de + + + ncurses4 + libpanel.so.4 + libncurses.so.4 + libmenu.so.4 + libform.so.4 + ncurses + + + /lib/libncurses.so.4 +/lib/libncurses.so.4.2 +/usr/doc/ncurses4-4.2-3 +/usr/doc/ncurses4-4.2-3/ANNOUNCE.gz +/usr/doc/ncurses4-4.2-3/NEWS.gz +/usr/doc/ncurses4-4.2-3/README.gz +/usr/doc/ncurses4-4.2-3/TO-DO.gz +/usr/lib/libform.so.4 +/usr/lib/libform.so.4.2 +/usr/lib/libmenu.so.4 +/usr/lib/libmenu.so.4.2 +/usr/lib/libpanel.so.4 +/usr/lib/libpanel.so.4.2 +/usr/share/ncurses4 +/usr/share/ncurses4/tabset +/usr/share/ncurses4/tabset/std +/usr/share/ncurses4/tabset/stdcrt +/usr/share/ncurses4/tabset/vt100 +/usr/share/ncurses4/tabset/vt300 +/usr/share/ncurses4/terminfo +/usr/share/ncurses4/terminfo/1 +/usr/share/ncurses4/terminfo/1/1178 +/usr/share/ncurses4/terminfo/1/1730-lm +/usr/share/ncurses4/terminfo/2 +/usr/share/ncurses4/terminfo/2/2621 +/usr/share/ncurses4/terminfo/2/2621-wl +/usr/share/ncurses4/terminfo/2/2621A +/usr/share/ncurses4/terminfo/2/2621a +/usr/share/ncurses4/terminfo/3 +/usr/share/ncurses4/terminfo/3/386at +/usr/share/ncurses4/terminfo/3/3b1 +/usr/share/ncurses4/terminfo/4 +/usr/share/ncurses4/terminfo/4/4025ex +/usr/share/ncurses4/terminfo/4/4027ex +/usr/share/ncurses4/terminfo/4/4410-w +/usr/share/ncurses4/terminfo/5 +/usr/share/ncurses4/terminfo/5/5051 +/usr/share/ncurses4/terminfo/5/5410-w +/usr/share/ncurses4/terminfo/5/5620 +/usr/share/ncurses4/terminfo/5/5630-24 +/usr/share/ncurses4/terminfo/5/5630DMD-24 +/usr/share/ncurses4/terminfo/6 +/usr/share/ncurses4/terminfo/6/630-lm +/usr/share/ncurses4/terminfo/6/630MTG-24 +/usr/share/ncurses4/terminfo/7 +/usr/share/ncurses4/terminfo/7/730MTG-24 +/usr/share/ncurses4/terminfo/7/730MTG-41 +/usr/share/ncurses4/terminfo/7/730MTG-41r +/usr/share/ncurses4/terminfo/7/730MTGr +/usr/share/ncurses4/terminfo/7/730MTGr-24 +/usr/share/ncurses4/terminfo/8 +/usr/share/ncurses4/terminfo/8/8510 +/usr/share/ncurses4/terminfo/9 +/usr/share/ncurses4/terminfo/9/955-hb +/usr/share/ncurses4/terminfo/9/955-w +/usr/share/ncurses4/terminfo/P +/usr/share/ncurses4/terminfo/P/P12 +/usr/share/ncurses4/terminfo/P/P12-M +/usr/share/ncurses4/terminfo/P/P12-M-W +/usr/share/ncurses4/terminfo/P/P12-W +/usr/share/ncurses4/terminfo/P/P14 +/usr/share/ncurses4/terminfo/P/P14-M +/usr/share/ncurses4/terminfo/P/P14-M-W +/usr/share/ncurses4/terminfo/P/P14-W +/usr/share/ncurses4/terminfo/P/P4 +/usr/share/ncurses4/terminfo/P/P5 +/usr/share/ncurses4/terminfo/P/P7 +/usr/share/ncurses4/terminfo/P/P8 +/usr/share/ncurses4/terminfo/P/P8-W +/usr/share/ncurses4/terminfo/P/P9 +/usr/share/ncurses4/terminfo/P/P9-8 +/usr/share/ncurses4/terminfo/P/P9-8-W +/usr/share/ncurses4/terminfo/P/P9-W +/usr/share/ncurses4/terminfo/X +/usr/share/ncurses4/terminfo/X/X-hpterm +/usr/share/ncurses4/terminfo/a +/usr/share/ncurses4/terminfo/a/a210 +/usr/share/ncurses4/terminfo/a/a80 +/usr/share/ncurses4/terminfo/a/a980 +/usr/share/ncurses4/terminfo/a/aa4080 +/usr/share/ncurses4/terminfo/a/aaa +/usr/share/ncurses4/terminfo/a/aaa+dec +/usr/share/ncurses4/terminfo/a/aaa+rv +/usr/share/ncurses4/terminfo/a/aaa+unk +/usr/share/ncurses4/terminfo/a/aaa-18 +/usr/share/ncurses4/terminfo/a/aaa-18-rv +/usr/share/ncurses4/terminfo/a/aaa-20 +/usr/share/ncurses4/terminfo/a/aaa-22 +/usr/share/ncurses4/terminfo/a/aaa-24 +/usr/share/ncurses4/terminfo/a/aaa-24-rv +/usr/share/ncurses4/terminfo/a/aaa-26 +/usr/share/ncurses4/terminfo/a/aaa-28 +/usr/share/ncurses4/terminfo/a/aaa-30 +/usr/share/ncurses4/terminfo/a/aaa-30-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-rv +/usr/share/ncurses4/terminfo/a/aaa-30-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-s +/usr/share/ncurses4/terminfo/a/aaa-30-s-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-s-rv +/usr/share/ncurses4/terminfo/a/aaa-30-s-rv-ct +/usr/share/ncurses4/terminfo/a/aaa-36 +/usr/share/ncurses4/terminfo/a/aaa-36-rv +/usr/share/ncurses4/terminfo/a/aaa-40 +/usr/share/ncurses4/terminfo/a/aaa-40-rv +/usr/share/ncurses4/terminfo/a/aaa-48 +/usr/share/ncurses4/terminfo/a/aaa-48-rv +/usr/share/ncurses4/terminfo/a/aaa-60 +/usr/share/ncurses4/terminfo/a/aaa-60-dec-rv +/usr/share/ncurses4/terminfo/a/aaa-60-rv +/usr/share/ncurses4/terminfo/a/aaa-60-s +/usr/share/ncurses4/terminfo/a/aaa-60-s-rv +/usr/share/ncurses4/terminfo/a/aaa-ctxt +/usr/share/ncurses4/terminfo/a/aaa-db +/usr/share/ncurses4/terminfo/a/aaa-rv +/usr/share/ncurses4/terminfo/a/aaa-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-rv-unk +/usr/share/ncurses4/terminfo/a/aaa-s +/usr/share/ncurses4/terminfo/a/aaa-s-ctxt +/usr/share/ncurses4/terminfo/a/aaa-s-rv +/usr/share/ncurses4/terminfo/a/aaa-s-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-unk +/usr/share/ncurses4/terminfo/a/aas1901 +/usr/share/ncurses4/terminfo/a/abm80 +/usr/share/ncurses4/terminfo/a/abm85 +/usr/share/ncurses4/terminfo/a/abm85e +/usr/share/ncurses4/terminfo/a/abm85h +/usr/share/ncurses4/terminfo/a/abm85h-old +/usr/share/ncurses4/terminfo/a/act4 +/usr/share/ncurses4/terminfo/a/act5 +/usr/share/ncurses4/terminfo/a/addrinfo +/usr/share/ncurses4/terminfo/a/adds980 +/usr/share/ncurses4/terminfo/a/addsviewpoint +/usr/share/ncurses4/terminfo/a/addsvp60 +/usr/share/ncurses4/terminfo/a/adm+sgr +/usr/share/ncurses4/terminfo/a/adm1 +/usr/share/ncurses4/terminfo/a/adm11 +/usr/share/ncurses4/terminfo/a/adm1178 +/usr/share/ncurses4/terminfo/a/adm12 +/usr/share/ncurses4/terminfo/a/adm1a +/usr/share/ncurses4/terminfo/a/adm2 +/usr/share/ncurses4/terminfo/a/adm20 +/usr/share/ncurses4/terminfo/a/adm21 +/usr/share/ncurses4/terminfo/a/adm22 +/usr/share/ncurses4/terminfo/a/adm3 +/usr/share/ncurses4/terminfo/a/adm31 +/usr/share/ncurses4/terminfo/a/adm31-old +/usr/share/ncurses4/terminfo/a/adm36 +/usr/share/ncurses4/terminfo/a/adm3a +/usr/share/ncurses4/terminfo/a/adm3a+ +/usr/share/ncurses4/terminfo/a/adm42 +/usr/share/ncurses4/terminfo/a/adm42-ns +/usr/share/ncurses4/terminfo/a/adm5 +/usr/share/ncurses4/terminfo/a/aepro +/usr/share/ncurses4/terminfo/a/aixterm-m +/usr/share/ncurses4/terminfo/a/aixterm-m-old +/usr/share/ncurses4/terminfo/a/aj +/usr/share/ncurses4/terminfo/a/aj510 +/usr/share/ncurses4/terminfo/a/aj830 +/usr/share/ncurses4/terminfo/a/aj832 +/usr/share/ncurses4/terminfo/a/alt2 +/usr/share/ncurses4/terminfo/a/alt3 +/usr/share/ncurses4/terminfo/a/alt4 +/usr/share/ncurses4/terminfo/a/alt5 +/usr/share/ncurses4/terminfo/a/alt7 +/usr/share/ncurses4/terminfo/a/alt7pc +/usr/share/ncurses4/terminfo/a/alto-h19 +/usr/share/ncurses4/terminfo/a/alto-heath +/usr/share/ncurses4/terminfo/a/altoh19 +/usr/share/ncurses4/terminfo/a/altoheath +/usr/share/ncurses4/terminfo/a/altos-2 +/usr/share/ncurses4/terminfo/a/altos-3 +/usr/share/ncurses4/terminfo/a/altos-4 +/usr/share/ncurses4/terminfo/a/altos-5 +/usr/share/ncurses4/terminfo/a/altos2 +/usr/share/ncurses4/terminfo/a/altos3 +/usr/share/ncurses4/terminfo/a/altos4 +/usr/share/ncurses4/terminfo/a/altos5 +/usr/share/ncurses4/terminfo/a/altos7 +/usr/share/ncurses4/terminfo/a/altos7pc +/usr/share/ncurses4/terminfo/a/ambas +/usr/share/ncurses4/terminfo/a/ambassador +/usr/share/ncurses4/terminfo/a/amiga +/usr/share/ncurses4/terminfo/a/amiga-h +/usr/share/ncurses4/terminfo/a/amp219 +/usr/share/ncurses4/terminfo/a/amp219w +/usr/share/ncurses4/terminfo/a/ampex-219 +/usr/share/ncurses4/terminfo/a/ampex-219w +/usr/share/ncurses4/terminfo/a/ampex-232 +/usr/share/ncurses4/terminfo/a/ampex175 +/usr/share/ncurses4/terminfo/a/ampex175-b +/usr/share/ncurses4/terminfo/a/ampex210 +/usr/share/ncurses4/terminfo/a/ampex219 +/usr/share/ncurses4/terminfo/a/ampex219w +/usr/share/ncurses4/terminfo/a/ampex232 +/usr/share/ncurses4/terminfo/a/ampex232w +/usr/share/ncurses4/terminfo/a/ampex80 +/usr/share/ncurses4/terminfo/a/annarbor4080 +/usr/share/ncurses4/terminfo/a/ansi +/usr/share/ncurses4/terminfo/a/ansi-color-2-emx +/usr/share/ncurses4/terminfo/a/ansi-color-3-emx +/usr/share/ncurses4/terminfo/a/ansi-emx +/usr/share/ncurses4/terminfo/a/ansi-m +/usr/share/ncurses4/terminfo/a/ansi-mini +/usr/share/ncurses4/terminfo/a/ansi-mono +/usr/share/ncurses4/terminfo/a/ansi-nt +/usr/share/ncurses4/terminfo/a/ansi.sys +/usr/share/ncurses4/terminfo/a/ansi.sys-old +/usr/share/ncurses4/terminfo/a/ansi.sysk +/usr/share/ncurses4/terminfo/a/ansi43m +/usr/share/ncurses4/terminfo/a/ansi77 +/usr/share/ncurses4/terminfo/a/ansi80x25 +/usr/share/ncurses4/terminfo/a/ansi80x25-mono +/usr/share/ncurses4/terminfo/a/ansi80x25-raw +/usr/share/ncurses4/terminfo/a/ansi80x30 +/usr/share/ncurses4/terminfo/a/ansi80x30-mono +/usr/share/ncurses4/terminfo/a/ansi80x43 +/usr/share/ncurses4/terminfo/a/ansi80x43-mono +/usr/share/ncurses4/terminfo/a/ansi80x50 +/usr/share/ncurses4/terminfo/a/ansi80x50-mono +/usr/share/ncurses4/terminfo/a/ansi80x60 +/usr/share/ncurses4/terminfo/a/ansi80x60-mono +/usr/share/ncurses4/terminfo/a/ansil +/usr/share/ncurses4/terminfo/a/ansil-mono +/usr/share/ncurses4/terminfo/a/ansis +/usr/share/ncurses4/terminfo/a/ansis-mono +/usr/share/ncurses4/terminfo/a/ansisysk +/usr/share/ncurses4/terminfo/a/ansiw +/usr/share/ncurses4/terminfo/a/ap-vm80 +/usr/share/ncurses4/terminfo/a/apl +/usr/share/ncurses4/terminfo/a/apollo +/usr/share/ncurses4/terminfo/a/apollo_15P +/usr/share/ncurses4/terminfo/a/apollo_19L +/usr/share/ncurses4/terminfo/a/apollo_color +/usr/share/ncurses4/terminfo/a/apple-80 +/usr/share/ncurses4/terminfo/a/apple-ae +/usr/share/ncurses4/terminfo/a/apple-soroc +/usr/share/ncurses4/terminfo/a/apple-uterm +/usr/share/ncurses4/terminfo/a/apple-uterm-vb +/usr/share/ncurses4/terminfo/a/apple-videx +/usr/share/ncurses4/terminfo/a/apple-videx2 +/usr/share/ncurses4/terminfo/a/apple-videx3 +/usr/share/ncurses4/terminfo/a/apple-vm80 +/usr/share/ncurses4/terminfo/a/apple2e +/usr/share/ncurses4/terminfo/a/apple2e-p +/usr/share/ncurses4/terminfo/a/apple80p +/usr/share/ncurses4/terminfo/a/appleII +/usr/share/ncurses4/terminfo/a/appleIIc +/usr/share/ncurses4/terminfo/a/appleIIe +/usr/share/ncurses4/terminfo/a/appleIIgs +/usr/share/ncurses4/terminfo/a/at386 +/usr/share/ncurses4/terminfo/a/atari +/usr/share/ncurses4/terminfo/a/att2300 +/usr/share/ncurses4/terminfo/a/att2350 +/usr/share/ncurses4/terminfo/a/att4410 +/usr/share/ncurses4/terminfo/a/att4410-w +/usr/share/ncurses4/terminfo/a/att4410v1 +/usr/share/ncurses4/terminfo/a/att4410v1-w +/usr/share/ncurses4/terminfo/a/att4415 +/usr/share/ncurses4/terminfo/a/att4415+nl +/usr/share/ncurses4/terminfo/a/att4415-nl +/usr/share/ncurses4/terminfo/a/att4415-rv +/usr/share/ncurses4/terminfo/a/att4415-rv-nl +/usr/share/ncurses4/terminfo/a/att4415-w +/usr/share/ncurses4/terminfo/a/att4415-w-nl +/usr/share/ncurses4/terminfo/a/att4415-w-rv +/usr/share/ncurses4/terminfo/a/att4415-w-rv-n +/usr/share/ncurses4/terminfo/a/att4418 +/usr/share/ncurses4/terminfo/a/att4418-w +/usr/share/ncurses4/terminfo/a/att4420 +/usr/share/ncurses4/terminfo/a/att4424 +/usr/share/ncurses4/terminfo/a/att4424-1 +/usr/share/ncurses4/terminfo/a/att4424m +/usr/share/ncurses4/terminfo/a/att4425 +/usr/share/ncurses4/terminfo/a/att4425-nl +/usr/share/ncurses4/terminfo/a/att4425-w +/usr/share/ncurses4/terminfo/a/att4426 +/usr/share/ncurses4/terminfo/a/att500 +/usr/share/ncurses4/terminfo/a/att505 +/usr/share/ncurses4/terminfo/a/att505-24 +/usr/share/ncurses4/terminfo/a/att510a +/usr/share/ncurses4/terminfo/a/att510d +/usr/share/ncurses4/terminfo/a/att513 +/usr/share/ncurses4/terminfo/a/att5310 +/usr/share/ncurses4/terminfo/a/att5320 +/usr/share/ncurses4/terminfo/a/att5410 +/usr/share/ncurses4/terminfo/a/att5410-w +/usr/share/ncurses4/terminfo/a/att5410v1 +/usr/share/ncurses4/terminfo/a/att5410v1-w +/usr/share/ncurses4/terminfo/a/att5418 +/usr/share/ncurses4/terminfo/a/att5418-w +/usr/share/ncurses4/terminfo/a/att5420 +/usr/share/ncurses4/terminfo/a/att5420+nl +/usr/share/ncurses4/terminfo/a/att5420-nl +/usr/share/ncurses4/terminfo/a/att5420-rv +/usr/share/ncurses4/terminfo/a/att5420-rv-nl +/usr/share/ncurses4/terminfo/a/att5420-w +/usr/share/ncurses4/terminfo/a/att5420-w-nl +/usr/share/ncurses4/terminfo/a/att5420-w-rv +/usr/share/ncurses4/terminfo/a/att5420-w-rv-n +/usr/share/ncurses4/terminfo/a/att5420_2 +/usr/share/ncurses4/terminfo/a/att5420_2-w +/usr/share/ncurses4/terminfo/a/att5425 +/usr/share/ncurses4/terminfo/a/att5425-nl +/usr/share/ncurses4/terminfo/a/att5425-w +/usr/share/ncurses4/terminfo/a/att5430 +/usr/share/ncurses4/terminfo/a/att5620 +/usr/share/ncurses4/terminfo/a/att5620-1 +/usr/share/ncurses4/terminfo/a/att5620-24 +/usr/share/ncurses4/terminfo/a/att5620-34 +/usr/share/ncurses4/terminfo/a/att5620-s +/usr/share/ncurses4/terminfo/a/att605 +/usr/share/ncurses4/terminfo/a/att605-pc +/usr/share/ncurses4/terminfo/a/att605-w +/usr/share/ncurses4/terminfo/a/att610 +/usr/share/ncurses4/terminfo/a/att610-103k +/usr/share/ncurses4/terminfo/a/att610-103k-w +/usr/share/ncurses4/terminfo/a/att610-w +/usr/share/ncurses4/terminfo/a/att615 +/usr/share/ncurses4/terminfo/a/att615-103k +/usr/share/ncurses4/terminfo/a/att615-103k-w +/usr/share/ncurses4/terminfo/a/att615-w +/usr/share/ncurses4/terminfo/a/att620 +/usr/share/ncurses4/terminfo/a/att620-103k +/usr/share/ncurses4/terminfo/a/att620-103k-w +/usr/share/ncurses4/terminfo/a/att620-w +/usr/share/ncurses4/terminfo/a/att630 +/usr/share/ncurses4/terminfo/a/att630-24 +/usr/share/ncurses4/terminfo/a/att6386 +/usr/share/ncurses4/terminfo/a/att730 +/usr/share/ncurses4/terminfo/a/att730-24 +/usr/share/ncurses4/terminfo/a/att730-41 +/usr/share/ncurses4/terminfo/a/att7300 +/usr/share/ncurses4/terminfo/a/att730r +/usr/share/ncurses4/terminfo/a/att730r-24 +/usr/share/ncurses4/terminfo/a/att730r-41 +/usr/share/ncurses4/terminfo/a/avatar +/usr/share/ncurses4/terminfo/a/avatar0 +/usr/share/ncurses4/terminfo/a/avatar0+ +/usr/share/ncurses4/terminfo/a/avatar1 +/usr/share/ncurses4/terminfo/a/avt +/usr/share/ncurses4/terminfo/a/avt+s +/usr/share/ncurses4/terminfo/a/avt-ns +/usr/share/ncurses4/terminfo/a/avt-rv +/usr/share/ncurses4/terminfo/a/avt-rv-ns +/usr/share/ncurses4/terminfo/a/avt-rv-s +/usr/share/ncurses4/terminfo/a/avt-s +/usr/share/ncurses4/terminfo/a/avt-w +/usr/share/ncurses4/terminfo/a/avt-w-ns +/usr/share/ncurses4/terminfo/a/avt-w-rv +/usr/share/ncurses4/terminfo/a/avt-w-rv-ns +/usr/share/ncurses4/terminfo/a/avt-w-rv-s +/usr/share/ncurses4/terminfo/a/avt-w-s +/usr/share/ncurses4/terminfo/a/aws +/usr/share/ncurses4/terminfo/a/awsc +/usr/share/ncurses4/terminfo/b +/usr/share/ncurses4/terminfo/b/b-128 +/usr/share/ncurses4/terminfo/b/bantam +/usr/share/ncurses4/terminfo/b/basic4 +/usr/share/ncurses4/terminfo/b/basis +/usr/share/ncurses4/terminfo/b/bct510a +/usr/share/ncurses4/terminfo/b/bct510d +/usr/share/ncurses4/terminfo/b/beacon +/usr/share/ncurses4/terminfo/b/bee +/usr/share/ncurses4/terminfo/b/beehive +/usr/share/ncurses4/terminfo/b/beehive3 +/usr/share/ncurses4/terminfo/b/beehive4 +/usr/share/ncurses4/terminfo/b/beehiveIIIm +/usr/share/ncurses4/terminfo/b/beterm +/usr/share/ncurses4/terminfo/b/bg1.25 +/usr/share/ncurses4/terminfo/b/bg1.25nv +/usr/share/ncurses4/terminfo/b/bg1.25rv +/usr/share/ncurses4/terminfo/b/bg2.0 +/usr/share/ncurses4/terminfo/b/bg2.0nv +/usr/share/ncurses4/terminfo/b/bg2.0rv +/usr/share/ncurses4/terminfo/b/bg3.10 +/usr/share/ncurses4/terminfo/b/bg3.10nv +/usr/share/ncurses4/terminfo/b/bg3.10rv +/usr/share/ncurses4/terminfo/b/bh3m +/usr/share/ncurses4/terminfo/b/bh4 +/usr/share/ncurses4/terminfo/b/bitgraph +/usr/share/ncurses4/terminfo/b/blit +/usr/share/ncurses4/terminfo/b/bobcat +/usr/share/ncurses4/terminfo/b/bsdos +/usr/share/ncurses4/terminfo/b/bsdos-bold +/usr/share/ncurses4/terminfo/c +/usr/share/ncurses4/terminfo/c/c100 +/usr/share/ncurses4/terminfo/c/c100-1p +/usr/share/ncurses4/terminfo/c/c100-4p +/usr/share/ncurses4/terminfo/c/c100-rv +/usr/share/ncurses4/terminfo/c/c100-rv-4p +/usr/share/ncurses4/terminfo/c/c104 +/usr/share/ncurses4/terminfo/c/c108 +/usr/share/ncurses4/terminfo/c/c108-4p +/usr/share/ncurses4/terminfo/c/c108-8p +/usr/share/ncurses4/terminfo/c/c108-rv +/usr/share/ncurses4/terminfo/c/c108-rv-4p +/usr/share/ncurses4/terminfo/c/c108-rv-8p +/usr/share/ncurses4/terminfo/c/c108-w +/usr/share/ncurses4/terminfo/c/c108-w-8p +/usr/share/ncurses4/terminfo/c/c300 +/usr/share/ncurses4/terminfo/c/c301 +/usr/share/ncurses4/terminfo/c/c321 +/usr/share/ncurses4/terminfo/c/ca22851 +/usr/share/ncurses4/terminfo/c/cad68-2 +/usr/share/ncurses4/terminfo/c/cad68-3 +/usr/share/ncurses4/terminfo/c/cbblit +/usr/share/ncurses4/terminfo/c/cbunix +/usr/share/ncurses4/terminfo/c/cci +/usr/share/ncurses4/terminfo/c/cci1 +/usr/share/ncurses4/terminfo/c/cdc456 +/usr/share/ncurses4/terminfo/c/cdc721 +/usr/share/ncurses4/terminfo/c/cdc721-esc +/usr/share/ncurses4/terminfo/c/cdc721ll +/usr/share/ncurses4/terminfo/c/cdc752 +/usr/share/ncurses4/terminfo/c/cdc756 +/usr/share/ncurses4/terminfo/c/cg7900 +/usr/share/ncurses4/terminfo/c/cgc2 +/usr/share/ncurses4/terminfo/c/cgc3 +/usr/share/ncurses4/terminfo/c/chromatics +/usr/share/ncurses4/terminfo/c/ci8510 +/usr/share/ncurses4/terminfo/c/cit-80 +/usr/share/ncurses4/terminfo/c/cit101 +/usr/share/ncurses4/terminfo/c/cit101e +/usr/share/ncurses4/terminfo/c/cit101e-132 +/usr/share/ncurses4/terminfo/c/cit101e-n +/usr/share/ncurses4/terminfo/c/cit101e-n132 +/usr/share/ncurses4/terminfo/c/cit101e-rv +/usr/share/ncurses4/terminfo/c/cit500 +/usr/share/ncurses4/terminfo/c/cit80 +/usr/share/ncurses4/terminfo/c/citc +/usr/share/ncurses4/terminfo/c/citoh +/usr/share/ncurses4/terminfo/c/citoh-6lpi +/usr/share/ncurses4/terminfo/c/citoh-8lpi +/usr/share/ncurses4/terminfo/c/citoh-comp +/usr/share/ncurses4/terminfo/c/citoh-elite +/usr/share/ncurses4/terminfo/c/citoh-pica +/usr/share/ncurses4/terminfo/c/citoh-prop +/usr/share/ncurses4/terminfo/c/citoh-ps +/usr/share/ncurses4/terminfo/c/coco3 +/usr/share/ncurses4/terminfo/c/coherent +/usr/share/ncurses4/terminfo/c/color_xterm +/usr/share/ncurses4/terminfo/c/colorscan +/usr/share/ncurses4/terminfo/c/commodore +/usr/share/ncurses4/terminfo/c/concept +/usr/share/ncurses4/terminfo/c/concept-avt +/usr/share/ncurses4/terminfo/c/concept100 +/usr/share/ncurses4/terminfo/c/concept100-rv +/usr/share/ncurses4/terminfo/c/concept108 +/usr/share/ncurses4/terminfo/c/concept108-4p +/usr/share/ncurses4/terminfo/c/concept108-8p +/usr/share/ncurses4/terminfo/c/concept108-w-8 +/usr/share/ncurses4/terminfo/c/concept108-w8p +/usr/share/ncurses4/terminfo/c/concept108rv4p +/usr/share/ncurses4/terminfo/c/cons25 +/usr/share/ncurses4/terminfo/c/cons25-iso-m +/usr/share/ncurses4/terminfo/c/cons25-iso8859 +/usr/share/ncurses4/terminfo/c/cons25-koi8-r +/usr/share/ncurses4/terminfo/c/cons25-koi8r-m +/usr/share/ncurses4/terminfo/c/cons25-m +/usr/share/ncurses4/terminfo/c/cons25l1 +/usr/share/ncurses4/terminfo/c/cons25l1-m +/usr/share/ncurses4/terminfo/c/cons25r +/usr/share/ncurses4/terminfo/c/cons25r-m +/usr/share/ncurses4/terminfo/c/cons25w +/usr/share/ncurses4/terminfo/c/cons30 +/usr/share/ncurses4/terminfo/c/cons30-m +/usr/share/ncurses4/terminfo/c/cons43 +/usr/share/ncurses4/terminfo/c/cons43-m +/usr/share/ncurses4/terminfo/c/cons50 +/usr/share/ncurses4/terminfo/c/cons50-iso-m +/usr/share/ncurses4/terminfo/c/cons50-iso8859 +/usr/share/ncurses4/terminfo/c/cons50-koi8r +/usr/share/ncurses4/terminfo/c/cons50-koi8r-m +/usr/share/ncurses4/terminfo/c/cons50-m +/usr/share/ncurses4/terminfo/c/cons50l1 +/usr/share/ncurses4/terminfo/c/cons50l1-m +/usr/share/ncurses4/terminfo/c/cons50r +/usr/share/ncurses4/terminfo/c/cons50r-m +/usr/share/ncurses4/terminfo/c/cons60 +/usr/share/ncurses4/terminfo/c/cons60-iso +/usr/share/ncurses4/terminfo/c/cons60-iso-m +/usr/share/ncurses4/terminfo/c/cons60-koi8r +/usr/share/ncurses4/terminfo/c/cons60-koi8r-m +/usr/share/ncurses4/terminfo/c/cons60-m +/usr/share/ncurses4/terminfo/c/cons60l1 +/usr/share/ncurses4/terminfo/c/cons60l1-m +/usr/share/ncurses4/terminfo/c/cons60r +/usr/share/ncurses4/terminfo/c/cons60r-m +/usr/share/ncurses4/terminfo/c/contel300 +/usr/share/ncurses4/terminfo/c/contel301 +/usr/share/ncurses4/terminfo/c/contel320 +/usr/share/ncurses4/terminfo/c/contel321 +/usr/share/ncurses4/terminfo/c/cops +/usr/share/ncurses4/terminfo/c/cops-10 +/usr/share/ncurses4/terminfo/c/cops10 +/usr/share/ncurses4/terminfo/c/cs10 +/usr/share/ncurses4/terminfo/c/cs10-w +/usr/share/ncurses4/terminfo/c/ct82 +/usr/share/ncurses4/terminfo/c/ct8500 +/usr/share/ncurses4/terminfo/c/ctrm +/usr/share/ncurses4/terminfo/c/cx +/usr/share/ncurses4/terminfo/c/cx100 +/usr/share/ncurses4/terminfo/c/cyb110 +/usr/share/ncurses4/terminfo/c/cyb83 +/usr/share/ncurses4/terminfo/d +/usr/share/ncurses4/terminfo/d/d132 +/usr/share/ncurses4/terminfo/d/d80 +/usr/share/ncurses4/terminfo/d/d800 +/usr/share/ncurses4/terminfo/d/datagraphix +/usr/share/ncurses4/terminfo/d/datamedia2500 +/usr/share/ncurses4/terminfo/d/datapoint +/usr/share/ncurses4/terminfo/d/dataspeed40 +/usr/share/ncurses4/terminfo/d/dd5000 +/usr/share/ncurses4/terminfo/d/ddr +/usr/share/ncurses4/terminfo/d/ddr3180 +/usr/share/ncurses4/terminfo/d/dec-vt100 +/usr/share/ncurses4/terminfo/d/dec-vt220 +/usr/share/ncurses4/terminfo/d/dec-vt330 +/usr/share/ncurses4/terminfo/d/dec-vt340 +/usr/share/ncurses4/terminfo/d/dec-vt400 +/usr/share/ncurses4/terminfo/d/decpro +/usr/share/ncurses4/terminfo/d/decwriter +/usr/share/ncurses4/terminfo/d/delta +/usr/share/ncurses4/terminfo/d/dg-ansi +/usr/share/ncurses4/terminfo/d/dg100 +/usr/share/ncurses4/terminfo/d/dg200 +/usr/share/ncurses4/terminfo/d/dg210 +/usr/share/ncurses4/terminfo/d/dg211 +/usr/share/ncurses4/terminfo/d/dg450 +/usr/share/ncurses4/terminfo/d/dg460-ansi +/usr/share/ncurses4/terminfo/d/dg6053 +/usr/share/ncurses4/terminfo/d/dg6134 +/usr/share/ncurses4/terminfo/d/diablo +/usr/share/ncurses4/terminfo/d/diablo-lm +/usr/share/ncurses4/terminfo/d/diablo1620 +/usr/share/ncurses4/terminfo/d/diablo1620-m8 +/usr/share/ncurses4/terminfo/d/diablo1640 +/usr/share/ncurses4/terminfo/d/diablo1640-lm +/usr/share/ncurses4/terminfo/d/diablo1640-m8 +/usr/share/ncurses4/terminfo/d/diablo1720 +/usr/share/ncurses4/terminfo/d/diablo1730 +/usr/share/ncurses4/terminfo/d/diablo1740 +/usr/share/ncurses4/terminfo/d/diablo1740-lm +/usr/share/ncurses4/terminfo/d/diablo450 +/usr/share/ncurses4/terminfo/d/diablo630 +/usr/share/ncurses4/terminfo/d/dialogue +/usr/share/ncurses4/terminfo/d/dialogue80 +/usr/share/ncurses4/terminfo/d/digilog +/usr/share/ncurses4/terminfo/d/dku7003 +/usr/share/ncurses4/terminfo/d/dku7003-dumb +/usr/share/ncurses4/terminfo/d/dm1520 +/usr/share/ncurses4/terminfo/d/dm1521 +/usr/share/ncurses4/terminfo/d/dm2500 +/usr/share/ncurses4/terminfo/d/dm3025 +/usr/share/ncurses4/terminfo/d/dm3045 +/usr/share/ncurses4/terminfo/d/dm80 +/usr/share/ncurses4/terminfo/d/dm80w +/usr/share/ncurses4/terminfo/d/dmchat +/usr/share/ncurses4/terminfo/d/dmd +/usr/share/ncurses4/terminfo/d/dmd-24 +/usr/share/ncurses4/terminfo/d/dmd-34 +/usr/share/ncurses4/terminfo/d/dmd1 +/usr/share/ncurses4/terminfo/d/dmdt80 +/usr/share/ncurses4/terminfo/d/dmdt80w +/usr/share/ncurses4/terminfo/d/dmterm +/usr/share/ncurses4/terminfo/d/dp3360 +/usr/share/ncurses4/terminfo/d/dp8242 +/usr/share/ncurses4/terminfo/d/ds40 +/usr/share/ncurses4/terminfo/d/ds40-2 +/usr/share/ncurses4/terminfo/d/dt-100 +/usr/share/ncurses4/terminfo/d/dt-100w +/usr/share/ncurses4/terminfo/d/dt100 +/usr/share/ncurses4/terminfo/d/dt100w +/usr/share/ncurses4/terminfo/d/dt110 +/usr/share/ncurses4/terminfo/d/dt80 +/usr/share/ncurses4/terminfo/d/dt80-sas +/usr/share/ncurses4/terminfo/d/dt80w +/usr/share/ncurses4/terminfo/d/dtc300s +/usr/share/ncurses4/terminfo/d/dtc382 +/usr/share/ncurses4/terminfo/d/dtterm +/usr/share/ncurses4/terminfo/d/dumb +/usr/share/ncurses4/terminfo/d/dw +/usr/share/ncurses4/terminfo/d/dw1 +/usr/share/ncurses4/terminfo/d/dw2 +/usr/share/ncurses4/terminfo/d/dw3 +/usr/share/ncurses4/terminfo/d/dw4 +/usr/share/ncurses4/terminfo/d/dwk +/usr/share/ncurses4/terminfo/d/dwk-vt +/usr/share/ncurses4/terminfo/e +/usr/share/ncurses4/terminfo/e/ecma+color +/usr/share/ncurses4/terminfo/e/ecma+sgr +/usr/share/ncurses4/terminfo/e/emots +/usr/share/ncurses4/terminfo/e/emu +/usr/share/ncurses4/terminfo/e/env230 +/usr/share/ncurses4/terminfo/e/envision230 +/usr/share/ncurses4/terminfo/e/ep40 +/usr/share/ncurses4/terminfo/e/ep4000 +/usr/share/ncurses4/terminfo/e/ep4080 +/usr/share/ncurses4/terminfo/e/ep48 +/usr/share/ncurses4/terminfo/e/ergo4000 +/usr/share/ncurses4/terminfo/e/esprit +/usr/share/ncurses4/terminfo/e/esprit-am +/usr/share/ncurses4/terminfo/e/eterm +/usr/share/ncurses4/terminfo/e/ex155 +/usr/share/ncurses4/terminfo/e/excel62 +/usr/share/ncurses4/terminfo/e/excel62-rv +/usr/share/ncurses4/terminfo/e/excel62-w +/usr/share/ncurses4/terminfo/e/excel64 +/usr/share/ncurses4/terminfo/e/excel64-rv +/usr/share/ncurses4/terminfo/e/excel64-w +/usr/share/ncurses4/terminfo/e/exec80 +/usr/share/ncurses4/terminfo/f +/usr/share/ncurses4/terminfo/f/f100 +/usr/share/ncurses4/terminfo/f/f100-rv +/usr/share/ncurses4/terminfo/f/f110 +/usr/share/ncurses4/terminfo/f/f110-14 +/usr/share/ncurses4/terminfo/f/f110-14w +/usr/share/ncurses4/terminfo/f/f110-w +/usr/share/ncurses4/terminfo/f/f1720 +/usr/share/ncurses4/terminfo/f/f1720a +/usr/share/ncurses4/terminfo/f/f200 +/usr/share/ncurses4/terminfo/f/f200-w +/usr/share/ncurses4/terminfo/f/f200vi +/usr/share/ncurses4/terminfo/f/f200vi-w +/usr/share/ncurses4/terminfo/f/falco +/usr/share/ncurses4/terminfo/f/falco-p +/usr/share/ncurses4/terminfo/f/fenix +/usr/share/ncurses4/terminfo/f/fenixw +/usr/share/ncurses4/terminfo/f/fixterm +/usr/share/ncurses4/terminfo/f/fortune +/usr/share/ncurses4/terminfo/f/fos +/usr/share/ncurses4/terminfo/f/fox +/usr/share/ncurses4/terminfo/f/freedom +/usr/share/ncurses4/terminfo/f/freedom-rv +/usr/share/ncurses4/terminfo/f/freedom100 +/usr/share/ncurses4/terminfo/f/freedom110 +/usr/share/ncurses4/terminfo/f/freedom200 +/usr/share/ncurses4/terminfo/g +/usr/share/ncurses4/terminfo/g/gator +/usr/share/ncurses4/terminfo/g/gator-52 +/usr/share/ncurses4/terminfo/g/gator-52t +/usr/share/ncurses4/terminfo/g/gator-t +/usr/share/ncurses4/terminfo/g/gigi +/usr/share/ncurses4/terminfo/g/glasstty +/usr/share/ncurses4/terminfo/g/go-225 +/usr/share/ncurses4/terminfo/g/go140 +/usr/share/ncurses4/terminfo/g/go140w +/usr/share/ncurses4/terminfo/g/go225 +/usr/share/ncurses4/terminfo/g/graphos +/usr/share/ncurses4/terminfo/g/graphos-30 +/usr/share/ncurses4/terminfo/g/gs5430 +/usr/share/ncurses4/terminfo/g/gs5430-22 +/usr/share/ncurses4/terminfo/g/gs5430-24 +/usr/share/ncurses4/terminfo/g/gs6300 +/usr/share/ncurses4/terminfo/g/gsi +/usr/share/ncurses4/terminfo/g/gt100 +/usr/share/ncurses4/terminfo/g/gt100a +/usr/share/ncurses4/terminfo/g/gt40 +/usr/share/ncurses4/terminfo/g/gt42 +/usr/share/ncurses4/terminfo/g/guru +/usr/share/ncurses4/terminfo/g/guru+rv +/usr/share/ncurses4/terminfo/g/guru+s +/usr/share/ncurses4/terminfo/g/guru+unk +/usr/share/ncurses4/terminfo/g/guru-24 +/usr/share/ncurses4/terminfo/g/guru-33 +/usr/share/ncurses4/terminfo/g/guru-33-rv +/usr/share/ncurses4/terminfo/g/guru-33-s +/usr/share/ncurses4/terminfo/g/guru-44 +/usr/share/ncurses4/terminfo/g/guru-44-s +/usr/share/ncurses4/terminfo/g/guru-76 +/usr/share/ncurses4/terminfo/g/guru-76-lp +/usr/share/ncurses4/terminfo/g/guru-76-s +/usr/share/ncurses4/terminfo/g/guru-76-w +/usr/share/ncurses4/terminfo/g/guru-76-w-s +/usr/share/ncurses4/terminfo/g/guru-76-wm +/usr/share/ncurses4/terminfo/g/guru-lp +/usr/share/ncurses4/terminfo/g/guru-nctxt +/usr/share/ncurses4/terminfo/g/guru-rv +/usr/share/ncurses4/terminfo/g/guru-s +/usr/share/ncurses4/terminfo/h +/usr/share/ncurses4/terminfo/h/h-100 +/usr/share/ncurses4/terminfo/h/h-100bw +/usr/share/ncurses4/terminfo/h/h100 +/usr/share/ncurses4/terminfo/h/h100bw +/usr/share/ncurses4/terminfo/h/h19 +/usr/share/ncurses4/terminfo/h/h19-a +/usr/share/ncurses4/terminfo/h/h19-b +/usr/share/ncurses4/terminfo/h/h19-bs +/usr/share/ncurses4/terminfo/h/h19-g +/usr/share/ncurses4/terminfo/h/h19-smul +/usr/share/ncurses4/terminfo/h/h19-u +/usr/share/ncurses4/terminfo/h/h19-us +/usr/share/ncurses4/terminfo/h/h19a +/usr/share/ncurses4/terminfo/h/h19g +/usr/share/ncurses4/terminfo/h/h19k +/usr/share/ncurses4/terminfo/h/h19kermit +/usr/share/ncurses4/terminfo/h/h19us +/usr/share/ncurses4/terminfo/h/h29a-kc-bc +/usr/share/ncurses4/terminfo/h/h29a-kc-uc +/usr/share/ncurses4/terminfo/h/h29a-nkc-bc +/usr/share/ncurses4/terminfo/h/h29a-nkc-uc +/usr/share/ncurses4/terminfo/h/h80 +/usr/share/ncurses4/terminfo/h/ha8675 +/usr/share/ncurses4/terminfo/h/ha8686 +/usr/share/ncurses4/terminfo/h/hazel +/usr/share/ncurses4/terminfo/h/hds200 +/usr/share/ncurses4/terminfo/h/he80 +/usr/share/ncurses4/terminfo/h/heath +/usr/share/ncurses4/terminfo/h/heath-19 +/usr/share/ncurses4/terminfo/h/heath-ansi +/usr/share/ncurses4/terminfo/h/heathkit +/usr/share/ncurses4/terminfo/h/heathkit-a +/usr/share/ncurses4/terminfo/h/hft +/usr/share/ncurses4/terminfo/h/hft-c +/usr/share/ncurses4/terminfo/h/hirez100 +/usr/share/ncurses4/terminfo/h/hirez100-w +/usr/share/ncurses4/terminfo/h/hmod1 +/usr/share/ncurses4/terminfo/h/hp +/usr/share/ncurses4/terminfo/h/hp+arrows +/usr/share/ncurses4/terminfo/h/hp+color +/usr/share/ncurses4/terminfo/h/hp+labels +/usr/share/ncurses4/terminfo/h/hp+pfk+arrows +/usr/share/ncurses4/terminfo/h/hp+pfk+cr +/usr/share/ncurses4/terminfo/h/hp+pfk-cr +/usr/share/ncurses4/terminfo/h/hp+printer +/usr/share/ncurses4/terminfo/h/hp110 +/usr/share/ncurses4/terminfo/h/hp150 +/usr/share/ncurses4/terminfo/h/hp2 +/usr/share/ncurses4/terminfo/h/hp236 +/usr/share/ncurses4/terminfo/h/hp2382 +/usr/share/ncurses4/terminfo/h/hp2382a +/usr/share/ncurses4/terminfo/h/hp2392 +/usr/share/ncurses4/terminfo/h/hp2397 +/usr/share/ncurses4/terminfo/h/hp2397a +/usr/share/ncurses4/terminfo/h/hp2621 +/usr/share/ncurses4/terminfo/h/hp2621-48 +/usr/share/ncurses4/terminfo/h/hp2621-a +/usr/share/ncurses4/terminfo/h/hp2621-ba +/usr/share/ncurses4/terminfo/h/hp2621-fl +/usr/share/ncurses4/terminfo/h/hp2621-k45 +/usr/share/ncurses4/terminfo/h/hp2621-nl +/usr/share/ncurses4/terminfo/h/hp2621-nt +/usr/share/ncurses4/terminfo/h/hp2621-wl +/usr/share/ncurses4/terminfo/h/hp2621A +/usr/share/ncurses4/terminfo/h/hp2621a +/usr/share/ncurses4/terminfo/h/hp2621a-a +/usr/share/ncurses4/terminfo/h/hp2621b +/usr/share/ncurses4/terminfo/h/hp2621b-kx +/usr/share/ncurses4/terminfo/h/hp2621b-kx-p +/usr/share/ncurses4/terminfo/h/hp2621b-p +/usr/share/ncurses4/terminfo/h/hp2621k45 +/usr/share/ncurses4/terminfo/h/hp2621p +/usr/share/ncurses4/terminfo/h/hp2621p-a +/usr/share/ncurses4/terminfo/h/hp2622 +/usr/share/ncurses4/terminfo/h/hp2622a +/usr/share/ncurses4/terminfo/h/hp2623 +/usr/share/ncurses4/terminfo/h/hp2623a +/usr/share/ncurses4/terminfo/h/hp2624 +/usr/share/ncurses4/terminfo/h/hp2624-10p +/usr/share/ncurses4/terminfo/h/hp2624a +/usr/share/ncurses4/terminfo/h/hp2624a-10p +/usr/share/ncurses4/terminfo/h/hp2624b +/usr/share/ncurses4/terminfo/h/hp2624b-10p +/usr/share/ncurses4/terminfo/h/hp2624b-10p-p +/usr/share/ncurses4/terminfo/h/hp2624b-4p +/usr/share/ncurses4/terminfo/h/hp2624b-4p-p +/usr/share/ncurses4/terminfo/h/hp2624b-p +/usr/share/ncurses4/terminfo/h/hp2626 +/usr/share/ncurses4/terminfo/h/hp2626-12 +/usr/share/ncurses4/terminfo/h/hp2626-12-s +/usr/share/ncurses4/terminfo/h/hp2626-12x40 +/usr/share/ncurses4/terminfo/h/hp2626-ns +/usr/share/ncurses4/terminfo/h/hp2626-s +/usr/share/ncurses4/terminfo/h/hp2626-x40 +/usr/share/ncurses4/terminfo/h/hp2626a +/usr/share/ncurses4/terminfo/h/hp2626p +/usr/share/ncurses4/terminfo/h/hp2627a +/usr/share/ncurses4/terminfo/h/hp2627a-rev +/usr/share/ncurses4/terminfo/h/hp2627c +/usr/share/ncurses4/terminfo/h/hp262x +/usr/share/ncurses4/terminfo/h/hp2640a +/usr/share/ncurses4/terminfo/h/hp2640b +/usr/share/ncurses4/terminfo/h/hp2641a +/usr/share/ncurses4/terminfo/h/hp2644a +/usr/share/ncurses4/terminfo/h/hp2645 +/usr/share/ncurses4/terminfo/h/hp2645a +/usr/share/ncurses4/terminfo/h/hp2647a +/usr/share/ncurses4/terminfo/h/hp2648 +/usr/share/ncurses4/terminfo/h/hp2648a +/usr/share/ncurses4/terminfo/h/hp300h +/usr/share/ncurses4/terminfo/h/hp45 +/usr/share/ncurses4/terminfo/h/hp700 +/usr/share/ncurses4/terminfo/h/hp700-wy +/usr/share/ncurses4/terminfo/h/hp70092 +/usr/share/ncurses4/terminfo/h/hp70092A +/usr/share/ncurses4/terminfo/h/hp70092a +/usr/share/ncurses4/terminfo/h/hp9837 +/usr/share/ncurses4/terminfo/h/hp9845 +/usr/share/ncurses4/terminfo/h/hp98550 +/usr/share/ncurses4/terminfo/h/hp98550a +/usr/share/ncurses4/terminfo/h/hp98720 +/usr/share/ncurses4/terminfo/h/hp98721 +/usr/share/ncurses4/terminfo/h/hpansi +/usr/share/ncurses4/terminfo/h/hpex +/usr/share/ncurses4/terminfo/h/hpex2 +/usr/share/ncurses4/terminfo/h/hpgeneric +/usr/share/ncurses4/terminfo/h/hpsub +/usr/share/ncurses4/terminfo/h/hpterm +/usr/share/ncurses4/terminfo/h/htx11 +/usr/share/ncurses4/terminfo/h/hz1000 +/usr/share/ncurses4/terminfo/h/hz1420 +/usr/share/ncurses4/terminfo/h/hz1500 +/usr/share/ncurses4/terminfo/h/hz1510 +/usr/share/ncurses4/terminfo/h/hz1520 +/usr/share/ncurses4/terminfo/h/hz1520-noesc +/usr/share/ncurses4/terminfo/h/hz1552 +/usr/share/ncurses4/terminfo/h/hz1552-rv +/usr/share/ncurses4/terminfo/h/hz2000 +/usr/share/ncurses4/terminfo/i +/usr/share/ncurses4/terminfo/i/i100 +/usr/share/ncurses4/terminfo/i/i3101 +/usr/share/ncurses4/terminfo/i/i3151 +/usr/share/ncurses4/terminfo/i/i3164 +/usr/share/ncurses4/terminfo/i/i400 +/usr/share/ncurses4/terminfo/i/ibcs2 +/usr/share/ncurses4/terminfo/i/ibm-apl +/usr/share/ncurses4/terminfo/i/ibm-pc +/usr/share/ncurses4/terminfo/i/ibm-system1 +/usr/share/ncurses4/terminfo/i/ibm3101 +/usr/share/ncurses4/terminfo/i/ibm3151 +/usr/share/ncurses4/terminfo/i/ibm3161 +/usr/share/ncurses4/terminfo/i/ibm3163 +/usr/share/ncurses4/terminfo/i/ibm3164 +/usr/share/ncurses4/terminfo/i/ibm327x +/usr/share/ncurses4/terminfo/i/ibm5051 +/usr/share/ncurses4/terminfo/i/ibm5081 +/usr/share/ncurses4/terminfo/i/ibm5081-c +/usr/share/ncurses4/terminfo/i/ibm5151 +/usr/share/ncurses4/terminfo/i/ibm5154 +/usr/share/ncurses4/terminfo/i/ibm5154-c +/usr/share/ncurses4/terminfo/i/ibm6153 +/usr/share/ncurses4/terminfo/i/ibm6154 +/usr/share/ncurses4/terminfo/i/ibm6154-c +/usr/share/ncurses4/terminfo/i/ibm6155 +/usr/share/ncurses4/terminfo/i/ibm8512 +/usr/share/ncurses4/terminfo/i/ibm8513 +/usr/share/ncurses4/terminfo/i/ibm8514 +/usr/share/ncurses4/terminfo/i/ibm8514-c +/usr/share/ncurses4/terminfo/i/ibmaed +/usr/share/ncurses4/terminfo/i/ibmapa16 +/usr/share/ncurses4/terminfo/i/ibmapa8 +/usr/share/ncurses4/terminfo/i/ibmapa8c +/usr/share/ncurses4/terminfo/i/ibmapa8c-c +/usr/share/ncurses4/terminfo/i/ibmega +/usr/share/ncurses4/terminfo/i/ibmega-c +/usr/share/ncurses4/terminfo/i/ibmmono +/usr/share/ncurses4/terminfo/i/ibmmpel +/usr/share/ncurses4/terminfo/i/ibmmpel-c +/usr/share/ncurses4/terminfo/i/ibmpc +/usr/share/ncurses4/terminfo/i/ibmpc3 +/usr/share/ncurses4/terminfo/i/ibmpc3r +/usr/share/ncurses4/terminfo/i/ibmpc3r-mono +/usr/share/ncurses4/terminfo/i/ibmpcx +/usr/share/ncurses4/terminfo/i/ibmvga +/usr/share/ncurses4/terminfo/i/ibmvga-c +/usr/share/ncurses4/terminfo/i/ibmx +/usr/share/ncurses4/terminfo/i/ifmr +/usr/share/ncurses4/terminfo/i/ims-ansi +/usr/share/ncurses4/terminfo/i/ims950 +/usr/share/ncurses4/terminfo/i/ims950-b +/usr/share/ncurses4/terminfo/i/ims950-rv +/usr/share/ncurses4/terminfo/i/infoton +/usr/share/ncurses4/terminfo/i/intertec +/usr/share/ncurses4/terminfo/i/intertube +/usr/share/ncurses4/terminfo/i/intertube2 +/usr/share/ncurses4/terminfo/i/intext +/usr/share/ncurses4/terminfo/i/intext2 +/usr/share/ncurses4/terminfo/i/intextii +/usr/share/ncurses4/terminfo/i/ips +/usr/share/ncurses4/terminfo/i/ipsi +/usr/share/ncurses4/terminfo/i/iq120 +/usr/share/ncurses4/terminfo/i/iq140 +/usr/share/ncurses4/terminfo/i/iris-ansi +/usr/share/ncurses4/terminfo/i/iris-ansi-ap +/usr/share/ncurses4/terminfo/i/iris-color +/usr/share/ncurses4/terminfo/i/iris40 +/usr/share/ncurses4/terminfo/j +/usr/share/ncurses4/terminfo/j/jaixterm-m +/usr/share/ncurses4/terminfo/j/jerq +/usr/share/ncurses4/terminfo/k +/usr/share/ncurses4/terminfo/k/k45 +/usr/share/ncurses4/terminfo/k/kaypro +/usr/share/ncurses4/terminfo/k/kaypro2 +/usr/share/ncurses4/terminfo/k/kermit +/usr/share/ncurses4/terminfo/k/kermit-am +/usr/share/ncurses4/terminfo/k/klone+acs +/usr/share/ncurses4/terminfo/k/klone+color +/usr/share/ncurses4/terminfo/k/klone+koi8acs +/usr/share/ncurses4/terminfo/k/klone+sgr +/usr/share/ncurses4/terminfo/k/klone+sgr-dumb +/usr/share/ncurses4/terminfo/k/kt7 +/usr/share/ncurses4/terminfo/k/kt7ix +/usr/share/ncurses4/terminfo/k/kterm +/usr/share/ncurses4/terminfo/k/ktm +/usr/share/ncurses4/terminfo/l +/usr/share/ncurses4/terminfo/l/la120 +/usr/share/ncurses4/terminfo/l/layer +/usr/share/ncurses4/terminfo/l/linux +/usr/share/ncurses4/terminfo/l/linux-c +/usr/share/ncurses4/terminfo/l/linux-c-nc +/usr/share/ncurses4/terminfo/l/linux-koi8 +/usr/share/ncurses4/terminfo/l/linux-koi8r +/usr/share/ncurses4/terminfo/l/linux-m +/usr/share/ncurses4/terminfo/l/linux-nic +/usr/share/ncurses4/terminfo/l/lisa +/usr/share/ncurses4/terminfo/l/lisaterm +/usr/share/ncurses4/terminfo/l/lisaterm-w +/usr/share/ncurses4/terminfo/l/liswb +/usr/share/ncurses4/terminfo/l/ln03 +/usr/share/ncurses4/terminfo/l/ln03-w +/usr/share/ncurses4/terminfo/l/lpr +/usr/share/ncurses4/terminfo/l/luna +/usr/share/ncurses4/terminfo/l/luna68k +/usr/share/ncurses4/terminfo/m +/usr/share/ncurses4/terminfo/m/m2-nam +/usr/share/ncurses4/terminfo/m/mac +/usr/share/ncurses4/terminfo/m/mac-w +/usr/share/ncurses4/terminfo/m/macintosh +/usr/share/ncurses4/terminfo/m/macterminal-w +/usr/share/ncurses4/terminfo/m/mai +/usr/share/ncurses4/terminfo/m/masscomp +/usr/share/ncurses4/terminfo/m/masscomp1 +/usr/share/ncurses4/terminfo/m/masscomp2 +/usr/share/ncurses4/terminfo/m/mdl110 +/usr/share/ncurses4/terminfo/m/megatek +/usr/share/ncurses4/terminfo/m/memhp +/usr/share/ncurses4/terminfo/m/mgr +/usr/share/ncurses4/terminfo/m/mgr-linux +/usr/share/ncurses4/terminfo/m/mgr-sun +/usr/share/ncurses4/terminfo/m/microb +/usr/share/ncurses4/terminfo/m/microbee +/usr/share/ncurses4/terminfo/m/microterm +/usr/share/ncurses4/terminfo/m/microterm5 +/usr/share/ncurses4/terminfo/m/mime +/usr/share/ncurses4/terminfo/m/mime-3ax +/usr/share/ncurses4/terminfo/m/mime-fb +/usr/share/ncurses4/terminfo/m/mime-hb +/usr/share/ncurses4/terminfo/m/mime1 +/usr/share/ncurses4/terminfo/m/mime2 +/usr/share/ncurses4/terminfo/m/mime2a +/usr/share/ncurses4/terminfo/m/mime2a-s +/usr/share/ncurses4/terminfo/m/mime2a-v +/usr/share/ncurses4/terminfo/m/mime314 +/usr/share/ncurses4/terminfo/m/mime340 +/usr/share/ncurses4/terminfo/m/mime3a +/usr/share/ncurses4/terminfo/m/mime3ax +/usr/share/ncurses4/terminfo/m/mimei +/usr/share/ncurses4/terminfo/m/mimeii +/usr/share/ncurses4/terminfo/m/minitel +/usr/share/ncurses4/terminfo/m/minitel-2 +/usr/share/ncurses4/terminfo/m/minitel-2-nam +/usr/share/ncurses4/terminfo/m/minix +/usr/share/ncurses4/terminfo/m/minix-old +/usr/share/ncurses4/terminfo/m/minix-old-am +/usr/share/ncurses4/terminfo/m/mm314 +/usr/share/ncurses4/terminfo/m/mm340 +/usr/share/ncurses4/terminfo/m/mod +/usr/share/ncurses4/terminfo/m/mod24 +/usr/share/ncurses4/terminfo/m/modgraph +/usr/share/ncurses4/terminfo/m/modgraph2 +/usr/share/ncurses4/terminfo/m/modgraph48 +/usr/share/ncurses4/terminfo/m/mono-emx +/usr/share/ncurses4/terminfo/m/msk227 +/usr/share/ncurses4/terminfo/m/msk22714 +/usr/share/ncurses4/terminfo/m/msk227am +/usr/share/ncurses4/terminfo/m/mskermit227 +/usr/share/ncurses4/terminfo/m/mskermit22714 +/usr/share/ncurses4/terminfo/m/mskermit227am +/usr/share/ncurses4/terminfo/m/mt-70 +/usr/share/ncurses4/terminfo/m/mt4520-rv +/usr/share/ncurses4/terminfo/m/mt70 +/usr/share/ncurses4/terminfo/n +/usr/share/ncurses4/terminfo/n/nansi.sys +/usr/share/ncurses4/terminfo/n/nansi.sysk +/usr/share/ncurses4/terminfo/n/nansisys +/usr/share/ncurses4/terminfo/n/nansisysk +/usr/share/ncurses4/terminfo/n/ncr7900 +/usr/share/ncurses4/terminfo/n/ncr7900i +/usr/share/ncurses4/terminfo/n/ncr7900iv +/usr/share/ncurses4/terminfo/n/ncr7901 +/usr/share/ncurses4/terminfo/n/nec +/usr/share/ncurses4/terminfo/n/nec5520 +/usr/share/ncurses4/terminfo/n/newhp +/usr/share/ncurses4/terminfo/n/newhpkeyboard +/usr/share/ncurses4/terminfo/n/news +/usr/share/ncurses4/terminfo/n/news-29 +/usr/share/ncurses4/terminfo/n/news-29-euc +/usr/share/ncurses4/terminfo/n/news-29-sjis +/usr/share/ncurses4/terminfo/n/news-33 +/usr/share/ncurses4/terminfo/n/news-33-euc +/usr/share/ncurses4/terminfo/n/news-33-sjis +/usr/share/ncurses4/terminfo/n/news-42 +/usr/share/ncurses4/terminfo/n/news-42-euc +/usr/share/ncurses4/terminfo/n/news-42-sjis +/usr/share/ncurses4/terminfo/n/news-a +/usr/share/ncurses4/terminfo/n/news-o +/usr/share/ncurses4/terminfo/n/news-old-unk +/usr/share/ncurses4/terminfo/n/news-unk +/usr/share/ncurses4/terminfo/n/news28 +/usr/share/ncurses4/terminfo/n/news28-a +/usr/share/ncurses4/terminfo/n/news29 +/usr/share/ncurses4/terminfo/n/news31 +/usr/share/ncurses4/terminfo/n/news31-a +/usr/share/ncurses4/terminfo/n/news31-o +/usr/share/ncurses4/terminfo/n/news33 +/usr/share/ncurses4/terminfo/n/news40 +/usr/share/ncurses4/terminfo/n/news40-a +/usr/share/ncurses4/terminfo/n/news40-o +/usr/share/ncurses4/terminfo/n/news42 +/usr/share/ncurses4/terminfo/n/newscbm +/usr/share/ncurses4/terminfo/n/newscbm-a +/usr/share/ncurses4/terminfo/n/newscbm-o +/usr/share/ncurses4/terminfo/n/newscbm33 +/usr/share/ncurses4/terminfo/n/next +/usr/share/ncurses4/terminfo/n/nextshell +/usr/share/ncurses4/terminfo/n/northstar +/usr/share/ncurses4/terminfo/n/nwe501 +/usr/share/ncurses4/terminfo/n/nwe501-a +/usr/share/ncurses4/terminfo/n/nwe501-o +/usr/share/ncurses4/terminfo/n/nwp-511 +/usr/share/ncurses4/terminfo/n/nwp-517 +/usr/share/ncurses4/terminfo/n/nwp-517-w +/usr/share/ncurses4/terminfo/n/nwp251-a +/usr/share/ncurses4/terminfo/n/nwp251-o +/usr/share/ncurses4/terminfo/n/nwp511 +/usr/share/ncurses4/terminfo/n/nwp512 +/usr/share/ncurses4/terminfo/n/nwp512-a +/usr/share/ncurses4/terminfo/n/nwp512-o +/usr/share/ncurses4/terminfo/n/nwp513 +/usr/share/ncurses4/terminfo/n/nwp513-a +/usr/share/ncurses4/terminfo/n/nwp513-o +/usr/share/ncurses4/terminfo/n/nwp514 +/usr/share/ncurses4/terminfo/n/nwp514-a +/usr/share/ncurses4/terminfo/n/nwp514-o +/usr/share/ncurses4/terminfo/n/nwp517 +/usr/share/ncurses4/terminfo/n/nwp517-w +/usr/share/ncurses4/terminfo/n/nwp518 +/usr/share/ncurses4/terminfo/n/nwp518-a +/usr/share/ncurses4/terminfo/n/nwp518-o +/usr/share/ncurses4/terminfo/o +/usr/share/ncurses4/terminfo/o/o31 +/usr/share/ncurses4/terminfo/o/o4112-nd +/usr/share/ncurses4/terminfo/o/o85h +/usr/share/ncurses4/terminfo/o/oabm85h +/usr/share/ncurses4/terminfo/o/oblit +/usr/share/ncurses4/terminfo/o/oc100 +/usr/share/ncurses4/terminfo/o/oconcept +/usr/share/ncurses4/terminfo/o/ojerq +/usr/share/ncurses4/terminfo/o/oldibmpc3 +/usr/share/ncurses4/terminfo/o/oldpc3 +/usr/share/ncurses4/terminfo/o/oldsun +/usr/share/ncurses4/terminfo/o/omron +/usr/share/ncurses4/terminfo/o/opus3n1+ +/usr/share/ncurses4/terminfo/o/origibmpc3 +/usr/share/ncurses4/terminfo/o/origpc3 +/usr/share/ncurses4/terminfo/o/os9LII +/usr/share/ncurses4/terminfo/o/osborne +/usr/share/ncurses4/terminfo/o/osborne-w +/usr/share/ncurses4/terminfo/o/osborne1 +/usr/share/ncurses4/terminfo/o/osborne1-w +/usr/share/ncurses4/terminfo/o/osexec +/usr/share/ncurses4/terminfo/o/otek4112 +/usr/share/ncurses4/terminfo/o/otek4113 +/usr/share/ncurses4/terminfo/o/otek4114 +/usr/share/ncurses4/terminfo/o/otek4115 +/usr/share/ncurses4/terminfo/o/owl +/usr/share/ncurses4/terminfo/p +/usr/share/ncurses4/terminfo/p/p12 +/usr/share/ncurses4/terminfo/p/p12-m +/usr/share/ncurses4/terminfo/p/p12-m-w +/usr/share/ncurses4/terminfo/p/p12-w +/usr/share/ncurses4/terminfo/p/p14 +/usr/share/ncurses4/terminfo/p/p14-m +/usr/share/ncurses4/terminfo/p/p14-m-w +/usr/share/ncurses4/terminfo/p/p14-w +/usr/share/ncurses4/terminfo/p/p19 +/usr/share/ncurses4/terminfo/p/p4 +/usr/share/ncurses4/terminfo/p/p5 +/usr/share/ncurses4/terminfo/p/p7 +/usr/share/ncurses4/terminfo/p/p8 +/usr/share/ncurses4/terminfo/p/p8-w +/usr/share/ncurses4/terminfo/p/p8gl +/usr/share/ncurses4/terminfo/p/p9 +/usr/share/ncurses4/terminfo/p/p9-8 +/usr/share/ncurses4/terminfo/p/p9-8-w +/usr/share/ncurses4/terminfo/p/p9-w +/usr/share/ncurses4/terminfo/p/pc-coherent +/usr/share/ncurses4/terminfo/p/pc-minix +/usr/share/ncurses4/terminfo/p/pc-venix +/usr/share/ncurses4/terminfo/p/pc3 +/usr/share/ncurses4/terminfo/p/pc3-bold +/usr/share/ncurses4/terminfo/p/pc3r +/usr/share/ncurses4/terminfo/p/pc3r-m +/usr/share/ncurses4/terminfo/p/pc6300plus +/usr/share/ncurses4/terminfo/p/pc7300 +/usr/share/ncurses4/terminfo/p/pcansi +/usr/share/ncurses4/terminfo/p/pcansi-25 +/usr/share/ncurses4/terminfo/p/pcansi-25-m +/usr/share/ncurses4/terminfo/p/pcansi-33 +/usr/share/ncurses4/terminfo/p/pcansi-33-m +/usr/share/ncurses4/terminfo/p/pcansi-43 +/usr/share/ncurses4/terminfo/p/pcansi-43-m +/usr/share/ncurses4/terminfo/p/pcansi-m +/usr/share/ncurses4/terminfo/p/pcansi-mono +/usr/share/ncurses4/terminfo/p/pcansi25 +/usr/share/ncurses4/terminfo/p/pcansi25m +/usr/share/ncurses4/terminfo/p/pcansi33 +/usr/share/ncurses4/terminfo/p/pcansi33m +/usr/share/ncurses4/terminfo/p/pcansi43 +/usr/share/ncurses4/terminfo/p/pccons +/usr/share/ncurses4/terminfo/p/pcconsole +/usr/share/ncurses4/terminfo/p/pcix +/usr/share/ncurses4/terminfo/p/pckermit +/usr/share/ncurses4/terminfo/p/pckermit12 +/usr/share/ncurses4/terminfo/p/pckermit120 +/usr/share/ncurses4/terminfo/p/pcplot +/usr/share/ncurses4/terminfo/p/pcvt25 +/usr/share/ncurses4/terminfo/p/pcvt25w +/usr/share/ncurses4/terminfo/p/pcvt28 +/usr/share/ncurses4/terminfo/p/pcvt28w +/usr/share/ncurses4/terminfo/p/pcvt35 +/usr/share/ncurses4/terminfo/p/pcvt35w +/usr/share/ncurses4/terminfo/p/pcvt40 +/usr/share/ncurses4/terminfo/p/pcvt40w +/usr/share/ncurses4/terminfo/p/pcvt43 +/usr/share/ncurses4/terminfo/p/pcvt43w +/usr/share/ncurses4/terminfo/p/pcvt50 +/usr/share/ncurses4/terminfo/p/pcvt50w +/usr/share/ncurses4/terminfo/p/pcvtXX +/usr/share/ncurses4/terminfo/p/pcz19 +/usr/share/ncurses4/terminfo/p/pe1100 +/usr/share/ncurses4/terminfo/p/pe1200 +/usr/share/ncurses4/terminfo/p/pe1251 +/usr/share/ncurses4/terminfo/p/pe550 +/usr/share/ncurses4/terminfo/p/pe6100 +/usr/share/ncurses4/terminfo/p/pe6300 +/usr/share/ncurses4/terminfo/p/pe6312 +/usr/share/ncurses4/terminfo/p/pe7000c +/usr/share/ncurses4/terminfo/p/pe7000m +/usr/share/ncurses4/terminfo/p/pilot +/usr/share/ncurses4/terminfo/p/printer +/usr/share/ncurses4/terminfo/p/prism12 +/usr/share/ncurses4/terminfo/p/prism12-m +/usr/share/ncurses4/terminfo/p/prism12-m-w +/usr/share/ncurses4/terminfo/p/prism12-w +/usr/share/ncurses4/terminfo/p/prism14 +/usr/share/ncurses4/terminfo/p/prism14-m +/usr/share/ncurses4/terminfo/p/prism14-m-w +/usr/share/ncurses4/terminfo/p/prism14-w +/usr/share/ncurses4/terminfo/p/prism2 +/usr/share/ncurses4/terminfo/p/prism4 +/usr/share/ncurses4/terminfo/p/prism5 +/usr/share/ncurses4/terminfo/p/prism7 +/usr/share/ncurses4/terminfo/p/prism8 +/usr/share/ncurses4/terminfo/p/prism8-w +/usr/share/ncurses4/terminfo/p/prism8gl +/usr/share/ncurses4/terminfo/p/prism9 +/usr/share/ncurses4/terminfo/p/prism9-8 +/usr/share/ncurses4/terminfo/p/prism9-8-w +/usr/share/ncurses4/terminfo/p/prism9-w +/usr/share/ncurses4/terminfo/p/pro350 +/usr/share/ncurses4/terminfo/p/ps300 +/usr/share/ncurses4/terminfo/p/psterm +/usr/share/ncurses4/terminfo/p/psterm-80x24 +/usr/share/ncurses4/terminfo/p/psterm-90x28 +/usr/share/ncurses4/terminfo/p/psterm-96x48 +/usr/share/ncurses4/terminfo/p/psterm-basic +/usr/share/ncurses4/terminfo/p/psterm-fast +/usr/share/ncurses4/terminfo/p/psx_ansi +/usr/share/ncurses4/terminfo/p/pt100 +/usr/share/ncurses4/terminfo/p/pt100w +/usr/share/ncurses4/terminfo/p/pt200 +/usr/share/ncurses4/terminfo/p/pt200w +/usr/share/ncurses4/terminfo/p/pt210 +/usr/share/ncurses4/terminfo/p/pt250 +/usr/share/ncurses4/terminfo/p/pt250w +/usr/share/ncurses4/terminfo/p/pt505 +/usr/share/ncurses4/terminfo/p/pt505-22 +/usr/share/ncurses4/terminfo/p/pt505-24 +/usr/share/ncurses4/terminfo/p/pty +/usr/share/ncurses4/terminfo/q +/usr/share/ncurses4/terminfo/q/qdcons +/usr/share/ncurses4/terminfo/q/qdss +/usr/share/ncurses4/terminfo/q/qnx +/usr/share/ncurses4/terminfo/q/qnx4 +/usr/share/ncurses4/terminfo/q/qume +/usr/share/ncurses4/terminfo/q/qume5 +/usr/share/ncurses4/terminfo/q/qvt101 +/usr/share/ncurses4/terminfo/q/qvt101+ +/usr/share/ncurses4/terminfo/q/qvt101p +/usr/share/ncurses4/terminfo/q/qvt102 +/usr/share/ncurses4/terminfo/q/qvt103 +/usr/share/ncurses4/terminfo/q/qvt103-w +/usr/share/ncurses4/terminfo/q/qvt108 +/usr/share/ncurses4/terminfo/q/qvt119 +/usr/share/ncurses4/terminfo/q/qvt119+ +/usr/share/ncurses4/terminfo/q/qvt119+-25 +/usr/share/ncurses4/terminfo/q/qvt119+-25-w +/usr/share/ncurses4/terminfo/q/qvt119+-w +/usr/share/ncurses4/terminfo/q/qvt119-25-w +/usr/share/ncurses4/terminfo/q/qvt119-w +/usr/share/ncurses4/terminfo/q/qvt119p +/usr/share/ncurses4/terminfo/q/qvt119p-25 +/usr/share/ncurses4/terminfo/q/qvt119p-25-w +/usr/share/ncurses4/terminfo/q/qvt119p-w +/usr/share/ncurses4/terminfo/q/qvt203 +/usr/share/ncurses4/terminfo/q/qvt203+ +/usr/share/ncurses4/terminfo/q/qvt203-25 +/usr/share/ncurses4/terminfo/q/qvt203-25-w +/usr/share/ncurses4/terminfo/q/qvt203-w +/usr/share/ncurses4/terminfo/q/qvt203-w-am +/usr/share/ncurses4/terminfo/r +/usr/share/ncurses4/terminfo/r/rbcomm +/usr/share/ncurses4/terminfo/r/rbcomm-nam +/usr/share/ncurses4/terminfo/r/rbcomm-w +/usr/share/ncurses4/terminfo/r/rca +/usr/share/ncurses4/terminfo/r/rebus3180 +/usr/share/ncurses4/terminfo/r/regent +/usr/share/ncurses4/terminfo/r/regent100 +/usr/share/ncurses4/terminfo/r/regent20 +/usr/share/ncurses4/terminfo/r/regent200 +/usr/share/ncurses4/terminfo/r/regent25 +/usr/share/ncurses4/terminfo/r/regent40 +/usr/share/ncurses4/terminfo/r/regent40+ +/usr/share/ncurses4/terminfo/r/regent60 +/usr/share/ncurses4/terminfo/r/rt6221 +/usr/share/ncurses4/terminfo/r/rt6221-w +/usr/share/ncurses4/terminfo/r/rtpc +/usr/share/ncurses4/terminfo/r/rxvt +/usr/share/ncurses4/terminfo/r/rxvt-basic +/usr/share/ncurses4/terminfo/s +/usr/share/ncurses4/terminfo/s/s +/usr/share/ncurses4/terminfo/s/s4 +/usr/share/ncurses4/terminfo/s/sb1 +/usr/share/ncurses4/terminfo/s/sb2 +/usr/share/ncurses4/terminfo/s/sb3 +/usr/share/ncurses4/terminfo/s/sbi +/usr/share/ncurses4/terminfo/s/sbobcat +/usr/share/ncurses4/terminfo/s/sc410 +/usr/share/ncurses4/terminfo/s/sc415 +/usr/share/ncurses4/terminfo/s/scanset +/usr/share/ncurses4/terminfo/s/scoansi +/usr/share/ncurses4/terminfo/s/screen +/usr/share/ncurses4/terminfo/s/screen-w +/usr/share/ncurses4/terminfo/s/screen2 +/usr/share/ncurses4/terminfo/s/screen3 +/usr/share/ncurses4/terminfo/s/screwpoint +/usr/share/ncurses4/terminfo/s/scrhp +/usr/share/ncurses4/terminfo/s/simterm +/usr/share/ncurses4/terminfo/s/soroc +/usr/share/ncurses4/terminfo/s/soroc120 +/usr/share/ncurses4/terminfo/s/soroc140 +/usr/share/ncurses4/terminfo/s/spinwriter +/usr/share/ncurses4/terminfo/s/st52 +/usr/share/ncurses4/terminfo/s/sun +/usr/share/ncurses4/terminfo/s/sun-1 +/usr/share/ncurses4/terminfo/s/sun-12 +/usr/share/ncurses4/terminfo/s/sun-17 +/usr/share/ncurses4/terminfo/s/sun-24 +/usr/share/ncurses4/terminfo/s/sun-34 +/usr/share/ncurses4/terminfo/s/sun-48 +/usr/share/ncurses4/terminfo/s/sun-c +/usr/share/ncurses4/terminfo/s/sun-cmd +/usr/share/ncurses4/terminfo/s/sun-e +/usr/share/ncurses4/terminfo/s/sun-e-s +/usr/share/ncurses4/terminfo/s/sun-il +/usr/share/ncurses4/terminfo/s/sun-nic +/usr/share/ncurses4/terminfo/s/sun-s +/usr/share/ncurses4/terminfo/s/sun-s-e +/usr/share/ncurses4/terminfo/s/sun-ss5 +/usr/share/ncurses4/terminfo/s/sun1 +/usr/share/ncurses4/terminfo/s/sun2 +/usr/share/ncurses4/terminfo/s/sune +/usr/share/ncurses4/terminfo/s/superbee +/usr/share/ncurses4/terminfo/s/superbee-xsb +/usr/share/ncurses4/terminfo/s/superbeeic +/usr/share/ncurses4/terminfo/s/superbrain +/usr/share/ncurses4/terminfo/s/sv80 +/usr/share/ncurses4/terminfo/s/swtp +/usr/share/ncurses4/terminfo/s/synertek +/usr/share/ncurses4/terminfo/s/synertek380 +/usr/share/ncurses4/terminfo/s/system1 +/usr/share/ncurses4/terminfo/t +/usr/share/ncurses4/terminfo/t/t10 +/usr/share/ncurses4/terminfo/t/t1061 +/usr/share/ncurses4/terminfo/t/t1061f +/usr/share/ncurses4/terminfo/t/t16 +/usr/share/ncurses4/terminfo/t/t3700 +/usr/share/ncurses4/terminfo/t/t3800 +/usr/share/ncurses4/terminfo/t/t653x +/usr/share/ncurses4/terminfo/t/tab +/usr/share/ncurses4/terminfo/t/tab132 +/usr/share/ncurses4/terminfo/t/tab132-15 +/usr/share/ncurses4/terminfo/t/tab132-rv +/usr/share/ncurses4/terminfo/t/tab132-w +/usr/share/ncurses4/terminfo/t/tab132-w-rv +/usr/share/ncurses4/terminfo/t/tandem6510 +/usr/share/ncurses4/terminfo/t/tandem653 +/usr/share/ncurses4/terminfo/t/tek +/usr/share/ncurses4/terminfo/t/tek4012 +/usr/share/ncurses4/terminfo/t/tek4013 +/usr/share/ncurses4/terminfo/t/tek4014 +/usr/share/ncurses4/terminfo/t/tek4014-sm +/usr/share/ncurses4/terminfo/t/tek4015 +/usr/share/ncurses4/terminfo/t/tek4015-sm +/usr/share/ncurses4/terminfo/t/tek4023 +/usr/share/ncurses4/terminfo/t/tek4024 +/usr/share/ncurses4/terminfo/t/tek4025 +/usr/share/ncurses4/terminfo/t/tek4025-17 +/usr/share/ncurses4/terminfo/t/tek4025-17-ws +/usr/share/ncurses4/terminfo/t/tek4025-cr +/usr/share/ncurses4/terminfo/t/tek4025-ex +/usr/share/ncurses4/terminfo/t/tek4025a +/usr/share/ncurses4/terminfo/t/tek4025ex +/usr/share/ncurses4/terminfo/t/tek4027 +/usr/share/ncurses4/terminfo/t/tek4027-ex +/usr/share/ncurses4/terminfo/t/tek4105 +/usr/share/ncurses4/terminfo/t/tek4105-30 +/usr/share/ncurses4/terminfo/t/tek4105a +/usr/share/ncurses4/terminfo/t/tek4106brl +/usr/share/ncurses4/terminfo/t/tek4107 +/usr/share/ncurses4/terminfo/t/tek4107brl +/usr/share/ncurses4/terminfo/t/tek4109 +/usr/share/ncurses4/terminfo/t/tek4109brl +/usr/share/ncurses4/terminfo/t/tek4112 +/usr/share/ncurses4/terminfo/t/tek4112-5 +/usr/share/ncurses4/terminfo/t/tek4112-nd +/usr/share/ncurses4/terminfo/t/tek4113 +/usr/share/ncurses4/terminfo/t/tek4113-34 +/usr/share/ncurses4/terminfo/t/tek4113-nd +/usr/share/ncurses4/terminfo/t/tek4114 +/usr/share/ncurses4/terminfo/t/tek4115 +/usr/share/ncurses4/terminfo/t/tek4125 +/usr/share/ncurses4/terminfo/t/tek4205 +/usr/share/ncurses4/terminfo/t/tek4207 +/usr/share/ncurses4/terminfo/t/tek4207-s +/usr/share/ncurses4/terminfo/t/tek4404 +/usr/share/ncurses4/terminfo/t/teleray +/usr/share/ncurses4/terminfo/t/teletec +/usr/share/ncurses4/terminfo/t/terminet +/usr/share/ncurses4/terminfo/t/terminet1200 +/usr/share/ncurses4/terminfo/t/terminet300 +/usr/share/ncurses4/terminfo/t/tgtelnet +/usr/share/ncurses4/terminfo/t/ti700 +/usr/share/ncurses4/terminfo/t/ti733 +/usr/share/ncurses4/terminfo/t/ti735 +/usr/share/ncurses4/terminfo/t/ti745 +/usr/share/ncurses4/terminfo/t/ti800 +/usr/share/ncurses4/terminfo/t/ti916 +/usr/share/ncurses4/terminfo/t/ti916-132 +/usr/share/ncurses4/terminfo/t/ti916-220-7 +/usr/share/ncurses4/terminfo/t/ti916-220-8 +/usr/share/ncurses4/terminfo/t/ti916-8 +/usr/share/ncurses4/terminfo/t/ti916-8-132 +/usr/share/ncurses4/terminfo/t/ti924 +/usr/share/ncurses4/terminfo/t/ti924-8 +/usr/share/ncurses4/terminfo/t/ti924-8w +/usr/share/ncurses4/terminfo/t/ti924w +/usr/share/ncurses4/terminfo/t/ti926 +/usr/share/ncurses4/terminfo/t/ti926-8 +/usr/share/ncurses4/terminfo/t/ti928 +/usr/share/ncurses4/terminfo/t/ti928-8 +/usr/share/ncurses4/terminfo/t/ti931 +/usr/share/ncurses4/terminfo/t/ti_ansi +/usr/share/ncurses4/terminfo/t/tn1200 +/usr/share/ncurses4/terminfo/t/tn300 +/usr/share/ncurses4/terminfo/t/trs16 +/usr/share/ncurses4/terminfo/t/trs2 +/usr/share/ncurses4/terminfo/t/trs80II +/usr/share/ncurses4/terminfo/t/trsII +/usr/share/ncurses4/terminfo/t/ts-1 +/usr/share/ncurses4/terminfo/t/ts-1p +/usr/share/ncurses4/terminfo/t/ts1 +/usr/share/ncurses4/terminfo/t/ts100 +/usr/share/ncurses4/terminfo/t/ts100-ctxt +/usr/share/ncurses4/terminfo/t/ts100-sp +/usr/share/ncurses4/terminfo/t/ts1p +/usr/share/ncurses4/terminfo/t/tt505-22 +/usr/share/ncurses4/terminfo/t/tty33 +/usr/share/ncurses4/terminfo/t/tty35 +/usr/share/ncurses4/terminfo/t/tty37 +/usr/share/ncurses4/terminfo/t/tty40 +/usr/share/ncurses4/terminfo/t/tty43 +/usr/share/ncurses4/terminfo/t/tty4420 +/usr/share/ncurses4/terminfo/t/tty4424 +/usr/share/ncurses4/terminfo/t/tty4424-1 +/usr/share/ncurses4/terminfo/t/tty4424m +/usr/share/ncurses4/terminfo/t/tty4426 +/usr/share/ncurses4/terminfo/t/tty5410 +/usr/share/ncurses4/terminfo/t/tty5410-w +/usr/share/ncurses4/terminfo/t/tty5410v1 +/usr/share/ncurses4/terminfo/t/tty5410v1-w +/usr/share/ncurses4/terminfo/t/tty5420 +/usr/share/ncurses4/terminfo/t/tty5420+nl +/usr/share/ncurses4/terminfo/t/tty5420-nl +/usr/share/ncurses4/terminfo/t/tty5420-rv +/usr/share/ncurses4/terminfo/t/tty5420-rv-nl +/usr/share/ncurses4/terminfo/t/tty5420-w +/usr/share/ncurses4/terminfo/t/tty5420-w-nl +/usr/share/ncurses4/terminfo/t/tty5420-w-rv +/usr/share/ncurses4/terminfo/t/tty5420-w-rv-n +/usr/share/ncurses4/terminfo/t/tty5425 +/usr/share/ncurses4/terminfo/t/tty5425-nl +/usr/share/ncurses4/terminfo/t/tty5425-w +/usr/share/ncurses4/terminfo/t/tty5620 +/usr/share/ncurses4/terminfo/t/tty5620-1 +/usr/share/ncurses4/terminfo/t/tty5620-24 +/usr/share/ncurses4/terminfo/t/tty5620-34 +/usr/share/ncurses4/terminfo/t/tty5620-s +/usr/share/ncurses4/terminfo/t/ttydmd +/usr/share/ncurses4/terminfo/t/tvi-2p +/usr/share/ncurses4/terminfo/t/tvi803 +/usr/share/ncurses4/terminfo/t/tvi9065 +/usr/share/ncurses4/terminfo/t/tvi910 +/usr/share/ncurses4/terminfo/t/tvi910+ +/usr/share/ncurses4/terminfo/t/tvi912 +/usr/share/ncurses4/terminfo/t/tvi912-2p +/usr/share/ncurses4/terminfo/t/tvi912b +/usr/share/ncurses4/terminfo/t/tvi912c +/usr/share/ncurses4/terminfo/t/tvi912cc +/usr/share/ncurses4/terminfo/t/tvi914 +/usr/share/ncurses4/terminfo/t/tvi920 +/usr/share/ncurses4/terminfo/t/tvi920-2p +/usr/share/ncurses4/terminfo/t/tvi920b +/usr/share/ncurses4/terminfo/t/tvi920c +/usr/share/ncurses4/terminfo/t/tvi921 +/usr/share/ncurses4/terminfo/t/tvi924 +/usr/share/ncurses4/terminfo/t/tvi925 +/usr/share/ncurses4/terminfo/t/tvi925-hi +/usr/share/ncurses4/terminfo/t/tvi92B +/usr/share/ncurses4/terminfo/t/tvi92D +/usr/share/ncurses4/terminfo/t/tvi950 +/usr/share/ncurses4/terminfo/t/tvi950-2p +/usr/share/ncurses4/terminfo/t/tvi950-4p +/usr/share/ncurses4/terminfo/t/tvi950-rv +/usr/share/ncurses4/terminfo/t/tvi950-rv-2p +/usr/share/ncurses4/terminfo/t/tvi950-rv-4p +/usr/share/ncurses4/terminfo/t/tvi955 +/usr/share/ncurses4/terminfo/t/tvi955-hb +/usr/share/ncurses4/terminfo/t/tvi955-w +/usr/share/ncurses4/terminfo/t/tvi970 +/usr/share/ncurses4/terminfo/t/tvi970-2p +/usr/share/ncurses4/terminfo/t/tvi970-vb +/usr/share/ncurses4/terminfo/t/tvipt +/usr/share/ncurses4/terminfo/u +/usr/share/ncurses4/terminfo/u/ultima2 +/usr/share/ncurses4/terminfo/u/ultimaII +/usr/share/ncurses4/terminfo/u/uniterm +/usr/share/ncurses4/terminfo/u/uniterm49 +/usr/share/ncurses4/terminfo/u/unixpc +/usr/share/ncurses4/terminfo/u/unknown +/usr/share/ncurses4/terminfo/u/uts30 +/usr/share/ncurses4/terminfo/v +/usr/share/ncurses4/terminfo/v/v200-nam +/usr/share/ncurses4/terminfo/v/v320n +/usr/share/ncurses4/terminfo/v/v3220 +/usr/share/ncurses4/terminfo/v/v5410 +/usr/share/ncurses4/terminfo/v/vapple +/usr/share/ncurses4/terminfo/v/vc103 +/usr/share/ncurses4/terminfo/v/vc203 +/usr/share/ncurses4/terminfo/v/vc303 +/usr/share/ncurses4/terminfo/v/vc303a +/usr/share/ncurses4/terminfo/v/vc403a +/usr/share/ncurses4/terminfo/v/vc404 +/usr/share/ncurses4/terminfo/v/vc404-s +/usr/share/ncurses4/terminfo/v/vc414 +/usr/share/ncurses4/terminfo/v/vc414h +/usr/share/ncurses4/terminfo/v/vc415 +/usr/share/ncurses4/terminfo/v/venix +/usr/share/ncurses4/terminfo/v/versaterm +/usr/share/ncurses4/terminfo/v/vi200 +/usr/share/ncurses4/terminfo/v/vi200-f +/usr/share/ncurses4/terminfo/v/vi200-rv +/usr/share/ncurses4/terminfo/v/vi300 +/usr/share/ncurses4/terminfo/v/vi300-old +/usr/share/ncurses4/terminfo/v/vi50 +/usr/share/ncurses4/terminfo/v/vi500 +/usr/share/ncurses4/terminfo/v/vi50adm +/usr/share/ncurses4/terminfo/v/vi55 +/usr/share/ncurses4/terminfo/v/vi550 +/usr/share/ncurses4/terminfo/v/vi603 +/usr/share/ncurses4/terminfo/v/viewpoint +/usr/share/ncurses4/terminfo/v/viewpoint3a+ +/usr/share/ncurses4/terminfo/v/viewpoint60 +/usr/share/ncurses4/terminfo/v/viewpoint90 +/usr/share/ncurses4/terminfo/v/visa50 +/usr/share/ncurses4/terminfo/v/visual603 +/usr/share/ncurses4/terminfo/v/vitty +/usr/share/ncurses4/terminfo/v/vk100 +/usr/share/ncurses4/terminfo/v/vp3a+ +/usr/share/ncurses4/terminfo/v/vp60 +/usr/share/ncurses4/terminfo/v/vp90 +/usr/share/ncurses4/terminfo/v/vremote +/usr/share/ncurses4/terminfo/v/vs100 +/usr/share/ncurses4/terminfo/v/vs100-x10 +/usr/share/ncurses4/terminfo/v/vsc +/usr/share/ncurses4/terminfo/v/vt-61 +/usr/share/ncurses4/terminfo/v/vt100 +/usr/share/ncurses4/terminfo/v/vt100-am +/usr/share/ncurses4/terminfo/v/vt100-bm +/usr/share/ncurses4/terminfo/v/vt100-bm-o +/usr/share/ncurses4/terminfo/v/vt100-bot-s +/usr/share/ncurses4/terminfo/v/vt100-nam +/usr/share/ncurses4/terminfo/v/vt100-nam-w +/usr/share/ncurses4/terminfo/v/vt100-nav +/usr/share/ncurses4/terminfo/v/vt100-nav-w +/usr/share/ncurses4/terminfo/v/vt100-s +/usr/share/ncurses4/terminfo/v/vt100-s-bot +/usr/share/ncurses4/terminfo/v/vt100-s-top +/usr/share/ncurses4/terminfo/v/vt100-top-s +/usr/share/ncurses4/terminfo/v/vt100-vb +/usr/share/ncurses4/terminfo/v/vt100-w +/usr/share/ncurses4/terminfo/v/vt100-w-am +/usr/share/ncurses4/terminfo/v/vt100-w-nam +/usr/share/ncurses4/terminfo/v/vt100-w-nav +/usr/share/ncurses4/terminfo/v/vt100nam +/usr/share/ncurses4/terminfo/v/vt102 +/usr/share/ncurses4/terminfo/v/vt102-nsgr +/usr/share/ncurses4/terminfo/v/vt102-w +/usr/share/ncurses4/terminfo/v/vt125 +/usr/share/ncurses4/terminfo/v/vt131 +/usr/share/ncurses4/terminfo/v/vt132 +/usr/share/ncurses4/terminfo/v/vt200 +/usr/share/ncurses4/terminfo/v/vt200-js +/usr/share/ncurses4/terminfo/v/vt200-w +/usr/share/ncurses4/terminfo/v/vt220 +/usr/share/ncurses4/terminfo/v/vt220-8 +/usr/share/ncurses4/terminfo/v/vt220-js +/usr/share/ncurses4/terminfo/v/vt220-nam +/usr/share/ncurses4/terminfo/v/vt220-w +/usr/share/ncurses4/terminfo/v/vt220d +/usr/share/ncurses4/terminfo/v/vt300 +/usr/share/ncurses4/terminfo/v/vt300-nam +/usr/share/ncurses4/terminfo/v/vt300-w +/usr/share/ncurses4/terminfo/v/vt300-w-nam +/usr/share/ncurses4/terminfo/v/vt320 +/usr/share/ncurses4/terminfo/v/vt320-k3 +/usr/share/ncurses4/terminfo/v/vt320-k311 +/usr/share/ncurses4/terminfo/v/vt320-nam +/usr/share/ncurses4/terminfo/v/vt320-w +/usr/share/ncurses4/terminfo/v/vt320-w-nam +/usr/share/ncurses4/terminfo/v/vt320nam +/usr/share/ncurses4/terminfo/v/vt330 +/usr/share/ncurses4/terminfo/v/vt340 +/usr/share/ncurses4/terminfo/v/vt400 +/usr/share/ncurses4/terminfo/v/vt400-24 +/usr/share/ncurses4/terminfo/v/vt420 +/usr/share/ncurses4/terminfo/v/vt420f +/usr/share/ncurses4/terminfo/v/vt420pc +/usr/share/ncurses4/terminfo/v/vt420pcdos +/usr/share/ncurses4/terminfo/v/vt50 +/usr/share/ncurses4/terminfo/v/vt50h +/usr/share/ncurses4/terminfo/v/vt510 +/usr/share/ncurses4/terminfo/v/vt510pc +/usr/share/ncurses4/terminfo/v/vt510pcdos +/usr/share/ncurses4/terminfo/v/vt52 +/usr/share/ncurses4/terminfo/v/vt520 +/usr/share/ncurses4/terminfo/v/vt525 +/usr/share/ncurses4/terminfo/v/vt61 +/usr/share/ncurses4/terminfo/v/vt61.5 +/usr/share/ncurses4/terminfo/w +/usr/share/ncurses4/terminfo/w/wren +/usr/share/ncurses4/terminfo/w/wrenw +/usr/share/ncurses4/terminfo/w/wsiris +/usr/share/ncurses4/terminfo/w/wy-75ap +/usr/share/ncurses4/terminfo/w/wy100 +/usr/share/ncurses4/terminfo/w/wy100q +/usr/share/ncurses4/terminfo/w/wy120 +/usr/share/ncurses4/terminfo/w/wy120-25 +/usr/share/ncurses4/terminfo/w/wy120-25-w +/usr/share/ncurses4/terminfo/w/wy120-vb +/usr/share/ncurses4/terminfo/w/wy120-w +/usr/share/ncurses4/terminfo/w/wy120-w-vb +/usr/share/ncurses4/terminfo/w/wy120-wvb +/usr/share/ncurses4/terminfo/w/wy150 +/usr/share/ncurses4/terminfo/w/wy150-25 +/usr/share/ncurses4/terminfo/w/wy150-25-w +/usr/share/ncurses4/terminfo/w/wy150-vb +/usr/share/ncurses4/terminfo/w/wy150-w +/usr/share/ncurses4/terminfo/w/wy150-w-vb +/usr/share/ncurses4/terminfo/w/wy160 +/usr/share/ncurses4/terminfo/w/wy160-25 +/usr/share/ncurses4/terminfo/w/wy160-25-w +/usr/share/ncurses4/terminfo/w/wy160-42 +/usr/share/ncurses4/terminfo/w/wy160-42-w +/usr/share/ncurses4/terminfo/w/wy160-43 +/usr/share/ncurses4/terminfo/w/wy160-43-w +/usr/share/ncurses4/terminfo/w/wy160-tek +/usr/share/ncurses4/terminfo/w/wy160-vb +/usr/share/ncurses4/terminfo/w/wy160-w +/usr/share/ncurses4/terminfo/w/wy160-w-vb +/usr/share/ncurses4/terminfo/w/wy160-wvb +/usr/share/ncurses4/terminfo/w/wy185 +/usr/share/ncurses4/terminfo/w/wy185-24 +/usr/share/ncurses4/terminfo/w/wy185-vb +/usr/share/ncurses4/terminfo/w/wy185-w +/usr/share/ncurses4/terminfo/w/wy185-wvb +/usr/share/ncurses4/terminfo/w/wy30 +/usr/share/ncurses4/terminfo/w/wy30-mc +/usr/share/ncurses4/terminfo/w/wy30-vb +/usr/share/ncurses4/terminfo/w/wy325 +/usr/share/ncurses4/terminfo/w/wy325-25 +/usr/share/ncurses4/terminfo/w/wy325-25w +/usr/share/ncurses4/terminfo/w/wy325-42 +/usr/share/ncurses4/terminfo/w/wy325-42w +/usr/share/ncurses4/terminfo/w/wy325-42w-vb +/usr/share/ncurses4/terminfo/w/wy325-42wvb +/usr/share/ncurses4/terminfo/w/wy325-43 +/usr/share/ncurses4/terminfo/w/wy325-43w +/usr/share/ncurses4/terminfo/w/wy325-43w-vb +/usr/share/ncurses4/terminfo/w/wy325-43wvb +/usr/share/ncurses4/terminfo/w/wy325-80 +/usr/share/ncurses4/terminfo/w/wy325-vb +/usr/share/ncurses4/terminfo/w/wy325-w +/usr/share/ncurses4/terminfo/w/wy325-w-vb +/usr/share/ncurses4/terminfo/w/wy325-wvb +/usr/share/ncurses4/terminfo/w/wy325w-24 +/usr/share/ncurses4/terminfo/w/wy350 +/usr/share/ncurses4/terminfo/w/wy350-vb +/usr/share/ncurses4/terminfo/w/wy350-w +/usr/share/ncurses4/terminfo/w/wy350-wvb +/usr/share/ncurses4/terminfo/w/wy370 +/usr/share/ncurses4/terminfo/w/wy370-101k +/usr/share/ncurses4/terminfo/w/wy370-105k +/usr/share/ncurses4/terminfo/w/wy370-EPC +/usr/share/ncurses4/terminfo/w/wy370-nk +/usr/share/ncurses4/terminfo/w/wy370-rv +/usr/share/ncurses4/terminfo/w/wy370-tek +/usr/share/ncurses4/terminfo/w/wy370-vb +/usr/share/ncurses4/terminfo/w/wy370-w +/usr/share/ncurses4/terminfo/w/wy370-wvb +/usr/share/ncurses4/terminfo/w/wy50 +/usr/share/ncurses4/terminfo/w/wy50-mc +/usr/share/ncurses4/terminfo/w/wy50-vb +/usr/share/ncurses4/terminfo/w/wy50-w +/usr/share/ncurses4/terminfo/w/wy50-wvb +/usr/share/ncurses4/terminfo/w/wy520 +/usr/share/ncurses4/terminfo/w/wy520-24 +/usr/share/ncurses4/terminfo/w/wy520-36 +/usr/share/ncurses4/terminfo/w/wy520-36pc +/usr/share/ncurses4/terminfo/w/wy520-36w +/usr/share/ncurses4/terminfo/w/wy520-36wpc +/usr/share/ncurses4/terminfo/w/wy520-48 +/usr/share/ncurses4/terminfo/w/wy520-48pc +/usr/share/ncurses4/terminfo/w/wy520-48w +/usr/share/ncurses4/terminfo/w/wy520-48wpc +/usr/share/ncurses4/terminfo/w/wy520-epc +/usr/share/ncurses4/terminfo/w/wy520-epc-24 +/usr/share/ncurses4/terminfo/w/wy520-epc-vb +/usr/share/ncurses4/terminfo/w/wy520-epc-w +/usr/share/ncurses4/terminfo/w/wy520-epc-wvb +/usr/share/ncurses4/terminfo/w/wy520-vb +/usr/share/ncurses4/terminfo/w/wy520-w +/usr/share/ncurses4/terminfo/w/wy520-wvb +/usr/share/ncurses4/terminfo/w/wy60 +/usr/share/ncurses4/terminfo/w/wy60-25 +/usr/share/ncurses4/terminfo/w/wy60-25-w +/usr/share/ncurses4/terminfo/w/wy60-316X +/usr/share/ncurses4/terminfo/w/wy60-42 +/usr/share/ncurses4/terminfo/w/wy60-42-w +/usr/share/ncurses4/terminfo/w/wy60-43 +/usr/share/ncurses4/terminfo/w/wy60-43-w +/usr/share/ncurses4/terminfo/w/wy60-vb +/usr/share/ncurses4/terminfo/w/wy60-w +/usr/share/ncurses4/terminfo/w/wy60-w-vb +/usr/share/ncurses4/terminfo/w/wy60-wvb +/usr/share/ncurses4/terminfo/w/wy75 +/usr/share/ncurses4/terminfo/w/wy75-mc +/usr/share/ncurses4/terminfo/w/wy75-vb +/usr/share/ncurses4/terminfo/w/wy75-w +/usr/share/ncurses4/terminfo/w/wy75-wvb +/usr/share/ncurses4/terminfo/w/wy75ap +/usr/share/ncurses4/terminfo/w/wy85 +/usr/share/ncurses4/terminfo/w/wy85-vb +/usr/share/ncurses4/terminfo/w/wy85-w +/usr/share/ncurses4/terminfo/w/wy85-wvb +/usr/share/ncurses4/terminfo/w/wy99gt +/usr/share/ncurses4/terminfo/w/wy99gt-25 +/usr/share/ncurses4/terminfo/w/wy99gt-25-w +/usr/share/ncurses4/terminfo/w/wy99gt-tek +/usr/share/ncurses4/terminfo/w/wy99gt-vb +/usr/share/ncurses4/terminfo/w/wy99gt-w +/usr/share/ncurses4/terminfo/w/wy99gt-w-vb +/usr/share/ncurses4/terminfo/w/wy99gt-wvb +/usr/share/ncurses4/terminfo/w/wyse-325 +/usr/share/ncurses4/terminfo/w/wyse-75ap +/usr/share/ncurses4/terminfo/w/wyse-vp +/usr/share/ncurses4/terminfo/w/wyse120 +/usr/share/ncurses4/terminfo/w/wyse120-25 +/usr/share/ncurses4/terminfo/w/wyse120-25-w +/usr/share/ncurses4/terminfo/w/wyse120-vb +/usr/share/ncurses4/terminfo/w/wyse120-w +/usr/share/ncurses4/terminfo/w/wyse120-wvb +/usr/share/ncurses4/terminfo/w/wyse150 +/usr/share/ncurses4/terminfo/w/wyse150-25 +/usr/share/ncurses4/terminfo/w/wyse150-25-w +/usr/share/ncurses4/terminfo/w/wyse150-vb +/usr/share/ncurses4/terminfo/w/wyse150-w +/usr/share/ncurses4/terminfo/w/wyse150-w-vb +/usr/share/ncurses4/terminfo/w/wyse160 +/usr/share/ncurses4/terminfo/w/wyse160-25 +/usr/share/ncurses4/terminfo/w/wyse160-25-w +/usr/share/ncurses4/terminfo/w/wyse160-42 +/usr/share/ncurses4/terminfo/w/wyse160-42-w +/usr/share/ncurses4/terminfo/w/wyse160-43 +/usr/share/ncurses4/terminfo/w/wyse160-43-w +/usr/share/ncurses4/terminfo/w/wyse160-vb +/usr/share/ncurses4/terminfo/w/wyse160-w +/usr/share/ncurses4/terminfo/w/wyse160-wvb +/usr/share/ncurses4/terminfo/w/wyse185 +/usr/share/ncurses4/terminfo/w/wyse185-24 +/usr/share/ncurses4/terminfo/w/wyse185-vb +/usr/share/ncurses4/terminfo/w/wyse185-w +/usr/share/ncurses4/terminfo/w/wyse185-wvb +/usr/share/ncurses4/terminfo/w/wyse30 +/usr/share/ncurses4/terminfo/w/wyse30-mc +/usr/share/ncurses4/terminfo/w/wyse30-vb +/usr/share/ncurses4/terminfo/w/wyse325 +/usr/share/ncurses4/terminfo/w/wyse325-25 +/usr/share/ncurses4/terminfo/w/wyse325-25w +/usr/share/ncurses4/terminfo/w/wyse325-42 +/usr/share/ncurses4/terminfo/w/wyse325-42w +/usr/share/ncurses4/terminfo/w/wyse325-43 +/usr/share/ncurses4/terminfo/w/wyse325-43w +/usr/share/ncurses4/terminfo/w/wyse325-vb +/usr/share/ncurses4/terminfo/w/wyse325-w +/usr/share/ncurses4/terminfo/w/wyse325-wvb +/usr/share/ncurses4/terminfo/w/wyse350 +/usr/share/ncurses4/terminfo/w/wyse350-vb +/usr/share/ncurses4/terminfo/w/wyse350-w +/usr/share/ncurses4/terminfo/w/wyse350-wvb +/usr/share/ncurses4/terminfo/w/wyse370 +/usr/share/ncurses4/terminfo/w/wyse50 +/usr/share/ncurses4/terminfo/w/wyse50-mc +/usr/share/ncurses4/terminfo/w/wyse50-vb +/usr/share/ncurses4/terminfo/w/wyse50-w +/usr/share/ncurses4/terminfo/w/wyse50-wvb +/usr/share/ncurses4/terminfo/w/wyse520 +/usr/share/ncurses4/terminfo/w/wyse520-24 +/usr/share/ncurses4/terminfo/w/wyse520-36 +/usr/share/ncurses4/terminfo/w/wyse520-36pc +/usr/share/ncurses4/terminfo/w/wyse520-36w +/usr/share/ncurses4/terminfo/w/wyse520-36wpc +/usr/share/ncurses4/terminfo/w/wyse520-48 +/usr/share/ncurses4/terminfo/w/wyse520-48pc +/usr/share/ncurses4/terminfo/w/wyse520-48w +/usr/share/ncurses4/terminfo/w/wyse520-48wpc +/usr/share/ncurses4/terminfo/w/wyse520-epc +/usr/share/ncurses4/terminfo/w/wyse520-epc-w +/usr/share/ncurses4/terminfo/w/wyse520-p-wvb +/usr/share/ncurses4/terminfo/w/wyse520-pc-24 +/usr/share/ncurses4/terminfo/w/wyse520-pc-vb +/usr/share/ncurses4/terminfo/w/wyse520-vb +/usr/share/ncurses4/terminfo/w/wyse520-w +/usr/share/ncurses4/terminfo/w/wyse520-wvb +/usr/share/ncurses4/terminfo/w/wyse60 +/usr/share/ncurses4/terminfo/w/wyse60-25 +/usr/share/ncurses4/terminfo/w/wyse60-25-w +/usr/share/ncurses4/terminfo/w/wyse60-316X +/usr/share/ncurses4/terminfo/w/wyse60-42 +/usr/share/ncurses4/terminfo/w/wyse60-42-w +/usr/share/ncurses4/terminfo/w/wyse60-43 +/usr/share/ncurses4/terminfo/w/wyse60-43-w +/usr/share/ncurses4/terminfo/w/wyse60-vb +/usr/share/ncurses4/terminfo/w/wyse60-w +/usr/share/ncurses4/terminfo/w/wyse60-wvb +/usr/share/ncurses4/terminfo/w/wyse75 +/usr/share/ncurses4/terminfo/w/wyse75-mc +/usr/share/ncurses4/terminfo/w/wyse75-vb +/usr/share/ncurses4/terminfo/w/wyse75-w +/usr/share/ncurses4/terminfo/w/wyse75-wvb +/usr/share/ncurses4/terminfo/w/wyse75ap +/usr/share/ncurses4/terminfo/w/wyse85 +/usr/share/ncurses4/terminfo/w/wyse85-vb +/usr/share/ncurses4/terminfo/w/wyse85-w +/usr/share/ncurses4/terminfo/w/wyse85-wvb +/usr/share/ncurses4/terminfo/w/wyse99gt +/usr/share/ncurses4/terminfo/w/wyse99gt-25 +/usr/share/ncurses4/terminfo/w/wyse99gt-25-w +/usr/share/ncurses4/terminfo/w/wyse99gt-vb +/usr/share/ncurses4/terminfo/w/wyse99gt-w +/usr/share/ncurses4/terminfo/w/wyse99gt-wvb +/usr/share/ncurses4/terminfo/x +/usr/share/ncurses4/terminfo/x/x10term +/usr/share/ncurses4/terminfo/x/x1700 +/usr/share/ncurses4/terminfo/x/x1700-lm +/usr/share/ncurses4/terminfo/x/x1720 +/usr/share/ncurses4/terminfo/x/x1750 +/usr/share/ncurses4/terminfo/x/x68k +/usr/share/ncurses4/terminfo/x/x68k-ite +/usr/share/ncurses4/terminfo/x/x820 +/usr/share/ncurses4/terminfo/x/xenix +/usr/share/ncurses4/terminfo/x/xerox +/usr/share/ncurses4/terminfo/x/xerox-lm +/usr/share/ncurses4/terminfo/x/xerox1720 +/usr/share/ncurses4/terminfo/x/xerox820 +/usr/share/ncurses4/terminfo/x/xl83 +/usr/share/ncurses4/terminfo/x/xtalk +/usr/share/ncurses4/terminfo/x/xterm +/usr/share/ncurses4/terminfo/x/xterm+sl +/usr/share/ncurses4/terminfo/x/xterm+sl-twm +/usr/share/ncurses4/terminfo/x/xterm-16color +/usr/share/ncurses4/terminfo/x/xterm-8bit +/usr/share/ncurses4/terminfo/x/xterm-bold +/usr/share/ncurses4/terminfo/x/xterm-nic +/usr/share/ncurses4/terminfo/x/xterm-old +/usr/share/ncurses4/terminfo/x/xterm-pcolor +/usr/share/ncurses4/terminfo/x/xterm-r5 +/usr/share/ncurses4/terminfo/x/xterm-r6 +/usr/share/ncurses4/terminfo/x/xterm-sun +/usr/share/ncurses4/terminfo/x/xterm-xf86-v32 +/usr/share/ncurses4/terminfo/x/xterm-xf86-v33 +/usr/share/ncurses4/terminfo/x/xterm-xf86-v40 +/usr/share/ncurses4/terminfo/x/xterm-xi +/usr/share/ncurses4/terminfo/x/xterm1 +/usr/share/ncurses4/terminfo/x/xterms +/usr/share/ncurses4/terminfo/x/xterms-sun +/usr/share/ncurses4/terminfo/x/xwsh +/usr/share/ncurses4/terminfo/z +/usr/share/ncurses4/terminfo/z/z-100 +/usr/share/ncurses4/terminfo/z/z-100bw +/usr/share/ncurses4/terminfo/z/z100 +/usr/share/ncurses4/terminfo/z/z100bw +/usr/share/ncurses4/terminfo/z/z110 +/usr/share/ncurses4/terminfo/z/z110bw +/usr/share/ncurses4/terminfo/z/z19 +/usr/share/ncurses4/terminfo/z/z29 +/usr/share/ncurses4/terminfo/z/z29a +/usr/share/ncurses4/terminfo/z/z29a-kc-bc +/usr/share/ncurses4/terminfo/z/z29a-kc-uc +/usr/share/ncurses4/terminfo/z/z29a-nkc-bc +/usr/share/ncurses4/terminfo/z/z29a-nkc-uc +/usr/share/ncurses4/terminfo/z/z29b +/usr/share/ncurses4/terminfo/z/z30 +/usr/share/ncurses4/terminfo/z/z340 +/usr/share/ncurses4/terminfo/z/z340-nam +/usr/share/ncurses4/terminfo/z/z39-a +/usr/share/ncurses4/terminfo/z/z39a +/usr/share/ncurses4/terminfo/z/z50 +/usr/share/ncurses4/terminfo/z/z8001 +/usr/share/ncurses4/terminfo/z/zen30 +/usr/share/ncurses4/terminfo/z/zen50 +/usr/share/ncurses4/terminfo/z/zen8001 +/usr/share/ncurses4/terminfo/z/zenith +/usr/share/ncurses4/terminfo/z/zenith29 +/usr/share/ncurses4/terminfo/z/zenith39-a +/usr/share/ncurses4/terminfo/z/zenith39-ansi +/usr/share/ncurses4/terminfo/z/zt-1 +/usr/share/ncurses4/terminfo/z/ztx +/usr/share/ncurses4/terminfo/z/ztx-1-a +/usr/share/ncurses4/terminfo/z/ztx11 + + + diff --git a/result/noent/rdf2.sax2 b/result/noent/rdf2.sax2 new file mode 100644 index 0000000..388174f --- /dev/null +++ b/result/noent/rdf2.sax2 @@ -0,0 +1,191 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 2, xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#', xmlns:RPM='http://www.rpm.org/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 1, 0, about='ftp:...', 71) +SAX.characters( + , 5) +SAX.startElementNs(Name, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(ncurses4, 8) +SAX.endElementNs(Name, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Version, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(4.2, 3) +SAX.endElementNs(Version, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Release, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(3, 1) +SAX.endElementNs(Release, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Arch, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(i386, 4) +SAX.endElementNs(Arch, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Os, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Linux, 5) +SAX.endElementNs(Os, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Distribution, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(DLD, 3) +SAX.endElementNs(Distribution, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Vendor, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(delix Computer GmbH, 19) +SAX.endElementNs(Vendor, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Packager, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Till Bubeck , 12) +SAX.characters(<, 1) +SAX.characters(bubeck@delix.de, 15) +SAX.characters(>, 1) +SAX.characters(, Ngo Than , 11) +SAX.characters(<, 1) +SAX.characters(than@delix.de, 13) +SAX.characters(>, 1) +SAX.endElementNs(Packager, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Group, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Libraries, 9) +SAX.endElementNs(Group, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Summary, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Bibliothek zur Ansteuerung von, 40) +SAX.endElementNs(Summary, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Description, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Diese Library stellt dem Progr, 57) +SAX.characters(ä, 2) +SAX.characters(ngige +Routinen zur Ansteuerung, 57) +SAX.characters(ü, 2) +SAX.characters(gung, die +speziell optimiert s, 57) +SAX.characters(', 1) +SAX.characters(new curses, 10) +SAX.characters(', 1) +SAX.characters( (ncurses) Variante und ist de, 51) +SAX.characters(ü, 2) +SAX.characters(r die klassische Curses-Librar, 70) +SAX.endElementNs(Description, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Copyright, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(GPL, 3) +SAX.endElementNs(Copyright, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Sources, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(ncurses4-4.2-3.src.rpm, 22) +SAX.endElementNs(Sources, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(BuildDate, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Tue May 12 19:30:26 1998, 24) +SAX.endElementNs(BuildDate, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Date, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(895015826, 9) +SAX.endElementNs(Date, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Size, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(1373513, 7) +SAX.endElementNs(Size, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(BuildHost, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(erdbeere.delix.de, 17) +SAX.endElementNs(BuildHost, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Provides, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 37) +SAX.characters(ncurses4, 8) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 42) +SAX.characters(libpanel.so.4, 13) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 44) +SAX.characters(libncurses.so.4, 15) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 41) +SAX.characters(libmenu.so.4, 12) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 41) +SAX.characters(libform.so.4, 12) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 36) +SAX.characters(ncurses, 7) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 7) +SAX.endElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( + , 5) +SAX.endElementNs(Provides, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Files, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/lib/libncurses.so.4 +/lib/libn, 2008) +SAX.characters(/share/ncurses4/terminfo/P/P14, 4000) +SAX.characters(es4/terminfo/a/alt7pc +/usr/sha, 4000) +SAX.characters(/a/att4415-w +/usr/share/ncurse, 4000) +SAX.characters(ses4/terminfo/b/bee +/usr/share, 4000) +SAX.characters(r/share/ncurses4/terminfo/c/co, 4000) +SAX.characters(/usr/share/ncurses4/terminfo/d, 4000) +SAX.characters(sr/share/ncurses4/terminfo/g/g, 4000) +SAX.characters(/terminfo/h/hp2626-12x40 +/usr/, 4000) +SAX.characters(e/ncurses4/terminfo/i/intertub, 4000) +SAX.characters(rses4/terminfo/m/mskermit22714, 4000) +SAX.characters(are/ncurses4/terminfo/p/p12-m +, 4000) +SAX.characters(pt100w +/usr/share/ncurses4/ter, 4000) +SAX.characters(sr/share/ncurses4/terminfo/s/s, 4000) +SAX.characters(usr/share/ncurses4/terminfo/t/, 4000) +SAX.characters(share/ncurses4/terminfo/v/vi55, 4000) +SAX.characters(are/ncurses4/terminfo/w/wy160-, 4000) +SAX.characters(/wy99gt-vb +/usr/share/ncurses4, 4000) +SAX.characters(/w/wyse99gt +/usr/share/ncurses, 2907) +SAX.endElementNs(Files, RPM, 'http://www.rpm.org/') +SAX.characters( + , 3) +SAX.endElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( +, 1) +SAX.endElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.endDocument() diff --git a/result/noent/slashdot.rdf b/result/noent/slashdot.rdf new file mode 100644 index 0000000..33008ab --- /dev/null +++ b/result/noent/slashdot.rdf @@ -0,0 +1,65 @@ + + + + + Slashdot:News for Nerds. Stuff that Matters. + http://slashdot.org/ + News for Nerds. Stuff that Matters + + + + Slashdot + http://slashdot.org/images/slashdotlg.gif + http://slashdot.org + + + + 100 Mbit/s on Fibre to the home + http://slashdot.org/articles/99/06/06/1440211.shtml + + + + Gimp 1.2 Preview + http://slashdot.org/articles/99/06/06/1438246.shtml + + + + Sony's AIBO robot Sold Out + http://slashdot.org/articles/99/06/06/1432256.shtml + + + + Ask Slashdot: Another Word for "Hacker"? + http://slashdot.org/askslashdot/99/06/05/1815225.shtml + + + + Corel Linux FAQ + http://slashdot.org/articles/99/06/05/1842218.shtml + + + + Upside downsides MP3.COM. + http://slashdot.org/articles/99/06/05/1558210.shtml + + + + 2 Terabits of Bandwidth + http://slashdot.org/articles/99/06/05/1554258.shtml + + + + Suppression of cold fusion research? + http://slashdot.org/articles/99/06/04/2313200.shtml + + + + California Gov. Halts Wage Info Sale + http://slashdot.org/articles/99/06/04/235256.shtml + + + + Red Hat Announces IPO + http://slashdot.org/articles/99/06/04/0849207.shtml + + diff --git a/result/noent/slashdot.rdf.sax2 b/result/noent/slashdot.rdf.sax2 new file mode 100644 index 0000000..c561cf8 --- /dev/null +++ b/result/noent/slashdot.rdf.sax2 @@ -0,0 +1,221 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(RDF, rdf, 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', 2, xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#', xmlns='http://my.netscape.com/rdf/simple/0.9/', 0, 0) +SAX.characters( + + , 4) +SAX.startElementNs(channel, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Slashdot:News for Nerds. Stuff, 44) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/, 20) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(description, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(News for Nerds. Stuff that Ma, 35) +SAX.endElementNs(description, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(channel, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 4) +SAX.startElementNs(image, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Slashdot, 8) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/images/sla, 41) +SAX.endElementNs(url, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org, 19) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(image, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Corel Linux FAQ, 15) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Upside downsides MP3.COM., 25) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(2 Terabits of Bandwidth, 23) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Suppression of cold fusion res, 36) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(California Gov. Halts Wage Inf, 36) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 50) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Red Hat Announces IPO, 21) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( +, 1) +SAX.endElementNs(RDF, rdf, 'http://www.w3.org/1999/02/22-rdf-syntax-ns#') +SAX.endDocument() diff --git a/result/noent/slashdot.xml b/result/noent/slashdot.xml new file mode 100644 index 0000000..b648d5e --- /dev/null +++ b/result/noent/slashdot.xml @@ -0,0 +1,113 @@ + + + + 100 Mbit/s on Fibre to the home + http://slashdot.org/articles/99/06/06/1440211.shtml + + CmdrTaco + wouldn't-it-be-nice + internet + 20 +
    articles
    + topicinternet.jpg +
    + + Gimp 1.2 Preview + http://slashdot.org/articles/99/06/06/1438246.shtml + + CmdrTaco + stuff-to-read + gimp + 12 +
    articles
    + topicgimp.gif +
    + + Sony's AIBO robot Sold Out + http://slashdot.org/articles/99/06/06/1432256.shtml + + CmdrTaco + stuff-to-see + tech + 10 +
    articles
    + topictech2.jpg +
    + + Ask Slashdot: Another Word for "Hacker"? + http://slashdot.org/askslashdot/99/06/05/1815225.shtml + + Cliff + hacker-vs-cracker + news + 385 +
    askslashdot
    + topicnews.gif +
    + + Corel Linux FAQ + http://slashdot.org/articles/99/06/05/1842218.shtml + + CmdrTaco + stuff-to-read + corel + 164 +
    articles
    + topiccorel.gif +
    + + Upside downsides MP3.COM. + http://slashdot.org/articles/99/06/05/1558210.shtml + + CmdrTaco + stuff-to-think-about + music + 48 +
    articles
    + topicmusic.gif +
    + + 2 Terabits of Bandwidth + http://slashdot.org/articles/99/06/05/1554258.shtml + + CmdrTaco + faster-porn + internet + 66 +
    articles
    + topicinternet.jpg +
    + + Suppression of cold fusion research? + http://slashdot.org/articles/99/06/04/2313200.shtml + + Hemos + possibly-probably + science + 217 +
    articles
    + topicscience.gif +
    + + California Gov. Halts Wage Info Sale + http://slashdot.org/articles/99/06/04/235256.shtml + + Hemos + woo-hoo! + usa + 16 +
    articles
    + topicus.gif +
    + + Red Hat Announces IPO + http://slashdot.org/articles/99/06/04/0849207.shtml + + Justin + details-sketchy + redhat + 155 +
    articles
    + topicredhat.gif +
    +
    diff --git a/result/noent/slashdot.xml.sax2 b/result/noent/slashdot.xml.sax2 new file mode 100644 index 0000000..2ead70d --- /dev/null +++ b/result/noent/slashdot.xml.sax2 @@ -0,0 +1,517 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(ultramode, NULL, NULL, 0, 0, 0) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:39:59, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(wouldn't-it-be-nice, 19) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(20, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:38:40, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(gimp, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(12, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicgimp.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:32:51, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-see, 12) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(tech, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(10, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topictech2.jpg, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 20:00:00, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Cliff, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(hacker-vs-cracker, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(news, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(385, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(askslashdot, 11) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicnews.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Corel Linux FAQ, 15) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 18:42:06, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(corel, 5) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(164, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topiccorel.gif, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Upside downsides MP3.COM., 25) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 15:56:45, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-think-about, 20) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(music, 5) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(48, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicmusic.gif, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(2 Terabits of Bandwidth, 23) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 15:53:43, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(faster-porn, 11) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(66, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Suppression of cold fusion res, 36) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 23:12:29, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Hemos, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(possibly-probably, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(science, 7) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(217, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicscience.gif, 16) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(California Gov. Halts Wage Inf, 36) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 50) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 23:05:34, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Hemos, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(woo-hoo!, 8) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(usa, 3) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(16, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicus.gif, 11) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Red Hat Announces IPO, 21) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 19:30:18, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Justin, 6) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(details-sketchy, 15) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(redhat, 6) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(155, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicredhat.gif, 15) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(ultramode, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/slashdot16.xml b/result/noent/slashdot16.xml new file mode 100644 index 0000000..f6a7f2a Binary files /dev/null and b/result/noent/slashdot16.xml differ diff --git a/result/noent/slashdot16.xml.sax2 b/result/noent/slashdot16.xml.sax2 new file mode 100644 index 0000000..785e699 --- /dev/null +++ b/result/noent/slashdot16.xml.sax2 @@ -0,0 +1,721 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(ultramode, NULL, NULL, 0, 0, 0) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:39:59, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(wouldn't-it-be-nice, 19) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(20, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:38:40, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(gimp, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(12, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicgimp.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:32:51, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-see, 12) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(tech, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(10, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topictech2.jpg, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 20:00:00, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Cliff, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(hacker-vs-cracker, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(news, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(385, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(askslashdot, 11) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicnews.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:39:59, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(wouldn't-it-be-nice, 19) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(20, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:38:40, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(gimp, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(12, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicgimp.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:32:51, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-see, 12) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(tech, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(10, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topictech2.jpg, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 20:00:00, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Cliff, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(hacker-vs-cracker, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(news, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(385, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(askslashdot, 11) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicnews.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Corel Linux FAQ, 15) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 18:42:06, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(corel, 5) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(164, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topiccorel.gif, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Upside downsides MP3.COM., 25) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 15:56:45, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-think-about, 20) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(music, 5) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(48, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicmusic.gif, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(2 Terabits of Bandwidth, 23) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 15:53:43, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(faster-porn, 11) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(66, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Suppression of cold fusion res, 36) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 23:12:29, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Hemos, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(possibly-probably, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(science, 7) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(217, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicscience.gif, 16) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(California Gov. Halts Wage Inf, 36) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 50) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 23:05:34, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Hemos, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(woo-hoo!, 8) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(usa, 3) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(16, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicus.gif, 11) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Red Hat Announces IPO, 21) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 19:30:18, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Justin, 6) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(details-sketchy, 15) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(redhat, 6) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(155, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicredhat.gif, 15) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(ultramode, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/svg1 b/result/noent/svg1 new file mode 100644 index 0000000..359bd45 --- /dev/null +++ b/result/noent/svg1 @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/result/noent/svg1.sax2 b/result/noent/svg1.sax2 new file mode 100644 index 0000000..7b81459 --- /dev/null +++ b/result/noent/svg1.sax2 @@ -0,0 +1,613 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.externalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.startElementNs(svg, NULL, NULL, 0, 2, 0, width='242p...', 5, height='383p...', 5) +SAX.characters( +, 1) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 69,...', 337) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 142...', 190) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 127...', 71) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 178...', 128) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 56,...', 273) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 74,...', 203) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 212...', 448) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 151...', 208) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 106) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 21,...', 90) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 71,...', 150) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 139...', 101) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 105...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 141...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 98,...', 156) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 97,...', 156) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 238) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 85,...', 69) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 86,...', 217) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 93,...', 65) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 144...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 57,...', 294) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 83,...', 194) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 109...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 122...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 156) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 82,...', 284) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 142...', 239) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 114...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 102...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 51,...', 154) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 2,3...', 120) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 7,3...', 154) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 11,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 13,...', 97) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 202...', 152) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 151...', 168) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 91,...', 202) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 31,...', 96) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 76) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 181...', 91) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 132...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 146...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 99,...', 78) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 20,...', 105) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 93,...', 92) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 105...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 122...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 116...', 260) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 74,...', 245) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 133...', 104) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 133...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 121...', 334) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 79,...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 91,...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 110...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 126...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 30,...', 266) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 44,...', 319) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 13,...', 84) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 10,...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 9,2...', 45) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 33,...', 385) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 7,3...', 51) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 44,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 32,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 139...', 128) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 208...', 360) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 152) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 107...', 93) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 148...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 80,...', 192) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 87,...', 55) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 85,...', 55) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 119) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 145...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 26,...', 60) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 160...', 91) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 98,...', 265) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 146...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 148...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 108...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 50,...', 144) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 231) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 155...', 102) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 112...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 195) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 67,...', 109) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 56,...', 276) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 101...', 307) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 41,...', 116) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 32,...', 245) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 134...', 136) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 173...', 280) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 165...', 88) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 99,...', 124) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 117...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 117...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 122...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 69,...', 262) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 100...', 54) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 127...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 5,2...', 218) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 10,...', 48) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 25,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 37,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 49,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 130...', 88) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 139...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 25,...', 91) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 98,...', 92) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 83,...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 155...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 153...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 152...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 68,...', 58) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 105...', 68) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 108...', 65) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 85,...', 156) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 140...', 126) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 146...', 237) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 150...', 320) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 157...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 99,...', 63) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.endElementNs(svg, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/svg2 b/result/noent/svg2 new file mode 100644 index 0000000..6c3990c --- /dev/null +++ b/result/noent/svg2 @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + Java Font definition:Dialog 0 + + + Java Font definition:Helvetica 0 + + + + this is text + + + + Java Font definition:Dialog 0 + + + Java Font definition:Helvetica 700 + + + + sadfsadfsad + + + + + + + + + + + Java Font definition:Dialog 700 + + + Java Font definition:Dialog 700 + + diff --git a/result/noent/svg2.sax2 b/result/noent/svg2.sax2 new file mode 100644 index 0000000..ab73992 --- /dev/null +++ b/result/noent/svg2.sax2 @@ -0,0 +1,189 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.externalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.startElementNs(svg, NULL, NULL, 0, 2, 0, width='268p...', 5, height='207p...', 5) +SAX.characters( +, 1) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d=' M 2...', 9) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d=' L 1...', 9) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 32,...', 46) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(rect, NULL, NULL, 0, 4, 0, x='30" ...', 2, y='101"...', 3, width='51" ...', 2, height='33"/...', 2) +SAX.endElementNs(rect, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(ellipse, NULL, NULL, 0, 5, 0, cx='182"...', 3, cy='127"...', 3, major='37" ...', 2, minor='31" ...', 2, angle='90"/...', 2) +SAX.endElementNs(ellipse, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 445) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Dialog 0, 30) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Helvetic, 33) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(text, NULL, NULL, 0, 2, 0, x='188"...', 3, y='36" ...', 2) +SAX.characters(this is text, 12) +SAX.endElementNs(text, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Dialog 0, 30) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Helvetic, 35) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(text, NULL, NULL, 0, 2, 0, x='176"...', 3, y='85" ...', 2) +SAX.characters(sadfsadfsad, 11) +SAX.endElementNs(text, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(ellipse, NULL, NULL, 0, 5, 0, cx='208"...', 3, cy='180"...', 3, major='45" ...', 2, minor='31" ...', 2, angle='0"/>...', 1) +SAX.endElementNs(ellipse, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Dialog 7, 32) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Dialog 7, 32) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.endElementNs(svg, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/svg3 b/result/noent/svg3 new file mode 100644 index 0000000..c4994b8 --- /dev/null +++ b/result/noent/svg3 @@ -0,0 +1,723 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/result/noent/svg3.sax2 b/result/noent/svg3.sax2 new file mode 100644 index 0000000..b63dff0 --- /dev/null +++ b/result/noent/svg3.sax2 @@ -0,0 +1,2407 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(svg, NULL, NULL, 0, 0, 0) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M77....', 149) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M81....', 149) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M108...', 153) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M105...', 157) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M101...', 157) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M90....', 150) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M83....', 149) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M80....', 151) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M91....', 144) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M71....', 105) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M72....', 150) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M72....', 145) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 29) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M70....', 3523) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 29) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M499...', 1458) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M84....', 598) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M333...', 739) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M334...', 757) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M336...', 760) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M337...', 761) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M338...', 762) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M340...', 760) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M341...', 760) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M342...', 760) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M343...', 725) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M345...', 762) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M84....', 637) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 221) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M265...', 273) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M145...', 431) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M178...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M178...', 131) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M179...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M165...', 911) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M170...', 501) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M192...', 262) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 209) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M194...', 475) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 29) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 405) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M191...', 219) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M271...', 327) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M228...', 98) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M180...', 137) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M185...', 152) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 152) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M197...', 154) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M203...', 154) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M210...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 132) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M215...', 142) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M233...', 211) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M247...', 50) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M253...', 56) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M174...', 179) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 219) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M111...', 221) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M132...', 208) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M133...', 334) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M177...', 183) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M147...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M154...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M161...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 182) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 247) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M243...', 361) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M208...', 393) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M208...', 393) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M209...', 393) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M210...', 393) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M244...', 301) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M290...', 155) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M294...', 309) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M247...', 193) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M243...', 200) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M255...', 77) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 191) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M141...', 411) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 486) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M148...', 494) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M148...', 484) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M148...', 495) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 486) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M137...', 119) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M120...', 115) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M128...', 132) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M214...', 1619) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M409...', 389) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M464...', 271) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M463...', 289) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M463...', 287) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M462...', 280) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M462...', 289) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M462...', 250) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M250...', 709) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M389...', 91) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M436...', 125) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M492...', 99) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M304...', 123) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M494...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M343...', 2441) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M309...', 1201) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M380...', 429) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M368...', 1598) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M291...', 929) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M259...', 1006) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 383) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M217...', 181) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M233...', 2425) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M251...', 74) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M224...', 84) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M221...', 112) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M222...', 114) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M220...', 6993) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M197...', 185) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M138...', 193) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M138...', 197) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M134...', 195) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M134...', 11) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M89 ...', 570) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M87....', 491) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M91 ...', 497) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M88....', 626) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M79....', 183) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M101...', 359) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M240...', 1223) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M231...', 816) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M294...', 902) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M257...', 3281) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M202...', 837) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M182...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M142...', 177) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M133...', 289) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M120...', 215) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M349...', 1047) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M339...', 444) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M173...', 503) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M180...', 445) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M177...', 379) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M196...', 438) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 109) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 113) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M171...', 105) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M163...', 113) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M191...', 114) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M180...', 109) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M173...', 105) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M166...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M205...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M215...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M226...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M236...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M209...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M219...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M196...', 109) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M123...', 117) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M105...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 101) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M129...', 1246) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M126...', 311) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 125) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M127...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M129...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M130...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 157) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M242...', 154) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M239...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M236...', 157) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M204...', 387) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M277...', 379) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M218...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M211...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M193...', 128) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M235...', 128) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M254...', 129) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M264...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M226...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M262...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M265...', 363) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M207...', 143) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M217...', 147) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M229...', 143) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M239...', 137) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 133) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M172...', 135) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M164...', 137) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M211...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M222...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M193...', 155) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M174...', 159) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M167...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M236...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M203...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M213...', 135) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M220...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M228...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M238...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M198...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M249...', 159) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M257...', 159) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M267...', 159) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M156...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M187...', 105) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M178...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M82....', 121) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M84....', 121) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M77....', 121) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M157...', 137) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 349) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M234...', 346) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M194...', 445) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M168...', 247) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M155...', 396) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M171...', 206) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M186...', 803) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M246...', 179) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M231...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M221...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M211...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M192...', 261) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M189...', 131) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M167...', 181) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M161...', 183) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M155...', 99) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 181) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M470...', 101) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M476...', 97) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M493...', 91) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M501...', 67) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M110...', 25) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M161...', 38) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M166...', 40) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M220...', 46) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(svg, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/title.xml b/result/noent/title.xml new file mode 100644 index 0000000..1b3fe07 --- /dev/null +++ b/result/noent/title.xml @@ -0,0 +1,2 @@ + +my title diff --git a/result/noent/title.xml.sax2 b/result/noent/title.xml.sax2 new file mode 100644 index 0000000..6fa4fa9 --- /dev/null +++ b/result/noent/title.xml.sax2 @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(my title, 8) +SAX.endElementNs(title, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/tstblanks.xml b/result/noent/tstblanks.xml new file mode 100644 index 0000000..2561859 --- /dev/null +++ b/result/noent/tstblanks.xml @@ -0,0 +1,2 @@ + +
    content diff --git a/result/noent/tstblanks.xml.sax2 b/result/noent/tstblanks.xml.sax2 new file mode 100644 index 0000000..45563a4 --- /dev/null +++ b/result/noent/tstblanks.xml.sax2 @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(a, NULL, NULL, 0, 1, 0, test='pass...', 6) +SAX.characters(content, 7) +SAX.endElementNs(a, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/utf16bebom.xml b/result/noent/utf16bebom.xml new file mode 100644 index 0000000..3b5466d Binary files /dev/null and b/result/noent/utf16bebom.xml differ diff --git a/result/noent/utf16bebom.xml.sax2 b/result/noent/utf16bebom.xml.sax2 new file mode 100644 index 0000000..4326890 --- /dev/null +++ b/result/noent/utf16bebom.xml.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This file is encoded in UTF-16BE ) +SAX.startElementNs(repository, NULL, NULL, 0, 1, 0, repositroy_id='test...', 4) +SAX.startElementNs(namespace, NULL, NULL, 0, 1, 0, name='test...', 4) +SAX.endElementNs(namespace, NULL, NULL) +SAX.endElementNs(repository, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/utf16bom.xml b/result/noent/utf16bom.xml new file mode 100644 index 0000000..6ea296e Binary files /dev/null and b/result/noent/utf16bom.xml differ diff --git a/result/noent/utf16bom.xml.sax2 b/result/noent/utf16bom.xml.sax2 new file mode 100644 index 0000000..2b2db15 --- /dev/null +++ b/result/noent/utf16bom.xml.sax2 @@ -0,0 +1,7 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(repository, NULL, NULL, 0, 1, 0, repositroy_id='test...', 4) +SAX.startElementNs(namespace, NULL, NULL, 0, 1, 0, name='test...', 4) +SAX.endElementNs(namespace, NULL, NULL) +SAX.endElementNs(repository, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/utf16lebom.xml b/result/noent/utf16lebom.xml new file mode 100644 index 0000000..933640c Binary files /dev/null and b/result/noent/utf16lebom.xml differ diff --git a/result/noent/utf16lebom.xml.sax2 b/result/noent/utf16lebom.xml.sax2 new file mode 100644 index 0000000..3b62346 --- /dev/null +++ b/result/noent/utf16lebom.xml.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This file is encoded in UTF-16LE ) +SAX.startElementNs(repository, NULL, NULL, 0, 1, 0, repositroy_id='test...', 4) +SAX.startElementNs(namespace, NULL, NULL, 0, 1, 0, name='test...', 4) +SAX.endElementNs(namespace, NULL, NULL) +SAX.endElementNs(repository, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/utf8bom.xml b/result/noent/utf8bom.xml new file mode 100644 index 0000000..f4e5164 --- /dev/null +++ b/result/noent/utf8bom.xml @@ -0,0 +1,2 @@ + + diff --git a/result/noent/utf8bom.xml.sax2 b/result/noent/utf8bom.xml.sax2 new file mode 100644 index 0000000..cf7f20f --- /dev/null +++ b/result/noent/utf8bom.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(foo, NULL, NULL, 0, 0, 0) +SAX.endElementNs(foo, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/wap.xml b/result/noent/wap.xml new file mode 100644 index 0000000..694b49f --- /dev/null +++ b/result/noent/wap.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + +

    If automatic testing failed, select Failed + + + + + .

    +
    + +
    diff --git a/result/noent/wap.xml.sax2 b/result/noent/wap.xml.sax2 new file mode 100644 index 0000000..6d40b25 --- /dev/null +++ b/result/noent/wap.xml.sax2 @@ -0,0 +1,87 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://dark.wapit.com/vswap/tests/wap/DTD/wml11.dtd) +SAX.externalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://dark.wapit.com/vswap/tests/wap/DTD/wml11.dtd) +SAX.comment( (C) 1999, 2000 WAP Forum Ltd. All rights reserved ) +SAX.startElementNs(wml, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(card, NULL, NULL, 0, 1, 0, id='card...', 5) +SAX.characters( +, 1) +SAX.startElementNs(onevent, NULL, NULL, 0, 1, 0, type='onen...', 14) +SAX.characters( +, 1) +SAX.startElementNs(go, NULL, NULL, 0, 1, 0, href='/vsw...', 21) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='var"...', 3, value='$tes...', 5) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='v" v...', 1, value='dark...', 4) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ts" ...', 2, value='0003...', 4) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='tp" ...', 2, value='wml/...', 29) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ti" ...', 2, value='1"/>...', 1) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='expe...', 8, value='var:...', 8) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(go, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(onevent, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters(If automatic testing failed, s, 36) +SAX.startElementNs(anchor, NULL, NULL, 0, 0, 0) +SAX.characters(Failed, 6) +SAX.startElementNs(go, NULL, NULL, 0, 1, 0, href='/vsw...', 21) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='SUBM...', 6, value='No"/...', 2) +SAX.endElementNs(postfield, NULL, NULL) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='v" +v...', 1, value='dark...', 4) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ts" ...', 2, value='0003...', 4) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='tp" ...', 2, value='wml/...', 29) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ti" ...', 2, value='1"/>...', 1) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='expe...', 8, value='var:...', 8) +SAX.endElementNs(postfield, NULL, NULL) +SAX.endElementNs(go, NULL, NULL) +SAX.endElementNs(anchor, NULL, NULL) +SAX.characters(., 1) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(card, NULL, NULL) +SAX.characters( + +, 2) +SAX.endElementNs(wml, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/winblanks.xml b/result/noent/winblanks.xml new file mode 100644 index 0000000..0044aa2 --- /dev/null +++ b/result/noent/winblanks.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/result/noent/winblanks.xml.sax2 b/result/noent/winblanks.xml.sax2 new file mode 100644 index 0000000..6e9d693 --- /dev/null +++ b/result/noent/winblanks.xml.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(B, NULL, NULL, 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(C, NULL, NULL, 0, 0, 0) +SAX.endElementNs(C, NULL, NULL) +SAX.characters( , 3) +SAX.characters( +, 1) +SAX.endElementNs(B, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(a, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/wml.xml b/result/noent/wml.xml new file mode 100644 index 0000000..3a96562 --- /dev/null +++ b/result/noent/wml.xml @@ -0,0 +1,10 @@ + + + + +

    + Cinéma
    +

    + +
    +
    diff --git a/result/noent/wml.xml.sax2 b/result/noent/wml.xml.sax2 new file mode 100644 index 0000000..7772d04 --- /dev/null +++ b/result/noent/wml.xml.sax2 @@ -0,0 +1,31 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://www.wapforum.org/DTD/wml_1.1.xml) +SAX.externalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://www.wapforum.org/DTD/wml_1.1.xml) +SAX.startElementNs(wml, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(card, NULL, NULL, 0, 2, 0, id='card...', 5, title='Rubr...', 15) +SAX.characters( + , 2) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(a, NULL, NULL, 0, 1, 0, href='rubm...', 26) +SAX.characters(Cin, 3) +SAX.characters(é, 2) +SAX.characters(ma, 2) +SAX.endElementNs(a, NULL, NULL) +SAX.startElementNs(br, NULL, NULL, 0, 0, 0) +SAX.endElementNs(br, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + +, 2) +SAX.endElementNs(card, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(wml, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/xhtml1 b/result/noent/xhtml1 new file mode 100644 index 0000000..6c06a95 --- /dev/null +++ b/result/noent/xhtml1 @@ -0,0 +1,30 @@ + + + + + + Virtual Library + + + + +

    Moved to example.org.

    + + + foo + +

    + +

    coucou

    +

    salut

    + +

    test

    + +
    +
    Internet Engineering Task Force
    +
    An organization which establishes technical standards for the Internet
    +
    + + diff --git a/result/noent/xhtml1.sax2 b/result/noent/xhtml1.sax2 new file mode 100644 index 0000000..e6952c8 --- /dev/null +++ b/result/noent/xhtml1.sax2 @@ -0,0 +1,104 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.externalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.comment( 3.1.1 3/ ) +SAX.startElementNs(html, NULL, NULL, 0, 2, 0, xml:lang='en" ...', 2, lang='en">...', 2) +SAX.characters( + , 3) +SAX.startElementNs(head, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Virtual Library, 15) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(head, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( 4.8 ) +SAX.characters( + , 3) +SAX.startElementNs(script, NULL, NULL, 0, 1, 0, type='text...', 15) +SAX.characters( + ... unescaped script , 24) +SAX.characters(<, 1) +SAX.characters( content ... + , 15) +SAX.endElementNs(script, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(body, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters(Moved to , 9) +SAX.startElementNs(a, NULL, NULL, 0, 1, 0, href='http...', 19) +SAX.characters(example.org, 11) +SAX.endElementNs(a, NULL, NULL) +SAX.characters(., 1) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(body, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( C2 ) +SAX.characters( + , 3) +SAX.startElementNs(img, NULL, NULL, 0, 2, 0, src='foo....', 7, alt='foo"...', 3) +SAX.endElementNs(img, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( C3 ) +SAX.characters( + , 3) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( C7 ) +SAX.characters( + , 3) +SAX.startElementNs(p, NULL, NULL, 0, 1, 0, lang='fr">...', 2) +SAX.characters(coucou, 6) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(p, NULL, NULL, 0, 1, 0, xml:lang='fr">...', 2) +SAX.characters(salut, 5) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( C8 ) +SAX.characters( + , 3) +SAX.startElementNs(p, NULL, NULL, 0, 1, 0, name='frag...', 6) +SAX.characters(test, 4) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( 4.5 ) +SAX.characters( + , 3) +SAX.startElementNs(dl, NULL, NULL, 0, 1, 0, compact='"> + ...', 0) +SAX.characters( + , 3) +SAX.startElementNs(dt, NULL, NULL, 0, 0, 0) +SAX.characters(Internet Engineering Task Forc, 31) +SAX.endElementNs(dt, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(dd, NULL, NULL, 0, 0, 0) +SAX.characters(An organization which establis, 70) +SAX.endElementNs(dd, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(dl, NULL, NULL) +SAX.characters( + +, 2) +SAX.endElementNs(html, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/xhtmlcomp b/result/noent/xhtmlcomp new file mode 100644 index 0000000..4ce634c --- /dev/null +++ b/result/noent/xhtmlcomp @@ -0,0 +1,7 @@ + + + + +

    a b

    + + diff --git a/result/noent/xhtmlcomp.sax2 b/result/noent/xhtmlcomp.sax2 new file mode 100644 index 0000000..085b770 --- /dev/null +++ b/result/noent/xhtmlcomp.sax2 @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.externalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.startElementNs(html, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(body, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(h1, NULL, NULL, 0, 0, 0) +SAX.startElementNs(abbr, NULL, NULL, 0, 0, 0) +SAX.characters(a, 1) +SAX.endElementNs(abbr, NULL, NULL) +SAX.characters( b, 2) +SAX.endElementNs(h1, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(body, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(html, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/xml1 b/result/noent/xml1 new file mode 100644 index 0000000..637d265 --- /dev/null +++ b/result/noent/xml1 @@ -0,0 +1,9 @@ + +An ampersand (&#38;) may be escaped + numerically (&#38;#38;) or with a general entity + (&amp;).

    "> +]> +

    An ampersand (&) may be escaped + numerically (&#38;) or with a general entity + (&amp;).

    diff --git a/result/noent/xml1.sax2 b/result/noent/xml1.sax2 new file mode 100644 index 0000000..2dce925 --- /dev/null +++ b/result/noent/xml1.sax2 @@ -0,0 +1,22 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.entityDecl(example, 1, (null), (null),

    An ampersand (&) may be escaped + numerically (&#38;) or with a general entity + (&amp;).

    ) +SAX.getEntity(example) +SAX.externalSubset(test, , ) +SAX.startElementNs(test, NULL, NULL, 0, 0, 0) +SAX.getEntity(example) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters(An ampersand (, 14) +SAX.characters(&, 1) +SAX.characters() may be escaped + numerically , 31) +SAX.characters(&, 1) +SAX.characters(#38;) or with a general entity, 34) +SAX.characters(&, 1) +SAX.characters(amp;)., 6) +SAX.endElementNs(p, NULL, NULL) +SAX.endElementNs(test, NULL, NULL) +SAX.endDocument() diff --git a/result/noent/xml2 b/result/noent/xml2 new file mode 100644 index 0000000..6c39454 --- /dev/null +++ b/result/noent/xml2 @@ -0,0 +1,8 @@ + + + +'> + +]> +This sample shows a error-prone method. diff --git a/result/noent/xml2.sax2 b/result/noent/xml2.sax2 new file mode 100644 index 0000000..141accd --- /dev/null +++ b/result/noent/xml2.sax2 @@ -0,0 +1,18 @@ +xmlSAXUserParseFile returned error 27 +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.elementDecl(test, 3, ...) +SAX.entityDecl(xx, 4, (null), (null), %zz;) +SAX.getParameterEntity(xx) +SAX.entityDecl(zz, 4, (null), (null), ) +SAX.getParameterEntity(zz) +SAX.getParameterEntity(xx) +SAX.error: PEReference: %xx; not found +SAX.characters(This sample shows a , 20) +SAX.getEntity(tricky) +SAX.error: Entity 'tricky' not defined +SAX.reference(tricky) +SAX.characters( method., 8) +SAX.endDocument() +xmlSAXUserParseFile returned error 27 diff --git a/result/ns b/result/ns new file mode 100644 index 0000000..94b927e --- /dev/null +++ b/result/ns @@ -0,0 +1,4 @@ + + + + diff --git a/result/ns.rde b/result/ns.rde new file mode 100644 index 0000000..513d135 --- /dev/null +++ b/result/ns.rde @@ -0,0 +1,7 @@ +0 1 dia:diagram 0 0 +1 14 #text 0 1 + +1 1 dia:diagramdata 1 0 +1 14 #text 0 1 + +0 15 dia:diagram 0 0 diff --git a/result/ns.rdr b/result/ns.rdr new file mode 100644 index 0000000..513d135 --- /dev/null +++ b/result/ns.rdr @@ -0,0 +1,7 @@ +0 1 dia:diagram 0 0 +1 14 #text 0 1 + +1 1 dia:diagramdata 1 0 +1 14 #text 0 1 + +0 15 dia:diagram 0 0 diff --git a/result/ns.sax b/result/ns.sax new file mode 100644 index 0000000..45e00f7 --- /dev/null +++ b/result/ns.sax @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(dia:diagram, xmlns:dia='http://www.lysator.liu.se/~alla/dia/') +SAX.characters( + , 3) +SAX.startElement(dia:diagramdata, dia:testattr='test') +SAX.endElement(dia:diagramdata) +SAX.characters( +, 1) +SAX.endElement(dia:diagram) +SAX.endDocument() diff --git a/result/ns.sax2 b/result/ns.sax2 new file mode 100644 index 0000000..c615db3 --- /dev/null +++ b/result/ns.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, dia:testattr='test...', 4) +SAX.endElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.characters( +, 1) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/result/ns2 b/result/ns2 new file mode 100644 index 0000000..b69ad82 --- /dev/null +++ b/result/ns2 @@ -0,0 +1,2 @@ + + diff --git a/result/ns2.rde b/result/ns2.rde new file mode 100644 index 0000000..58ca0ac --- /dev/null +++ b/result/ns2.rde @@ -0,0 +1 @@ +0 1 dia:diagram 1 0 diff --git a/result/ns2.rdr b/result/ns2.rdr new file mode 100644 index 0000000..58ca0ac --- /dev/null +++ b/result/ns2.rdr @@ -0,0 +1 @@ +0 1 dia:diagram 1 0 diff --git a/result/ns2.sax b/result/ns2.sax new file mode 100644 index 0000000..64a3fe8 --- /dev/null +++ b/result/ns2.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(dia:diagram, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', dia:testattr='test') +SAX.endElement(dia:diagram) +SAX.endDocument() diff --git a/result/ns2.sax2 b/result/ns2.sax2 new file mode 100644 index 0000000..fc8d6f4 --- /dev/null +++ b/result/ns2.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 1, 0, dia:testattr='test...', 4) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/result/ns3 b/result/ns3 new file mode 100644 index 0000000..b69ad82 --- /dev/null +++ b/result/ns3 @@ -0,0 +1,2 @@ + + diff --git a/result/ns3.rde b/result/ns3.rde new file mode 100644 index 0000000..58ca0ac --- /dev/null +++ b/result/ns3.rde @@ -0,0 +1 @@ +0 1 dia:diagram 1 0 diff --git a/result/ns3.rdr b/result/ns3.rdr new file mode 100644 index 0000000..58ca0ac --- /dev/null +++ b/result/ns3.rdr @@ -0,0 +1 @@ +0 1 dia:diagram 1 0 diff --git a/result/ns3.sax b/result/ns3.sax new file mode 100644 index 0000000..421c7f0 --- /dev/null +++ b/result/ns3.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(dia:diagram, dia:testattr='test', xmlns:dia='http://www.lysator.liu.se/~alla/dia/') +SAX.endElement(dia:diagram) +SAX.endDocument() diff --git a/result/ns3.sax2 b/result/ns3.sax2 new file mode 100644 index 0000000..fc8d6f4 --- /dev/null +++ b/result/ns3.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 1, 0, dia:testattr='test...', 4) +SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/') +SAX.endDocument() diff --git a/result/ns4 b/result/ns4 new file mode 100644 index 0000000..136bf92 --- /dev/null +++ b/result/ns4 @@ -0,0 +1,2 @@ + + diff --git a/result/ns4.rde b/result/ns4.rde new file mode 100644 index 0000000..6f5dda7 --- /dev/null +++ b/result/ns4.rde @@ -0,0 +1 @@ +0 1 diagram 1 0 diff --git a/result/ns4.rdr b/result/ns4.rdr new file mode 100644 index 0000000..6f5dda7 --- /dev/null +++ b/result/ns4.rdr @@ -0,0 +1 @@ +0 1 diagram 1 0 diff --git a/result/ns4.sax b/result/ns4.sax new file mode 100644 index 0000000..674b9a3 --- /dev/null +++ b/result/ns4.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(diagram, testattr='test', xml:lang='en', xml:link='simple', xml:space='preserve') +SAX.endElement(diagram) +SAX.endDocument() diff --git a/result/ns4.sax2 b/result/ns4.sax2 new file mode 100644 index 0000000..e31cc56 --- /dev/null +++ b/result/ns4.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(diagram, NULL, NULL, 0, 4, 0, testattr='test...', 4, xml:lang='en" ...', 2, xml:link='simp...', 6, xml:space='pres...', 8) +SAX.endElementNs(diagram, NULL, NULL) +SAX.endDocument() diff --git a/result/ns5 b/result/ns5 new file mode 100644 index 0000000..0afe4e2 --- /dev/null +++ b/result/ns5 @@ -0,0 +1,4 @@ + + + + diff --git a/result/ns5.rde b/result/ns5.rde new file mode 100644 index 0000000..30ce196 --- /dev/null +++ b/result/ns5.rde @@ -0,0 +1,7 @@ +0 1 element 0 0 +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +0 15 element 0 0 diff --git a/result/ns5.rdr b/result/ns5.rdr new file mode 100644 index 0000000..30ce196 --- /dev/null +++ b/result/ns5.rdr @@ -0,0 +1,7 @@ +0 1 element 0 0 +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +0 15 element 0 0 diff --git a/result/ns5.sax b/result/ns5.sax new file mode 100644 index 0000000..e458bca --- /dev/null +++ b/result/ns5.sax @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(element, name='foo', xmlns:rng='http://example.org/ns/1', xmlns='http://example.org/ns/1') +SAX.characters( + , 3) +SAX.startElement(empty) +SAX.endElement(empty) +SAX.characters( +, 1) +SAX.endElement(element) +SAX.endDocument() diff --git a/result/ns5.sax2 b/result/ns5.sax2 new file mode 100644 index 0000000..a434d6b --- /dev/null +++ b/result/ns5.sax2 @@ -0,0 +1,11 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(element, NULL, 'http://example.org/ns/1', 2, xmlns:rng='http://example.org/ns/1', xmlns='http://example.org/ns/1', 1, 0, name='foo"...', 3) +SAX.characters( + , 3) +SAX.startElementNs(empty, NULL, 'http://example.org/ns/1', 0, 0, 0) +SAX.endElementNs(empty, NULL, 'http://example.org/ns/1') +SAX.characters( +, 1) +SAX.endElementNs(element, NULL, 'http://example.org/ns/1') +SAX.endDocument() diff --git a/result/ns6 b/result/ns6 new file mode 100644 index 0000000..c971252 --- /dev/null +++ b/result/ns6 @@ -0,0 +1,5 @@ + + + + + diff --git a/result/ns6.rde b/result/ns6.rde new file mode 100644 index 0000000..23a80ec --- /dev/null +++ b/result/ns6.rde @@ -0,0 +1,10 @@ +0 1 root 0 0 +1 14 #text 0 1 + +1 1 foo 1 0 +1 14 #text 0 1 + +1 1 bar 1 0 +1 14 #text 0 1 + +0 15 root 0 0 diff --git a/result/ns6.rdr b/result/ns6.rdr new file mode 100644 index 0000000..23a80ec --- /dev/null +++ b/result/ns6.rdr @@ -0,0 +1,10 @@ +0 1 root 0 0 +1 14 #text 0 1 + +1 1 foo 1 0 +1 14 #text 0 1 + +1 1 bar 1 0 +1 14 #text 0 1 + +0 15 root 0 0 diff --git a/result/ns6.sax b/result/ns6.sax new file mode 100644 index 0000000..a1405b1 --- /dev/null +++ b/result/ns6.sax @@ -0,0 +1,15 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(root) +SAX.characters( + , 3) +SAX.startElement(foo, xmlns='http://abc') +SAX.endElement(foo) +SAX.characters( + , 3) +SAX.startElement(bar) +SAX.endElement(bar) +SAX.characters( +, 1) +SAX.endElement(root) +SAX.endDocument() diff --git a/result/ns6.sax2 b/result/ns6.sax2 new file mode 100644 index 0000000..7b54552 --- /dev/null +++ b/result/ns6.sax2 @@ -0,0 +1,15 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(root, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(foo, NULL, 'http://abc', 1, xmlns='http://abc', 0, 0) +SAX.endElementNs(foo, NULL, 'http://abc') +SAX.characters( + , 3) +SAX.startElementNs(bar, NULL, NULL, 0, 0, 0) +SAX.endElementNs(bar, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(root, NULL, NULL) +SAX.endDocument() diff --git a/result/ns7 b/result/ns7 new file mode 100644 index 0000000..b5089e1 --- /dev/null +++ b/result/ns7 @@ -0,0 +1,2 @@ + + diff --git a/result/ns7.rde b/result/ns7.rde new file mode 100644 index 0000000..16f5351 --- /dev/null +++ b/result/ns7.rde @@ -0,0 +1 @@ +0 1 xml:test 1 0 diff --git a/result/ns7.rdr b/result/ns7.rdr new file mode 100644 index 0000000..16f5351 --- /dev/null +++ b/result/ns7.rdr @@ -0,0 +1 @@ +0 1 xml:test 1 0 diff --git a/result/ns7.sax b/result/ns7.sax new file mode 100644 index 0000000..6020be9 --- /dev/null +++ b/result/ns7.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(xml:test) +SAX.endElement(xml:test) +SAX.endDocument() diff --git a/result/ns7.sax2 b/result/ns7.sax2 new file mode 100644 index 0000000..2a2c714 --- /dev/null +++ b/result/ns7.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(test, xml, 'http://www.w3.org/XML/1998/namespace', 0, 0, 0) +SAX.endElementNs(test, xml, 'http://www.w3.org/XML/1998/namespace') +SAX.endDocument() diff --git a/result/nsclean.xml b/result/nsclean.xml new file mode 100644 index 0000000..8f1ea82 --- /dev/null +++ b/result/nsclean.xml @@ -0,0 +1,5 @@ + +
    + + +
    diff --git a/result/nsclean.xml.rde b/result/nsclean.xml.rde new file mode 100644 index 0000000..c606593 --- /dev/null +++ b/result/nsclean.xml.rde @@ -0,0 +1,10 @@ +0 1 article 0 0 +1 14 #text 0 1 + +1 1 foop:content 0 0 +2 14 #text 0 1 + +1 15 foop:content 0 0 +1 14 #text 0 1 + +0 15 article 0 0 diff --git a/result/nsclean.xml.rdr b/result/nsclean.xml.rdr new file mode 100644 index 0000000..c606593 --- /dev/null +++ b/result/nsclean.xml.rdr @@ -0,0 +1,10 @@ +0 1 article 0 0 +1 14 #text 0 1 + +1 1 foop:content 0 0 +2 14 #text 0 1 + +1 15 foop:content 0 0 +1 14 #text 0 1 + +0 15 article 0 0 diff --git a/result/nsclean.xml.sax b/result/nsclean.xml.sax new file mode 100644 index 0000000..b01aeae --- /dev/null +++ b/result/nsclean.xml.sax @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(article, xmlns='tag:foofoofoofoofoofoofoofoo', xmlns:dc='http://purl.org/dc/elements/1.1/', xmlns:dcterms='http://purl.org/dc/terms/') +SAX.characters( +, 1) +SAX.startElement(foop:content, xmlns='http://www.w3.org/1999/xhtml', xmlns:foop='tag:foofoofoofoofoofoofoofoo') +SAX.characters( +, 1) +SAX.endElement(foop:content) +SAX.characters( +, 1) +SAX.endElement(article) +SAX.endDocument() diff --git a/result/nsclean.xml.sax2 b/result/nsclean.xml.sax2 new file mode 100644 index 0000000..d443e2b --- /dev/null +++ b/result/nsclean.xml.sax2 @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(article, NULL, 'tag:foofoofoofoofoofoofoofoo', 3, xmlns='tag:foofoofoofoofoofoofoofoo', xmlns:dc='http://purl.org/dc/elements/1.1/', xmlns:dcterms='http://purl.org/dc/terms/', 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(content, foop, 'tag:foofoofoofoofoofoofoofoo', 2, xmlns='http://www.w3.org/1999/xhtml', xmlns:foop='tag:foofoofoofoofoofoofoofoo', 0, 0) +SAX.characters( +, 1) +SAX.endElementNs(content, foop, 'tag:foofoofoofoofoofoofoofoo') +SAX.characters( +, 1) +SAX.endElementNs(article, NULL, 'tag:foofoofoofoofoofoofoofoo') +SAX.endDocument() diff --git a/result/p3p b/result/p3p new file mode 100644 index 0000000..31d5587 --- /dev/null +++ b/result/p3p @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/result/p3p.rde b/result/p3p.rde new file mode 100644 index 0000000..0c01f50 --- /dev/null +++ b/result/p3p.rde @@ -0,0 +1,55 @@ +0 1 RDF:RDF 0 0 +1 14 #text 0 1 + +1 1 PROP 0 0 +2 14 #text 0 1 + +2 1 USES 0 0 +3 14 #text 0 1 + +3 1 STATEMENT 0 0 +4 14 #text 0 1 + +4 1 WITH 0 0 +5 1 PREFIX 0 0 +6 14 #text 0 1 + +6 1 REF 1 0 +6 14 #text 0 1 + +6 1 REF 1 0 +6 14 #text 0 1 + +6 1 REF 1 0 +6 14 #text 0 1 + +5 15 PREFIX 0 0 +4 15 WITH 0 0 +4 14 #text 0 1 + +3 15 STATEMENT 0 0 +3 14 #text 0 1 + +2 15 USES 0 0 +2 14 #text 0 1 + +2 1 USES 0 0 +3 14 #text 0 1 + +3 1 STATEMENT 0 0 +4 14 #text 0 1 + +4 1 REF 1 0 +4 14 #text 0 1 + +3 15 STATEMENT 0 0 +3 14 #text 0 1 + +2 15 USES 0 0 +2 14 #text 0 1 + +2 1 DISCLOSURE 1 0 +2 14 #text 0 1 + +1 15 PROP 0 0 +0 15 RDF:RDF 0 0 diff --git a/result/p3p.rdr b/result/p3p.rdr new file mode 100644 index 0000000..0c01f50 --- /dev/null +++ b/result/p3p.rdr @@ -0,0 +1,55 @@ +0 1 RDF:RDF 0 0 +1 14 #text 0 1 + +1 1 PROP 0 0 +2 14 #text 0 1 + +2 1 USES 0 0 +3 14 #text 0 1 + +3 1 STATEMENT 0 0 +4 14 #text 0 1 + +4 1 WITH 0 0 +5 1 PREFIX 0 0 +6 14 #text 0 1 + +6 1 REF 1 0 +6 14 #text 0 1 + +6 1 REF 1 0 +6 14 #text 0 1 + +6 1 REF 1 0 +6 14 #text 0 1 + +5 15 PREFIX 0 0 +4 15 WITH 0 0 +4 14 #text 0 1 + +3 15 STATEMENT 0 0 +3 14 #text 0 1 + +2 15 USES 0 0 +2 14 #text 0 1 + +2 1 USES 0 0 +3 14 #text 0 1 + +3 1 STATEMENT 0 0 +4 14 #text 0 1 + +4 1 REF 1 0 +4 14 #text 0 1 + +3 15 STATEMENT 0 0 +3 14 #text 0 1 + +2 15 USES 0 0 +2 14 #text 0 1 + +2 1 DISCLOSURE 1 0 +2 14 #text 0 1 + +1 15 PROP 0 0 +0 15 RDF:RDF 0 0 diff --git a/result/p3p.sax b/result/p3p.sax new file mode 100644 index 0000000..e36629a --- /dev/null +++ b/result/p3p.sax @@ -0,0 +1,63 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(RDF:RDF, xmlns:p3p='http://www.w3.org/TR/1998/WD-P3P10-syntax#proposal.DTD', xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( +, 1) +SAX.startElement(PROP, realm='http://www.CoolCatalog.com/catalogue/', entity='CoolCatalog', agreeID='94df1293a3e519bb', assurance='http://www.TrustUs.org') +SAX.characters( + , 3) +SAX.startElement(USES) +SAX.characters( + , 3) +SAX.startElement(STATEMENT, purp='2,3', recpnt='0', id='0', consq='a site with clothes you'd appreciate.') +SAX.characters( + , 5) +SAX.startElement(WITH) +SAX.startElement(PREFIX, name='User.') +SAX.characters( + , 6) +SAX.startElement(REF, name='Name.First') +SAX.endElement(REF) +SAX.characters( + , 6) +SAX.startElement(REF, name='Bdate.Year', optional='1') +SAX.endElement(REF) +SAX.characters( + , 6) +SAX.startElement(REF, name='Gender') +SAX.endElement(REF) +SAX.characters( + , 5) +SAX.endElement(PREFIX) +SAX.endElement(WITH) +SAX.characters( + , 3) +SAX.endElement(STATEMENT) +SAX.characters( + , 3) +SAX.endElement(USES) +SAX.characters( + , 3) +SAX.startElement(USES) +SAX.characters( + , 3) +SAX.startElement(STATEMENT, action='read&write', purp='0', recpnt='0', id='1') +SAX.characters( + , 5) +SAX.startElement(REF, name='User.Shipping.') +SAX.endElement(REF) +SAX.characters( + , 3) +SAX.endElement(STATEMENT) +SAX.characters( + , 3) +SAX.endElement(USES) +SAX.characters( + , 3) +SAX.startElement(DISCLOSURE, discURI='http://www.CoolCatalog.com/PrivacyPractice.html', access='3', other='0,1') +SAX.endElement(DISCLOSURE) +SAX.characters( +, 1) +SAX.endElement(PROP) +SAX.endElement(RDF:RDF) +SAX.endDocument() diff --git a/result/p3p.sax2 b/result/p3p.sax2 new file mode 100644 index 0000000..e62ae6b --- /dev/null +++ b/result/p3p.sax2 @@ -0,0 +1,65 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 2, xmlns:p3p='http://www.w3.org/TR/1998/WD-P3P10-syntax#proposal.DTD', xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#', 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(PROP, NULL, NULL, 0, 4, 0, realm='http...', 37, entity='Cool...', 11, agreeID='94df...', 16, assurance='http...', 22) +SAX.characters( + , 3) +SAX.startElementNs(USES, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(STATEMENT, NULL, NULL, 0, 4, 0, purp='2,3"...', 3, recpnt='0" i...', 1, id='0" + ...', 1, consq='a si...', 37) +SAX.characters( + , 5) +SAX.startElementNs(WITH, NULL, NULL, 0, 0, 0) +SAX.startElementNs(PREFIX, NULL, NULL, 0, 1, 0, name='User...', 5) +SAX.characters( + , 6) +SAX.startElementNs(REF, NULL, NULL, 0, 1, 0, name='Name...', 10) +SAX.endElementNs(REF, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(REF, NULL, NULL, 0, 2, 0, name='Bdat...', 10, optional='1"/>...', 1) +SAX.endElementNs(REF, NULL, NULL) +SAX.characters( + , 6) +SAX.startElementNs(REF, NULL, NULL, 0, 1, 0, name='Gend...', 6) +SAX.endElementNs(REF, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(PREFIX, NULL, NULL) +SAX.endElementNs(WITH, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(STATEMENT, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(USES, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(USES, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(STATEMENT, NULL, NULL, 0, 4, 0, action='read...', 14, purp='0" r...', 1, recpnt='0" i...', 1, id='1"> +...', 1) +SAX.characters( + , 5) +SAX.startElementNs(REF, NULL, NULL, 0, 1, 0, name='User...', 14) +SAX.endElementNs(REF, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(STATEMENT, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(USES, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(DISCLOSURE, NULL, NULL, 0, 3, 0, discURI='http...', 47, access='3" o...', 1, other='0,1"...', 3) +SAX.endElementNs(DISCLOSURE, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(PROP, NULL, NULL) +SAX.endElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.endDocument() diff --git a/result/pattern/conj b/result/pattern/conj new file mode 100644 index 0000000..616450b --- /dev/null +++ b/result/pattern/conj @@ -0,0 +1,47 @@ +Node /a matches pattern a|b +Node /a/b matches pattern a|b +Node /a/b/c[1]/b matches pattern a|b +Node /a/b/c[2]/b matches pattern a|b +Node /a/b/c[2]/c/b matches pattern a|b +Node /a/c/b matches pattern a|b +Node /a matches pattern a|c +Node /a/b/c[1] matches pattern a|c +Node /a/b/c[2] matches pattern a|c +Node /a/b/c[2]/c matches pattern a|c +Node /a/c matches pattern a|c +Node /a/b matches pattern b|c +Node /a/b/c[1] matches pattern b|c +Node /a/b/c[1]/b matches pattern b|c +Node /a/b/c[2] matches pattern b|c +Node /a/b/c[2]/b matches pattern b|c +Node /a/b/c[2]/c matches pattern b|c +Node /a/b/c[2]/c/b matches pattern b|c +Node /a/c matches pattern b|c +Node /a/c/b matches pattern b|c +Node /a matches pattern a|b|c +Node /a/b matches pattern a|b|c +Node /a/b/c[1] matches pattern a|b|c +Node /a/b/c[1]/b matches pattern a|b|c +Node /a/b/c[2] matches pattern a|b|c +Node /a/b/c[2]/b matches pattern a|b|c +Node /a/b/c[2]/c matches pattern a|b|c +Node /a/b/c[2]/c/b matches pattern a|b|c +Node /a/c matches pattern a|b|c +Node /a/c/b matches pattern a|b|c +Node /a matches pattern /a|b +Node /a/b matches pattern /a|b +Node /a/b/c[1]/b matches pattern /a|b +Node /a/b/c[2]/b matches pattern /a|b +Node /a/b/c[2]/c/b matches pattern /a|b +Node /a/c/b matches pattern /a|b +Node /a matches pattern b|/a +Node /a/b matches pattern b|/a +Node /a/b/c[1]/b matches pattern b|/a +Node /a/b/c[2]/b matches pattern b|/a +Node /a/b/c[2]/c/b matches pattern b|/a +Node /a/c/b matches pattern b|/a +Node /a/b/c[1] matches pattern a//c|b//c +Node /a/b/c[2] matches pattern a//c|b//c +Node /a/b/c[2]/c matches pattern a//c|b//c +Node /a/c matches pattern a//c|b//c +Node /a matches pattern d|e|f|g|h|a diff --git a/result/pattern/multiple b/result/pattern/multiple new file mode 100644 index 0000000..e10390e --- /dev/null +++ b/result/pattern/multiple @@ -0,0 +1,91 @@ +Node /c/b[1]/a[1] matches pattern a +Node /c/b[1]/a[2] matches pattern a +Node /c/c/b/a[1] matches pattern a +Node /c/c/b/a[2] matches pattern a +Node /c/b[2]/a[1] matches pattern a +Node /c/b[2]/a[2] matches pattern a +Node /c/b[1] matches pattern b +Node /c/c/b matches pattern b +Node /c/b[2] matches pattern b +Node /c matches pattern c +Node /c/c matches pattern c +Node /c/b[1] matches pattern c/b +Node /c/c/b matches pattern c/b +Node /c/b[2] matches pattern c/b +Node /c/b[1]/a[1] matches pattern b/a +Node /c/b[1]/a[2] matches pattern b/a +Node /c/c/b/a[1] matches pattern b/a +Node /c/c/b/a[2] matches pattern b/a +Node /c/b[2]/a[1] matches pattern b/a +Node /c/b[2]/a[2] matches pattern b/a +Node /c/b[1]/a[1] matches pattern c/b/a +Node /c/b[1]/a[2] matches pattern c/b/a +Node /c/c/b/a[1] matches pattern c/b/a +Node /c/c/b/a[2] matches pattern c/b/a +Node /c/b[2]/a[1] matches pattern c/b/a +Node /c/b[2]/a[2] matches pattern c/b/a +Node /c/b[1]/a[1] matches pattern c//a +Node /c/b[1]/a[2] matches pattern c//a +Node /c/c/b/a[1] matches pattern c//a +Node /c/c/b/a[2] matches pattern c//a +Node /c/b[2]/a[1] matches pattern c//a +Node /c/b[2]/a[2] matches pattern c//a +Node /c/b[1] matches pattern c//b +Node /c/c/b matches pattern c//b +Node /c/b[2] matches pattern c//b +Node /c/b[1]/a[1] matches pattern b//a +Node /c/b[1]/a[2] matches pattern b//a +Node /c/c/b/a[1] matches pattern b//a +Node /c/c/b/a[2] matches pattern b//a +Node /c/b[2]/a[1] matches pattern b//a +Node /c/b[2]/a[2] matches pattern b//a +Node /c/b[1]/a[1] matches pattern c//b//a +Node /c/b[1]/a[2] matches pattern c//b//a +Node /c/c/b/a[1] matches pattern c//b//a +Node /c/c/b/a[2] matches pattern c//b//a +Node /c/b[2]/a[1] matches pattern c//b//a +Node /c/b[2]/a[2] matches pattern c//b//a +Node /c/b[1]/a[1] matches pattern c/b//a +Node /c/b[1]/a[2] matches pattern c/b//a +Node /c/c/b/a[1] matches pattern c/b//a +Node /c/c/b/a[2] matches pattern c/b//a +Node /c/b[2]/a[1] matches pattern c/b//a +Node /c/b[2]/a[2] matches pattern c/b//a +Node /c/b[1]/a[1] matches pattern c//b/a +Node /c/b[1]/a[2] matches pattern c//b/a +Node /c/c/b/a[1] matches pattern c//b/a +Node /c/c/b/a[2] matches pattern c//b/a +Node /c/b[2]/a[1] matches pattern c//b/a +Node /c/b[2]/a[2] matches pattern c//b/a +Node /c matches pattern /c +Node /c/b[1] matches pattern /c/b +Node /c/b[2] matches pattern /c/b +Node /c/b[1]/a[1] matches pattern /c/b/a +Node /c/b[1]/a[2] matches pattern /c/b/a +Node /c/b[2]/a[1] matches pattern /c/b/a +Node /c/b[2]/a[2] matches pattern /c/b/a +Node /c/b[1]/a[1] matches pattern /c//a +Node /c/b[1]/a[2] matches pattern /c//a +Node /c/c/b/a[1] matches pattern /c//a +Node /c/c/b/a[2] matches pattern /c//a +Node /c/b[2]/a[1] matches pattern /c//a +Node /c/b[2]/a[2] matches pattern /c//a +Node /c/b[1] matches pattern /c//b +Node /c/c/b matches pattern /c//b +Node /c/b[2] matches pattern /c//b +Node /c/b[1]/a[1] matches pattern /c//b//a +Node /c/b[1]/a[2] matches pattern /c//b//a +Node /c/c/b/a[1] matches pattern /c//b//a +Node /c/c/b/a[2] matches pattern /c//b//a +Node /c/b[2]/a[1] matches pattern /c//b//a +Node /c/b[2]/a[2] matches pattern /c//b//a +Node /c/b[1]/a[1] matches pattern /c/b//a +Node /c/b[1]/a[2] matches pattern /c/b//a +Node /c/b[2]/a[1] matches pattern /c/b//a +Node /c/b[2]/a[2] matches pattern /c/b//a +Node /c/b[1]/a[1] matches pattern /c//b/a +Node /c/b[1]/a[2] matches pattern /c//b/a +Node /c/c/b/a[1] matches pattern /c//b/a +Node /c/c/b/a[2] matches pattern /c//b/a +Node /c/b[2]/a[1] matches pattern /c//b/a +Node /c/b[2]/a[2] matches pattern /c//b/a diff --git a/result/pattern/namespaces b/result/pattern/namespaces new file mode 100644 index 0000000..159f847 --- /dev/null +++ b/result/pattern/namespaces @@ -0,0 +1,20 @@ +Node /a matches pattern //a +Node /a/b:b/a matches pattern //a +Node /a/*[4]/a matches pattern //a +Node /a/a:a matches pattern //a:a +Node /a/b:b/a/a:a matches pattern //a:a +Node /a/*[4] matches pattern //a:a +Node /a/c:a matches pattern //a:a +Node /a/b matches pattern //b +Node /a/a:a/b:b matches pattern //b:b +Node /a/b:b matches pattern //b:b +Node /a/b:b/a/a:a/b:b matches pattern //b:b +Node /a/b:b/a matches pattern /a//a +Node /a/*[4]/a matches pattern /a//a +Node /a/b matches pattern /a/b +Node /a/a:a matches pattern /a/a:a +Node /a/*[4] matches pattern /a/a:a +Node /a/c:a matches pattern /a/a:a +Node /a/a:a matches pattern /a/c:a +Node /a/*[4] matches pattern /a/c:a +Node /a/c:a matches pattern /a/c:a diff --git a/result/pattern/simple b/result/pattern/simple new file mode 100644 index 0000000..5710b5c --- /dev/null +++ b/result/pattern/simple @@ -0,0 +1,12 @@ +Node /a matches pattern a +Node /a/b matches pattern b +Node /a/b matches pattern b +Node /a matches pattern /a +Node /a/b matches pattern a/b +Node /a/b/c matches pattern a/b/c +Node /a matches pattern //a +Node /a/b matches pattern //b +Node /a/b/c matches pattern //c +Node /a/b matches pattern a//b +Node /a/b/c matches pattern a//c +Node /a/b/c matches pattern b//c diff --git a/result/pi.xml b/result/pi.xml new file mode 100644 index 0000000..48c7ff0 --- /dev/null +++ b/result/pi.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/result/pi.xml.rde b/result/pi.xml.rde new file mode 100644 index 0000000..cdc8a8d --- /dev/null +++ b/result/pi.xml.rde @@ -0,0 +1,13 @@ +0 1 doc 0 0 +1 14 #text 0 1 + +1 7 document-start 0 1 doc +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +1 7 document-end 0 1 doc +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/pi.xml.rdr b/result/pi.xml.rdr new file mode 100644 index 0000000..cdc8a8d --- /dev/null +++ b/result/pi.xml.rdr @@ -0,0 +1,13 @@ +0 1 doc 0 0 +1 14 #text 0 1 + +1 7 document-start 0 1 doc +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +1 7 document-end 0 1 doc +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/result/pi.xml.sax b/result/pi.xml.sax new file mode 100644 index 0000000..2a1b9bd --- /dev/null +++ b/result/pi.xml.sax @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(doc) +SAX.characters( +, 1) +SAX.processingInstruction(document-start, doc) +SAX.characters( +, 1) +SAX.startElement(empty) +SAX.endElement(empty) +SAX.characters( +, 1) +SAX.processingInstruction(document-end, doc) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.endDocument() diff --git a/result/pi.xml.sax2 b/result/pi.xml.sax2 new file mode 100644 index 0000000..a4490ea --- /dev/null +++ b/result/pi.xml.sax2 @@ -0,0 +1,17 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.processingInstruction(document-start, doc) +SAX.characters( +, 1) +SAX.startElementNs(empty, NULL, NULL, 0, 0, 0) +SAX.endElementNs(empty, NULL, NULL) +SAX.characters( +, 1) +SAX.processingInstruction(document-end, doc) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.endDocument() diff --git a/result/pi2.xml b/result/pi2.xml new file mode 100644 index 0000000..710d51c --- /dev/null +++ b/result/pi2.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/result/pi2.xml.rde b/result/pi2.xml.rde new file mode 100644 index 0000000..52b3b9d --- /dev/null +++ b/result/pi2.xml.rde @@ -0,0 +1,9 @@ +0 7 document-start 0 1 doc +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +0 15 doc 0 0 +0 7 document-end 0 1 doc diff --git a/result/pi2.xml.rdr b/result/pi2.xml.rdr new file mode 100644 index 0000000..52b3b9d --- /dev/null +++ b/result/pi2.xml.rdr @@ -0,0 +1,9 @@ +0 7 document-start 0 1 doc +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 empty 1 0 +1 14 #text 0 1 + +0 15 doc 0 0 +0 7 document-end 0 1 doc diff --git a/result/pi2.xml.sax b/result/pi2.xml.sax new file mode 100644 index 0000000..3100a17 --- /dev/null +++ b/result/pi2.xml.sax @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.processingInstruction(document-start, doc) +SAX.startElement(doc) +SAX.characters( +, 1) +SAX.startElement(empty) +SAX.endElement(empty) +SAX.characters( +, 1) +SAX.endElement(doc) +SAX.processingInstruction(document-end, doc) +SAX.endDocument() diff --git a/result/pi2.xml.sax2 b/result/pi2.xml.sax2 new file mode 100644 index 0000000..1e6caad --- /dev/null +++ b/result/pi2.xml.sax2 @@ -0,0 +1,13 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.processingInstruction(document-start, doc) +SAX.startElementNs(doc, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(empty, NULL, NULL, 0, 0, 0) +SAX.endElementNs(empty, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(doc, NULL, NULL) +SAX.processingInstruction(document-end, doc) +SAX.endDocument() diff --git a/result/rdf1 b/result/rdf1 new file mode 100644 index 0000000..d44c3c6 --- /dev/null +++ b/result/rdf1 @@ -0,0 +1,81 @@ + + + + rpm + 2.5 + 2 + i386 + Linux + Manhattan + Red Hat Software + Red Hat Software <bugs@redhat.com> + Utilities/System + Red Hat Package Manager + RPM is a powerful package manager, which can be used to build, install, +query, verify, update, and uninstall individual software packages. A +package consists of an archive of files, and package information, including +name, version, and description. + GPL + * Sun May 10 1998 Prospector System <bugs@redhat.com> + - translations modified for de, fr, tr + + rpm-2.5-2.src.rpm + ftp://ftp.redhat.com/pub/redhat/redhat-5.1/SRPMS + Sun May 10 14:52:32 1998 + 894826352 + 850599 + porky.redhat.com + + + rpm + + + + + /bin/sh + ld-linux.so.2 + libc.so.6 + libdb.so.2 + libz.so.1 + /bin/bash + /bin/sh + + + /bin/rpm +/usr/bin/find-provides +/usr/bin/find-requires +/usr/bin/gendiff +/usr/bin/rpm2cpio +/usr/doc/rpm-2.5 +/usr/doc/rpm-2.5/CHANGES +/usr/doc/rpm-2.5/RPM-PGP-KEY +/usr/doc/rpm-2.5/buildroot +/usr/doc/rpm-2.5/dependencies +/usr/doc/rpm-2.5/format +/usr/doc/rpm-2.5/groups +/usr/doc/rpm-2.5/macros +/usr/doc/rpm-2.5/queryformat +/usr/doc/rpm-2.5/relocatable +/usr/doc/rpm-2.5/signatures +/usr/doc/rpm-2.5/spec +/usr/doc/rpm-2.5/triggers +/usr/lib/rpmpopt +/usr/lib/rpmrc +/usr/man/man8/rpm.8 +/usr/man/man8/rpm2cpio.8 +/usr/share/locale/de/LC_MESSAGES/rpm.mo +/usr/share/locale/fr/LC_MESSAGES/rpm.mo +/usr/share/locale/pt-br/LC_MESSAGES/rpm.mo +/usr/share/locale/sv/LC_MESSAGES/rpm.mo +/usr/share/locale/tr/LC_MESSAGES/rpm.mo +/usr/src/redhat +/usr/src/redhat/BUILD +/usr/src/redhat/RPMS +/usr/src/redhat/RPMS/i386 +/usr/src/redhat/RPMS/noarch +/usr/src/redhat/SOURCES +/usr/src/redhat/SPECS +/usr/src/redhat/SRPMS + + + diff --git a/result/rdf1.rde b/result/rdf1.rde new file mode 100644 index 0000000..b34399c --- /dev/null +++ b/result/rdf1.rde @@ -0,0 +1,214 @@ +0 1 RDF:RDF 0 0 +1 14 #text 0 1 + +1 1 RDF:Description 0 0 +2 14 #text 0 1 + +2 1 RPM:Name 0 0 +3 3 #text 0 1 rpm +2 15 RPM:Name 0 0 +2 14 #text 0 1 + +2 1 RPM:Version 0 0 +3 3 #text 0 1 2.5 +2 15 RPM:Version 0 0 +2 14 #text 0 1 + +2 1 RPM:Release 0 0 +3 3 #text 0 1 2 +2 15 RPM:Release 0 0 +2 14 #text 0 1 + +2 1 RPM:Arch 0 0 +3 3 #text 0 1 i386 +2 15 RPM:Arch 0 0 +2 14 #text 0 1 + +2 1 RPM:Os 0 0 +3 3 #text 0 1 Linux +2 15 RPM:Os 0 0 +2 14 #text 0 1 + +2 1 RPM:Distribution 0 0 +3 3 #text 0 1 Manhattan +2 15 RPM:Distribution 0 0 +2 14 #text 0 1 + +2 1 RPM:Vendor 0 0 +3 3 #text 0 1 Red Hat Software +2 15 RPM:Vendor 0 0 +2 14 #text 0 1 + +2 1 RPM:Packager 0 0 +3 3 #text 0 1 Red Hat Software +2 15 RPM:Packager 0 0 +2 14 #text 0 1 + +2 1 RPM:Group 0 0 +3 3 #text 0 1 Utilities/System +2 15 RPM:Group 0 0 +2 14 #text 0 1 + +2 1 RPM:Summary 0 0 +3 3 #text 0 1 Red Hat Package Manager +2 15 RPM:Summary 0 0 +2 14 #text 0 1 + +2 1 RPM:Description 0 0 +3 3 #text 0 1 RPM is a powerful package manager, which can be used to build, install, +query, verify, update, and uninstall individual software packages. A +package consists of an archive of files, and package information, including +name, version, and description. +2 15 RPM:Description 0 0 +2 14 #text 0 1 + +2 1 RPM:Copyright 0 0 +3 3 #text 0 1 GPL +2 15 RPM:Copyright 0 0 +2 14 #text 0 1 + +2 1 RPM:Changelog 0 0 +3 3 #text 0 1 * Sun May 10 1998 Prospector System + - translations modified for de, fr, tr + +2 15 RPM:Changelog 0 0 +2 14 #text 0 1 + +2 1 RPM:Sources 0 0 +3 3 #text 0 1 rpm-2.5-2.src.rpm +2 15 RPM:Sources 0 0 +2 14 #text 0 1 + +2 1 RPM:SourcesFtp 0 0 +3 3 #text 0 1 ftp://ftp.redhat.com/pub/redhat/redhat-5.1/SRPMS +2 15 RPM:SourcesFtp 0 0 +2 14 #text 0 1 + +2 1 RPM:BuildDate 0 0 +3 3 #text 0 1 Sun May 10 14:52:32 1998 +2 15 RPM:BuildDate 0 0 +2 14 #text 0 1 + +2 1 RPM:Date 0 0 +3 3 #text 0 1 894826352 +2 15 RPM:Date 0 0 +2 14 #text 0 1 + +2 1 RPM:Size 0 0 +3 3 #text 0 1 850599 +2 15 RPM:Size 0 0 +2 14 #text 0 1 + +2 1 RPM:BuildHost 0 0 +3 3 #text 0 1 porky.redhat.com +2 15 RPM:BuildHost 0 0 +2 14 #text 0 1 + +2 1 RPM:Provides 0 0 +3 14 #text 0 1 + +3 1 RDF:Bag 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 rpm +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +3 15 RDF:Bag 0 0 +3 14 #text 0 1 + +2 15 RPM:Provides 0 0 +2 14 #text 0 1 + +2 1 RPM:Requires 0 0 +3 14 #text 0 1 + +3 1 RDF:Bag 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 /bin/sh +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 ld-linux.so.2 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libc.so.6 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libdb.so.2 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libz.so.1 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 /bin/bash +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 /bin/sh +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +3 15 RDF:Bag 0 0 +3 14 #text 0 1 + +2 15 RPM:Requires 0 0 +2 14 #text 0 1 + +2 1 RPM:Files 0 0 +3 3 #text 0 1 /bin/rpm +/usr/bin/find-provides +/usr/bin/find-requires +/usr/bin/gendiff +/usr/bin/rpm2cpio +/usr/doc/rpm-2.5 +/usr/doc/rpm-2.5/CHANGES +/usr/doc/rpm-2.5/RPM-PGP-KEY +/usr/doc/rpm-2.5/buildroot +/usr/doc/rpm-2.5/dependencies +/usr/doc/rpm-2.5/format +/usr/doc/rpm-2.5/groups +/usr/doc/rpm-2.5/macros +/usr/doc/rpm-2.5/queryformat +/usr/doc/rpm-2.5/relocatable +/usr/doc/rpm-2.5/signatures +/usr/doc/rpm-2.5/spec +/usr/doc/rpm-2.5/triggers +/usr/lib/rpmpopt +/usr/lib/rpmrc +/usr/man/man8/rpm.8 +/usr/man/man8/rpm2cpio.8 +/usr/share/locale/de/LC_MESSAGES/rpm.mo +/usr/share/locale/fr/LC_MESSAGES/rpm.mo +/usr/share/locale/pt-br/LC_MESSAGES/rpm.mo +/usr/share/locale/sv/LC_MESSAGES/rpm.mo +/usr/share/locale/tr/LC_MESSAGES/rpm.mo +/usr/src/redhat +/usr/src/redhat/BUILD +/usr/src/redhat/RPMS +/usr/src/redhat/RPMS/i386 +/usr/src/redhat/RPMS/noarch +/usr/src/redhat/SOURCES +/usr/src/redhat/SPECS +/usr/src/redhat/SRPMS + +2 15 RPM:Files 0 0 +2 14 #text 0 1 + +1 15 RDF:Description 0 0 +1 14 #text 0 1 + +0 15 RDF:RDF 0 0 diff --git a/result/rdf1.rdr b/result/rdf1.rdr new file mode 100644 index 0000000..b34399c --- /dev/null +++ b/result/rdf1.rdr @@ -0,0 +1,214 @@ +0 1 RDF:RDF 0 0 +1 14 #text 0 1 + +1 1 RDF:Description 0 0 +2 14 #text 0 1 + +2 1 RPM:Name 0 0 +3 3 #text 0 1 rpm +2 15 RPM:Name 0 0 +2 14 #text 0 1 + +2 1 RPM:Version 0 0 +3 3 #text 0 1 2.5 +2 15 RPM:Version 0 0 +2 14 #text 0 1 + +2 1 RPM:Release 0 0 +3 3 #text 0 1 2 +2 15 RPM:Release 0 0 +2 14 #text 0 1 + +2 1 RPM:Arch 0 0 +3 3 #text 0 1 i386 +2 15 RPM:Arch 0 0 +2 14 #text 0 1 + +2 1 RPM:Os 0 0 +3 3 #text 0 1 Linux +2 15 RPM:Os 0 0 +2 14 #text 0 1 + +2 1 RPM:Distribution 0 0 +3 3 #text 0 1 Manhattan +2 15 RPM:Distribution 0 0 +2 14 #text 0 1 + +2 1 RPM:Vendor 0 0 +3 3 #text 0 1 Red Hat Software +2 15 RPM:Vendor 0 0 +2 14 #text 0 1 + +2 1 RPM:Packager 0 0 +3 3 #text 0 1 Red Hat Software +2 15 RPM:Packager 0 0 +2 14 #text 0 1 + +2 1 RPM:Group 0 0 +3 3 #text 0 1 Utilities/System +2 15 RPM:Group 0 0 +2 14 #text 0 1 + +2 1 RPM:Summary 0 0 +3 3 #text 0 1 Red Hat Package Manager +2 15 RPM:Summary 0 0 +2 14 #text 0 1 + +2 1 RPM:Description 0 0 +3 3 #text 0 1 RPM is a powerful package manager, which can be used to build, install, +query, verify, update, and uninstall individual software packages. A +package consists of an archive of files, and package information, including +name, version, and description. +2 15 RPM:Description 0 0 +2 14 #text 0 1 + +2 1 RPM:Copyright 0 0 +3 3 #text 0 1 GPL +2 15 RPM:Copyright 0 0 +2 14 #text 0 1 + +2 1 RPM:Changelog 0 0 +3 3 #text 0 1 * Sun May 10 1998 Prospector System + - translations modified for de, fr, tr + +2 15 RPM:Changelog 0 0 +2 14 #text 0 1 + +2 1 RPM:Sources 0 0 +3 3 #text 0 1 rpm-2.5-2.src.rpm +2 15 RPM:Sources 0 0 +2 14 #text 0 1 + +2 1 RPM:SourcesFtp 0 0 +3 3 #text 0 1 ftp://ftp.redhat.com/pub/redhat/redhat-5.1/SRPMS +2 15 RPM:SourcesFtp 0 0 +2 14 #text 0 1 + +2 1 RPM:BuildDate 0 0 +3 3 #text 0 1 Sun May 10 14:52:32 1998 +2 15 RPM:BuildDate 0 0 +2 14 #text 0 1 + +2 1 RPM:Date 0 0 +3 3 #text 0 1 894826352 +2 15 RPM:Date 0 0 +2 14 #text 0 1 + +2 1 RPM:Size 0 0 +3 3 #text 0 1 850599 +2 15 RPM:Size 0 0 +2 14 #text 0 1 + +2 1 RPM:BuildHost 0 0 +3 3 #text 0 1 porky.redhat.com +2 15 RPM:BuildHost 0 0 +2 14 #text 0 1 + +2 1 RPM:Provides 0 0 +3 14 #text 0 1 + +3 1 RDF:Bag 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 rpm +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +3 15 RDF:Bag 0 0 +3 14 #text 0 1 + +2 15 RPM:Provides 0 0 +2 14 #text 0 1 + +2 1 RPM:Requires 0 0 +3 14 #text 0 1 + +3 1 RDF:Bag 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 /bin/sh +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 ld-linux.so.2 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libc.so.6 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libdb.so.2 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libz.so.1 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 /bin/bash +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 /bin/sh +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +3 15 RDF:Bag 0 0 +3 14 #text 0 1 + +2 15 RPM:Requires 0 0 +2 14 #text 0 1 + +2 1 RPM:Files 0 0 +3 3 #text 0 1 /bin/rpm +/usr/bin/find-provides +/usr/bin/find-requires +/usr/bin/gendiff +/usr/bin/rpm2cpio +/usr/doc/rpm-2.5 +/usr/doc/rpm-2.5/CHANGES +/usr/doc/rpm-2.5/RPM-PGP-KEY +/usr/doc/rpm-2.5/buildroot +/usr/doc/rpm-2.5/dependencies +/usr/doc/rpm-2.5/format +/usr/doc/rpm-2.5/groups +/usr/doc/rpm-2.5/macros +/usr/doc/rpm-2.5/queryformat +/usr/doc/rpm-2.5/relocatable +/usr/doc/rpm-2.5/signatures +/usr/doc/rpm-2.5/spec +/usr/doc/rpm-2.5/triggers +/usr/lib/rpmpopt +/usr/lib/rpmrc +/usr/man/man8/rpm.8 +/usr/man/man8/rpm2cpio.8 +/usr/share/locale/de/LC_MESSAGES/rpm.mo +/usr/share/locale/fr/LC_MESSAGES/rpm.mo +/usr/share/locale/pt-br/LC_MESSAGES/rpm.mo +/usr/share/locale/sv/LC_MESSAGES/rpm.mo +/usr/share/locale/tr/LC_MESSAGES/rpm.mo +/usr/src/redhat +/usr/src/redhat/BUILD +/usr/src/redhat/RPMS +/usr/src/redhat/RPMS/i386 +/usr/src/redhat/RPMS/noarch +/usr/src/redhat/SOURCES +/usr/src/redhat/SPECS +/usr/src/redhat/SRPMS + +2 15 RPM:Files 0 0 +2 14 #text 0 1 + +1 15 RDF:Description 0 0 +1 14 #text 0 1 + +0 15 RDF:RDF 0 0 diff --git a/result/rdf1.sax b/result/rdf1.sax new file mode 100644 index 0000000..e235973 --- /dev/null +++ b/result/rdf1.sax @@ -0,0 +1,186 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(RDF:RDF, xmlns:RPM='http://www.rpm.org/', xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( + , 3) +SAX.startElement(RDF:Description, HREF='ftp://rufus.w3.org/linux/redhat/redhat-5.1/i386/RedHat/RPMS/rpm-2.5-2.i386.rpm') +SAX.characters( + , 5) +SAX.startElement(RPM:Name) +SAX.characters(rpm, 3) +SAX.endElement(RPM:Name) +SAX.characters( + , 5) +SAX.startElement(RPM:Version) +SAX.characters(2.5, 3) +SAX.endElement(RPM:Version) +SAX.characters( + , 5) +SAX.startElement(RPM:Release) +SAX.characters(2, 1) +SAX.endElement(RPM:Release) +SAX.characters( + , 5) +SAX.startElement(RPM:Arch) +SAX.characters(i386, 4) +SAX.endElement(RPM:Arch) +SAX.characters( + , 5) +SAX.startElement(RPM:Os) +SAX.characters(Linux, 5) +SAX.endElement(RPM:Os) +SAX.characters( + , 5) +SAX.startElement(RPM:Distribution) +SAX.characters(Manhattan , 10) +SAX.endElement(RPM:Distribution) +SAX.characters( + , 5) +SAX.startElement(RPM:Vendor) +SAX.characters(Red Hat Software, 16) +SAX.endElement(RPM:Vendor) +SAX.characters( + , 5) +SAX.startElement(RPM:Packager) +SAX.characters(Red Hat Software , 17) +SAX.characters(<, 1) +SAX.characters(bugs@redhat.com, 15) +SAX.characters(>, 1) +SAX.endElement(RPM:Packager) +SAX.characters( + , 5) +SAX.startElement(RPM:Group) +SAX.characters(Utilities/System, 16) +SAX.endElement(RPM:Group) +SAX.characters( + , 5) +SAX.startElement(RPM:Summary) +SAX.characters(Red Hat Package Manager, 23) +SAX.endElement(RPM:Summary) +SAX.characters( + , 5) +SAX.startElement(RPM:Description) +SAX.characters(RPM is a powerful package mana, 248) +SAX.endElement(RPM:Description) +SAX.characters( + , 5) +SAX.startElement(RPM:Copyright) +SAX.characters(GPL, 3) +SAX.endElement(RPM:Copyright) +SAX.characters( + , 5) +SAX.startElement(RPM:Changelog) +SAX.characters(* Sun May 10 1998 Prospector S, 36) +SAX.characters(<, 1) +SAX.characters(bugs@redhat.com, 15) +SAX.characters(>, 1) +SAX.characters( + - translations modified for, 42) +SAX.endElement(RPM:Changelog) +SAX.characters( + , 5) +SAX.startElement(RPM:Sources) +SAX.characters(rpm-2.5-2.src.rpm, 17) +SAX.endElement(RPM:Sources) +SAX.characters( + , 5) +SAX.startElement(RPM:SourcesFtp) +SAX.characters(ftp://ftp.redhat.com/pub/redha, 48) +SAX.endElement(RPM:SourcesFtp) +SAX.characters( + , 5) +SAX.startElement(RPM:BuildDate) +SAX.characters(Sun May 10 14:52:32 1998, 24) +SAX.endElement(RPM:BuildDate) +SAX.characters( + , 5) +SAX.startElement(RPM:Date) +SAX.characters(894826352, 9) +SAX.endElement(RPM:Date) +SAX.characters( + , 5) +SAX.startElement(RPM:Size) +SAX.characters(850599, 6) +SAX.endElement(RPM:Size) +SAX.characters( + , 5) +SAX.startElement(RPM:BuildHost) +SAX.characters(porky.redhat.com, 16) +SAX.endElement(RPM:BuildHost) +SAX.characters( + , 5) +SAX.startElement(RPM:Provides) +SAX.characters( + , 7) +SAX.startElement(RDF:Bag) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource) +SAX.characters(rpm, 3) +SAX.endElement(RPM:Resource) +SAX.characters( + , 7) +SAX.endElement(RDF:Bag) +SAX.characters( + , 5) +SAX.endElement(RPM:Provides) +SAX.characters( + , 5) +SAX.startElement(RPM:Requires) +SAX.characters( + , 7) +SAX.startElement(RDF:Bag) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource) +SAX.characters(/bin/sh, 7) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource) +SAX.characters(ld-linux.so.2, 13) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource) +SAX.characters(libc.so.6, 9) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource) +SAX.characters(libdb.so.2, 10) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource) +SAX.characters(libz.so.1, 9) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource) +SAX.characters(/bin/bash, 9) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource) +SAX.characters(/bin/sh, 7) +SAX.endElement(RPM:Resource) +SAX.characters( + , 7) +SAX.endElement(RDF:Bag) +SAX.characters( + , 5) +SAX.endElement(RPM:Requires) +SAX.characters( + , 5) +SAX.startElement(RPM:Files) +SAX.characters(/bin/rpm +/usr/bin/find-provide, 885) +SAX.endElement(RPM:Files) +SAX.characters( + , 3) +SAX.endElement(RDF:Description) +SAX.characters( +, 1) +SAX.endElement(RDF:RDF) +SAX.endDocument() diff --git a/result/rdf1.sax2 b/result/rdf1.sax2 new file mode 100644 index 0000000..24822e1 --- /dev/null +++ b/result/rdf1.sax2 @@ -0,0 +1,186 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 2, xmlns:RPM='http://www.rpm.org/', xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 1, 0, HREF='ftp:...', 78) +SAX.characters( + , 5) +SAX.startElementNs(Name, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(rpm, 3) +SAX.endElementNs(Name, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Version, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(2.5, 3) +SAX.endElementNs(Version, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Release, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(2, 1) +SAX.endElementNs(Release, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Arch, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(i386, 4) +SAX.endElementNs(Arch, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Os, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Linux, 5) +SAX.endElementNs(Os, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Distribution, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Manhattan , 10) +SAX.endElementNs(Distribution, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Vendor, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Red Hat Software, 16) +SAX.endElementNs(Vendor, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Packager, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Red Hat Software , 17) +SAX.characters(<, 1) +SAX.characters(bugs@redhat.com, 15) +SAX.characters(>, 1) +SAX.endElementNs(Packager, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Group, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Utilities/System, 16) +SAX.endElementNs(Group, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Summary, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Red Hat Package Manager, 23) +SAX.endElementNs(Summary, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Description, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(RPM is a powerful package mana, 248) +SAX.endElementNs(Description, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Copyright, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(GPL, 3) +SAX.endElementNs(Copyright, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Changelog, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(* Sun May 10 1998 Prospector S, 36) +SAX.characters(<, 1) +SAX.characters(bugs@redhat.com, 15) +SAX.characters(>, 1) +SAX.characters( + - translations modified for, 42) +SAX.endElementNs(Changelog, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Sources, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(rpm-2.5-2.src.rpm, 17) +SAX.endElementNs(Sources, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(SourcesFtp, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(ftp://ftp.redhat.com/pub/redha, 48) +SAX.endElementNs(SourcesFtp, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(BuildDate, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Sun May 10 14:52:32 1998, 24) +SAX.endElementNs(BuildDate, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Date, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(894826352, 9) +SAX.endElementNs(Date, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Size, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(850599, 6) +SAX.endElementNs(Size, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(BuildHost, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(porky.redhat.com, 16) +SAX.endElementNs(BuildHost, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Provides, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(rpm, 3) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 7) +SAX.endElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( + , 5) +SAX.endElementNs(Provides, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Requires, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/bin/sh, 7) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(ld-linux.so.2, 13) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(libc.so.6, 9) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(libdb.so.2, 10) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(libz.so.1, 9) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/bin/bash, 9) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/bin/sh, 7) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 7) +SAX.endElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( + , 5) +SAX.endElementNs(Requires, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Files, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/bin/rpm +/usr/bin/find-provide, 885) +SAX.endElementNs(Files, RPM, 'http://www.rpm.org/') +SAX.characters( + , 3) +SAX.endElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( +, 1) +SAX.endElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.endDocument() diff --git a/result/rdf2 b/result/rdf2 new file mode 100644 index 0000000..284946b --- /dev/null +++ b/result/rdf2 @@ -0,0 +1,1899 @@ + + + + ncurses4 + 4.2 + 3 + i386 + Linux + DLD + delix Computer GmbH + Till Bubeck <bubeck@delix.de>, Ngo Than <than@delix.de> + Libraries + Bibliothek zur Ansteuerung von Terminals + Diese Library stellt dem Programmierer vom Terminal unabhängige +Routinen zur Ansteuerung Ihres Bildschirms zur Verfügung, die +speziell optimiert sind. +Diese Version ist die 'new curses' (ncurses) Variante und ist der +anerkannte Ersatz für die klassische Curses-Library, die nicht mehr +weiterentwickelt wird. + GPL + ncurses4-4.2-3.src.rpm + Tue May 12 19:30:26 1998 + 895015826 + 1373513 + erdbeere.delix.de + + + ncurses4 + libpanel.so.4 + libncurses.so.4 + libmenu.so.4 + libform.so.4 + ncurses + + + /lib/libncurses.so.4 +/lib/libncurses.so.4.2 +/usr/doc/ncurses4-4.2-3 +/usr/doc/ncurses4-4.2-3/ANNOUNCE.gz +/usr/doc/ncurses4-4.2-3/NEWS.gz +/usr/doc/ncurses4-4.2-3/README.gz +/usr/doc/ncurses4-4.2-3/TO-DO.gz +/usr/lib/libform.so.4 +/usr/lib/libform.so.4.2 +/usr/lib/libmenu.so.4 +/usr/lib/libmenu.so.4.2 +/usr/lib/libpanel.so.4 +/usr/lib/libpanel.so.4.2 +/usr/share/ncurses4 +/usr/share/ncurses4/tabset +/usr/share/ncurses4/tabset/std +/usr/share/ncurses4/tabset/stdcrt +/usr/share/ncurses4/tabset/vt100 +/usr/share/ncurses4/tabset/vt300 +/usr/share/ncurses4/terminfo +/usr/share/ncurses4/terminfo/1 +/usr/share/ncurses4/terminfo/1/1178 +/usr/share/ncurses4/terminfo/1/1730-lm +/usr/share/ncurses4/terminfo/2 +/usr/share/ncurses4/terminfo/2/2621 +/usr/share/ncurses4/terminfo/2/2621-wl +/usr/share/ncurses4/terminfo/2/2621A +/usr/share/ncurses4/terminfo/2/2621a +/usr/share/ncurses4/terminfo/3 +/usr/share/ncurses4/terminfo/3/386at +/usr/share/ncurses4/terminfo/3/3b1 +/usr/share/ncurses4/terminfo/4 +/usr/share/ncurses4/terminfo/4/4025ex +/usr/share/ncurses4/terminfo/4/4027ex +/usr/share/ncurses4/terminfo/4/4410-w +/usr/share/ncurses4/terminfo/5 +/usr/share/ncurses4/terminfo/5/5051 +/usr/share/ncurses4/terminfo/5/5410-w +/usr/share/ncurses4/terminfo/5/5620 +/usr/share/ncurses4/terminfo/5/5630-24 +/usr/share/ncurses4/terminfo/5/5630DMD-24 +/usr/share/ncurses4/terminfo/6 +/usr/share/ncurses4/terminfo/6/630-lm +/usr/share/ncurses4/terminfo/6/630MTG-24 +/usr/share/ncurses4/terminfo/7 +/usr/share/ncurses4/terminfo/7/730MTG-24 +/usr/share/ncurses4/terminfo/7/730MTG-41 +/usr/share/ncurses4/terminfo/7/730MTG-41r +/usr/share/ncurses4/terminfo/7/730MTGr +/usr/share/ncurses4/terminfo/7/730MTGr-24 +/usr/share/ncurses4/terminfo/8 +/usr/share/ncurses4/terminfo/8/8510 +/usr/share/ncurses4/terminfo/9 +/usr/share/ncurses4/terminfo/9/955-hb +/usr/share/ncurses4/terminfo/9/955-w +/usr/share/ncurses4/terminfo/P +/usr/share/ncurses4/terminfo/P/P12 +/usr/share/ncurses4/terminfo/P/P12-M +/usr/share/ncurses4/terminfo/P/P12-M-W +/usr/share/ncurses4/terminfo/P/P12-W +/usr/share/ncurses4/terminfo/P/P14 +/usr/share/ncurses4/terminfo/P/P14-M +/usr/share/ncurses4/terminfo/P/P14-M-W +/usr/share/ncurses4/terminfo/P/P14-W +/usr/share/ncurses4/terminfo/P/P4 +/usr/share/ncurses4/terminfo/P/P5 +/usr/share/ncurses4/terminfo/P/P7 +/usr/share/ncurses4/terminfo/P/P8 +/usr/share/ncurses4/terminfo/P/P8-W +/usr/share/ncurses4/terminfo/P/P9 +/usr/share/ncurses4/terminfo/P/P9-8 +/usr/share/ncurses4/terminfo/P/P9-8-W +/usr/share/ncurses4/terminfo/P/P9-W +/usr/share/ncurses4/terminfo/X +/usr/share/ncurses4/terminfo/X/X-hpterm +/usr/share/ncurses4/terminfo/a +/usr/share/ncurses4/terminfo/a/a210 +/usr/share/ncurses4/terminfo/a/a80 +/usr/share/ncurses4/terminfo/a/a980 +/usr/share/ncurses4/terminfo/a/aa4080 +/usr/share/ncurses4/terminfo/a/aaa +/usr/share/ncurses4/terminfo/a/aaa+dec +/usr/share/ncurses4/terminfo/a/aaa+rv +/usr/share/ncurses4/terminfo/a/aaa+unk +/usr/share/ncurses4/terminfo/a/aaa-18 +/usr/share/ncurses4/terminfo/a/aaa-18-rv +/usr/share/ncurses4/terminfo/a/aaa-20 +/usr/share/ncurses4/terminfo/a/aaa-22 +/usr/share/ncurses4/terminfo/a/aaa-24 +/usr/share/ncurses4/terminfo/a/aaa-24-rv +/usr/share/ncurses4/terminfo/a/aaa-26 +/usr/share/ncurses4/terminfo/a/aaa-28 +/usr/share/ncurses4/terminfo/a/aaa-30 +/usr/share/ncurses4/terminfo/a/aaa-30-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-rv +/usr/share/ncurses4/terminfo/a/aaa-30-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-s +/usr/share/ncurses4/terminfo/a/aaa-30-s-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-s-rv +/usr/share/ncurses4/terminfo/a/aaa-30-s-rv-ct +/usr/share/ncurses4/terminfo/a/aaa-36 +/usr/share/ncurses4/terminfo/a/aaa-36-rv +/usr/share/ncurses4/terminfo/a/aaa-40 +/usr/share/ncurses4/terminfo/a/aaa-40-rv +/usr/share/ncurses4/terminfo/a/aaa-48 +/usr/share/ncurses4/terminfo/a/aaa-48-rv +/usr/share/ncurses4/terminfo/a/aaa-60 +/usr/share/ncurses4/terminfo/a/aaa-60-dec-rv +/usr/share/ncurses4/terminfo/a/aaa-60-rv +/usr/share/ncurses4/terminfo/a/aaa-60-s +/usr/share/ncurses4/terminfo/a/aaa-60-s-rv +/usr/share/ncurses4/terminfo/a/aaa-ctxt +/usr/share/ncurses4/terminfo/a/aaa-db +/usr/share/ncurses4/terminfo/a/aaa-rv +/usr/share/ncurses4/terminfo/a/aaa-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-rv-unk +/usr/share/ncurses4/terminfo/a/aaa-s +/usr/share/ncurses4/terminfo/a/aaa-s-ctxt +/usr/share/ncurses4/terminfo/a/aaa-s-rv +/usr/share/ncurses4/terminfo/a/aaa-s-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-unk +/usr/share/ncurses4/terminfo/a/aas1901 +/usr/share/ncurses4/terminfo/a/abm80 +/usr/share/ncurses4/terminfo/a/abm85 +/usr/share/ncurses4/terminfo/a/abm85e +/usr/share/ncurses4/terminfo/a/abm85h +/usr/share/ncurses4/terminfo/a/abm85h-old +/usr/share/ncurses4/terminfo/a/act4 +/usr/share/ncurses4/terminfo/a/act5 +/usr/share/ncurses4/terminfo/a/addrinfo +/usr/share/ncurses4/terminfo/a/adds980 +/usr/share/ncurses4/terminfo/a/addsviewpoint +/usr/share/ncurses4/terminfo/a/addsvp60 +/usr/share/ncurses4/terminfo/a/adm+sgr +/usr/share/ncurses4/terminfo/a/adm1 +/usr/share/ncurses4/terminfo/a/adm11 +/usr/share/ncurses4/terminfo/a/adm1178 +/usr/share/ncurses4/terminfo/a/adm12 +/usr/share/ncurses4/terminfo/a/adm1a +/usr/share/ncurses4/terminfo/a/adm2 +/usr/share/ncurses4/terminfo/a/adm20 +/usr/share/ncurses4/terminfo/a/adm21 +/usr/share/ncurses4/terminfo/a/adm22 +/usr/share/ncurses4/terminfo/a/adm3 +/usr/share/ncurses4/terminfo/a/adm31 +/usr/share/ncurses4/terminfo/a/adm31-old +/usr/share/ncurses4/terminfo/a/adm36 +/usr/share/ncurses4/terminfo/a/adm3a +/usr/share/ncurses4/terminfo/a/adm3a+ +/usr/share/ncurses4/terminfo/a/adm42 +/usr/share/ncurses4/terminfo/a/adm42-ns +/usr/share/ncurses4/terminfo/a/adm5 +/usr/share/ncurses4/terminfo/a/aepro +/usr/share/ncurses4/terminfo/a/aixterm-m +/usr/share/ncurses4/terminfo/a/aixterm-m-old +/usr/share/ncurses4/terminfo/a/aj +/usr/share/ncurses4/terminfo/a/aj510 +/usr/share/ncurses4/terminfo/a/aj830 +/usr/share/ncurses4/terminfo/a/aj832 +/usr/share/ncurses4/terminfo/a/alt2 +/usr/share/ncurses4/terminfo/a/alt3 +/usr/share/ncurses4/terminfo/a/alt4 +/usr/share/ncurses4/terminfo/a/alt5 +/usr/share/ncurses4/terminfo/a/alt7 +/usr/share/ncurses4/terminfo/a/alt7pc +/usr/share/ncurses4/terminfo/a/alto-h19 +/usr/share/ncurses4/terminfo/a/alto-heath +/usr/share/ncurses4/terminfo/a/altoh19 +/usr/share/ncurses4/terminfo/a/altoheath +/usr/share/ncurses4/terminfo/a/altos-2 +/usr/share/ncurses4/terminfo/a/altos-3 +/usr/share/ncurses4/terminfo/a/altos-4 +/usr/share/ncurses4/terminfo/a/altos-5 +/usr/share/ncurses4/terminfo/a/altos2 +/usr/share/ncurses4/terminfo/a/altos3 +/usr/share/ncurses4/terminfo/a/altos4 +/usr/share/ncurses4/terminfo/a/altos5 +/usr/share/ncurses4/terminfo/a/altos7 +/usr/share/ncurses4/terminfo/a/altos7pc +/usr/share/ncurses4/terminfo/a/ambas +/usr/share/ncurses4/terminfo/a/ambassador +/usr/share/ncurses4/terminfo/a/amiga +/usr/share/ncurses4/terminfo/a/amiga-h +/usr/share/ncurses4/terminfo/a/amp219 +/usr/share/ncurses4/terminfo/a/amp219w +/usr/share/ncurses4/terminfo/a/ampex-219 +/usr/share/ncurses4/terminfo/a/ampex-219w +/usr/share/ncurses4/terminfo/a/ampex-232 +/usr/share/ncurses4/terminfo/a/ampex175 +/usr/share/ncurses4/terminfo/a/ampex175-b +/usr/share/ncurses4/terminfo/a/ampex210 +/usr/share/ncurses4/terminfo/a/ampex219 +/usr/share/ncurses4/terminfo/a/ampex219w +/usr/share/ncurses4/terminfo/a/ampex232 +/usr/share/ncurses4/terminfo/a/ampex232w +/usr/share/ncurses4/terminfo/a/ampex80 +/usr/share/ncurses4/terminfo/a/annarbor4080 +/usr/share/ncurses4/terminfo/a/ansi +/usr/share/ncurses4/terminfo/a/ansi-color-2-emx +/usr/share/ncurses4/terminfo/a/ansi-color-3-emx +/usr/share/ncurses4/terminfo/a/ansi-emx +/usr/share/ncurses4/terminfo/a/ansi-m +/usr/share/ncurses4/terminfo/a/ansi-mini +/usr/share/ncurses4/terminfo/a/ansi-mono +/usr/share/ncurses4/terminfo/a/ansi-nt +/usr/share/ncurses4/terminfo/a/ansi.sys +/usr/share/ncurses4/terminfo/a/ansi.sys-old +/usr/share/ncurses4/terminfo/a/ansi.sysk +/usr/share/ncurses4/terminfo/a/ansi43m +/usr/share/ncurses4/terminfo/a/ansi77 +/usr/share/ncurses4/terminfo/a/ansi80x25 +/usr/share/ncurses4/terminfo/a/ansi80x25-mono +/usr/share/ncurses4/terminfo/a/ansi80x25-raw +/usr/share/ncurses4/terminfo/a/ansi80x30 +/usr/share/ncurses4/terminfo/a/ansi80x30-mono +/usr/share/ncurses4/terminfo/a/ansi80x43 +/usr/share/ncurses4/terminfo/a/ansi80x43-mono +/usr/share/ncurses4/terminfo/a/ansi80x50 +/usr/share/ncurses4/terminfo/a/ansi80x50-mono +/usr/share/ncurses4/terminfo/a/ansi80x60 +/usr/share/ncurses4/terminfo/a/ansi80x60-mono +/usr/share/ncurses4/terminfo/a/ansil +/usr/share/ncurses4/terminfo/a/ansil-mono +/usr/share/ncurses4/terminfo/a/ansis +/usr/share/ncurses4/terminfo/a/ansis-mono +/usr/share/ncurses4/terminfo/a/ansisysk +/usr/share/ncurses4/terminfo/a/ansiw +/usr/share/ncurses4/terminfo/a/ap-vm80 +/usr/share/ncurses4/terminfo/a/apl +/usr/share/ncurses4/terminfo/a/apollo +/usr/share/ncurses4/terminfo/a/apollo_15P +/usr/share/ncurses4/terminfo/a/apollo_19L +/usr/share/ncurses4/terminfo/a/apollo_color +/usr/share/ncurses4/terminfo/a/apple-80 +/usr/share/ncurses4/terminfo/a/apple-ae +/usr/share/ncurses4/terminfo/a/apple-soroc +/usr/share/ncurses4/terminfo/a/apple-uterm +/usr/share/ncurses4/terminfo/a/apple-uterm-vb +/usr/share/ncurses4/terminfo/a/apple-videx +/usr/share/ncurses4/terminfo/a/apple-videx2 +/usr/share/ncurses4/terminfo/a/apple-videx3 +/usr/share/ncurses4/terminfo/a/apple-vm80 +/usr/share/ncurses4/terminfo/a/apple2e +/usr/share/ncurses4/terminfo/a/apple2e-p +/usr/share/ncurses4/terminfo/a/apple80p +/usr/share/ncurses4/terminfo/a/appleII +/usr/share/ncurses4/terminfo/a/appleIIc +/usr/share/ncurses4/terminfo/a/appleIIe +/usr/share/ncurses4/terminfo/a/appleIIgs +/usr/share/ncurses4/terminfo/a/at386 +/usr/share/ncurses4/terminfo/a/atari +/usr/share/ncurses4/terminfo/a/att2300 +/usr/share/ncurses4/terminfo/a/att2350 +/usr/share/ncurses4/terminfo/a/att4410 +/usr/share/ncurses4/terminfo/a/att4410-w +/usr/share/ncurses4/terminfo/a/att4410v1 +/usr/share/ncurses4/terminfo/a/att4410v1-w +/usr/share/ncurses4/terminfo/a/att4415 +/usr/share/ncurses4/terminfo/a/att4415+nl +/usr/share/ncurses4/terminfo/a/att4415-nl +/usr/share/ncurses4/terminfo/a/att4415-rv +/usr/share/ncurses4/terminfo/a/att4415-rv-nl +/usr/share/ncurses4/terminfo/a/att4415-w +/usr/share/ncurses4/terminfo/a/att4415-w-nl +/usr/share/ncurses4/terminfo/a/att4415-w-rv +/usr/share/ncurses4/terminfo/a/att4415-w-rv-n +/usr/share/ncurses4/terminfo/a/att4418 +/usr/share/ncurses4/terminfo/a/att4418-w +/usr/share/ncurses4/terminfo/a/att4420 +/usr/share/ncurses4/terminfo/a/att4424 +/usr/share/ncurses4/terminfo/a/att4424-1 +/usr/share/ncurses4/terminfo/a/att4424m +/usr/share/ncurses4/terminfo/a/att4425 +/usr/share/ncurses4/terminfo/a/att4425-nl +/usr/share/ncurses4/terminfo/a/att4425-w +/usr/share/ncurses4/terminfo/a/att4426 +/usr/share/ncurses4/terminfo/a/att500 +/usr/share/ncurses4/terminfo/a/att505 +/usr/share/ncurses4/terminfo/a/att505-24 +/usr/share/ncurses4/terminfo/a/att510a +/usr/share/ncurses4/terminfo/a/att510d +/usr/share/ncurses4/terminfo/a/att513 +/usr/share/ncurses4/terminfo/a/att5310 +/usr/share/ncurses4/terminfo/a/att5320 +/usr/share/ncurses4/terminfo/a/att5410 +/usr/share/ncurses4/terminfo/a/att5410-w +/usr/share/ncurses4/terminfo/a/att5410v1 +/usr/share/ncurses4/terminfo/a/att5410v1-w +/usr/share/ncurses4/terminfo/a/att5418 +/usr/share/ncurses4/terminfo/a/att5418-w +/usr/share/ncurses4/terminfo/a/att5420 +/usr/share/ncurses4/terminfo/a/att5420+nl +/usr/share/ncurses4/terminfo/a/att5420-nl +/usr/share/ncurses4/terminfo/a/att5420-rv +/usr/share/ncurses4/terminfo/a/att5420-rv-nl +/usr/share/ncurses4/terminfo/a/att5420-w +/usr/share/ncurses4/terminfo/a/att5420-w-nl +/usr/share/ncurses4/terminfo/a/att5420-w-rv +/usr/share/ncurses4/terminfo/a/att5420-w-rv-n +/usr/share/ncurses4/terminfo/a/att5420_2 +/usr/share/ncurses4/terminfo/a/att5420_2-w +/usr/share/ncurses4/terminfo/a/att5425 +/usr/share/ncurses4/terminfo/a/att5425-nl +/usr/share/ncurses4/terminfo/a/att5425-w +/usr/share/ncurses4/terminfo/a/att5430 +/usr/share/ncurses4/terminfo/a/att5620 +/usr/share/ncurses4/terminfo/a/att5620-1 +/usr/share/ncurses4/terminfo/a/att5620-24 +/usr/share/ncurses4/terminfo/a/att5620-34 +/usr/share/ncurses4/terminfo/a/att5620-s +/usr/share/ncurses4/terminfo/a/att605 +/usr/share/ncurses4/terminfo/a/att605-pc +/usr/share/ncurses4/terminfo/a/att605-w +/usr/share/ncurses4/terminfo/a/att610 +/usr/share/ncurses4/terminfo/a/att610-103k +/usr/share/ncurses4/terminfo/a/att610-103k-w +/usr/share/ncurses4/terminfo/a/att610-w +/usr/share/ncurses4/terminfo/a/att615 +/usr/share/ncurses4/terminfo/a/att615-103k +/usr/share/ncurses4/terminfo/a/att615-103k-w +/usr/share/ncurses4/terminfo/a/att615-w +/usr/share/ncurses4/terminfo/a/att620 +/usr/share/ncurses4/terminfo/a/att620-103k +/usr/share/ncurses4/terminfo/a/att620-103k-w +/usr/share/ncurses4/terminfo/a/att620-w +/usr/share/ncurses4/terminfo/a/att630 +/usr/share/ncurses4/terminfo/a/att630-24 +/usr/share/ncurses4/terminfo/a/att6386 +/usr/share/ncurses4/terminfo/a/att730 +/usr/share/ncurses4/terminfo/a/att730-24 +/usr/share/ncurses4/terminfo/a/att730-41 +/usr/share/ncurses4/terminfo/a/att7300 +/usr/share/ncurses4/terminfo/a/att730r +/usr/share/ncurses4/terminfo/a/att730r-24 +/usr/share/ncurses4/terminfo/a/att730r-41 +/usr/share/ncurses4/terminfo/a/avatar +/usr/share/ncurses4/terminfo/a/avatar0 +/usr/share/ncurses4/terminfo/a/avatar0+ +/usr/share/ncurses4/terminfo/a/avatar1 +/usr/share/ncurses4/terminfo/a/avt +/usr/share/ncurses4/terminfo/a/avt+s +/usr/share/ncurses4/terminfo/a/avt-ns +/usr/share/ncurses4/terminfo/a/avt-rv +/usr/share/ncurses4/terminfo/a/avt-rv-ns +/usr/share/ncurses4/terminfo/a/avt-rv-s +/usr/share/ncurses4/terminfo/a/avt-s +/usr/share/ncurses4/terminfo/a/avt-w +/usr/share/ncurses4/terminfo/a/avt-w-ns +/usr/share/ncurses4/terminfo/a/avt-w-rv +/usr/share/ncurses4/terminfo/a/avt-w-rv-ns +/usr/share/ncurses4/terminfo/a/avt-w-rv-s +/usr/share/ncurses4/terminfo/a/avt-w-s +/usr/share/ncurses4/terminfo/a/aws +/usr/share/ncurses4/terminfo/a/awsc +/usr/share/ncurses4/terminfo/b +/usr/share/ncurses4/terminfo/b/b-128 +/usr/share/ncurses4/terminfo/b/bantam +/usr/share/ncurses4/terminfo/b/basic4 +/usr/share/ncurses4/terminfo/b/basis +/usr/share/ncurses4/terminfo/b/bct510a +/usr/share/ncurses4/terminfo/b/bct510d +/usr/share/ncurses4/terminfo/b/beacon +/usr/share/ncurses4/terminfo/b/bee +/usr/share/ncurses4/terminfo/b/beehive +/usr/share/ncurses4/terminfo/b/beehive3 +/usr/share/ncurses4/terminfo/b/beehive4 +/usr/share/ncurses4/terminfo/b/beehiveIIIm +/usr/share/ncurses4/terminfo/b/beterm +/usr/share/ncurses4/terminfo/b/bg1.25 +/usr/share/ncurses4/terminfo/b/bg1.25nv +/usr/share/ncurses4/terminfo/b/bg1.25rv +/usr/share/ncurses4/terminfo/b/bg2.0 +/usr/share/ncurses4/terminfo/b/bg2.0nv +/usr/share/ncurses4/terminfo/b/bg2.0rv +/usr/share/ncurses4/terminfo/b/bg3.10 +/usr/share/ncurses4/terminfo/b/bg3.10nv +/usr/share/ncurses4/terminfo/b/bg3.10rv +/usr/share/ncurses4/terminfo/b/bh3m +/usr/share/ncurses4/terminfo/b/bh4 +/usr/share/ncurses4/terminfo/b/bitgraph +/usr/share/ncurses4/terminfo/b/blit +/usr/share/ncurses4/terminfo/b/bobcat +/usr/share/ncurses4/terminfo/b/bsdos +/usr/share/ncurses4/terminfo/b/bsdos-bold +/usr/share/ncurses4/terminfo/c +/usr/share/ncurses4/terminfo/c/c100 +/usr/share/ncurses4/terminfo/c/c100-1p +/usr/share/ncurses4/terminfo/c/c100-4p +/usr/share/ncurses4/terminfo/c/c100-rv +/usr/share/ncurses4/terminfo/c/c100-rv-4p +/usr/share/ncurses4/terminfo/c/c104 +/usr/share/ncurses4/terminfo/c/c108 +/usr/share/ncurses4/terminfo/c/c108-4p +/usr/share/ncurses4/terminfo/c/c108-8p +/usr/share/ncurses4/terminfo/c/c108-rv +/usr/share/ncurses4/terminfo/c/c108-rv-4p +/usr/share/ncurses4/terminfo/c/c108-rv-8p +/usr/share/ncurses4/terminfo/c/c108-w +/usr/share/ncurses4/terminfo/c/c108-w-8p +/usr/share/ncurses4/terminfo/c/c300 +/usr/share/ncurses4/terminfo/c/c301 +/usr/share/ncurses4/terminfo/c/c321 +/usr/share/ncurses4/terminfo/c/ca22851 +/usr/share/ncurses4/terminfo/c/cad68-2 +/usr/share/ncurses4/terminfo/c/cad68-3 +/usr/share/ncurses4/terminfo/c/cbblit +/usr/share/ncurses4/terminfo/c/cbunix +/usr/share/ncurses4/terminfo/c/cci +/usr/share/ncurses4/terminfo/c/cci1 +/usr/share/ncurses4/terminfo/c/cdc456 +/usr/share/ncurses4/terminfo/c/cdc721 +/usr/share/ncurses4/terminfo/c/cdc721-esc +/usr/share/ncurses4/terminfo/c/cdc721ll +/usr/share/ncurses4/terminfo/c/cdc752 +/usr/share/ncurses4/terminfo/c/cdc756 +/usr/share/ncurses4/terminfo/c/cg7900 +/usr/share/ncurses4/terminfo/c/cgc2 +/usr/share/ncurses4/terminfo/c/cgc3 +/usr/share/ncurses4/terminfo/c/chromatics +/usr/share/ncurses4/terminfo/c/ci8510 +/usr/share/ncurses4/terminfo/c/cit-80 +/usr/share/ncurses4/terminfo/c/cit101 +/usr/share/ncurses4/terminfo/c/cit101e +/usr/share/ncurses4/terminfo/c/cit101e-132 +/usr/share/ncurses4/terminfo/c/cit101e-n +/usr/share/ncurses4/terminfo/c/cit101e-n132 +/usr/share/ncurses4/terminfo/c/cit101e-rv +/usr/share/ncurses4/terminfo/c/cit500 +/usr/share/ncurses4/terminfo/c/cit80 +/usr/share/ncurses4/terminfo/c/citc +/usr/share/ncurses4/terminfo/c/citoh +/usr/share/ncurses4/terminfo/c/citoh-6lpi +/usr/share/ncurses4/terminfo/c/citoh-8lpi +/usr/share/ncurses4/terminfo/c/citoh-comp +/usr/share/ncurses4/terminfo/c/citoh-elite +/usr/share/ncurses4/terminfo/c/citoh-pica +/usr/share/ncurses4/terminfo/c/citoh-prop +/usr/share/ncurses4/terminfo/c/citoh-ps +/usr/share/ncurses4/terminfo/c/coco3 +/usr/share/ncurses4/terminfo/c/coherent +/usr/share/ncurses4/terminfo/c/color_xterm +/usr/share/ncurses4/terminfo/c/colorscan +/usr/share/ncurses4/terminfo/c/commodore +/usr/share/ncurses4/terminfo/c/concept +/usr/share/ncurses4/terminfo/c/concept-avt +/usr/share/ncurses4/terminfo/c/concept100 +/usr/share/ncurses4/terminfo/c/concept100-rv +/usr/share/ncurses4/terminfo/c/concept108 +/usr/share/ncurses4/terminfo/c/concept108-4p +/usr/share/ncurses4/terminfo/c/concept108-8p +/usr/share/ncurses4/terminfo/c/concept108-w-8 +/usr/share/ncurses4/terminfo/c/concept108-w8p +/usr/share/ncurses4/terminfo/c/concept108rv4p +/usr/share/ncurses4/terminfo/c/cons25 +/usr/share/ncurses4/terminfo/c/cons25-iso-m +/usr/share/ncurses4/terminfo/c/cons25-iso8859 +/usr/share/ncurses4/terminfo/c/cons25-koi8-r +/usr/share/ncurses4/terminfo/c/cons25-koi8r-m +/usr/share/ncurses4/terminfo/c/cons25-m +/usr/share/ncurses4/terminfo/c/cons25l1 +/usr/share/ncurses4/terminfo/c/cons25l1-m +/usr/share/ncurses4/terminfo/c/cons25r +/usr/share/ncurses4/terminfo/c/cons25r-m +/usr/share/ncurses4/terminfo/c/cons25w +/usr/share/ncurses4/terminfo/c/cons30 +/usr/share/ncurses4/terminfo/c/cons30-m +/usr/share/ncurses4/terminfo/c/cons43 +/usr/share/ncurses4/terminfo/c/cons43-m +/usr/share/ncurses4/terminfo/c/cons50 +/usr/share/ncurses4/terminfo/c/cons50-iso-m +/usr/share/ncurses4/terminfo/c/cons50-iso8859 +/usr/share/ncurses4/terminfo/c/cons50-koi8r +/usr/share/ncurses4/terminfo/c/cons50-koi8r-m +/usr/share/ncurses4/terminfo/c/cons50-m +/usr/share/ncurses4/terminfo/c/cons50l1 +/usr/share/ncurses4/terminfo/c/cons50l1-m +/usr/share/ncurses4/terminfo/c/cons50r +/usr/share/ncurses4/terminfo/c/cons50r-m +/usr/share/ncurses4/terminfo/c/cons60 +/usr/share/ncurses4/terminfo/c/cons60-iso +/usr/share/ncurses4/terminfo/c/cons60-iso-m +/usr/share/ncurses4/terminfo/c/cons60-koi8r +/usr/share/ncurses4/terminfo/c/cons60-koi8r-m +/usr/share/ncurses4/terminfo/c/cons60-m +/usr/share/ncurses4/terminfo/c/cons60l1 +/usr/share/ncurses4/terminfo/c/cons60l1-m +/usr/share/ncurses4/terminfo/c/cons60r +/usr/share/ncurses4/terminfo/c/cons60r-m +/usr/share/ncurses4/terminfo/c/contel300 +/usr/share/ncurses4/terminfo/c/contel301 +/usr/share/ncurses4/terminfo/c/contel320 +/usr/share/ncurses4/terminfo/c/contel321 +/usr/share/ncurses4/terminfo/c/cops +/usr/share/ncurses4/terminfo/c/cops-10 +/usr/share/ncurses4/terminfo/c/cops10 +/usr/share/ncurses4/terminfo/c/cs10 +/usr/share/ncurses4/terminfo/c/cs10-w +/usr/share/ncurses4/terminfo/c/ct82 +/usr/share/ncurses4/terminfo/c/ct8500 +/usr/share/ncurses4/terminfo/c/ctrm +/usr/share/ncurses4/terminfo/c/cx +/usr/share/ncurses4/terminfo/c/cx100 +/usr/share/ncurses4/terminfo/c/cyb110 +/usr/share/ncurses4/terminfo/c/cyb83 +/usr/share/ncurses4/terminfo/d +/usr/share/ncurses4/terminfo/d/d132 +/usr/share/ncurses4/terminfo/d/d80 +/usr/share/ncurses4/terminfo/d/d800 +/usr/share/ncurses4/terminfo/d/datagraphix +/usr/share/ncurses4/terminfo/d/datamedia2500 +/usr/share/ncurses4/terminfo/d/datapoint +/usr/share/ncurses4/terminfo/d/dataspeed40 +/usr/share/ncurses4/terminfo/d/dd5000 +/usr/share/ncurses4/terminfo/d/ddr +/usr/share/ncurses4/terminfo/d/ddr3180 +/usr/share/ncurses4/terminfo/d/dec-vt100 +/usr/share/ncurses4/terminfo/d/dec-vt220 +/usr/share/ncurses4/terminfo/d/dec-vt330 +/usr/share/ncurses4/terminfo/d/dec-vt340 +/usr/share/ncurses4/terminfo/d/dec-vt400 +/usr/share/ncurses4/terminfo/d/decpro +/usr/share/ncurses4/terminfo/d/decwriter +/usr/share/ncurses4/terminfo/d/delta +/usr/share/ncurses4/terminfo/d/dg-ansi +/usr/share/ncurses4/terminfo/d/dg100 +/usr/share/ncurses4/terminfo/d/dg200 +/usr/share/ncurses4/terminfo/d/dg210 +/usr/share/ncurses4/terminfo/d/dg211 +/usr/share/ncurses4/terminfo/d/dg450 +/usr/share/ncurses4/terminfo/d/dg460-ansi +/usr/share/ncurses4/terminfo/d/dg6053 +/usr/share/ncurses4/terminfo/d/dg6134 +/usr/share/ncurses4/terminfo/d/diablo +/usr/share/ncurses4/terminfo/d/diablo-lm +/usr/share/ncurses4/terminfo/d/diablo1620 +/usr/share/ncurses4/terminfo/d/diablo1620-m8 +/usr/share/ncurses4/terminfo/d/diablo1640 +/usr/share/ncurses4/terminfo/d/diablo1640-lm +/usr/share/ncurses4/terminfo/d/diablo1640-m8 +/usr/share/ncurses4/terminfo/d/diablo1720 +/usr/share/ncurses4/terminfo/d/diablo1730 +/usr/share/ncurses4/terminfo/d/diablo1740 +/usr/share/ncurses4/terminfo/d/diablo1740-lm +/usr/share/ncurses4/terminfo/d/diablo450 +/usr/share/ncurses4/terminfo/d/diablo630 +/usr/share/ncurses4/terminfo/d/dialogue +/usr/share/ncurses4/terminfo/d/dialogue80 +/usr/share/ncurses4/terminfo/d/digilog +/usr/share/ncurses4/terminfo/d/dku7003 +/usr/share/ncurses4/terminfo/d/dku7003-dumb +/usr/share/ncurses4/terminfo/d/dm1520 +/usr/share/ncurses4/terminfo/d/dm1521 +/usr/share/ncurses4/terminfo/d/dm2500 +/usr/share/ncurses4/terminfo/d/dm3025 +/usr/share/ncurses4/terminfo/d/dm3045 +/usr/share/ncurses4/terminfo/d/dm80 +/usr/share/ncurses4/terminfo/d/dm80w +/usr/share/ncurses4/terminfo/d/dmchat +/usr/share/ncurses4/terminfo/d/dmd +/usr/share/ncurses4/terminfo/d/dmd-24 +/usr/share/ncurses4/terminfo/d/dmd-34 +/usr/share/ncurses4/terminfo/d/dmd1 +/usr/share/ncurses4/terminfo/d/dmdt80 +/usr/share/ncurses4/terminfo/d/dmdt80w +/usr/share/ncurses4/terminfo/d/dmterm +/usr/share/ncurses4/terminfo/d/dp3360 +/usr/share/ncurses4/terminfo/d/dp8242 +/usr/share/ncurses4/terminfo/d/ds40 +/usr/share/ncurses4/terminfo/d/ds40-2 +/usr/share/ncurses4/terminfo/d/dt-100 +/usr/share/ncurses4/terminfo/d/dt-100w +/usr/share/ncurses4/terminfo/d/dt100 +/usr/share/ncurses4/terminfo/d/dt100w +/usr/share/ncurses4/terminfo/d/dt110 +/usr/share/ncurses4/terminfo/d/dt80 +/usr/share/ncurses4/terminfo/d/dt80-sas +/usr/share/ncurses4/terminfo/d/dt80w +/usr/share/ncurses4/terminfo/d/dtc300s +/usr/share/ncurses4/terminfo/d/dtc382 +/usr/share/ncurses4/terminfo/d/dtterm +/usr/share/ncurses4/terminfo/d/dumb +/usr/share/ncurses4/terminfo/d/dw +/usr/share/ncurses4/terminfo/d/dw1 +/usr/share/ncurses4/terminfo/d/dw2 +/usr/share/ncurses4/terminfo/d/dw3 +/usr/share/ncurses4/terminfo/d/dw4 +/usr/share/ncurses4/terminfo/d/dwk +/usr/share/ncurses4/terminfo/d/dwk-vt +/usr/share/ncurses4/terminfo/e +/usr/share/ncurses4/terminfo/e/ecma+color +/usr/share/ncurses4/terminfo/e/ecma+sgr +/usr/share/ncurses4/terminfo/e/emots +/usr/share/ncurses4/terminfo/e/emu +/usr/share/ncurses4/terminfo/e/env230 +/usr/share/ncurses4/terminfo/e/envision230 +/usr/share/ncurses4/terminfo/e/ep40 +/usr/share/ncurses4/terminfo/e/ep4000 +/usr/share/ncurses4/terminfo/e/ep4080 +/usr/share/ncurses4/terminfo/e/ep48 +/usr/share/ncurses4/terminfo/e/ergo4000 +/usr/share/ncurses4/terminfo/e/esprit +/usr/share/ncurses4/terminfo/e/esprit-am +/usr/share/ncurses4/terminfo/e/eterm +/usr/share/ncurses4/terminfo/e/ex155 +/usr/share/ncurses4/terminfo/e/excel62 +/usr/share/ncurses4/terminfo/e/excel62-rv +/usr/share/ncurses4/terminfo/e/excel62-w +/usr/share/ncurses4/terminfo/e/excel64 +/usr/share/ncurses4/terminfo/e/excel64-rv +/usr/share/ncurses4/terminfo/e/excel64-w +/usr/share/ncurses4/terminfo/e/exec80 +/usr/share/ncurses4/terminfo/f +/usr/share/ncurses4/terminfo/f/f100 +/usr/share/ncurses4/terminfo/f/f100-rv +/usr/share/ncurses4/terminfo/f/f110 +/usr/share/ncurses4/terminfo/f/f110-14 +/usr/share/ncurses4/terminfo/f/f110-14w +/usr/share/ncurses4/terminfo/f/f110-w +/usr/share/ncurses4/terminfo/f/f1720 +/usr/share/ncurses4/terminfo/f/f1720a +/usr/share/ncurses4/terminfo/f/f200 +/usr/share/ncurses4/terminfo/f/f200-w +/usr/share/ncurses4/terminfo/f/f200vi +/usr/share/ncurses4/terminfo/f/f200vi-w +/usr/share/ncurses4/terminfo/f/falco +/usr/share/ncurses4/terminfo/f/falco-p +/usr/share/ncurses4/terminfo/f/fenix +/usr/share/ncurses4/terminfo/f/fenixw +/usr/share/ncurses4/terminfo/f/fixterm +/usr/share/ncurses4/terminfo/f/fortune +/usr/share/ncurses4/terminfo/f/fos +/usr/share/ncurses4/terminfo/f/fox +/usr/share/ncurses4/terminfo/f/freedom +/usr/share/ncurses4/terminfo/f/freedom-rv +/usr/share/ncurses4/terminfo/f/freedom100 +/usr/share/ncurses4/terminfo/f/freedom110 +/usr/share/ncurses4/terminfo/f/freedom200 +/usr/share/ncurses4/terminfo/g +/usr/share/ncurses4/terminfo/g/gator +/usr/share/ncurses4/terminfo/g/gator-52 +/usr/share/ncurses4/terminfo/g/gator-52t +/usr/share/ncurses4/terminfo/g/gator-t +/usr/share/ncurses4/terminfo/g/gigi +/usr/share/ncurses4/terminfo/g/glasstty +/usr/share/ncurses4/terminfo/g/go-225 +/usr/share/ncurses4/terminfo/g/go140 +/usr/share/ncurses4/terminfo/g/go140w +/usr/share/ncurses4/terminfo/g/go225 +/usr/share/ncurses4/terminfo/g/graphos +/usr/share/ncurses4/terminfo/g/graphos-30 +/usr/share/ncurses4/terminfo/g/gs5430 +/usr/share/ncurses4/terminfo/g/gs5430-22 +/usr/share/ncurses4/terminfo/g/gs5430-24 +/usr/share/ncurses4/terminfo/g/gs6300 +/usr/share/ncurses4/terminfo/g/gsi +/usr/share/ncurses4/terminfo/g/gt100 +/usr/share/ncurses4/terminfo/g/gt100a +/usr/share/ncurses4/terminfo/g/gt40 +/usr/share/ncurses4/terminfo/g/gt42 +/usr/share/ncurses4/terminfo/g/guru +/usr/share/ncurses4/terminfo/g/guru+rv +/usr/share/ncurses4/terminfo/g/guru+s +/usr/share/ncurses4/terminfo/g/guru+unk +/usr/share/ncurses4/terminfo/g/guru-24 +/usr/share/ncurses4/terminfo/g/guru-33 +/usr/share/ncurses4/terminfo/g/guru-33-rv +/usr/share/ncurses4/terminfo/g/guru-33-s +/usr/share/ncurses4/terminfo/g/guru-44 +/usr/share/ncurses4/terminfo/g/guru-44-s +/usr/share/ncurses4/terminfo/g/guru-76 +/usr/share/ncurses4/terminfo/g/guru-76-lp +/usr/share/ncurses4/terminfo/g/guru-76-s +/usr/share/ncurses4/terminfo/g/guru-76-w +/usr/share/ncurses4/terminfo/g/guru-76-w-s +/usr/share/ncurses4/terminfo/g/guru-76-wm +/usr/share/ncurses4/terminfo/g/guru-lp +/usr/share/ncurses4/terminfo/g/guru-nctxt +/usr/share/ncurses4/terminfo/g/guru-rv +/usr/share/ncurses4/terminfo/g/guru-s +/usr/share/ncurses4/terminfo/h +/usr/share/ncurses4/terminfo/h/h-100 +/usr/share/ncurses4/terminfo/h/h-100bw +/usr/share/ncurses4/terminfo/h/h100 +/usr/share/ncurses4/terminfo/h/h100bw +/usr/share/ncurses4/terminfo/h/h19 +/usr/share/ncurses4/terminfo/h/h19-a +/usr/share/ncurses4/terminfo/h/h19-b +/usr/share/ncurses4/terminfo/h/h19-bs +/usr/share/ncurses4/terminfo/h/h19-g +/usr/share/ncurses4/terminfo/h/h19-smul +/usr/share/ncurses4/terminfo/h/h19-u +/usr/share/ncurses4/terminfo/h/h19-us +/usr/share/ncurses4/terminfo/h/h19a +/usr/share/ncurses4/terminfo/h/h19g +/usr/share/ncurses4/terminfo/h/h19k +/usr/share/ncurses4/terminfo/h/h19kermit +/usr/share/ncurses4/terminfo/h/h19us +/usr/share/ncurses4/terminfo/h/h29a-kc-bc +/usr/share/ncurses4/terminfo/h/h29a-kc-uc +/usr/share/ncurses4/terminfo/h/h29a-nkc-bc +/usr/share/ncurses4/terminfo/h/h29a-nkc-uc +/usr/share/ncurses4/terminfo/h/h80 +/usr/share/ncurses4/terminfo/h/ha8675 +/usr/share/ncurses4/terminfo/h/ha8686 +/usr/share/ncurses4/terminfo/h/hazel +/usr/share/ncurses4/terminfo/h/hds200 +/usr/share/ncurses4/terminfo/h/he80 +/usr/share/ncurses4/terminfo/h/heath +/usr/share/ncurses4/terminfo/h/heath-19 +/usr/share/ncurses4/terminfo/h/heath-ansi +/usr/share/ncurses4/terminfo/h/heathkit +/usr/share/ncurses4/terminfo/h/heathkit-a +/usr/share/ncurses4/terminfo/h/hft +/usr/share/ncurses4/terminfo/h/hft-c +/usr/share/ncurses4/terminfo/h/hirez100 +/usr/share/ncurses4/terminfo/h/hirez100-w +/usr/share/ncurses4/terminfo/h/hmod1 +/usr/share/ncurses4/terminfo/h/hp +/usr/share/ncurses4/terminfo/h/hp+arrows +/usr/share/ncurses4/terminfo/h/hp+color +/usr/share/ncurses4/terminfo/h/hp+labels +/usr/share/ncurses4/terminfo/h/hp+pfk+arrows +/usr/share/ncurses4/terminfo/h/hp+pfk+cr +/usr/share/ncurses4/terminfo/h/hp+pfk-cr +/usr/share/ncurses4/terminfo/h/hp+printer +/usr/share/ncurses4/terminfo/h/hp110 +/usr/share/ncurses4/terminfo/h/hp150 +/usr/share/ncurses4/terminfo/h/hp2 +/usr/share/ncurses4/terminfo/h/hp236 +/usr/share/ncurses4/terminfo/h/hp2382 +/usr/share/ncurses4/terminfo/h/hp2382a +/usr/share/ncurses4/terminfo/h/hp2392 +/usr/share/ncurses4/terminfo/h/hp2397 +/usr/share/ncurses4/terminfo/h/hp2397a +/usr/share/ncurses4/terminfo/h/hp2621 +/usr/share/ncurses4/terminfo/h/hp2621-48 +/usr/share/ncurses4/terminfo/h/hp2621-a +/usr/share/ncurses4/terminfo/h/hp2621-ba +/usr/share/ncurses4/terminfo/h/hp2621-fl +/usr/share/ncurses4/terminfo/h/hp2621-k45 +/usr/share/ncurses4/terminfo/h/hp2621-nl +/usr/share/ncurses4/terminfo/h/hp2621-nt +/usr/share/ncurses4/terminfo/h/hp2621-wl +/usr/share/ncurses4/terminfo/h/hp2621A +/usr/share/ncurses4/terminfo/h/hp2621a +/usr/share/ncurses4/terminfo/h/hp2621a-a +/usr/share/ncurses4/terminfo/h/hp2621b +/usr/share/ncurses4/terminfo/h/hp2621b-kx +/usr/share/ncurses4/terminfo/h/hp2621b-kx-p +/usr/share/ncurses4/terminfo/h/hp2621b-p +/usr/share/ncurses4/terminfo/h/hp2621k45 +/usr/share/ncurses4/terminfo/h/hp2621p +/usr/share/ncurses4/terminfo/h/hp2621p-a +/usr/share/ncurses4/terminfo/h/hp2622 +/usr/share/ncurses4/terminfo/h/hp2622a +/usr/share/ncurses4/terminfo/h/hp2623 +/usr/share/ncurses4/terminfo/h/hp2623a +/usr/share/ncurses4/terminfo/h/hp2624 +/usr/share/ncurses4/terminfo/h/hp2624-10p +/usr/share/ncurses4/terminfo/h/hp2624a +/usr/share/ncurses4/terminfo/h/hp2624a-10p +/usr/share/ncurses4/terminfo/h/hp2624b +/usr/share/ncurses4/terminfo/h/hp2624b-10p +/usr/share/ncurses4/terminfo/h/hp2624b-10p-p +/usr/share/ncurses4/terminfo/h/hp2624b-4p +/usr/share/ncurses4/terminfo/h/hp2624b-4p-p +/usr/share/ncurses4/terminfo/h/hp2624b-p +/usr/share/ncurses4/terminfo/h/hp2626 +/usr/share/ncurses4/terminfo/h/hp2626-12 +/usr/share/ncurses4/terminfo/h/hp2626-12-s +/usr/share/ncurses4/terminfo/h/hp2626-12x40 +/usr/share/ncurses4/terminfo/h/hp2626-ns +/usr/share/ncurses4/terminfo/h/hp2626-s +/usr/share/ncurses4/terminfo/h/hp2626-x40 +/usr/share/ncurses4/terminfo/h/hp2626a +/usr/share/ncurses4/terminfo/h/hp2626p +/usr/share/ncurses4/terminfo/h/hp2627a +/usr/share/ncurses4/terminfo/h/hp2627a-rev +/usr/share/ncurses4/terminfo/h/hp2627c +/usr/share/ncurses4/terminfo/h/hp262x +/usr/share/ncurses4/terminfo/h/hp2640a +/usr/share/ncurses4/terminfo/h/hp2640b +/usr/share/ncurses4/terminfo/h/hp2641a +/usr/share/ncurses4/terminfo/h/hp2644a +/usr/share/ncurses4/terminfo/h/hp2645 +/usr/share/ncurses4/terminfo/h/hp2645a +/usr/share/ncurses4/terminfo/h/hp2647a +/usr/share/ncurses4/terminfo/h/hp2648 +/usr/share/ncurses4/terminfo/h/hp2648a +/usr/share/ncurses4/terminfo/h/hp300h +/usr/share/ncurses4/terminfo/h/hp45 +/usr/share/ncurses4/terminfo/h/hp700 +/usr/share/ncurses4/terminfo/h/hp700-wy +/usr/share/ncurses4/terminfo/h/hp70092 +/usr/share/ncurses4/terminfo/h/hp70092A +/usr/share/ncurses4/terminfo/h/hp70092a +/usr/share/ncurses4/terminfo/h/hp9837 +/usr/share/ncurses4/terminfo/h/hp9845 +/usr/share/ncurses4/terminfo/h/hp98550 +/usr/share/ncurses4/terminfo/h/hp98550a +/usr/share/ncurses4/terminfo/h/hp98720 +/usr/share/ncurses4/terminfo/h/hp98721 +/usr/share/ncurses4/terminfo/h/hpansi +/usr/share/ncurses4/terminfo/h/hpex +/usr/share/ncurses4/terminfo/h/hpex2 +/usr/share/ncurses4/terminfo/h/hpgeneric +/usr/share/ncurses4/terminfo/h/hpsub +/usr/share/ncurses4/terminfo/h/hpterm +/usr/share/ncurses4/terminfo/h/htx11 +/usr/share/ncurses4/terminfo/h/hz1000 +/usr/share/ncurses4/terminfo/h/hz1420 +/usr/share/ncurses4/terminfo/h/hz1500 +/usr/share/ncurses4/terminfo/h/hz1510 +/usr/share/ncurses4/terminfo/h/hz1520 +/usr/share/ncurses4/terminfo/h/hz1520-noesc +/usr/share/ncurses4/terminfo/h/hz1552 +/usr/share/ncurses4/terminfo/h/hz1552-rv +/usr/share/ncurses4/terminfo/h/hz2000 +/usr/share/ncurses4/terminfo/i +/usr/share/ncurses4/terminfo/i/i100 +/usr/share/ncurses4/terminfo/i/i3101 +/usr/share/ncurses4/terminfo/i/i3151 +/usr/share/ncurses4/terminfo/i/i3164 +/usr/share/ncurses4/terminfo/i/i400 +/usr/share/ncurses4/terminfo/i/ibcs2 +/usr/share/ncurses4/terminfo/i/ibm-apl +/usr/share/ncurses4/terminfo/i/ibm-pc +/usr/share/ncurses4/terminfo/i/ibm-system1 +/usr/share/ncurses4/terminfo/i/ibm3101 +/usr/share/ncurses4/terminfo/i/ibm3151 +/usr/share/ncurses4/terminfo/i/ibm3161 +/usr/share/ncurses4/terminfo/i/ibm3163 +/usr/share/ncurses4/terminfo/i/ibm3164 +/usr/share/ncurses4/terminfo/i/ibm327x +/usr/share/ncurses4/terminfo/i/ibm5051 +/usr/share/ncurses4/terminfo/i/ibm5081 +/usr/share/ncurses4/terminfo/i/ibm5081-c +/usr/share/ncurses4/terminfo/i/ibm5151 +/usr/share/ncurses4/terminfo/i/ibm5154 +/usr/share/ncurses4/terminfo/i/ibm5154-c +/usr/share/ncurses4/terminfo/i/ibm6153 +/usr/share/ncurses4/terminfo/i/ibm6154 +/usr/share/ncurses4/terminfo/i/ibm6154-c +/usr/share/ncurses4/terminfo/i/ibm6155 +/usr/share/ncurses4/terminfo/i/ibm8512 +/usr/share/ncurses4/terminfo/i/ibm8513 +/usr/share/ncurses4/terminfo/i/ibm8514 +/usr/share/ncurses4/terminfo/i/ibm8514-c +/usr/share/ncurses4/terminfo/i/ibmaed +/usr/share/ncurses4/terminfo/i/ibmapa16 +/usr/share/ncurses4/terminfo/i/ibmapa8 +/usr/share/ncurses4/terminfo/i/ibmapa8c +/usr/share/ncurses4/terminfo/i/ibmapa8c-c +/usr/share/ncurses4/terminfo/i/ibmega +/usr/share/ncurses4/terminfo/i/ibmega-c +/usr/share/ncurses4/terminfo/i/ibmmono +/usr/share/ncurses4/terminfo/i/ibmmpel +/usr/share/ncurses4/terminfo/i/ibmmpel-c +/usr/share/ncurses4/terminfo/i/ibmpc +/usr/share/ncurses4/terminfo/i/ibmpc3 +/usr/share/ncurses4/terminfo/i/ibmpc3r +/usr/share/ncurses4/terminfo/i/ibmpc3r-mono +/usr/share/ncurses4/terminfo/i/ibmpcx +/usr/share/ncurses4/terminfo/i/ibmvga +/usr/share/ncurses4/terminfo/i/ibmvga-c +/usr/share/ncurses4/terminfo/i/ibmx +/usr/share/ncurses4/terminfo/i/ifmr +/usr/share/ncurses4/terminfo/i/ims-ansi +/usr/share/ncurses4/terminfo/i/ims950 +/usr/share/ncurses4/terminfo/i/ims950-b +/usr/share/ncurses4/terminfo/i/ims950-rv +/usr/share/ncurses4/terminfo/i/infoton +/usr/share/ncurses4/terminfo/i/intertec +/usr/share/ncurses4/terminfo/i/intertube +/usr/share/ncurses4/terminfo/i/intertube2 +/usr/share/ncurses4/terminfo/i/intext +/usr/share/ncurses4/terminfo/i/intext2 +/usr/share/ncurses4/terminfo/i/intextii +/usr/share/ncurses4/terminfo/i/ips +/usr/share/ncurses4/terminfo/i/ipsi +/usr/share/ncurses4/terminfo/i/iq120 +/usr/share/ncurses4/terminfo/i/iq140 +/usr/share/ncurses4/terminfo/i/iris-ansi +/usr/share/ncurses4/terminfo/i/iris-ansi-ap +/usr/share/ncurses4/terminfo/i/iris-color +/usr/share/ncurses4/terminfo/i/iris40 +/usr/share/ncurses4/terminfo/j +/usr/share/ncurses4/terminfo/j/jaixterm-m +/usr/share/ncurses4/terminfo/j/jerq +/usr/share/ncurses4/terminfo/k +/usr/share/ncurses4/terminfo/k/k45 +/usr/share/ncurses4/terminfo/k/kaypro +/usr/share/ncurses4/terminfo/k/kaypro2 +/usr/share/ncurses4/terminfo/k/kermit +/usr/share/ncurses4/terminfo/k/kermit-am +/usr/share/ncurses4/terminfo/k/klone+acs +/usr/share/ncurses4/terminfo/k/klone+color +/usr/share/ncurses4/terminfo/k/klone+koi8acs +/usr/share/ncurses4/terminfo/k/klone+sgr +/usr/share/ncurses4/terminfo/k/klone+sgr-dumb +/usr/share/ncurses4/terminfo/k/kt7 +/usr/share/ncurses4/terminfo/k/kt7ix +/usr/share/ncurses4/terminfo/k/kterm +/usr/share/ncurses4/terminfo/k/ktm +/usr/share/ncurses4/terminfo/l +/usr/share/ncurses4/terminfo/l/la120 +/usr/share/ncurses4/terminfo/l/layer +/usr/share/ncurses4/terminfo/l/linux +/usr/share/ncurses4/terminfo/l/linux-c +/usr/share/ncurses4/terminfo/l/linux-c-nc +/usr/share/ncurses4/terminfo/l/linux-koi8 +/usr/share/ncurses4/terminfo/l/linux-koi8r +/usr/share/ncurses4/terminfo/l/linux-m +/usr/share/ncurses4/terminfo/l/linux-nic +/usr/share/ncurses4/terminfo/l/lisa +/usr/share/ncurses4/terminfo/l/lisaterm +/usr/share/ncurses4/terminfo/l/lisaterm-w +/usr/share/ncurses4/terminfo/l/liswb +/usr/share/ncurses4/terminfo/l/ln03 +/usr/share/ncurses4/terminfo/l/ln03-w +/usr/share/ncurses4/terminfo/l/lpr +/usr/share/ncurses4/terminfo/l/luna +/usr/share/ncurses4/terminfo/l/luna68k +/usr/share/ncurses4/terminfo/m +/usr/share/ncurses4/terminfo/m/m2-nam +/usr/share/ncurses4/terminfo/m/mac +/usr/share/ncurses4/terminfo/m/mac-w +/usr/share/ncurses4/terminfo/m/macintosh +/usr/share/ncurses4/terminfo/m/macterminal-w +/usr/share/ncurses4/terminfo/m/mai +/usr/share/ncurses4/terminfo/m/masscomp +/usr/share/ncurses4/terminfo/m/masscomp1 +/usr/share/ncurses4/terminfo/m/masscomp2 +/usr/share/ncurses4/terminfo/m/mdl110 +/usr/share/ncurses4/terminfo/m/megatek +/usr/share/ncurses4/terminfo/m/memhp +/usr/share/ncurses4/terminfo/m/mgr +/usr/share/ncurses4/terminfo/m/mgr-linux +/usr/share/ncurses4/terminfo/m/mgr-sun +/usr/share/ncurses4/terminfo/m/microb +/usr/share/ncurses4/terminfo/m/microbee +/usr/share/ncurses4/terminfo/m/microterm +/usr/share/ncurses4/terminfo/m/microterm5 +/usr/share/ncurses4/terminfo/m/mime +/usr/share/ncurses4/terminfo/m/mime-3ax +/usr/share/ncurses4/terminfo/m/mime-fb +/usr/share/ncurses4/terminfo/m/mime-hb +/usr/share/ncurses4/terminfo/m/mime1 +/usr/share/ncurses4/terminfo/m/mime2 +/usr/share/ncurses4/terminfo/m/mime2a +/usr/share/ncurses4/terminfo/m/mime2a-s +/usr/share/ncurses4/terminfo/m/mime2a-v +/usr/share/ncurses4/terminfo/m/mime314 +/usr/share/ncurses4/terminfo/m/mime340 +/usr/share/ncurses4/terminfo/m/mime3a +/usr/share/ncurses4/terminfo/m/mime3ax +/usr/share/ncurses4/terminfo/m/mimei +/usr/share/ncurses4/terminfo/m/mimeii +/usr/share/ncurses4/terminfo/m/minitel +/usr/share/ncurses4/terminfo/m/minitel-2 +/usr/share/ncurses4/terminfo/m/minitel-2-nam +/usr/share/ncurses4/terminfo/m/minix +/usr/share/ncurses4/terminfo/m/minix-old +/usr/share/ncurses4/terminfo/m/minix-old-am +/usr/share/ncurses4/terminfo/m/mm314 +/usr/share/ncurses4/terminfo/m/mm340 +/usr/share/ncurses4/terminfo/m/mod +/usr/share/ncurses4/terminfo/m/mod24 +/usr/share/ncurses4/terminfo/m/modgraph +/usr/share/ncurses4/terminfo/m/modgraph2 +/usr/share/ncurses4/terminfo/m/modgraph48 +/usr/share/ncurses4/terminfo/m/mono-emx +/usr/share/ncurses4/terminfo/m/msk227 +/usr/share/ncurses4/terminfo/m/msk22714 +/usr/share/ncurses4/terminfo/m/msk227am +/usr/share/ncurses4/terminfo/m/mskermit227 +/usr/share/ncurses4/terminfo/m/mskermit22714 +/usr/share/ncurses4/terminfo/m/mskermit227am +/usr/share/ncurses4/terminfo/m/mt-70 +/usr/share/ncurses4/terminfo/m/mt4520-rv +/usr/share/ncurses4/terminfo/m/mt70 +/usr/share/ncurses4/terminfo/n +/usr/share/ncurses4/terminfo/n/nansi.sys +/usr/share/ncurses4/terminfo/n/nansi.sysk +/usr/share/ncurses4/terminfo/n/nansisys +/usr/share/ncurses4/terminfo/n/nansisysk +/usr/share/ncurses4/terminfo/n/ncr7900 +/usr/share/ncurses4/terminfo/n/ncr7900i +/usr/share/ncurses4/terminfo/n/ncr7900iv +/usr/share/ncurses4/terminfo/n/ncr7901 +/usr/share/ncurses4/terminfo/n/nec +/usr/share/ncurses4/terminfo/n/nec5520 +/usr/share/ncurses4/terminfo/n/newhp +/usr/share/ncurses4/terminfo/n/newhpkeyboard +/usr/share/ncurses4/terminfo/n/news +/usr/share/ncurses4/terminfo/n/news-29 +/usr/share/ncurses4/terminfo/n/news-29-euc +/usr/share/ncurses4/terminfo/n/news-29-sjis +/usr/share/ncurses4/terminfo/n/news-33 +/usr/share/ncurses4/terminfo/n/news-33-euc +/usr/share/ncurses4/terminfo/n/news-33-sjis +/usr/share/ncurses4/terminfo/n/news-42 +/usr/share/ncurses4/terminfo/n/news-42-euc +/usr/share/ncurses4/terminfo/n/news-42-sjis +/usr/share/ncurses4/terminfo/n/news-a +/usr/share/ncurses4/terminfo/n/news-o +/usr/share/ncurses4/terminfo/n/news-old-unk +/usr/share/ncurses4/terminfo/n/news-unk +/usr/share/ncurses4/terminfo/n/news28 +/usr/share/ncurses4/terminfo/n/news28-a +/usr/share/ncurses4/terminfo/n/news29 +/usr/share/ncurses4/terminfo/n/news31 +/usr/share/ncurses4/terminfo/n/news31-a +/usr/share/ncurses4/terminfo/n/news31-o +/usr/share/ncurses4/terminfo/n/news33 +/usr/share/ncurses4/terminfo/n/news40 +/usr/share/ncurses4/terminfo/n/news40-a +/usr/share/ncurses4/terminfo/n/news40-o +/usr/share/ncurses4/terminfo/n/news42 +/usr/share/ncurses4/terminfo/n/newscbm +/usr/share/ncurses4/terminfo/n/newscbm-a +/usr/share/ncurses4/terminfo/n/newscbm-o +/usr/share/ncurses4/terminfo/n/newscbm33 +/usr/share/ncurses4/terminfo/n/next +/usr/share/ncurses4/terminfo/n/nextshell +/usr/share/ncurses4/terminfo/n/northstar +/usr/share/ncurses4/terminfo/n/nwe501 +/usr/share/ncurses4/terminfo/n/nwe501-a +/usr/share/ncurses4/terminfo/n/nwe501-o +/usr/share/ncurses4/terminfo/n/nwp-511 +/usr/share/ncurses4/terminfo/n/nwp-517 +/usr/share/ncurses4/terminfo/n/nwp-517-w +/usr/share/ncurses4/terminfo/n/nwp251-a +/usr/share/ncurses4/terminfo/n/nwp251-o +/usr/share/ncurses4/terminfo/n/nwp511 +/usr/share/ncurses4/terminfo/n/nwp512 +/usr/share/ncurses4/terminfo/n/nwp512-a +/usr/share/ncurses4/terminfo/n/nwp512-o +/usr/share/ncurses4/terminfo/n/nwp513 +/usr/share/ncurses4/terminfo/n/nwp513-a +/usr/share/ncurses4/terminfo/n/nwp513-o +/usr/share/ncurses4/terminfo/n/nwp514 +/usr/share/ncurses4/terminfo/n/nwp514-a +/usr/share/ncurses4/terminfo/n/nwp514-o +/usr/share/ncurses4/terminfo/n/nwp517 +/usr/share/ncurses4/terminfo/n/nwp517-w +/usr/share/ncurses4/terminfo/n/nwp518 +/usr/share/ncurses4/terminfo/n/nwp518-a +/usr/share/ncurses4/terminfo/n/nwp518-o +/usr/share/ncurses4/terminfo/o +/usr/share/ncurses4/terminfo/o/o31 +/usr/share/ncurses4/terminfo/o/o4112-nd +/usr/share/ncurses4/terminfo/o/o85h +/usr/share/ncurses4/terminfo/o/oabm85h +/usr/share/ncurses4/terminfo/o/oblit +/usr/share/ncurses4/terminfo/o/oc100 +/usr/share/ncurses4/terminfo/o/oconcept +/usr/share/ncurses4/terminfo/o/ojerq +/usr/share/ncurses4/terminfo/o/oldibmpc3 +/usr/share/ncurses4/terminfo/o/oldpc3 +/usr/share/ncurses4/terminfo/o/oldsun +/usr/share/ncurses4/terminfo/o/omron +/usr/share/ncurses4/terminfo/o/opus3n1+ +/usr/share/ncurses4/terminfo/o/origibmpc3 +/usr/share/ncurses4/terminfo/o/origpc3 +/usr/share/ncurses4/terminfo/o/os9LII +/usr/share/ncurses4/terminfo/o/osborne +/usr/share/ncurses4/terminfo/o/osborne-w +/usr/share/ncurses4/terminfo/o/osborne1 +/usr/share/ncurses4/terminfo/o/osborne1-w +/usr/share/ncurses4/terminfo/o/osexec +/usr/share/ncurses4/terminfo/o/otek4112 +/usr/share/ncurses4/terminfo/o/otek4113 +/usr/share/ncurses4/terminfo/o/otek4114 +/usr/share/ncurses4/terminfo/o/otek4115 +/usr/share/ncurses4/terminfo/o/owl +/usr/share/ncurses4/terminfo/p +/usr/share/ncurses4/terminfo/p/p12 +/usr/share/ncurses4/terminfo/p/p12-m +/usr/share/ncurses4/terminfo/p/p12-m-w +/usr/share/ncurses4/terminfo/p/p12-w +/usr/share/ncurses4/terminfo/p/p14 +/usr/share/ncurses4/terminfo/p/p14-m +/usr/share/ncurses4/terminfo/p/p14-m-w +/usr/share/ncurses4/terminfo/p/p14-w +/usr/share/ncurses4/terminfo/p/p19 +/usr/share/ncurses4/terminfo/p/p4 +/usr/share/ncurses4/terminfo/p/p5 +/usr/share/ncurses4/terminfo/p/p7 +/usr/share/ncurses4/terminfo/p/p8 +/usr/share/ncurses4/terminfo/p/p8-w +/usr/share/ncurses4/terminfo/p/p8gl +/usr/share/ncurses4/terminfo/p/p9 +/usr/share/ncurses4/terminfo/p/p9-8 +/usr/share/ncurses4/terminfo/p/p9-8-w +/usr/share/ncurses4/terminfo/p/p9-w +/usr/share/ncurses4/terminfo/p/pc-coherent +/usr/share/ncurses4/terminfo/p/pc-minix +/usr/share/ncurses4/terminfo/p/pc-venix +/usr/share/ncurses4/terminfo/p/pc3 +/usr/share/ncurses4/terminfo/p/pc3-bold +/usr/share/ncurses4/terminfo/p/pc3r +/usr/share/ncurses4/terminfo/p/pc3r-m +/usr/share/ncurses4/terminfo/p/pc6300plus +/usr/share/ncurses4/terminfo/p/pc7300 +/usr/share/ncurses4/terminfo/p/pcansi +/usr/share/ncurses4/terminfo/p/pcansi-25 +/usr/share/ncurses4/terminfo/p/pcansi-25-m +/usr/share/ncurses4/terminfo/p/pcansi-33 +/usr/share/ncurses4/terminfo/p/pcansi-33-m +/usr/share/ncurses4/terminfo/p/pcansi-43 +/usr/share/ncurses4/terminfo/p/pcansi-43-m +/usr/share/ncurses4/terminfo/p/pcansi-m +/usr/share/ncurses4/terminfo/p/pcansi-mono +/usr/share/ncurses4/terminfo/p/pcansi25 +/usr/share/ncurses4/terminfo/p/pcansi25m +/usr/share/ncurses4/terminfo/p/pcansi33 +/usr/share/ncurses4/terminfo/p/pcansi33m +/usr/share/ncurses4/terminfo/p/pcansi43 +/usr/share/ncurses4/terminfo/p/pccons +/usr/share/ncurses4/terminfo/p/pcconsole +/usr/share/ncurses4/terminfo/p/pcix +/usr/share/ncurses4/terminfo/p/pckermit +/usr/share/ncurses4/terminfo/p/pckermit12 +/usr/share/ncurses4/terminfo/p/pckermit120 +/usr/share/ncurses4/terminfo/p/pcplot +/usr/share/ncurses4/terminfo/p/pcvt25 +/usr/share/ncurses4/terminfo/p/pcvt25w +/usr/share/ncurses4/terminfo/p/pcvt28 +/usr/share/ncurses4/terminfo/p/pcvt28w +/usr/share/ncurses4/terminfo/p/pcvt35 +/usr/share/ncurses4/terminfo/p/pcvt35w +/usr/share/ncurses4/terminfo/p/pcvt40 +/usr/share/ncurses4/terminfo/p/pcvt40w +/usr/share/ncurses4/terminfo/p/pcvt43 +/usr/share/ncurses4/terminfo/p/pcvt43w +/usr/share/ncurses4/terminfo/p/pcvt50 +/usr/share/ncurses4/terminfo/p/pcvt50w +/usr/share/ncurses4/terminfo/p/pcvtXX +/usr/share/ncurses4/terminfo/p/pcz19 +/usr/share/ncurses4/terminfo/p/pe1100 +/usr/share/ncurses4/terminfo/p/pe1200 +/usr/share/ncurses4/terminfo/p/pe1251 +/usr/share/ncurses4/terminfo/p/pe550 +/usr/share/ncurses4/terminfo/p/pe6100 +/usr/share/ncurses4/terminfo/p/pe6300 +/usr/share/ncurses4/terminfo/p/pe6312 +/usr/share/ncurses4/terminfo/p/pe7000c +/usr/share/ncurses4/terminfo/p/pe7000m +/usr/share/ncurses4/terminfo/p/pilot +/usr/share/ncurses4/terminfo/p/printer +/usr/share/ncurses4/terminfo/p/prism12 +/usr/share/ncurses4/terminfo/p/prism12-m +/usr/share/ncurses4/terminfo/p/prism12-m-w +/usr/share/ncurses4/terminfo/p/prism12-w +/usr/share/ncurses4/terminfo/p/prism14 +/usr/share/ncurses4/terminfo/p/prism14-m +/usr/share/ncurses4/terminfo/p/prism14-m-w +/usr/share/ncurses4/terminfo/p/prism14-w +/usr/share/ncurses4/terminfo/p/prism2 +/usr/share/ncurses4/terminfo/p/prism4 +/usr/share/ncurses4/terminfo/p/prism5 +/usr/share/ncurses4/terminfo/p/prism7 +/usr/share/ncurses4/terminfo/p/prism8 +/usr/share/ncurses4/terminfo/p/prism8-w +/usr/share/ncurses4/terminfo/p/prism8gl +/usr/share/ncurses4/terminfo/p/prism9 +/usr/share/ncurses4/terminfo/p/prism9-8 +/usr/share/ncurses4/terminfo/p/prism9-8-w +/usr/share/ncurses4/terminfo/p/prism9-w +/usr/share/ncurses4/terminfo/p/pro350 +/usr/share/ncurses4/terminfo/p/ps300 +/usr/share/ncurses4/terminfo/p/psterm +/usr/share/ncurses4/terminfo/p/psterm-80x24 +/usr/share/ncurses4/terminfo/p/psterm-90x28 +/usr/share/ncurses4/terminfo/p/psterm-96x48 +/usr/share/ncurses4/terminfo/p/psterm-basic +/usr/share/ncurses4/terminfo/p/psterm-fast +/usr/share/ncurses4/terminfo/p/psx_ansi +/usr/share/ncurses4/terminfo/p/pt100 +/usr/share/ncurses4/terminfo/p/pt100w +/usr/share/ncurses4/terminfo/p/pt200 +/usr/share/ncurses4/terminfo/p/pt200w +/usr/share/ncurses4/terminfo/p/pt210 +/usr/share/ncurses4/terminfo/p/pt250 +/usr/share/ncurses4/terminfo/p/pt250w +/usr/share/ncurses4/terminfo/p/pt505 +/usr/share/ncurses4/terminfo/p/pt505-22 +/usr/share/ncurses4/terminfo/p/pt505-24 +/usr/share/ncurses4/terminfo/p/pty +/usr/share/ncurses4/terminfo/q +/usr/share/ncurses4/terminfo/q/qdcons +/usr/share/ncurses4/terminfo/q/qdss +/usr/share/ncurses4/terminfo/q/qnx +/usr/share/ncurses4/terminfo/q/qnx4 +/usr/share/ncurses4/terminfo/q/qume +/usr/share/ncurses4/terminfo/q/qume5 +/usr/share/ncurses4/terminfo/q/qvt101 +/usr/share/ncurses4/terminfo/q/qvt101+ +/usr/share/ncurses4/terminfo/q/qvt101p +/usr/share/ncurses4/terminfo/q/qvt102 +/usr/share/ncurses4/terminfo/q/qvt103 +/usr/share/ncurses4/terminfo/q/qvt103-w +/usr/share/ncurses4/terminfo/q/qvt108 +/usr/share/ncurses4/terminfo/q/qvt119 +/usr/share/ncurses4/terminfo/q/qvt119+ +/usr/share/ncurses4/terminfo/q/qvt119+-25 +/usr/share/ncurses4/terminfo/q/qvt119+-25-w +/usr/share/ncurses4/terminfo/q/qvt119+-w +/usr/share/ncurses4/terminfo/q/qvt119-25-w +/usr/share/ncurses4/terminfo/q/qvt119-w +/usr/share/ncurses4/terminfo/q/qvt119p +/usr/share/ncurses4/terminfo/q/qvt119p-25 +/usr/share/ncurses4/terminfo/q/qvt119p-25-w +/usr/share/ncurses4/terminfo/q/qvt119p-w +/usr/share/ncurses4/terminfo/q/qvt203 +/usr/share/ncurses4/terminfo/q/qvt203+ +/usr/share/ncurses4/terminfo/q/qvt203-25 +/usr/share/ncurses4/terminfo/q/qvt203-25-w +/usr/share/ncurses4/terminfo/q/qvt203-w +/usr/share/ncurses4/terminfo/q/qvt203-w-am +/usr/share/ncurses4/terminfo/r +/usr/share/ncurses4/terminfo/r/rbcomm +/usr/share/ncurses4/terminfo/r/rbcomm-nam +/usr/share/ncurses4/terminfo/r/rbcomm-w +/usr/share/ncurses4/terminfo/r/rca +/usr/share/ncurses4/terminfo/r/rebus3180 +/usr/share/ncurses4/terminfo/r/regent +/usr/share/ncurses4/terminfo/r/regent100 +/usr/share/ncurses4/terminfo/r/regent20 +/usr/share/ncurses4/terminfo/r/regent200 +/usr/share/ncurses4/terminfo/r/regent25 +/usr/share/ncurses4/terminfo/r/regent40 +/usr/share/ncurses4/terminfo/r/regent40+ +/usr/share/ncurses4/terminfo/r/regent60 +/usr/share/ncurses4/terminfo/r/rt6221 +/usr/share/ncurses4/terminfo/r/rt6221-w +/usr/share/ncurses4/terminfo/r/rtpc +/usr/share/ncurses4/terminfo/r/rxvt +/usr/share/ncurses4/terminfo/r/rxvt-basic +/usr/share/ncurses4/terminfo/s +/usr/share/ncurses4/terminfo/s/s +/usr/share/ncurses4/terminfo/s/s4 +/usr/share/ncurses4/terminfo/s/sb1 +/usr/share/ncurses4/terminfo/s/sb2 +/usr/share/ncurses4/terminfo/s/sb3 +/usr/share/ncurses4/terminfo/s/sbi +/usr/share/ncurses4/terminfo/s/sbobcat +/usr/share/ncurses4/terminfo/s/sc410 +/usr/share/ncurses4/terminfo/s/sc415 +/usr/share/ncurses4/terminfo/s/scanset +/usr/share/ncurses4/terminfo/s/scoansi +/usr/share/ncurses4/terminfo/s/screen +/usr/share/ncurses4/terminfo/s/screen-w +/usr/share/ncurses4/terminfo/s/screen2 +/usr/share/ncurses4/terminfo/s/screen3 +/usr/share/ncurses4/terminfo/s/screwpoint +/usr/share/ncurses4/terminfo/s/scrhp +/usr/share/ncurses4/terminfo/s/simterm +/usr/share/ncurses4/terminfo/s/soroc +/usr/share/ncurses4/terminfo/s/soroc120 +/usr/share/ncurses4/terminfo/s/soroc140 +/usr/share/ncurses4/terminfo/s/spinwriter +/usr/share/ncurses4/terminfo/s/st52 +/usr/share/ncurses4/terminfo/s/sun +/usr/share/ncurses4/terminfo/s/sun-1 +/usr/share/ncurses4/terminfo/s/sun-12 +/usr/share/ncurses4/terminfo/s/sun-17 +/usr/share/ncurses4/terminfo/s/sun-24 +/usr/share/ncurses4/terminfo/s/sun-34 +/usr/share/ncurses4/terminfo/s/sun-48 +/usr/share/ncurses4/terminfo/s/sun-c +/usr/share/ncurses4/terminfo/s/sun-cmd +/usr/share/ncurses4/terminfo/s/sun-e +/usr/share/ncurses4/terminfo/s/sun-e-s +/usr/share/ncurses4/terminfo/s/sun-il +/usr/share/ncurses4/terminfo/s/sun-nic +/usr/share/ncurses4/terminfo/s/sun-s +/usr/share/ncurses4/terminfo/s/sun-s-e +/usr/share/ncurses4/terminfo/s/sun-ss5 +/usr/share/ncurses4/terminfo/s/sun1 +/usr/share/ncurses4/terminfo/s/sun2 +/usr/share/ncurses4/terminfo/s/sune +/usr/share/ncurses4/terminfo/s/superbee +/usr/share/ncurses4/terminfo/s/superbee-xsb +/usr/share/ncurses4/terminfo/s/superbeeic +/usr/share/ncurses4/terminfo/s/superbrain +/usr/share/ncurses4/terminfo/s/sv80 +/usr/share/ncurses4/terminfo/s/swtp +/usr/share/ncurses4/terminfo/s/synertek +/usr/share/ncurses4/terminfo/s/synertek380 +/usr/share/ncurses4/terminfo/s/system1 +/usr/share/ncurses4/terminfo/t +/usr/share/ncurses4/terminfo/t/t10 +/usr/share/ncurses4/terminfo/t/t1061 +/usr/share/ncurses4/terminfo/t/t1061f +/usr/share/ncurses4/terminfo/t/t16 +/usr/share/ncurses4/terminfo/t/t3700 +/usr/share/ncurses4/terminfo/t/t3800 +/usr/share/ncurses4/terminfo/t/t653x +/usr/share/ncurses4/terminfo/t/tab +/usr/share/ncurses4/terminfo/t/tab132 +/usr/share/ncurses4/terminfo/t/tab132-15 +/usr/share/ncurses4/terminfo/t/tab132-rv +/usr/share/ncurses4/terminfo/t/tab132-w +/usr/share/ncurses4/terminfo/t/tab132-w-rv +/usr/share/ncurses4/terminfo/t/tandem6510 +/usr/share/ncurses4/terminfo/t/tandem653 +/usr/share/ncurses4/terminfo/t/tek +/usr/share/ncurses4/terminfo/t/tek4012 +/usr/share/ncurses4/terminfo/t/tek4013 +/usr/share/ncurses4/terminfo/t/tek4014 +/usr/share/ncurses4/terminfo/t/tek4014-sm +/usr/share/ncurses4/terminfo/t/tek4015 +/usr/share/ncurses4/terminfo/t/tek4015-sm +/usr/share/ncurses4/terminfo/t/tek4023 +/usr/share/ncurses4/terminfo/t/tek4024 +/usr/share/ncurses4/terminfo/t/tek4025 +/usr/share/ncurses4/terminfo/t/tek4025-17 +/usr/share/ncurses4/terminfo/t/tek4025-17-ws +/usr/share/ncurses4/terminfo/t/tek4025-cr +/usr/share/ncurses4/terminfo/t/tek4025-ex +/usr/share/ncurses4/terminfo/t/tek4025a +/usr/share/ncurses4/terminfo/t/tek4025ex +/usr/share/ncurses4/terminfo/t/tek4027 +/usr/share/ncurses4/terminfo/t/tek4027-ex +/usr/share/ncurses4/terminfo/t/tek4105 +/usr/share/ncurses4/terminfo/t/tek4105-30 +/usr/share/ncurses4/terminfo/t/tek4105a +/usr/share/ncurses4/terminfo/t/tek4106brl +/usr/share/ncurses4/terminfo/t/tek4107 +/usr/share/ncurses4/terminfo/t/tek4107brl +/usr/share/ncurses4/terminfo/t/tek4109 +/usr/share/ncurses4/terminfo/t/tek4109brl +/usr/share/ncurses4/terminfo/t/tek4112 +/usr/share/ncurses4/terminfo/t/tek4112-5 +/usr/share/ncurses4/terminfo/t/tek4112-nd +/usr/share/ncurses4/terminfo/t/tek4113 +/usr/share/ncurses4/terminfo/t/tek4113-34 +/usr/share/ncurses4/terminfo/t/tek4113-nd +/usr/share/ncurses4/terminfo/t/tek4114 +/usr/share/ncurses4/terminfo/t/tek4115 +/usr/share/ncurses4/terminfo/t/tek4125 +/usr/share/ncurses4/terminfo/t/tek4205 +/usr/share/ncurses4/terminfo/t/tek4207 +/usr/share/ncurses4/terminfo/t/tek4207-s +/usr/share/ncurses4/terminfo/t/tek4404 +/usr/share/ncurses4/terminfo/t/teleray +/usr/share/ncurses4/terminfo/t/teletec +/usr/share/ncurses4/terminfo/t/terminet +/usr/share/ncurses4/terminfo/t/terminet1200 +/usr/share/ncurses4/terminfo/t/terminet300 +/usr/share/ncurses4/terminfo/t/tgtelnet +/usr/share/ncurses4/terminfo/t/ti700 +/usr/share/ncurses4/terminfo/t/ti733 +/usr/share/ncurses4/terminfo/t/ti735 +/usr/share/ncurses4/terminfo/t/ti745 +/usr/share/ncurses4/terminfo/t/ti800 +/usr/share/ncurses4/terminfo/t/ti916 +/usr/share/ncurses4/terminfo/t/ti916-132 +/usr/share/ncurses4/terminfo/t/ti916-220-7 +/usr/share/ncurses4/terminfo/t/ti916-220-8 +/usr/share/ncurses4/terminfo/t/ti916-8 +/usr/share/ncurses4/terminfo/t/ti916-8-132 +/usr/share/ncurses4/terminfo/t/ti924 +/usr/share/ncurses4/terminfo/t/ti924-8 +/usr/share/ncurses4/terminfo/t/ti924-8w +/usr/share/ncurses4/terminfo/t/ti924w +/usr/share/ncurses4/terminfo/t/ti926 +/usr/share/ncurses4/terminfo/t/ti926-8 +/usr/share/ncurses4/terminfo/t/ti928 +/usr/share/ncurses4/terminfo/t/ti928-8 +/usr/share/ncurses4/terminfo/t/ti931 +/usr/share/ncurses4/terminfo/t/ti_ansi +/usr/share/ncurses4/terminfo/t/tn1200 +/usr/share/ncurses4/terminfo/t/tn300 +/usr/share/ncurses4/terminfo/t/trs16 +/usr/share/ncurses4/terminfo/t/trs2 +/usr/share/ncurses4/terminfo/t/trs80II +/usr/share/ncurses4/terminfo/t/trsII +/usr/share/ncurses4/terminfo/t/ts-1 +/usr/share/ncurses4/terminfo/t/ts-1p +/usr/share/ncurses4/terminfo/t/ts1 +/usr/share/ncurses4/terminfo/t/ts100 +/usr/share/ncurses4/terminfo/t/ts100-ctxt +/usr/share/ncurses4/terminfo/t/ts100-sp +/usr/share/ncurses4/terminfo/t/ts1p +/usr/share/ncurses4/terminfo/t/tt505-22 +/usr/share/ncurses4/terminfo/t/tty33 +/usr/share/ncurses4/terminfo/t/tty35 +/usr/share/ncurses4/terminfo/t/tty37 +/usr/share/ncurses4/terminfo/t/tty40 +/usr/share/ncurses4/terminfo/t/tty43 +/usr/share/ncurses4/terminfo/t/tty4420 +/usr/share/ncurses4/terminfo/t/tty4424 +/usr/share/ncurses4/terminfo/t/tty4424-1 +/usr/share/ncurses4/terminfo/t/tty4424m +/usr/share/ncurses4/terminfo/t/tty4426 +/usr/share/ncurses4/terminfo/t/tty5410 +/usr/share/ncurses4/terminfo/t/tty5410-w +/usr/share/ncurses4/terminfo/t/tty5410v1 +/usr/share/ncurses4/terminfo/t/tty5410v1-w +/usr/share/ncurses4/terminfo/t/tty5420 +/usr/share/ncurses4/terminfo/t/tty5420+nl +/usr/share/ncurses4/terminfo/t/tty5420-nl +/usr/share/ncurses4/terminfo/t/tty5420-rv +/usr/share/ncurses4/terminfo/t/tty5420-rv-nl +/usr/share/ncurses4/terminfo/t/tty5420-w +/usr/share/ncurses4/terminfo/t/tty5420-w-nl +/usr/share/ncurses4/terminfo/t/tty5420-w-rv +/usr/share/ncurses4/terminfo/t/tty5420-w-rv-n +/usr/share/ncurses4/terminfo/t/tty5425 +/usr/share/ncurses4/terminfo/t/tty5425-nl +/usr/share/ncurses4/terminfo/t/tty5425-w +/usr/share/ncurses4/terminfo/t/tty5620 +/usr/share/ncurses4/terminfo/t/tty5620-1 +/usr/share/ncurses4/terminfo/t/tty5620-24 +/usr/share/ncurses4/terminfo/t/tty5620-34 +/usr/share/ncurses4/terminfo/t/tty5620-s +/usr/share/ncurses4/terminfo/t/ttydmd +/usr/share/ncurses4/terminfo/t/tvi-2p +/usr/share/ncurses4/terminfo/t/tvi803 +/usr/share/ncurses4/terminfo/t/tvi9065 +/usr/share/ncurses4/terminfo/t/tvi910 +/usr/share/ncurses4/terminfo/t/tvi910+ +/usr/share/ncurses4/terminfo/t/tvi912 +/usr/share/ncurses4/terminfo/t/tvi912-2p +/usr/share/ncurses4/terminfo/t/tvi912b +/usr/share/ncurses4/terminfo/t/tvi912c +/usr/share/ncurses4/terminfo/t/tvi912cc +/usr/share/ncurses4/terminfo/t/tvi914 +/usr/share/ncurses4/terminfo/t/tvi920 +/usr/share/ncurses4/terminfo/t/tvi920-2p +/usr/share/ncurses4/terminfo/t/tvi920b +/usr/share/ncurses4/terminfo/t/tvi920c +/usr/share/ncurses4/terminfo/t/tvi921 +/usr/share/ncurses4/terminfo/t/tvi924 +/usr/share/ncurses4/terminfo/t/tvi925 +/usr/share/ncurses4/terminfo/t/tvi925-hi +/usr/share/ncurses4/terminfo/t/tvi92B +/usr/share/ncurses4/terminfo/t/tvi92D +/usr/share/ncurses4/terminfo/t/tvi950 +/usr/share/ncurses4/terminfo/t/tvi950-2p +/usr/share/ncurses4/terminfo/t/tvi950-4p +/usr/share/ncurses4/terminfo/t/tvi950-rv +/usr/share/ncurses4/terminfo/t/tvi950-rv-2p +/usr/share/ncurses4/terminfo/t/tvi950-rv-4p +/usr/share/ncurses4/terminfo/t/tvi955 +/usr/share/ncurses4/terminfo/t/tvi955-hb +/usr/share/ncurses4/terminfo/t/tvi955-w +/usr/share/ncurses4/terminfo/t/tvi970 +/usr/share/ncurses4/terminfo/t/tvi970-2p +/usr/share/ncurses4/terminfo/t/tvi970-vb +/usr/share/ncurses4/terminfo/t/tvipt +/usr/share/ncurses4/terminfo/u +/usr/share/ncurses4/terminfo/u/ultima2 +/usr/share/ncurses4/terminfo/u/ultimaII +/usr/share/ncurses4/terminfo/u/uniterm +/usr/share/ncurses4/terminfo/u/uniterm49 +/usr/share/ncurses4/terminfo/u/unixpc +/usr/share/ncurses4/terminfo/u/unknown +/usr/share/ncurses4/terminfo/u/uts30 +/usr/share/ncurses4/terminfo/v +/usr/share/ncurses4/terminfo/v/v200-nam +/usr/share/ncurses4/terminfo/v/v320n +/usr/share/ncurses4/terminfo/v/v3220 +/usr/share/ncurses4/terminfo/v/v5410 +/usr/share/ncurses4/terminfo/v/vapple +/usr/share/ncurses4/terminfo/v/vc103 +/usr/share/ncurses4/terminfo/v/vc203 +/usr/share/ncurses4/terminfo/v/vc303 +/usr/share/ncurses4/terminfo/v/vc303a +/usr/share/ncurses4/terminfo/v/vc403a +/usr/share/ncurses4/terminfo/v/vc404 +/usr/share/ncurses4/terminfo/v/vc404-s +/usr/share/ncurses4/terminfo/v/vc414 +/usr/share/ncurses4/terminfo/v/vc414h +/usr/share/ncurses4/terminfo/v/vc415 +/usr/share/ncurses4/terminfo/v/venix +/usr/share/ncurses4/terminfo/v/versaterm +/usr/share/ncurses4/terminfo/v/vi200 +/usr/share/ncurses4/terminfo/v/vi200-f +/usr/share/ncurses4/terminfo/v/vi200-rv +/usr/share/ncurses4/terminfo/v/vi300 +/usr/share/ncurses4/terminfo/v/vi300-old +/usr/share/ncurses4/terminfo/v/vi50 +/usr/share/ncurses4/terminfo/v/vi500 +/usr/share/ncurses4/terminfo/v/vi50adm +/usr/share/ncurses4/terminfo/v/vi55 +/usr/share/ncurses4/terminfo/v/vi550 +/usr/share/ncurses4/terminfo/v/vi603 +/usr/share/ncurses4/terminfo/v/viewpoint +/usr/share/ncurses4/terminfo/v/viewpoint3a+ +/usr/share/ncurses4/terminfo/v/viewpoint60 +/usr/share/ncurses4/terminfo/v/viewpoint90 +/usr/share/ncurses4/terminfo/v/visa50 +/usr/share/ncurses4/terminfo/v/visual603 +/usr/share/ncurses4/terminfo/v/vitty +/usr/share/ncurses4/terminfo/v/vk100 +/usr/share/ncurses4/terminfo/v/vp3a+ +/usr/share/ncurses4/terminfo/v/vp60 +/usr/share/ncurses4/terminfo/v/vp90 +/usr/share/ncurses4/terminfo/v/vremote +/usr/share/ncurses4/terminfo/v/vs100 +/usr/share/ncurses4/terminfo/v/vs100-x10 +/usr/share/ncurses4/terminfo/v/vsc +/usr/share/ncurses4/terminfo/v/vt-61 +/usr/share/ncurses4/terminfo/v/vt100 +/usr/share/ncurses4/terminfo/v/vt100-am +/usr/share/ncurses4/terminfo/v/vt100-bm +/usr/share/ncurses4/terminfo/v/vt100-bm-o +/usr/share/ncurses4/terminfo/v/vt100-bot-s +/usr/share/ncurses4/terminfo/v/vt100-nam +/usr/share/ncurses4/terminfo/v/vt100-nam-w +/usr/share/ncurses4/terminfo/v/vt100-nav +/usr/share/ncurses4/terminfo/v/vt100-nav-w +/usr/share/ncurses4/terminfo/v/vt100-s +/usr/share/ncurses4/terminfo/v/vt100-s-bot +/usr/share/ncurses4/terminfo/v/vt100-s-top +/usr/share/ncurses4/terminfo/v/vt100-top-s +/usr/share/ncurses4/terminfo/v/vt100-vb +/usr/share/ncurses4/terminfo/v/vt100-w +/usr/share/ncurses4/terminfo/v/vt100-w-am +/usr/share/ncurses4/terminfo/v/vt100-w-nam +/usr/share/ncurses4/terminfo/v/vt100-w-nav +/usr/share/ncurses4/terminfo/v/vt100nam +/usr/share/ncurses4/terminfo/v/vt102 +/usr/share/ncurses4/terminfo/v/vt102-nsgr +/usr/share/ncurses4/terminfo/v/vt102-w +/usr/share/ncurses4/terminfo/v/vt125 +/usr/share/ncurses4/terminfo/v/vt131 +/usr/share/ncurses4/terminfo/v/vt132 +/usr/share/ncurses4/terminfo/v/vt200 +/usr/share/ncurses4/terminfo/v/vt200-js +/usr/share/ncurses4/terminfo/v/vt200-w +/usr/share/ncurses4/terminfo/v/vt220 +/usr/share/ncurses4/terminfo/v/vt220-8 +/usr/share/ncurses4/terminfo/v/vt220-js +/usr/share/ncurses4/terminfo/v/vt220-nam +/usr/share/ncurses4/terminfo/v/vt220-w +/usr/share/ncurses4/terminfo/v/vt220d +/usr/share/ncurses4/terminfo/v/vt300 +/usr/share/ncurses4/terminfo/v/vt300-nam +/usr/share/ncurses4/terminfo/v/vt300-w +/usr/share/ncurses4/terminfo/v/vt300-w-nam +/usr/share/ncurses4/terminfo/v/vt320 +/usr/share/ncurses4/terminfo/v/vt320-k3 +/usr/share/ncurses4/terminfo/v/vt320-k311 +/usr/share/ncurses4/terminfo/v/vt320-nam +/usr/share/ncurses4/terminfo/v/vt320-w +/usr/share/ncurses4/terminfo/v/vt320-w-nam +/usr/share/ncurses4/terminfo/v/vt320nam +/usr/share/ncurses4/terminfo/v/vt330 +/usr/share/ncurses4/terminfo/v/vt340 +/usr/share/ncurses4/terminfo/v/vt400 +/usr/share/ncurses4/terminfo/v/vt400-24 +/usr/share/ncurses4/terminfo/v/vt420 +/usr/share/ncurses4/terminfo/v/vt420f +/usr/share/ncurses4/terminfo/v/vt420pc +/usr/share/ncurses4/terminfo/v/vt420pcdos +/usr/share/ncurses4/terminfo/v/vt50 +/usr/share/ncurses4/terminfo/v/vt50h +/usr/share/ncurses4/terminfo/v/vt510 +/usr/share/ncurses4/terminfo/v/vt510pc +/usr/share/ncurses4/terminfo/v/vt510pcdos +/usr/share/ncurses4/terminfo/v/vt52 +/usr/share/ncurses4/terminfo/v/vt520 +/usr/share/ncurses4/terminfo/v/vt525 +/usr/share/ncurses4/terminfo/v/vt61 +/usr/share/ncurses4/terminfo/v/vt61.5 +/usr/share/ncurses4/terminfo/w +/usr/share/ncurses4/terminfo/w/wren +/usr/share/ncurses4/terminfo/w/wrenw +/usr/share/ncurses4/terminfo/w/wsiris +/usr/share/ncurses4/terminfo/w/wy-75ap +/usr/share/ncurses4/terminfo/w/wy100 +/usr/share/ncurses4/terminfo/w/wy100q +/usr/share/ncurses4/terminfo/w/wy120 +/usr/share/ncurses4/terminfo/w/wy120-25 +/usr/share/ncurses4/terminfo/w/wy120-25-w +/usr/share/ncurses4/terminfo/w/wy120-vb +/usr/share/ncurses4/terminfo/w/wy120-w +/usr/share/ncurses4/terminfo/w/wy120-w-vb +/usr/share/ncurses4/terminfo/w/wy120-wvb +/usr/share/ncurses4/terminfo/w/wy150 +/usr/share/ncurses4/terminfo/w/wy150-25 +/usr/share/ncurses4/terminfo/w/wy150-25-w +/usr/share/ncurses4/terminfo/w/wy150-vb +/usr/share/ncurses4/terminfo/w/wy150-w +/usr/share/ncurses4/terminfo/w/wy150-w-vb +/usr/share/ncurses4/terminfo/w/wy160 +/usr/share/ncurses4/terminfo/w/wy160-25 +/usr/share/ncurses4/terminfo/w/wy160-25-w +/usr/share/ncurses4/terminfo/w/wy160-42 +/usr/share/ncurses4/terminfo/w/wy160-42-w +/usr/share/ncurses4/terminfo/w/wy160-43 +/usr/share/ncurses4/terminfo/w/wy160-43-w +/usr/share/ncurses4/terminfo/w/wy160-tek +/usr/share/ncurses4/terminfo/w/wy160-vb +/usr/share/ncurses4/terminfo/w/wy160-w +/usr/share/ncurses4/terminfo/w/wy160-w-vb +/usr/share/ncurses4/terminfo/w/wy160-wvb +/usr/share/ncurses4/terminfo/w/wy185 +/usr/share/ncurses4/terminfo/w/wy185-24 +/usr/share/ncurses4/terminfo/w/wy185-vb +/usr/share/ncurses4/terminfo/w/wy185-w +/usr/share/ncurses4/terminfo/w/wy185-wvb +/usr/share/ncurses4/terminfo/w/wy30 +/usr/share/ncurses4/terminfo/w/wy30-mc +/usr/share/ncurses4/terminfo/w/wy30-vb +/usr/share/ncurses4/terminfo/w/wy325 +/usr/share/ncurses4/terminfo/w/wy325-25 +/usr/share/ncurses4/terminfo/w/wy325-25w +/usr/share/ncurses4/terminfo/w/wy325-42 +/usr/share/ncurses4/terminfo/w/wy325-42w +/usr/share/ncurses4/terminfo/w/wy325-42w-vb +/usr/share/ncurses4/terminfo/w/wy325-42wvb +/usr/share/ncurses4/terminfo/w/wy325-43 +/usr/share/ncurses4/terminfo/w/wy325-43w +/usr/share/ncurses4/terminfo/w/wy325-43w-vb +/usr/share/ncurses4/terminfo/w/wy325-43wvb +/usr/share/ncurses4/terminfo/w/wy325-80 +/usr/share/ncurses4/terminfo/w/wy325-vb +/usr/share/ncurses4/terminfo/w/wy325-w +/usr/share/ncurses4/terminfo/w/wy325-w-vb +/usr/share/ncurses4/terminfo/w/wy325-wvb +/usr/share/ncurses4/terminfo/w/wy325w-24 +/usr/share/ncurses4/terminfo/w/wy350 +/usr/share/ncurses4/terminfo/w/wy350-vb +/usr/share/ncurses4/terminfo/w/wy350-w +/usr/share/ncurses4/terminfo/w/wy350-wvb +/usr/share/ncurses4/terminfo/w/wy370 +/usr/share/ncurses4/terminfo/w/wy370-101k +/usr/share/ncurses4/terminfo/w/wy370-105k +/usr/share/ncurses4/terminfo/w/wy370-EPC +/usr/share/ncurses4/terminfo/w/wy370-nk +/usr/share/ncurses4/terminfo/w/wy370-rv +/usr/share/ncurses4/terminfo/w/wy370-tek +/usr/share/ncurses4/terminfo/w/wy370-vb +/usr/share/ncurses4/terminfo/w/wy370-w +/usr/share/ncurses4/terminfo/w/wy370-wvb +/usr/share/ncurses4/terminfo/w/wy50 +/usr/share/ncurses4/terminfo/w/wy50-mc +/usr/share/ncurses4/terminfo/w/wy50-vb +/usr/share/ncurses4/terminfo/w/wy50-w +/usr/share/ncurses4/terminfo/w/wy50-wvb +/usr/share/ncurses4/terminfo/w/wy520 +/usr/share/ncurses4/terminfo/w/wy520-24 +/usr/share/ncurses4/terminfo/w/wy520-36 +/usr/share/ncurses4/terminfo/w/wy520-36pc +/usr/share/ncurses4/terminfo/w/wy520-36w +/usr/share/ncurses4/terminfo/w/wy520-36wpc +/usr/share/ncurses4/terminfo/w/wy520-48 +/usr/share/ncurses4/terminfo/w/wy520-48pc +/usr/share/ncurses4/terminfo/w/wy520-48w +/usr/share/ncurses4/terminfo/w/wy520-48wpc +/usr/share/ncurses4/terminfo/w/wy520-epc +/usr/share/ncurses4/terminfo/w/wy520-epc-24 +/usr/share/ncurses4/terminfo/w/wy520-epc-vb +/usr/share/ncurses4/terminfo/w/wy520-epc-w +/usr/share/ncurses4/terminfo/w/wy520-epc-wvb +/usr/share/ncurses4/terminfo/w/wy520-vb +/usr/share/ncurses4/terminfo/w/wy520-w +/usr/share/ncurses4/terminfo/w/wy520-wvb +/usr/share/ncurses4/terminfo/w/wy60 +/usr/share/ncurses4/terminfo/w/wy60-25 +/usr/share/ncurses4/terminfo/w/wy60-25-w +/usr/share/ncurses4/terminfo/w/wy60-316X +/usr/share/ncurses4/terminfo/w/wy60-42 +/usr/share/ncurses4/terminfo/w/wy60-42-w +/usr/share/ncurses4/terminfo/w/wy60-43 +/usr/share/ncurses4/terminfo/w/wy60-43-w +/usr/share/ncurses4/terminfo/w/wy60-vb +/usr/share/ncurses4/terminfo/w/wy60-w +/usr/share/ncurses4/terminfo/w/wy60-w-vb +/usr/share/ncurses4/terminfo/w/wy60-wvb +/usr/share/ncurses4/terminfo/w/wy75 +/usr/share/ncurses4/terminfo/w/wy75-mc +/usr/share/ncurses4/terminfo/w/wy75-vb +/usr/share/ncurses4/terminfo/w/wy75-w +/usr/share/ncurses4/terminfo/w/wy75-wvb +/usr/share/ncurses4/terminfo/w/wy75ap +/usr/share/ncurses4/terminfo/w/wy85 +/usr/share/ncurses4/terminfo/w/wy85-vb +/usr/share/ncurses4/terminfo/w/wy85-w +/usr/share/ncurses4/terminfo/w/wy85-wvb +/usr/share/ncurses4/terminfo/w/wy99gt +/usr/share/ncurses4/terminfo/w/wy99gt-25 +/usr/share/ncurses4/terminfo/w/wy99gt-25-w +/usr/share/ncurses4/terminfo/w/wy99gt-tek +/usr/share/ncurses4/terminfo/w/wy99gt-vb +/usr/share/ncurses4/terminfo/w/wy99gt-w +/usr/share/ncurses4/terminfo/w/wy99gt-w-vb +/usr/share/ncurses4/terminfo/w/wy99gt-wvb +/usr/share/ncurses4/terminfo/w/wyse-325 +/usr/share/ncurses4/terminfo/w/wyse-75ap +/usr/share/ncurses4/terminfo/w/wyse-vp +/usr/share/ncurses4/terminfo/w/wyse120 +/usr/share/ncurses4/terminfo/w/wyse120-25 +/usr/share/ncurses4/terminfo/w/wyse120-25-w +/usr/share/ncurses4/terminfo/w/wyse120-vb +/usr/share/ncurses4/terminfo/w/wyse120-w +/usr/share/ncurses4/terminfo/w/wyse120-wvb +/usr/share/ncurses4/terminfo/w/wyse150 +/usr/share/ncurses4/terminfo/w/wyse150-25 +/usr/share/ncurses4/terminfo/w/wyse150-25-w +/usr/share/ncurses4/terminfo/w/wyse150-vb +/usr/share/ncurses4/terminfo/w/wyse150-w +/usr/share/ncurses4/terminfo/w/wyse150-w-vb +/usr/share/ncurses4/terminfo/w/wyse160 +/usr/share/ncurses4/terminfo/w/wyse160-25 +/usr/share/ncurses4/terminfo/w/wyse160-25-w +/usr/share/ncurses4/terminfo/w/wyse160-42 +/usr/share/ncurses4/terminfo/w/wyse160-42-w +/usr/share/ncurses4/terminfo/w/wyse160-43 +/usr/share/ncurses4/terminfo/w/wyse160-43-w +/usr/share/ncurses4/terminfo/w/wyse160-vb +/usr/share/ncurses4/terminfo/w/wyse160-w +/usr/share/ncurses4/terminfo/w/wyse160-wvb +/usr/share/ncurses4/terminfo/w/wyse185 +/usr/share/ncurses4/terminfo/w/wyse185-24 +/usr/share/ncurses4/terminfo/w/wyse185-vb +/usr/share/ncurses4/terminfo/w/wyse185-w +/usr/share/ncurses4/terminfo/w/wyse185-wvb +/usr/share/ncurses4/terminfo/w/wyse30 +/usr/share/ncurses4/terminfo/w/wyse30-mc +/usr/share/ncurses4/terminfo/w/wyse30-vb +/usr/share/ncurses4/terminfo/w/wyse325 +/usr/share/ncurses4/terminfo/w/wyse325-25 +/usr/share/ncurses4/terminfo/w/wyse325-25w +/usr/share/ncurses4/terminfo/w/wyse325-42 +/usr/share/ncurses4/terminfo/w/wyse325-42w +/usr/share/ncurses4/terminfo/w/wyse325-43 +/usr/share/ncurses4/terminfo/w/wyse325-43w +/usr/share/ncurses4/terminfo/w/wyse325-vb +/usr/share/ncurses4/terminfo/w/wyse325-w +/usr/share/ncurses4/terminfo/w/wyse325-wvb +/usr/share/ncurses4/terminfo/w/wyse350 +/usr/share/ncurses4/terminfo/w/wyse350-vb +/usr/share/ncurses4/terminfo/w/wyse350-w +/usr/share/ncurses4/terminfo/w/wyse350-wvb +/usr/share/ncurses4/terminfo/w/wyse370 +/usr/share/ncurses4/terminfo/w/wyse50 +/usr/share/ncurses4/terminfo/w/wyse50-mc +/usr/share/ncurses4/terminfo/w/wyse50-vb +/usr/share/ncurses4/terminfo/w/wyse50-w +/usr/share/ncurses4/terminfo/w/wyse50-wvb +/usr/share/ncurses4/terminfo/w/wyse520 +/usr/share/ncurses4/terminfo/w/wyse520-24 +/usr/share/ncurses4/terminfo/w/wyse520-36 +/usr/share/ncurses4/terminfo/w/wyse520-36pc +/usr/share/ncurses4/terminfo/w/wyse520-36w +/usr/share/ncurses4/terminfo/w/wyse520-36wpc +/usr/share/ncurses4/terminfo/w/wyse520-48 +/usr/share/ncurses4/terminfo/w/wyse520-48pc +/usr/share/ncurses4/terminfo/w/wyse520-48w +/usr/share/ncurses4/terminfo/w/wyse520-48wpc +/usr/share/ncurses4/terminfo/w/wyse520-epc +/usr/share/ncurses4/terminfo/w/wyse520-epc-w +/usr/share/ncurses4/terminfo/w/wyse520-p-wvb +/usr/share/ncurses4/terminfo/w/wyse520-pc-24 +/usr/share/ncurses4/terminfo/w/wyse520-pc-vb +/usr/share/ncurses4/terminfo/w/wyse520-vb +/usr/share/ncurses4/terminfo/w/wyse520-w +/usr/share/ncurses4/terminfo/w/wyse520-wvb +/usr/share/ncurses4/terminfo/w/wyse60 +/usr/share/ncurses4/terminfo/w/wyse60-25 +/usr/share/ncurses4/terminfo/w/wyse60-25-w +/usr/share/ncurses4/terminfo/w/wyse60-316X +/usr/share/ncurses4/terminfo/w/wyse60-42 +/usr/share/ncurses4/terminfo/w/wyse60-42-w +/usr/share/ncurses4/terminfo/w/wyse60-43 +/usr/share/ncurses4/terminfo/w/wyse60-43-w +/usr/share/ncurses4/terminfo/w/wyse60-vb +/usr/share/ncurses4/terminfo/w/wyse60-w +/usr/share/ncurses4/terminfo/w/wyse60-wvb +/usr/share/ncurses4/terminfo/w/wyse75 +/usr/share/ncurses4/terminfo/w/wyse75-mc +/usr/share/ncurses4/terminfo/w/wyse75-vb +/usr/share/ncurses4/terminfo/w/wyse75-w +/usr/share/ncurses4/terminfo/w/wyse75-wvb +/usr/share/ncurses4/terminfo/w/wyse75ap +/usr/share/ncurses4/terminfo/w/wyse85 +/usr/share/ncurses4/terminfo/w/wyse85-vb +/usr/share/ncurses4/terminfo/w/wyse85-w +/usr/share/ncurses4/terminfo/w/wyse85-wvb +/usr/share/ncurses4/terminfo/w/wyse99gt +/usr/share/ncurses4/terminfo/w/wyse99gt-25 +/usr/share/ncurses4/terminfo/w/wyse99gt-25-w +/usr/share/ncurses4/terminfo/w/wyse99gt-vb +/usr/share/ncurses4/terminfo/w/wyse99gt-w +/usr/share/ncurses4/terminfo/w/wyse99gt-wvb +/usr/share/ncurses4/terminfo/x +/usr/share/ncurses4/terminfo/x/x10term +/usr/share/ncurses4/terminfo/x/x1700 +/usr/share/ncurses4/terminfo/x/x1700-lm +/usr/share/ncurses4/terminfo/x/x1720 +/usr/share/ncurses4/terminfo/x/x1750 +/usr/share/ncurses4/terminfo/x/x68k +/usr/share/ncurses4/terminfo/x/x68k-ite +/usr/share/ncurses4/terminfo/x/x820 +/usr/share/ncurses4/terminfo/x/xenix +/usr/share/ncurses4/terminfo/x/xerox +/usr/share/ncurses4/terminfo/x/xerox-lm +/usr/share/ncurses4/terminfo/x/xerox1720 +/usr/share/ncurses4/terminfo/x/xerox820 +/usr/share/ncurses4/terminfo/x/xl83 +/usr/share/ncurses4/terminfo/x/xtalk +/usr/share/ncurses4/terminfo/x/xterm +/usr/share/ncurses4/terminfo/x/xterm+sl +/usr/share/ncurses4/terminfo/x/xterm+sl-twm +/usr/share/ncurses4/terminfo/x/xterm-16color +/usr/share/ncurses4/terminfo/x/xterm-8bit +/usr/share/ncurses4/terminfo/x/xterm-bold +/usr/share/ncurses4/terminfo/x/xterm-nic +/usr/share/ncurses4/terminfo/x/xterm-old +/usr/share/ncurses4/terminfo/x/xterm-pcolor +/usr/share/ncurses4/terminfo/x/xterm-r5 +/usr/share/ncurses4/terminfo/x/xterm-r6 +/usr/share/ncurses4/terminfo/x/xterm-sun +/usr/share/ncurses4/terminfo/x/xterm-xf86-v32 +/usr/share/ncurses4/terminfo/x/xterm-xf86-v33 +/usr/share/ncurses4/terminfo/x/xterm-xf86-v40 +/usr/share/ncurses4/terminfo/x/xterm-xi +/usr/share/ncurses4/terminfo/x/xterm1 +/usr/share/ncurses4/terminfo/x/xterms +/usr/share/ncurses4/terminfo/x/xterms-sun +/usr/share/ncurses4/terminfo/x/xwsh +/usr/share/ncurses4/terminfo/z +/usr/share/ncurses4/terminfo/z/z-100 +/usr/share/ncurses4/terminfo/z/z-100bw +/usr/share/ncurses4/terminfo/z/z100 +/usr/share/ncurses4/terminfo/z/z100bw +/usr/share/ncurses4/terminfo/z/z110 +/usr/share/ncurses4/terminfo/z/z110bw +/usr/share/ncurses4/terminfo/z/z19 +/usr/share/ncurses4/terminfo/z/z29 +/usr/share/ncurses4/terminfo/z/z29a +/usr/share/ncurses4/terminfo/z/z29a-kc-bc +/usr/share/ncurses4/terminfo/z/z29a-kc-uc +/usr/share/ncurses4/terminfo/z/z29a-nkc-bc +/usr/share/ncurses4/terminfo/z/z29a-nkc-uc +/usr/share/ncurses4/terminfo/z/z29b +/usr/share/ncurses4/terminfo/z/z30 +/usr/share/ncurses4/terminfo/z/z340 +/usr/share/ncurses4/terminfo/z/z340-nam +/usr/share/ncurses4/terminfo/z/z39-a +/usr/share/ncurses4/terminfo/z/z39a +/usr/share/ncurses4/terminfo/z/z50 +/usr/share/ncurses4/terminfo/z/z8001 +/usr/share/ncurses4/terminfo/z/zen30 +/usr/share/ncurses4/terminfo/z/zen50 +/usr/share/ncurses4/terminfo/z/zen8001 +/usr/share/ncurses4/terminfo/z/zenith +/usr/share/ncurses4/terminfo/z/zenith29 +/usr/share/ncurses4/terminfo/z/zenith39-a +/usr/share/ncurses4/terminfo/z/zenith39-ansi +/usr/share/ncurses4/terminfo/z/zt-1 +/usr/share/ncurses4/terminfo/z/ztx +/usr/share/ncurses4/terminfo/z/ztx-1-a +/usr/share/ncurses4/terminfo/z/ztx11 + + + diff --git a/result/rdf2.rde b/result/rdf2.rde new file mode 100644 index 0000000..15e5e97 --- /dev/null +++ b/result/rdf2.rde @@ -0,0 +1,2008 @@ +0 1 RDF:RDF 0 0 +1 14 #text 0 1 + +1 1 RDF:Description 0 0 +2 14 #text 0 1 + +2 1 RPM:Name 0 0 +3 3 #text 0 1 ncurses4 +2 15 RPM:Name 0 0 +2 14 #text 0 1 + +2 1 RPM:Version 0 0 +3 3 #text 0 1 4.2 +2 15 RPM:Version 0 0 +2 14 #text 0 1 + +2 1 RPM:Release 0 0 +3 3 #text 0 1 3 +2 15 RPM:Release 0 0 +2 14 #text 0 1 + +2 1 RPM:Arch 0 0 +3 3 #text 0 1 i386 +2 15 RPM:Arch 0 0 +2 14 #text 0 1 + +2 1 RPM:Os 0 0 +3 3 #text 0 1 Linux +2 15 RPM:Os 0 0 +2 14 #text 0 1 + +2 1 RPM:Distribution 0 0 +3 3 #text 0 1 DLD +2 15 RPM:Distribution 0 0 +2 14 #text 0 1 + +2 1 RPM:Vendor 0 0 +3 3 #text 0 1 delix Computer GmbH +2 15 RPM:Vendor 0 0 +2 14 #text 0 1 + +2 1 RPM:Packager 0 0 +3 3 #text 0 1 Till Bubeck , Ngo Than +2 15 RPM:Packager 0 0 +2 14 #text 0 1 + +2 1 RPM:Group 0 0 +3 3 #text 0 1 Libraries +2 15 RPM:Group 0 0 +2 14 #text 0 1 + +2 1 RPM:Summary 0 0 +3 3 #text 0 1 Bibliothek zur Ansteuerung von Terminals +2 15 RPM:Summary 0 0 +2 14 #text 0 1 + +2 1 RPM:Description 0 0 +3 3 #text 0 1 Diese Library stellt dem Programmierer vom Terminal unabhängige +Routinen zur Ansteuerung Ihres Bildschirms zur Verfügung, die +speziell optimiert sind. +Diese Version ist die 'new curses' (ncurses) Variante und ist der +anerkannte Ersatz für die klassische Curses-Library, die nicht mehr +weiterentwickelt wird. +2 15 RPM:Description 0 0 +2 14 #text 0 1 + +2 1 RPM:Copyright 0 0 +3 3 #text 0 1 GPL +2 15 RPM:Copyright 0 0 +2 14 #text 0 1 + +2 1 RPM:Sources 0 0 +3 3 #text 0 1 ncurses4-4.2-3.src.rpm +2 15 RPM:Sources 0 0 +2 14 #text 0 1 + +2 1 RPM:BuildDate 0 0 +3 3 #text 0 1 Tue May 12 19:30:26 1998 +2 15 RPM:BuildDate 0 0 +2 14 #text 0 1 + +2 1 RPM:Date 0 0 +3 3 #text 0 1 895015826 +2 15 RPM:Date 0 0 +2 14 #text 0 1 + +2 1 RPM:Size 0 0 +3 3 #text 0 1 1373513 +2 15 RPM:Size 0 0 +2 14 #text 0 1 + +2 1 RPM:BuildHost 0 0 +3 3 #text 0 1 erdbeere.delix.de +2 15 RPM:BuildHost 0 0 +2 14 #text 0 1 + +2 1 RPM:Provides 0 0 +3 14 #text 0 1 + +3 1 RDF:Bag 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 ncurses4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libpanel.so.4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libncurses.so.4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libmenu.so.4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libform.so.4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 ncurses +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +3 15 RDF:Bag 0 0 +3 14 #text 0 1 + +2 15 RPM:Provides 0 0 +2 14 #text 0 1 + +2 1 RPM:Files 0 0 +3 3 #text 0 1 /lib/libncurses.so.4 +/lib/libncurses.so.4.2 +/usr/doc/ncurses4-4.2-3 +/usr/doc/ncurses4-4.2-3/ANNOUNCE.gz +/usr/doc/ncurses4-4.2-3/NEWS.gz +/usr/doc/ncurses4-4.2-3/README.gz +/usr/doc/ncurses4-4.2-3/TO-DO.gz +/usr/lib/libform.so.4 +/usr/lib/libform.so.4.2 +/usr/lib/libmenu.so.4 +/usr/lib/libmenu.so.4.2 +/usr/lib/libpanel.so.4 +/usr/lib/libpanel.so.4.2 +/usr/share/ncurses4 +/usr/share/ncurses4/tabset +/usr/share/ncurses4/tabset/std +/usr/share/ncurses4/tabset/stdcrt +/usr/share/ncurses4/tabset/vt100 +/usr/share/ncurses4/tabset/vt300 +/usr/share/ncurses4/terminfo +/usr/share/ncurses4/terminfo/1 +/usr/share/ncurses4/terminfo/1/1178 +/usr/share/ncurses4/terminfo/1/1730-lm +/usr/share/ncurses4/terminfo/2 +/usr/share/ncurses4/terminfo/2/2621 +/usr/share/ncurses4/terminfo/2/2621-wl +/usr/share/ncurses4/terminfo/2/2621A +/usr/share/ncurses4/terminfo/2/2621a +/usr/share/ncurses4/terminfo/3 +/usr/share/ncurses4/terminfo/3/386at +/usr/share/ncurses4/terminfo/3/3b1 +/usr/share/ncurses4/terminfo/4 +/usr/share/ncurses4/terminfo/4/4025ex +/usr/share/ncurses4/terminfo/4/4027ex +/usr/share/ncurses4/terminfo/4/4410-w +/usr/share/ncurses4/terminfo/5 +/usr/share/ncurses4/terminfo/5/5051 +/usr/share/ncurses4/terminfo/5/5410-w +/usr/share/ncurses4/terminfo/5/5620 +/usr/share/ncurses4/terminfo/5/5630-24 +/usr/share/ncurses4/terminfo/5/5630DMD-24 +/usr/share/ncurses4/terminfo/6 +/usr/share/ncurses4/terminfo/6/630-lm +/usr/share/ncurses4/terminfo/6/630MTG-24 +/usr/share/ncurses4/terminfo/7 +/usr/share/ncurses4/terminfo/7/730MTG-24 +/usr/share/ncurses4/terminfo/7/730MTG-41 +/usr/share/ncurses4/terminfo/7/730MTG-41r +/usr/share/ncurses4/terminfo/7/730MTGr +/usr/share/ncurses4/terminfo/7/730MTGr-24 +/usr/share/ncurses4/terminfo/8 +/usr/share/ncurses4/terminfo/8/8510 +/usr/share/ncurses4/terminfo/9 +/usr/share/ncurses4/terminfo/9/955-hb +/usr/share/ncurses4/terminfo/9/955-w +/usr/share/ncurses4/terminfo/P +/usr/share/ncurses4/terminfo/P/P12 +/usr/share/ncurses4/terminfo/P/P12-M +/usr/share/ncurses4/terminfo/P/P12-M-W +/usr/share/ncurses4/terminfo/P/P12-W +/usr/share/ncurses4/terminfo/P/P14 +/usr/share/ncurses4/terminfo/P/P14-M +/usr/share/ncurses4/terminfo/P/P14-M-W +/usr/share/ncurses4/terminfo/P/P14-W +/usr/share/ncurses4/terminfo/P/P4 +/usr/share/ncurses4/terminfo/P/P5 +/usr/share/ncurses4/terminfo/P/P7 +/usr/share/ncurses4/terminfo/P/P8 +/usr/share/ncurses4/terminfo/P/P8-W +/usr/share/ncurses4/terminfo/P/P9 +/usr/share/ncurses4/terminfo/P/P9-8 +/usr/share/ncurses4/terminfo/P/P9-8-W +/usr/share/ncurses4/terminfo/P/P9-W +/usr/share/ncurses4/terminfo/X +/usr/share/ncurses4/terminfo/X/X-hpterm +/usr/share/ncurses4/terminfo/a +/usr/share/ncurses4/terminfo/a/a210 +/usr/share/ncurses4/terminfo/a/a80 +/usr/share/ncurses4/terminfo/a/a980 +/usr/share/ncurses4/terminfo/a/aa4080 +/usr/share/ncurses4/terminfo/a/aaa +/usr/share/ncurses4/terminfo/a/aaa+dec +/usr/share/ncurses4/terminfo/a/aaa+rv +/usr/share/ncurses4/terminfo/a/aaa+unk +/usr/share/ncurses4/terminfo/a/aaa-18 +/usr/share/ncurses4/terminfo/a/aaa-18-rv +/usr/share/ncurses4/terminfo/a/aaa-20 +/usr/share/ncurses4/terminfo/a/aaa-22 +/usr/share/ncurses4/terminfo/a/aaa-24 +/usr/share/ncurses4/terminfo/a/aaa-24-rv +/usr/share/ncurses4/terminfo/a/aaa-26 +/usr/share/ncurses4/terminfo/a/aaa-28 +/usr/share/ncurses4/terminfo/a/aaa-30 +/usr/share/ncurses4/terminfo/a/aaa-30-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-rv +/usr/share/ncurses4/terminfo/a/aaa-30-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-s +/usr/share/ncurses4/terminfo/a/aaa-30-s-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-s-rv +/usr/share/ncurses4/terminfo/a/aaa-30-s-rv-ct +/usr/share/ncurses4/terminfo/a/aaa-36 +/usr/share/ncurses4/terminfo/a/aaa-36-rv +/usr/share/ncurses4/terminfo/a/aaa-40 +/usr/share/ncurses4/terminfo/a/aaa-40-rv +/usr/share/ncurses4/terminfo/a/aaa-48 +/usr/share/ncurses4/terminfo/a/aaa-48-rv +/usr/share/ncurses4/terminfo/a/aaa-60 +/usr/share/ncurses4/terminfo/a/aaa-60-dec-rv +/usr/share/ncurses4/terminfo/a/aaa-60-rv +/usr/share/ncurses4/terminfo/a/aaa-60-s +/usr/share/ncurses4/terminfo/a/aaa-60-s-rv +/usr/share/ncurses4/terminfo/a/aaa-ctxt +/usr/share/ncurses4/terminfo/a/aaa-db +/usr/share/ncurses4/terminfo/a/aaa-rv +/usr/share/ncurses4/terminfo/a/aaa-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-rv-unk +/usr/share/ncurses4/terminfo/a/aaa-s +/usr/share/ncurses4/terminfo/a/aaa-s-ctxt +/usr/share/ncurses4/terminfo/a/aaa-s-rv +/usr/share/ncurses4/terminfo/a/aaa-s-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-unk +/usr/share/ncurses4/terminfo/a/aas1901 +/usr/share/ncurses4/terminfo/a/abm80 +/usr/share/ncurses4/terminfo/a/abm85 +/usr/share/ncurses4/terminfo/a/abm85e +/usr/share/ncurses4/terminfo/a/abm85h +/usr/share/ncurses4/terminfo/a/abm85h-old +/usr/share/ncurses4/terminfo/a/act4 +/usr/share/ncurses4/terminfo/a/act5 +/usr/share/ncurses4/terminfo/a/addrinfo +/usr/share/ncurses4/terminfo/a/adds980 +/usr/share/ncurses4/terminfo/a/addsviewpoint +/usr/share/ncurses4/terminfo/a/addsvp60 +/usr/share/ncurses4/terminfo/a/adm+sgr +/usr/share/ncurses4/terminfo/a/adm1 +/usr/share/ncurses4/terminfo/a/adm11 +/usr/share/ncurses4/terminfo/a/adm1178 +/usr/share/ncurses4/terminfo/a/adm12 +/usr/share/ncurses4/terminfo/a/adm1a +/usr/share/ncurses4/terminfo/a/adm2 +/usr/share/ncurses4/terminfo/a/adm20 +/usr/share/ncurses4/terminfo/a/adm21 +/usr/share/ncurses4/terminfo/a/adm22 +/usr/share/ncurses4/terminfo/a/adm3 +/usr/share/ncurses4/terminfo/a/adm31 +/usr/share/ncurses4/terminfo/a/adm31-old +/usr/share/ncurses4/terminfo/a/adm36 +/usr/share/ncurses4/terminfo/a/adm3a +/usr/share/ncurses4/terminfo/a/adm3a+ +/usr/share/ncurses4/terminfo/a/adm42 +/usr/share/ncurses4/terminfo/a/adm42-ns +/usr/share/ncurses4/terminfo/a/adm5 +/usr/share/ncurses4/terminfo/a/aepro +/usr/share/ncurses4/terminfo/a/aixterm-m +/usr/share/ncurses4/terminfo/a/aixterm-m-old +/usr/share/ncurses4/terminfo/a/aj +/usr/share/ncurses4/terminfo/a/aj510 +/usr/share/ncurses4/terminfo/a/aj830 +/usr/share/ncurses4/terminfo/a/aj832 +/usr/share/ncurses4/terminfo/a/alt2 +/usr/share/ncurses4/terminfo/a/alt3 +/usr/share/ncurses4/terminfo/a/alt4 +/usr/share/ncurses4/terminfo/a/alt5 +/usr/share/ncurses4/terminfo/a/alt7 +/usr/share/ncurses4/terminfo/a/alt7pc +/usr/share/ncurses4/terminfo/a/alto-h19 +/usr/share/ncurses4/terminfo/a/alto-heath +/usr/share/ncurses4/terminfo/a/altoh19 +/usr/share/ncurses4/terminfo/a/altoheath +/usr/share/ncurses4/terminfo/a/altos-2 +/usr/share/ncurses4/terminfo/a/altos-3 +/usr/share/ncurses4/terminfo/a/altos-4 +/usr/share/ncurses4/terminfo/a/altos-5 +/usr/share/ncurses4/terminfo/a/altos2 +/usr/share/ncurses4/terminfo/a/altos3 +/usr/share/ncurses4/terminfo/a/altos4 +/usr/share/ncurses4/terminfo/a/altos5 +/usr/share/ncurses4/terminfo/a/altos7 +/usr/share/ncurses4/terminfo/a/altos7pc +/usr/share/ncurses4/terminfo/a/ambas +/usr/share/ncurses4/terminfo/a/ambassador +/usr/share/ncurses4/terminfo/a/amiga +/usr/share/ncurses4/terminfo/a/amiga-h +/usr/share/ncurses4/terminfo/a/amp219 +/usr/share/ncurses4/terminfo/a/amp219w +/usr/share/ncurses4/terminfo/a/ampex-219 +/usr/share/ncurses4/terminfo/a/ampex-219w +/usr/share/ncurses4/terminfo/a/ampex-232 +/usr/share/ncurses4/terminfo/a/ampex175 +/usr/share/ncurses4/terminfo/a/ampex175-b +/usr/share/ncurses4/terminfo/a/ampex210 +/usr/share/ncurses4/terminfo/a/ampex219 +/usr/share/ncurses4/terminfo/a/ampex219w +/usr/share/ncurses4/terminfo/a/ampex232 +/usr/share/ncurses4/terminfo/a/ampex232w +/usr/share/ncurses4/terminfo/a/ampex80 +/usr/share/ncurses4/terminfo/a/annarbor4080 +/usr/share/ncurses4/terminfo/a/ansi +/usr/share/ncurses4/terminfo/a/ansi-color-2-emx +/usr/share/ncurses4/terminfo/a/ansi-color-3-emx +/usr/share/ncurses4/terminfo/a/ansi-emx +/usr/share/ncurses4/terminfo/a/ansi-m +/usr/share/ncurses4/terminfo/a/ansi-mini +/usr/share/ncurses4/terminfo/a/ansi-mono +/usr/share/ncurses4/terminfo/a/ansi-nt +/usr/share/ncurses4/terminfo/a/ansi.sys +/usr/share/ncurses4/terminfo/a/ansi.sys-old +/usr/share/ncurses4/terminfo/a/ansi.sysk +/usr/share/ncurses4/terminfo/a/ansi43m +/usr/share/ncurses4/terminfo/a/ansi77 +/usr/share/ncurses4/terminfo/a/ansi80x25 +/usr/share/ncurses4/terminfo/a/ansi80x25-mono +/usr/share/ncurses4/terminfo/a/ansi80x25-raw +/usr/share/ncurses4/terminfo/a/ansi80x30 +/usr/share/ncurses4/terminfo/a/ansi80x30-mono +/usr/share/ncurses4/terminfo/a/ansi80x43 +/usr/share/ncurses4/terminfo/a/ansi80x43-mono +/usr/share/ncurses4/terminfo/a/ansi80x50 +/usr/share/ncurses4/terminfo/a/ansi80x50-mono +/usr/share/ncurses4/terminfo/a/ansi80x60 +/usr/share/ncurses4/terminfo/a/ansi80x60-mono +/usr/share/ncurses4/terminfo/a/ansil +/usr/share/ncurses4/terminfo/a/ansil-mono +/usr/share/ncurses4/terminfo/a/ansis +/usr/share/ncurses4/terminfo/a/ansis-mono +/usr/share/ncurses4/terminfo/a/ansisysk +/usr/share/ncurses4/terminfo/a/ansiw +/usr/share/ncurses4/terminfo/a/ap-vm80 +/usr/share/ncurses4/terminfo/a/apl +/usr/share/ncurses4/terminfo/a/apollo +/usr/share/ncurses4/terminfo/a/apollo_15P +/usr/share/ncurses4/terminfo/a/apollo_19L +/usr/share/ncurses4/terminfo/a/apollo_color +/usr/share/ncurses4/terminfo/a/apple-80 +/usr/share/ncurses4/terminfo/a/apple-ae +/usr/share/ncurses4/terminfo/a/apple-soroc +/usr/share/ncurses4/terminfo/a/apple-uterm +/usr/share/ncurses4/terminfo/a/apple-uterm-vb +/usr/share/ncurses4/terminfo/a/apple-videx +/usr/share/ncurses4/terminfo/a/apple-videx2 +/usr/share/ncurses4/terminfo/a/apple-videx3 +/usr/share/ncurses4/terminfo/a/apple-vm80 +/usr/share/ncurses4/terminfo/a/apple2e +/usr/share/ncurses4/terminfo/a/apple2e-p +/usr/share/ncurses4/terminfo/a/apple80p +/usr/share/ncurses4/terminfo/a/appleII +/usr/share/ncurses4/terminfo/a/appleIIc +/usr/share/ncurses4/terminfo/a/appleIIe +/usr/share/ncurses4/terminfo/a/appleIIgs +/usr/share/ncurses4/terminfo/a/at386 +/usr/share/ncurses4/terminfo/a/atari +/usr/share/ncurses4/terminfo/a/att2300 +/usr/share/ncurses4/terminfo/a/att2350 +/usr/share/ncurses4/terminfo/a/att4410 +/usr/share/ncurses4/terminfo/a/att4410-w +/usr/share/ncurses4/terminfo/a/att4410v1 +/usr/share/ncurses4/terminfo/a/att4410v1-w +/usr/share/ncurses4/terminfo/a/att4415 +/usr/share/ncurses4/terminfo/a/att4415+nl +/usr/share/ncurses4/terminfo/a/att4415-nl +/usr/share/ncurses4/terminfo/a/att4415-rv +/usr/share/ncurses4/terminfo/a/att4415-rv-nl +/usr/share/ncurses4/terminfo/a/att4415-w +/usr/share/ncurses4/terminfo/a/att4415-w-nl +/usr/share/ncurses4/terminfo/a/att4415-w-rv +/usr/share/ncurses4/terminfo/a/att4415-w-rv-n +/usr/share/ncurses4/terminfo/a/att4418 +/usr/share/ncurses4/terminfo/a/att4418-w +/usr/share/ncurses4/terminfo/a/att4420 +/usr/share/ncurses4/terminfo/a/att4424 +/usr/share/ncurses4/terminfo/a/att4424-1 +/usr/share/ncurses4/terminfo/a/att4424m +/usr/share/ncurses4/terminfo/a/att4425 +/usr/share/ncurses4/terminfo/a/att4425-nl +/usr/share/ncurses4/terminfo/a/att4425-w +/usr/share/ncurses4/terminfo/a/att4426 +/usr/share/ncurses4/terminfo/a/att500 +/usr/share/ncurses4/terminfo/a/att505 +/usr/share/ncurses4/terminfo/a/att505-24 +/usr/share/ncurses4/terminfo/a/att510a +/usr/share/ncurses4/terminfo/a/att510d +/usr/share/ncurses4/terminfo/a/att513 +/usr/share/ncurses4/terminfo/a/att5310 +/usr/share/ncurses4/terminfo/a/att5320 +/usr/share/ncurses4/terminfo/a/att5410 +/usr/share/ncurses4/terminfo/a/att5410-w +/usr/share/ncurses4/terminfo/a/att5410v1 +/usr/share/ncurses4/terminfo/a/att5410v1-w +/usr/share/ncurses4/terminfo/a/att5418 +/usr/share/ncurses4/terminfo/a/att5418-w +/usr/share/ncurses4/terminfo/a/att5420 +/usr/share/ncurses4/terminfo/a/att5420+nl +/usr/share/ncurses4/terminfo/a/att5420-nl +/usr/share/ncurses4/terminfo/a/att5420-rv +/usr/share/ncurses4/terminfo/a/att5420-rv-nl +/usr/share/ncurses4/terminfo/a/att5420-w +/usr/share/ncurses4/terminfo/a/att5420-w-nl +/usr/share/ncurses4/terminfo/a/att5420-w-rv +/usr/share/ncurses4/terminfo/a/att5420-w-rv-n +/usr/share/ncurses4/terminfo/a/att5420_2 +/usr/share/ncurses4/terminfo/a/att5420_2-w +/usr/share/ncurses4/terminfo/a/att5425 +/usr/share/ncurses4/terminfo/a/att5425-nl +/usr/share/ncurses4/terminfo/a/att5425-w +/usr/share/ncurses4/terminfo/a/att5430 +/usr/share/ncurses4/terminfo/a/att5620 +/usr/share/ncurses4/terminfo/a/att5620-1 +/usr/share/ncurses4/terminfo/a/att5620-24 +/usr/share/ncurses4/terminfo/a/att5620-34 +/usr/share/ncurses4/terminfo/a/att5620-s +/usr/share/ncurses4/terminfo/a/att605 +/usr/share/ncurses4/terminfo/a/att605-pc +/usr/share/ncurses4/terminfo/a/att605-w +/usr/share/ncurses4/terminfo/a/att610 +/usr/share/ncurses4/terminfo/a/att610-103k +/usr/share/ncurses4/terminfo/a/att610-103k-w +/usr/share/ncurses4/terminfo/a/att610-w +/usr/share/ncurses4/terminfo/a/att615 +/usr/share/ncurses4/terminfo/a/att615-103k +/usr/share/ncurses4/terminfo/a/att615-103k-w +/usr/share/ncurses4/terminfo/a/att615-w +/usr/share/ncurses4/terminfo/a/att620 +/usr/share/ncurses4/terminfo/a/att620-103k +/usr/share/ncurses4/terminfo/a/att620-103k-w +/usr/share/ncurses4/terminfo/a/att620-w +/usr/share/ncurses4/terminfo/a/att630 +/usr/share/ncurses4/terminfo/a/att630-24 +/usr/share/ncurses4/terminfo/a/att6386 +/usr/share/ncurses4/terminfo/a/att730 +/usr/share/ncurses4/terminfo/a/att730-24 +/usr/share/ncurses4/terminfo/a/att730-41 +/usr/share/ncurses4/terminfo/a/att7300 +/usr/share/ncurses4/terminfo/a/att730r +/usr/share/ncurses4/terminfo/a/att730r-24 +/usr/share/ncurses4/terminfo/a/att730r-41 +/usr/share/ncurses4/terminfo/a/avatar +/usr/share/ncurses4/terminfo/a/avatar0 +/usr/share/ncurses4/terminfo/a/avatar0+ +/usr/share/ncurses4/terminfo/a/avatar1 +/usr/share/ncurses4/terminfo/a/avt +/usr/share/ncurses4/terminfo/a/avt+s +/usr/share/ncurses4/terminfo/a/avt-ns +/usr/share/ncurses4/terminfo/a/avt-rv +/usr/share/ncurses4/terminfo/a/avt-rv-ns +/usr/share/ncurses4/terminfo/a/avt-rv-s +/usr/share/ncurses4/terminfo/a/avt-s +/usr/share/ncurses4/terminfo/a/avt-w +/usr/share/ncurses4/terminfo/a/avt-w-ns +/usr/share/ncurses4/terminfo/a/avt-w-rv +/usr/share/ncurses4/terminfo/a/avt-w-rv-ns +/usr/share/ncurses4/terminfo/a/avt-w-rv-s +/usr/share/ncurses4/terminfo/a/avt-w-s +/usr/share/ncurses4/terminfo/a/aws +/usr/share/ncurses4/terminfo/a/awsc +/usr/share/ncurses4/terminfo/b +/usr/share/ncurses4/terminfo/b/b-128 +/usr/share/ncurses4/terminfo/b/bantam +/usr/share/ncurses4/terminfo/b/basic4 +/usr/share/ncurses4/terminfo/b/basis +/usr/share/ncurses4/terminfo/b/bct510a +/usr/share/ncurses4/terminfo/b/bct510d +/usr/share/ncurses4/terminfo/b/beacon +/usr/share/ncurses4/terminfo/b/bee +/usr/share/ncurses4/terminfo/b/beehive +/usr/share/ncurses4/terminfo/b/beehive3 +/usr/share/ncurses4/terminfo/b/beehive4 +/usr/share/ncurses4/terminfo/b/beehiveIIIm +/usr/share/ncurses4/terminfo/b/beterm +/usr/share/ncurses4/terminfo/b/bg1.25 +/usr/share/ncurses4/terminfo/b/bg1.25nv +/usr/share/ncurses4/terminfo/b/bg1.25rv +/usr/share/ncurses4/terminfo/b/bg2.0 +/usr/share/ncurses4/terminfo/b/bg2.0nv +/usr/share/ncurses4/terminfo/b/bg2.0rv +/usr/share/ncurses4/terminfo/b/bg3.10 +/usr/share/ncurses4/terminfo/b/bg3.10nv +/usr/share/ncurses4/terminfo/b/bg3.10rv +/usr/share/ncurses4/terminfo/b/bh3m +/usr/share/ncurses4/terminfo/b/bh4 +/usr/share/ncurses4/terminfo/b/bitgraph +/usr/share/ncurses4/terminfo/b/blit +/usr/share/ncurses4/terminfo/b/bobcat +/usr/share/ncurses4/terminfo/b/bsdos +/usr/share/ncurses4/terminfo/b/bsdos-bold +/usr/share/ncurses4/terminfo/c +/usr/share/ncurses4/terminfo/c/c100 +/usr/share/ncurses4/terminfo/c/c100-1p +/usr/share/ncurses4/terminfo/c/c100-4p +/usr/share/ncurses4/terminfo/c/c100-rv +/usr/share/ncurses4/terminfo/c/c100-rv-4p +/usr/share/ncurses4/terminfo/c/c104 +/usr/share/ncurses4/terminfo/c/c108 +/usr/share/ncurses4/terminfo/c/c108-4p +/usr/share/ncurses4/terminfo/c/c108-8p +/usr/share/ncurses4/terminfo/c/c108-rv +/usr/share/ncurses4/terminfo/c/c108-rv-4p +/usr/share/ncurses4/terminfo/c/c108-rv-8p +/usr/share/ncurses4/terminfo/c/c108-w +/usr/share/ncurses4/terminfo/c/c108-w-8p +/usr/share/ncurses4/terminfo/c/c300 +/usr/share/ncurses4/terminfo/c/c301 +/usr/share/ncurses4/terminfo/c/c321 +/usr/share/ncurses4/terminfo/c/ca22851 +/usr/share/ncurses4/terminfo/c/cad68-2 +/usr/share/ncurses4/terminfo/c/cad68-3 +/usr/share/ncurses4/terminfo/c/cbblit +/usr/share/ncurses4/terminfo/c/cbunix +/usr/share/ncurses4/terminfo/c/cci +/usr/share/ncurses4/terminfo/c/cci1 +/usr/share/ncurses4/terminfo/c/cdc456 +/usr/share/ncurses4/terminfo/c/cdc721 +/usr/share/ncurses4/terminfo/c/cdc721-esc +/usr/share/ncurses4/terminfo/c/cdc721ll +/usr/share/ncurses4/terminfo/c/cdc752 +/usr/share/ncurses4/terminfo/c/cdc756 +/usr/share/ncurses4/terminfo/c/cg7900 +/usr/share/ncurses4/terminfo/c/cgc2 +/usr/share/ncurses4/terminfo/c/cgc3 +/usr/share/ncurses4/terminfo/c/chromatics +/usr/share/ncurses4/terminfo/c/ci8510 +/usr/share/ncurses4/terminfo/c/cit-80 +/usr/share/ncurses4/terminfo/c/cit101 +/usr/share/ncurses4/terminfo/c/cit101e +/usr/share/ncurses4/terminfo/c/cit101e-132 +/usr/share/ncurses4/terminfo/c/cit101e-n +/usr/share/ncurses4/terminfo/c/cit101e-n132 +/usr/share/ncurses4/terminfo/c/cit101e-rv +/usr/share/ncurses4/terminfo/c/cit500 +/usr/share/ncurses4/terminfo/c/cit80 +/usr/share/ncurses4/terminfo/c/citc +/usr/share/ncurses4/terminfo/c/citoh +/usr/share/ncurses4/terminfo/c/citoh-6lpi +/usr/share/ncurses4/terminfo/c/citoh-8lpi +/usr/share/ncurses4/terminfo/c/citoh-comp +/usr/share/ncurses4/terminfo/c/citoh-elite +/usr/share/ncurses4/terminfo/c/citoh-pica +/usr/share/ncurses4/terminfo/c/citoh-prop +/usr/share/ncurses4/terminfo/c/citoh-ps +/usr/share/ncurses4/terminfo/c/coco3 +/usr/share/ncurses4/terminfo/c/coherent +/usr/share/ncurses4/terminfo/c/color_xterm +/usr/share/ncurses4/terminfo/c/colorscan +/usr/share/ncurses4/terminfo/c/commodore +/usr/share/ncurses4/terminfo/c/concept +/usr/share/ncurses4/terminfo/c/concept-avt +/usr/share/ncurses4/terminfo/c/concept100 +/usr/share/ncurses4/terminfo/c/concept100-rv +/usr/share/ncurses4/terminfo/c/concept108 +/usr/share/ncurses4/terminfo/c/concept108-4p +/usr/share/ncurses4/terminfo/c/concept108-8p +/usr/share/ncurses4/terminfo/c/concept108-w-8 +/usr/share/ncurses4/terminfo/c/concept108-w8p +/usr/share/ncurses4/terminfo/c/concept108rv4p +/usr/share/ncurses4/terminfo/c/cons25 +/usr/share/ncurses4/terminfo/c/cons25-iso-m +/usr/share/ncurses4/terminfo/c/cons25-iso8859 +/usr/share/ncurses4/terminfo/c/cons25-koi8-r +/usr/share/ncurses4/terminfo/c/cons25-koi8r-m +/usr/share/ncurses4/terminfo/c/cons25-m +/usr/share/ncurses4/terminfo/c/cons25l1 +/usr/share/ncurses4/terminfo/c/cons25l1-m +/usr/share/ncurses4/terminfo/c/cons25r +/usr/share/ncurses4/terminfo/c/cons25r-m +/usr/share/ncurses4/terminfo/c/cons25w +/usr/share/ncurses4/terminfo/c/cons30 +/usr/share/ncurses4/terminfo/c/cons30-m +/usr/share/ncurses4/terminfo/c/cons43 +/usr/share/ncurses4/terminfo/c/cons43-m +/usr/share/ncurses4/terminfo/c/cons50 +/usr/share/ncurses4/terminfo/c/cons50-iso-m +/usr/share/ncurses4/terminfo/c/cons50-iso8859 +/usr/share/ncurses4/terminfo/c/cons50-koi8r +/usr/share/ncurses4/terminfo/c/cons50-koi8r-m +/usr/share/ncurses4/terminfo/c/cons50-m +/usr/share/ncurses4/terminfo/c/cons50l1 +/usr/share/ncurses4/terminfo/c/cons50l1-m +/usr/share/ncurses4/terminfo/c/cons50r +/usr/share/ncurses4/terminfo/c/cons50r-m +/usr/share/ncurses4/terminfo/c/cons60 +/usr/share/ncurses4/terminfo/c/cons60-iso +/usr/share/ncurses4/terminfo/c/cons60-iso-m +/usr/share/ncurses4/terminfo/c/cons60-koi8r +/usr/share/ncurses4/terminfo/c/cons60-koi8r-m +/usr/share/ncurses4/terminfo/c/cons60-m +/usr/share/ncurses4/terminfo/c/cons60l1 +/usr/share/ncurses4/terminfo/c/cons60l1-m +/usr/share/ncurses4/terminfo/c/cons60r +/usr/share/ncurses4/terminfo/c/cons60r-m +/usr/share/ncurses4/terminfo/c/contel300 +/usr/share/ncurses4/terminfo/c/contel301 +/usr/share/ncurses4/terminfo/c/contel320 +/usr/share/ncurses4/terminfo/c/contel321 +/usr/share/ncurses4/terminfo/c/cops +/usr/share/ncurses4/terminfo/c/cops-10 +/usr/share/ncurses4/terminfo/c/cops10 +/usr/share/ncurses4/terminfo/c/cs10 +/usr/share/ncurses4/terminfo/c/cs10-w +/usr/share/ncurses4/terminfo/c/ct82 +/usr/share/ncurses4/terminfo/c/ct8500 +/usr/share/ncurses4/terminfo/c/ctrm +/usr/share/ncurses4/terminfo/c/cx +/usr/share/ncurses4/terminfo/c/cx100 +/usr/share/ncurses4/terminfo/c/cyb110 +/usr/share/ncurses4/terminfo/c/cyb83 +/usr/share/ncurses4/terminfo/d +/usr/share/ncurses4/terminfo/d/d132 +/usr/share/ncurses4/terminfo/d/d80 +/usr/share/ncurses4/terminfo/d/d800 +/usr/share/ncurses4/terminfo/d/datagraphix +/usr/share/ncurses4/terminfo/d/datamedia2500 +/usr/share/ncurses4/terminfo/d/datapoint +/usr/share/ncurses4/terminfo/d/dataspeed40 +/usr/share/ncurses4/terminfo/d/dd5000 +/usr/share/ncurses4/terminfo/d/ddr +/usr/share/ncurses4/terminfo/d/ddr3180 +/usr/share/ncurses4/terminfo/d/dec-vt100 +/usr/share/ncurses4/terminfo/d/dec-vt220 +/usr/share/ncurses4/terminfo/d/dec-vt330 +/usr/share/ncurses4/terminfo/d/dec-vt340 +/usr/share/ncurses4/terminfo/d/dec-vt400 +/usr/share/ncurses4/terminfo/d/decpro +/usr/share/ncurses4/terminfo/d/decwriter +/usr/share/ncurses4/terminfo/d/delta +/usr/share/ncurses4/terminfo/d/dg-ansi +/usr/share/ncurses4/terminfo/d/dg100 +/usr/share/ncurses4/terminfo/d/dg200 +/usr/share/ncurses4/terminfo/d/dg210 +/usr/share/ncurses4/terminfo/d/dg211 +/usr/share/ncurses4/terminfo/d/dg450 +/usr/share/ncurses4/terminfo/d/dg460-ansi +/usr/share/ncurses4/terminfo/d/dg6053 +/usr/share/ncurses4/terminfo/d/dg6134 +/usr/share/ncurses4/terminfo/d/diablo +/usr/share/ncurses4/terminfo/d/diablo-lm +/usr/share/ncurses4/terminfo/d/diablo1620 +/usr/share/ncurses4/terminfo/d/diablo1620-m8 +/usr/share/ncurses4/terminfo/d/diablo1640 +/usr/share/ncurses4/terminfo/d/diablo1640-lm +/usr/share/ncurses4/terminfo/d/diablo1640-m8 +/usr/share/ncurses4/terminfo/d/diablo1720 +/usr/share/ncurses4/terminfo/d/diablo1730 +/usr/share/ncurses4/terminfo/d/diablo1740 +/usr/share/ncurses4/terminfo/d/diablo1740-lm +/usr/share/ncurses4/terminfo/d/diablo450 +/usr/share/ncurses4/terminfo/d/diablo630 +/usr/share/ncurses4/terminfo/d/dialogue +/usr/share/ncurses4/terminfo/d/dialogue80 +/usr/share/ncurses4/terminfo/d/digilog +/usr/share/ncurses4/terminfo/d/dku7003 +/usr/share/ncurses4/terminfo/d/dku7003-dumb +/usr/share/ncurses4/terminfo/d/dm1520 +/usr/share/ncurses4/terminfo/d/dm1521 +/usr/share/ncurses4/terminfo/d/dm2500 +/usr/share/ncurses4/terminfo/d/dm3025 +/usr/share/ncurses4/terminfo/d/dm3045 +/usr/share/ncurses4/terminfo/d/dm80 +/usr/share/ncurses4/terminfo/d/dm80w +/usr/share/ncurses4/terminfo/d/dmchat +/usr/share/ncurses4/terminfo/d/dmd +/usr/share/ncurses4/terminfo/d/dmd-24 +/usr/share/ncurses4/terminfo/d/dmd-34 +/usr/share/ncurses4/terminfo/d/dmd1 +/usr/share/ncurses4/terminfo/d/dmdt80 +/usr/share/ncurses4/terminfo/d/dmdt80w +/usr/share/ncurses4/terminfo/d/dmterm +/usr/share/ncurses4/terminfo/d/dp3360 +/usr/share/ncurses4/terminfo/d/dp8242 +/usr/share/ncurses4/terminfo/d/ds40 +/usr/share/ncurses4/terminfo/d/ds40-2 +/usr/share/ncurses4/terminfo/d/dt-100 +/usr/share/ncurses4/terminfo/d/dt-100w +/usr/share/ncurses4/terminfo/d/dt100 +/usr/share/ncurses4/terminfo/d/dt100w +/usr/share/ncurses4/terminfo/d/dt110 +/usr/share/ncurses4/terminfo/d/dt80 +/usr/share/ncurses4/terminfo/d/dt80-sas +/usr/share/ncurses4/terminfo/d/dt80w +/usr/share/ncurses4/terminfo/d/dtc300s +/usr/share/ncurses4/terminfo/d/dtc382 +/usr/share/ncurses4/terminfo/d/dtterm +/usr/share/ncurses4/terminfo/d/dumb +/usr/share/ncurses4/terminfo/d/dw +/usr/share/ncurses4/terminfo/d/dw1 +/usr/share/ncurses4/terminfo/d/dw2 +/usr/share/ncurses4/terminfo/d/dw3 +/usr/share/ncurses4/terminfo/d/dw4 +/usr/share/ncurses4/terminfo/d/dwk +/usr/share/ncurses4/terminfo/d/dwk-vt +/usr/share/ncurses4/terminfo/e +/usr/share/ncurses4/terminfo/e/ecma+color +/usr/share/ncurses4/terminfo/e/ecma+sgr +/usr/share/ncurses4/terminfo/e/emots +/usr/share/ncurses4/terminfo/e/emu +/usr/share/ncurses4/terminfo/e/env230 +/usr/share/ncurses4/terminfo/e/envision230 +/usr/share/ncurses4/terminfo/e/ep40 +/usr/share/ncurses4/terminfo/e/ep4000 +/usr/share/ncurses4/terminfo/e/ep4080 +/usr/share/ncurses4/terminfo/e/ep48 +/usr/share/ncurses4/terminfo/e/ergo4000 +/usr/share/ncurses4/terminfo/e/esprit +/usr/share/ncurses4/terminfo/e/esprit-am +/usr/share/ncurses4/terminfo/e/eterm +/usr/share/ncurses4/terminfo/e/ex155 +/usr/share/ncurses4/terminfo/e/excel62 +/usr/share/ncurses4/terminfo/e/excel62-rv +/usr/share/ncurses4/terminfo/e/excel62-w +/usr/share/ncurses4/terminfo/e/excel64 +/usr/share/ncurses4/terminfo/e/excel64-rv +/usr/share/ncurses4/terminfo/e/excel64-w +/usr/share/ncurses4/terminfo/e/exec80 +/usr/share/ncurses4/terminfo/f +/usr/share/ncurses4/terminfo/f/f100 +/usr/share/ncurses4/terminfo/f/f100-rv +/usr/share/ncurses4/terminfo/f/f110 +/usr/share/ncurses4/terminfo/f/f110-14 +/usr/share/ncurses4/terminfo/f/f110-14w +/usr/share/ncurses4/terminfo/f/f110-w +/usr/share/ncurses4/terminfo/f/f1720 +/usr/share/ncurses4/terminfo/f/f1720a +/usr/share/ncurses4/terminfo/f/f200 +/usr/share/ncurses4/terminfo/f/f200-w +/usr/share/ncurses4/terminfo/f/f200vi +/usr/share/ncurses4/terminfo/f/f200vi-w +/usr/share/ncurses4/terminfo/f/falco +/usr/share/ncurses4/terminfo/f/falco-p +/usr/share/ncurses4/terminfo/f/fenix +/usr/share/ncurses4/terminfo/f/fenixw +/usr/share/ncurses4/terminfo/f/fixterm +/usr/share/ncurses4/terminfo/f/fortune +/usr/share/ncurses4/terminfo/f/fos +/usr/share/ncurses4/terminfo/f/fox +/usr/share/ncurses4/terminfo/f/freedom +/usr/share/ncurses4/terminfo/f/freedom-rv +/usr/share/ncurses4/terminfo/f/freedom100 +/usr/share/ncurses4/terminfo/f/freedom110 +/usr/share/ncurses4/terminfo/f/freedom200 +/usr/share/ncurses4/terminfo/g +/usr/share/ncurses4/terminfo/g/gator +/usr/share/ncurses4/terminfo/g/gator-52 +/usr/share/ncurses4/terminfo/g/gator-52t +/usr/share/ncurses4/terminfo/g/gator-t +/usr/share/ncurses4/terminfo/g/gigi +/usr/share/ncurses4/terminfo/g/glasstty +/usr/share/ncurses4/terminfo/g/go-225 +/usr/share/ncurses4/terminfo/g/go140 +/usr/share/ncurses4/terminfo/g/go140w +/usr/share/ncurses4/terminfo/g/go225 +/usr/share/ncurses4/terminfo/g/graphos +/usr/share/ncurses4/terminfo/g/graphos-30 +/usr/share/ncurses4/terminfo/g/gs5430 +/usr/share/ncurses4/terminfo/g/gs5430-22 +/usr/share/ncurses4/terminfo/g/gs5430-24 +/usr/share/ncurses4/terminfo/g/gs6300 +/usr/share/ncurses4/terminfo/g/gsi +/usr/share/ncurses4/terminfo/g/gt100 +/usr/share/ncurses4/terminfo/g/gt100a +/usr/share/ncurses4/terminfo/g/gt40 +/usr/share/ncurses4/terminfo/g/gt42 +/usr/share/ncurses4/terminfo/g/guru +/usr/share/ncurses4/terminfo/g/guru+rv +/usr/share/ncurses4/terminfo/g/guru+s +/usr/share/ncurses4/terminfo/g/guru+unk +/usr/share/ncurses4/terminfo/g/guru-24 +/usr/share/ncurses4/terminfo/g/guru-33 +/usr/share/ncurses4/terminfo/g/guru-33-rv +/usr/share/ncurses4/terminfo/g/guru-33-s +/usr/share/ncurses4/terminfo/g/guru-44 +/usr/share/ncurses4/terminfo/g/guru-44-s +/usr/share/ncurses4/terminfo/g/guru-76 +/usr/share/ncurses4/terminfo/g/guru-76-lp +/usr/share/ncurses4/terminfo/g/guru-76-s +/usr/share/ncurses4/terminfo/g/guru-76-w +/usr/share/ncurses4/terminfo/g/guru-76-w-s +/usr/share/ncurses4/terminfo/g/guru-76-wm +/usr/share/ncurses4/terminfo/g/guru-lp +/usr/share/ncurses4/terminfo/g/guru-nctxt +/usr/share/ncurses4/terminfo/g/guru-rv +/usr/share/ncurses4/terminfo/g/guru-s +/usr/share/ncurses4/terminfo/h +/usr/share/ncurses4/terminfo/h/h-100 +/usr/share/ncurses4/terminfo/h/h-100bw +/usr/share/ncurses4/terminfo/h/h100 +/usr/share/ncurses4/terminfo/h/h100bw +/usr/share/ncurses4/terminfo/h/h19 +/usr/share/ncurses4/terminfo/h/h19-a +/usr/share/ncurses4/terminfo/h/h19-b +/usr/share/ncurses4/terminfo/h/h19-bs +/usr/share/ncurses4/terminfo/h/h19-g +/usr/share/ncurses4/terminfo/h/h19-smul +/usr/share/ncurses4/terminfo/h/h19-u +/usr/share/ncurses4/terminfo/h/h19-us +/usr/share/ncurses4/terminfo/h/h19a +/usr/share/ncurses4/terminfo/h/h19g +/usr/share/ncurses4/terminfo/h/h19k +/usr/share/ncurses4/terminfo/h/h19kermit +/usr/share/ncurses4/terminfo/h/h19us +/usr/share/ncurses4/terminfo/h/h29a-kc-bc +/usr/share/ncurses4/terminfo/h/h29a-kc-uc +/usr/share/ncurses4/terminfo/h/h29a-nkc-bc +/usr/share/ncurses4/terminfo/h/h29a-nkc-uc +/usr/share/ncurses4/terminfo/h/h80 +/usr/share/ncurses4/terminfo/h/ha8675 +/usr/share/ncurses4/terminfo/h/ha8686 +/usr/share/ncurses4/terminfo/h/hazel +/usr/share/ncurses4/terminfo/h/hds200 +/usr/share/ncurses4/terminfo/h/he80 +/usr/share/ncurses4/terminfo/h/heath +/usr/share/ncurses4/terminfo/h/heath-19 +/usr/share/ncurses4/terminfo/h/heath-ansi +/usr/share/ncurses4/terminfo/h/heathkit +/usr/share/ncurses4/terminfo/h/heathkit-a +/usr/share/ncurses4/terminfo/h/hft +/usr/share/ncurses4/terminfo/h/hft-c +/usr/share/ncurses4/terminfo/h/hirez100 +/usr/share/ncurses4/terminfo/h/hirez100-w +/usr/share/ncurses4/terminfo/h/hmod1 +/usr/share/ncurses4/terminfo/h/hp +/usr/share/ncurses4/terminfo/h/hp+arrows +/usr/share/ncurses4/terminfo/h/hp+color +/usr/share/ncurses4/terminfo/h/hp+labels +/usr/share/ncurses4/terminfo/h/hp+pfk+arrows +/usr/share/ncurses4/terminfo/h/hp+pfk+cr +/usr/share/ncurses4/terminfo/h/hp+pfk-cr +/usr/share/ncurses4/terminfo/h/hp+printer +/usr/share/ncurses4/terminfo/h/hp110 +/usr/share/ncurses4/terminfo/h/hp150 +/usr/share/ncurses4/terminfo/h/hp2 +/usr/share/ncurses4/terminfo/h/hp236 +/usr/share/ncurses4/terminfo/h/hp2382 +/usr/share/ncurses4/terminfo/h/hp2382a +/usr/share/ncurses4/terminfo/h/hp2392 +/usr/share/ncurses4/terminfo/h/hp2397 +/usr/share/ncurses4/terminfo/h/hp2397a +/usr/share/ncurses4/terminfo/h/hp2621 +/usr/share/ncurses4/terminfo/h/hp2621-48 +/usr/share/ncurses4/terminfo/h/hp2621-a +/usr/share/ncurses4/terminfo/h/hp2621-ba +/usr/share/ncurses4/terminfo/h/hp2621-fl +/usr/share/ncurses4/terminfo/h/hp2621-k45 +/usr/share/ncurses4/terminfo/h/hp2621-nl +/usr/share/ncurses4/terminfo/h/hp2621-nt +/usr/share/ncurses4/terminfo/h/hp2621-wl +/usr/share/ncurses4/terminfo/h/hp2621A +/usr/share/ncurses4/terminfo/h/hp2621a +/usr/share/ncurses4/terminfo/h/hp2621a-a +/usr/share/ncurses4/terminfo/h/hp2621b +/usr/share/ncurses4/terminfo/h/hp2621b-kx +/usr/share/ncurses4/terminfo/h/hp2621b-kx-p +/usr/share/ncurses4/terminfo/h/hp2621b-p +/usr/share/ncurses4/terminfo/h/hp2621k45 +/usr/share/ncurses4/terminfo/h/hp2621p +/usr/share/ncurses4/terminfo/h/hp2621p-a +/usr/share/ncurses4/terminfo/h/hp2622 +/usr/share/ncurses4/terminfo/h/hp2622a +/usr/share/ncurses4/terminfo/h/hp2623 +/usr/share/ncurses4/terminfo/h/hp2623a +/usr/share/ncurses4/terminfo/h/hp2624 +/usr/share/ncurses4/terminfo/h/hp2624-10p +/usr/share/ncurses4/terminfo/h/hp2624a +/usr/share/ncurses4/terminfo/h/hp2624a-10p +/usr/share/ncurses4/terminfo/h/hp2624b +/usr/share/ncurses4/terminfo/h/hp2624b-10p +/usr/share/ncurses4/terminfo/h/hp2624b-10p-p +/usr/share/ncurses4/terminfo/h/hp2624b-4p +/usr/share/ncurses4/terminfo/h/hp2624b-4p-p +/usr/share/ncurses4/terminfo/h/hp2624b-p +/usr/share/ncurses4/terminfo/h/hp2626 +/usr/share/ncurses4/terminfo/h/hp2626-12 +/usr/share/ncurses4/terminfo/h/hp2626-12-s +/usr/share/ncurses4/terminfo/h/hp2626-12x40 +/usr/share/ncurses4/terminfo/h/hp2626-ns +/usr/share/ncurses4/terminfo/h/hp2626-s +/usr/share/ncurses4/terminfo/h/hp2626-x40 +/usr/share/ncurses4/terminfo/h/hp2626a +/usr/share/ncurses4/terminfo/h/hp2626p +/usr/share/ncurses4/terminfo/h/hp2627a +/usr/share/ncurses4/terminfo/h/hp2627a-rev +/usr/share/ncurses4/terminfo/h/hp2627c +/usr/share/ncurses4/terminfo/h/hp262x +/usr/share/ncurses4/terminfo/h/hp2640a +/usr/share/ncurses4/terminfo/h/hp2640b +/usr/share/ncurses4/terminfo/h/hp2641a +/usr/share/ncurses4/terminfo/h/hp2644a +/usr/share/ncurses4/terminfo/h/hp2645 +/usr/share/ncurses4/terminfo/h/hp2645a +/usr/share/ncurses4/terminfo/h/hp2647a +/usr/share/ncurses4/terminfo/h/hp2648 +/usr/share/ncurses4/terminfo/h/hp2648a +/usr/share/ncurses4/terminfo/h/hp300h +/usr/share/ncurses4/terminfo/h/hp45 +/usr/share/ncurses4/terminfo/h/hp700 +/usr/share/ncurses4/terminfo/h/hp700-wy +/usr/share/ncurses4/terminfo/h/hp70092 +/usr/share/ncurses4/terminfo/h/hp70092A +/usr/share/ncurses4/terminfo/h/hp70092a +/usr/share/ncurses4/terminfo/h/hp9837 +/usr/share/ncurses4/terminfo/h/hp9845 +/usr/share/ncurses4/terminfo/h/hp98550 +/usr/share/ncurses4/terminfo/h/hp98550a +/usr/share/ncurses4/terminfo/h/hp98720 +/usr/share/ncurses4/terminfo/h/hp98721 +/usr/share/ncurses4/terminfo/h/hpansi +/usr/share/ncurses4/terminfo/h/hpex +/usr/share/ncurses4/terminfo/h/hpex2 +/usr/share/ncurses4/terminfo/h/hpgeneric +/usr/share/ncurses4/terminfo/h/hpsub +/usr/share/ncurses4/terminfo/h/hpterm +/usr/share/ncurses4/terminfo/h/htx11 +/usr/share/ncurses4/terminfo/h/hz1000 +/usr/share/ncurses4/terminfo/h/hz1420 +/usr/share/ncurses4/terminfo/h/hz1500 +/usr/share/ncurses4/terminfo/h/hz1510 +/usr/share/ncurses4/terminfo/h/hz1520 +/usr/share/ncurses4/terminfo/h/hz1520-noesc +/usr/share/ncurses4/terminfo/h/hz1552 +/usr/share/ncurses4/terminfo/h/hz1552-rv +/usr/share/ncurses4/terminfo/h/hz2000 +/usr/share/ncurses4/terminfo/i +/usr/share/ncurses4/terminfo/i/i100 +/usr/share/ncurses4/terminfo/i/i3101 +/usr/share/ncurses4/terminfo/i/i3151 +/usr/share/ncurses4/terminfo/i/i3164 +/usr/share/ncurses4/terminfo/i/i400 +/usr/share/ncurses4/terminfo/i/ibcs2 +/usr/share/ncurses4/terminfo/i/ibm-apl +/usr/share/ncurses4/terminfo/i/ibm-pc +/usr/share/ncurses4/terminfo/i/ibm-system1 +/usr/share/ncurses4/terminfo/i/ibm3101 +/usr/share/ncurses4/terminfo/i/ibm3151 +/usr/share/ncurses4/terminfo/i/ibm3161 +/usr/share/ncurses4/terminfo/i/ibm3163 +/usr/share/ncurses4/terminfo/i/ibm3164 +/usr/share/ncurses4/terminfo/i/ibm327x +/usr/share/ncurses4/terminfo/i/ibm5051 +/usr/share/ncurses4/terminfo/i/ibm5081 +/usr/share/ncurses4/terminfo/i/ibm5081-c +/usr/share/ncurses4/terminfo/i/ibm5151 +/usr/share/ncurses4/terminfo/i/ibm5154 +/usr/share/ncurses4/terminfo/i/ibm5154-c +/usr/share/ncurses4/terminfo/i/ibm6153 +/usr/share/ncurses4/terminfo/i/ibm6154 +/usr/share/ncurses4/terminfo/i/ibm6154-c +/usr/share/ncurses4/terminfo/i/ibm6155 +/usr/share/ncurses4/terminfo/i/ibm8512 +/usr/share/ncurses4/terminfo/i/ibm8513 +/usr/share/ncurses4/terminfo/i/ibm8514 +/usr/share/ncurses4/terminfo/i/ibm8514-c +/usr/share/ncurses4/terminfo/i/ibmaed +/usr/share/ncurses4/terminfo/i/ibmapa16 +/usr/share/ncurses4/terminfo/i/ibmapa8 +/usr/share/ncurses4/terminfo/i/ibmapa8c +/usr/share/ncurses4/terminfo/i/ibmapa8c-c +/usr/share/ncurses4/terminfo/i/ibmega +/usr/share/ncurses4/terminfo/i/ibmega-c +/usr/share/ncurses4/terminfo/i/ibmmono +/usr/share/ncurses4/terminfo/i/ibmmpel +/usr/share/ncurses4/terminfo/i/ibmmpel-c +/usr/share/ncurses4/terminfo/i/ibmpc +/usr/share/ncurses4/terminfo/i/ibmpc3 +/usr/share/ncurses4/terminfo/i/ibmpc3r +/usr/share/ncurses4/terminfo/i/ibmpc3r-mono +/usr/share/ncurses4/terminfo/i/ibmpcx +/usr/share/ncurses4/terminfo/i/ibmvga +/usr/share/ncurses4/terminfo/i/ibmvga-c +/usr/share/ncurses4/terminfo/i/ibmx +/usr/share/ncurses4/terminfo/i/ifmr +/usr/share/ncurses4/terminfo/i/ims-ansi +/usr/share/ncurses4/terminfo/i/ims950 +/usr/share/ncurses4/terminfo/i/ims950-b +/usr/share/ncurses4/terminfo/i/ims950-rv +/usr/share/ncurses4/terminfo/i/infoton +/usr/share/ncurses4/terminfo/i/intertec +/usr/share/ncurses4/terminfo/i/intertube +/usr/share/ncurses4/terminfo/i/intertube2 +/usr/share/ncurses4/terminfo/i/intext +/usr/share/ncurses4/terminfo/i/intext2 +/usr/share/ncurses4/terminfo/i/intextii +/usr/share/ncurses4/terminfo/i/ips +/usr/share/ncurses4/terminfo/i/ipsi +/usr/share/ncurses4/terminfo/i/iq120 +/usr/share/ncurses4/terminfo/i/iq140 +/usr/share/ncurses4/terminfo/i/iris-ansi +/usr/share/ncurses4/terminfo/i/iris-ansi-ap +/usr/share/ncurses4/terminfo/i/iris-color +/usr/share/ncurses4/terminfo/i/iris40 +/usr/share/ncurses4/terminfo/j +/usr/share/ncurses4/terminfo/j/jaixterm-m +/usr/share/ncurses4/terminfo/j/jerq +/usr/share/ncurses4/terminfo/k +/usr/share/ncurses4/terminfo/k/k45 +/usr/share/ncurses4/terminfo/k/kaypro +/usr/share/ncurses4/terminfo/k/kaypro2 +/usr/share/ncurses4/terminfo/k/kermit +/usr/share/ncurses4/terminfo/k/kermit-am +/usr/share/ncurses4/terminfo/k/klone+acs +/usr/share/ncurses4/terminfo/k/klone+color +/usr/share/ncurses4/terminfo/k/klone+koi8acs +/usr/share/ncurses4/terminfo/k/klone+sgr +/usr/share/ncurses4/terminfo/k/klone+sgr-dumb +/usr/share/ncurses4/terminfo/k/kt7 +/usr/share/ncurses4/terminfo/k/kt7ix +/usr/share/ncurses4/terminfo/k/kterm +/usr/share/ncurses4/terminfo/k/ktm +/usr/share/ncurses4/terminfo/l +/usr/share/ncurses4/terminfo/l/la120 +/usr/share/ncurses4/terminfo/l/layer +/usr/share/ncurses4/terminfo/l/linux +/usr/share/ncurses4/terminfo/l/linux-c +/usr/share/ncurses4/terminfo/l/linux-c-nc +/usr/share/ncurses4/terminfo/l/linux-koi8 +/usr/share/ncurses4/terminfo/l/linux-koi8r +/usr/share/ncurses4/terminfo/l/linux-m +/usr/share/ncurses4/terminfo/l/linux-nic +/usr/share/ncurses4/terminfo/l/lisa +/usr/share/ncurses4/terminfo/l/lisaterm +/usr/share/ncurses4/terminfo/l/lisaterm-w +/usr/share/ncurses4/terminfo/l/liswb +/usr/share/ncurses4/terminfo/l/ln03 +/usr/share/ncurses4/terminfo/l/ln03-w +/usr/share/ncurses4/terminfo/l/lpr +/usr/share/ncurses4/terminfo/l/luna +/usr/share/ncurses4/terminfo/l/luna68k +/usr/share/ncurses4/terminfo/m +/usr/share/ncurses4/terminfo/m/m2-nam +/usr/share/ncurses4/terminfo/m/mac +/usr/share/ncurses4/terminfo/m/mac-w +/usr/share/ncurses4/terminfo/m/macintosh +/usr/share/ncurses4/terminfo/m/macterminal-w +/usr/share/ncurses4/terminfo/m/mai +/usr/share/ncurses4/terminfo/m/masscomp +/usr/share/ncurses4/terminfo/m/masscomp1 +/usr/share/ncurses4/terminfo/m/masscomp2 +/usr/share/ncurses4/terminfo/m/mdl110 +/usr/share/ncurses4/terminfo/m/megatek +/usr/share/ncurses4/terminfo/m/memhp +/usr/share/ncurses4/terminfo/m/mgr +/usr/share/ncurses4/terminfo/m/mgr-linux +/usr/share/ncurses4/terminfo/m/mgr-sun +/usr/share/ncurses4/terminfo/m/microb +/usr/share/ncurses4/terminfo/m/microbee +/usr/share/ncurses4/terminfo/m/microterm +/usr/share/ncurses4/terminfo/m/microterm5 +/usr/share/ncurses4/terminfo/m/mime +/usr/share/ncurses4/terminfo/m/mime-3ax +/usr/share/ncurses4/terminfo/m/mime-fb +/usr/share/ncurses4/terminfo/m/mime-hb +/usr/share/ncurses4/terminfo/m/mime1 +/usr/share/ncurses4/terminfo/m/mime2 +/usr/share/ncurses4/terminfo/m/mime2a +/usr/share/ncurses4/terminfo/m/mime2a-s +/usr/share/ncurses4/terminfo/m/mime2a-v +/usr/share/ncurses4/terminfo/m/mime314 +/usr/share/ncurses4/terminfo/m/mime340 +/usr/share/ncurses4/terminfo/m/mime3a +/usr/share/ncurses4/terminfo/m/mime3ax +/usr/share/ncurses4/terminfo/m/mimei +/usr/share/ncurses4/terminfo/m/mimeii +/usr/share/ncurses4/terminfo/m/minitel +/usr/share/ncurses4/terminfo/m/minitel-2 +/usr/share/ncurses4/terminfo/m/minitel-2-nam +/usr/share/ncurses4/terminfo/m/minix +/usr/share/ncurses4/terminfo/m/minix-old +/usr/share/ncurses4/terminfo/m/minix-old-am +/usr/share/ncurses4/terminfo/m/mm314 +/usr/share/ncurses4/terminfo/m/mm340 +/usr/share/ncurses4/terminfo/m/mod +/usr/share/ncurses4/terminfo/m/mod24 +/usr/share/ncurses4/terminfo/m/modgraph +/usr/share/ncurses4/terminfo/m/modgraph2 +/usr/share/ncurses4/terminfo/m/modgraph48 +/usr/share/ncurses4/terminfo/m/mono-emx +/usr/share/ncurses4/terminfo/m/msk227 +/usr/share/ncurses4/terminfo/m/msk22714 +/usr/share/ncurses4/terminfo/m/msk227am +/usr/share/ncurses4/terminfo/m/mskermit227 +/usr/share/ncurses4/terminfo/m/mskermit22714 +/usr/share/ncurses4/terminfo/m/mskermit227am +/usr/share/ncurses4/terminfo/m/mt-70 +/usr/share/ncurses4/terminfo/m/mt4520-rv +/usr/share/ncurses4/terminfo/m/mt70 +/usr/share/ncurses4/terminfo/n +/usr/share/ncurses4/terminfo/n/nansi.sys +/usr/share/ncurses4/terminfo/n/nansi.sysk +/usr/share/ncurses4/terminfo/n/nansisys +/usr/share/ncurses4/terminfo/n/nansisysk +/usr/share/ncurses4/terminfo/n/ncr7900 +/usr/share/ncurses4/terminfo/n/ncr7900i +/usr/share/ncurses4/terminfo/n/ncr7900iv +/usr/share/ncurses4/terminfo/n/ncr7901 +/usr/share/ncurses4/terminfo/n/nec +/usr/share/ncurses4/terminfo/n/nec5520 +/usr/share/ncurses4/terminfo/n/newhp +/usr/share/ncurses4/terminfo/n/newhpkeyboard +/usr/share/ncurses4/terminfo/n/news +/usr/share/ncurses4/terminfo/n/news-29 +/usr/share/ncurses4/terminfo/n/news-29-euc +/usr/share/ncurses4/terminfo/n/news-29-sjis +/usr/share/ncurses4/terminfo/n/news-33 +/usr/share/ncurses4/terminfo/n/news-33-euc +/usr/share/ncurses4/terminfo/n/news-33-sjis +/usr/share/ncurses4/terminfo/n/news-42 +/usr/share/ncurses4/terminfo/n/news-42-euc +/usr/share/ncurses4/terminfo/n/news-42-sjis +/usr/share/ncurses4/terminfo/n/news-a +/usr/share/ncurses4/terminfo/n/news-o +/usr/share/ncurses4/terminfo/n/news-old-unk +/usr/share/ncurses4/terminfo/n/news-unk +/usr/share/ncurses4/terminfo/n/news28 +/usr/share/ncurses4/terminfo/n/news28-a +/usr/share/ncurses4/terminfo/n/news29 +/usr/share/ncurses4/terminfo/n/news31 +/usr/share/ncurses4/terminfo/n/news31-a +/usr/share/ncurses4/terminfo/n/news31-o +/usr/share/ncurses4/terminfo/n/news33 +/usr/share/ncurses4/terminfo/n/news40 +/usr/share/ncurses4/terminfo/n/news40-a +/usr/share/ncurses4/terminfo/n/news40-o +/usr/share/ncurses4/terminfo/n/news42 +/usr/share/ncurses4/terminfo/n/newscbm +/usr/share/ncurses4/terminfo/n/newscbm-a +/usr/share/ncurses4/terminfo/n/newscbm-o +/usr/share/ncurses4/terminfo/n/newscbm33 +/usr/share/ncurses4/terminfo/n/next +/usr/share/ncurses4/terminfo/n/nextshell +/usr/share/ncurses4/terminfo/n/northstar +/usr/share/ncurses4/terminfo/n/nwe501 +/usr/share/ncurses4/terminfo/n/nwe501-a +/usr/share/ncurses4/terminfo/n/nwe501-o +/usr/share/ncurses4/terminfo/n/nwp-511 +/usr/share/ncurses4/terminfo/n/nwp-517 +/usr/share/ncurses4/terminfo/n/nwp-517-w +/usr/share/ncurses4/terminfo/n/nwp251-a +/usr/share/ncurses4/terminfo/n/nwp251-o +/usr/share/ncurses4/terminfo/n/nwp511 +/usr/share/ncurses4/terminfo/n/nwp512 +/usr/share/ncurses4/terminfo/n/nwp512-a +/usr/share/ncurses4/terminfo/n/nwp512-o +/usr/share/ncurses4/terminfo/n/nwp513 +/usr/share/ncurses4/terminfo/n/nwp513-a +/usr/share/ncurses4/terminfo/n/nwp513-o +/usr/share/ncurses4/terminfo/n/nwp514 +/usr/share/ncurses4/terminfo/n/nwp514-a +/usr/share/ncurses4/terminfo/n/nwp514-o +/usr/share/ncurses4/terminfo/n/nwp517 +/usr/share/ncurses4/terminfo/n/nwp517-w +/usr/share/ncurses4/terminfo/n/nwp518 +/usr/share/ncurses4/terminfo/n/nwp518-a +/usr/share/ncurses4/terminfo/n/nwp518-o +/usr/share/ncurses4/terminfo/o +/usr/share/ncurses4/terminfo/o/o31 +/usr/share/ncurses4/terminfo/o/o4112-nd +/usr/share/ncurses4/terminfo/o/o85h +/usr/share/ncurses4/terminfo/o/oabm85h +/usr/share/ncurses4/terminfo/o/oblit +/usr/share/ncurses4/terminfo/o/oc100 +/usr/share/ncurses4/terminfo/o/oconcept +/usr/share/ncurses4/terminfo/o/ojerq +/usr/share/ncurses4/terminfo/o/oldibmpc3 +/usr/share/ncurses4/terminfo/o/oldpc3 +/usr/share/ncurses4/terminfo/o/oldsun +/usr/share/ncurses4/terminfo/o/omron +/usr/share/ncurses4/terminfo/o/opus3n1+ +/usr/share/ncurses4/terminfo/o/origibmpc3 +/usr/share/ncurses4/terminfo/o/origpc3 +/usr/share/ncurses4/terminfo/o/os9LII +/usr/share/ncurses4/terminfo/o/osborne +/usr/share/ncurses4/terminfo/o/osborne-w +/usr/share/ncurses4/terminfo/o/osborne1 +/usr/share/ncurses4/terminfo/o/osborne1-w +/usr/share/ncurses4/terminfo/o/osexec +/usr/share/ncurses4/terminfo/o/otek4112 +/usr/share/ncurses4/terminfo/o/otek4113 +/usr/share/ncurses4/terminfo/o/otek4114 +/usr/share/ncurses4/terminfo/o/otek4115 +/usr/share/ncurses4/terminfo/o/owl +/usr/share/ncurses4/terminfo/p +/usr/share/ncurses4/terminfo/p/p12 +/usr/share/ncurses4/terminfo/p/p12-m +/usr/share/ncurses4/terminfo/p/p12-m-w +/usr/share/ncurses4/terminfo/p/p12-w +/usr/share/ncurses4/terminfo/p/p14 +/usr/share/ncurses4/terminfo/p/p14-m +/usr/share/ncurses4/terminfo/p/p14-m-w +/usr/share/ncurses4/terminfo/p/p14-w +/usr/share/ncurses4/terminfo/p/p19 +/usr/share/ncurses4/terminfo/p/p4 +/usr/share/ncurses4/terminfo/p/p5 +/usr/share/ncurses4/terminfo/p/p7 +/usr/share/ncurses4/terminfo/p/p8 +/usr/share/ncurses4/terminfo/p/p8-w +/usr/share/ncurses4/terminfo/p/p8gl +/usr/share/ncurses4/terminfo/p/p9 +/usr/share/ncurses4/terminfo/p/p9-8 +/usr/share/ncurses4/terminfo/p/p9-8-w +/usr/share/ncurses4/terminfo/p/p9-w +/usr/share/ncurses4/terminfo/p/pc-coherent +/usr/share/ncurses4/terminfo/p/pc-minix +/usr/share/ncurses4/terminfo/p/pc-venix +/usr/share/ncurses4/terminfo/p/pc3 +/usr/share/ncurses4/terminfo/p/pc3-bold +/usr/share/ncurses4/terminfo/p/pc3r +/usr/share/ncurses4/terminfo/p/pc3r-m +/usr/share/ncurses4/terminfo/p/pc6300plus +/usr/share/ncurses4/terminfo/p/pc7300 +/usr/share/ncurses4/terminfo/p/pcansi +/usr/share/ncurses4/terminfo/p/pcansi-25 +/usr/share/ncurses4/terminfo/p/pcansi-25-m +/usr/share/ncurses4/terminfo/p/pcansi-33 +/usr/share/ncurses4/terminfo/p/pcansi-33-m +/usr/share/ncurses4/terminfo/p/pcansi-43 +/usr/share/ncurses4/terminfo/p/pcansi-43-m +/usr/share/ncurses4/terminfo/p/pcansi-m +/usr/share/ncurses4/terminfo/p/pcansi-mono +/usr/share/ncurses4/terminfo/p/pcansi25 +/usr/share/ncurses4/terminfo/p/pcansi25m +/usr/share/ncurses4/terminfo/p/pcansi33 +/usr/share/ncurses4/terminfo/p/pcansi33m +/usr/share/ncurses4/terminfo/p/pcansi43 +/usr/share/ncurses4/terminfo/p/pccons +/usr/share/ncurses4/terminfo/p/pcconsole +/usr/share/ncurses4/terminfo/p/pcix +/usr/share/ncurses4/terminfo/p/pckermit +/usr/share/ncurses4/terminfo/p/pckermit12 +/usr/share/ncurses4/terminfo/p/pckermit120 +/usr/share/ncurses4/terminfo/p/pcplot +/usr/share/ncurses4/terminfo/p/pcvt25 +/usr/share/ncurses4/terminfo/p/pcvt25w +/usr/share/ncurses4/terminfo/p/pcvt28 +/usr/share/ncurses4/terminfo/p/pcvt28w +/usr/share/ncurses4/terminfo/p/pcvt35 +/usr/share/ncurses4/terminfo/p/pcvt35w +/usr/share/ncurses4/terminfo/p/pcvt40 +/usr/share/ncurses4/terminfo/p/pcvt40w +/usr/share/ncurses4/terminfo/p/pcvt43 +/usr/share/ncurses4/terminfo/p/pcvt43w +/usr/share/ncurses4/terminfo/p/pcvt50 +/usr/share/ncurses4/terminfo/p/pcvt50w +/usr/share/ncurses4/terminfo/p/pcvtXX +/usr/share/ncurses4/terminfo/p/pcz19 +/usr/share/ncurses4/terminfo/p/pe1100 +/usr/share/ncurses4/terminfo/p/pe1200 +/usr/share/ncurses4/terminfo/p/pe1251 +/usr/share/ncurses4/terminfo/p/pe550 +/usr/share/ncurses4/terminfo/p/pe6100 +/usr/share/ncurses4/terminfo/p/pe6300 +/usr/share/ncurses4/terminfo/p/pe6312 +/usr/share/ncurses4/terminfo/p/pe7000c +/usr/share/ncurses4/terminfo/p/pe7000m +/usr/share/ncurses4/terminfo/p/pilot +/usr/share/ncurses4/terminfo/p/printer +/usr/share/ncurses4/terminfo/p/prism12 +/usr/share/ncurses4/terminfo/p/prism12-m +/usr/share/ncurses4/terminfo/p/prism12-m-w +/usr/share/ncurses4/terminfo/p/prism12-w +/usr/share/ncurses4/terminfo/p/prism14 +/usr/share/ncurses4/terminfo/p/prism14-m +/usr/share/ncurses4/terminfo/p/prism14-m-w +/usr/share/ncurses4/terminfo/p/prism14-w +/usr/share/ncurses4/terminfo/p/prism2 +/usr/share/ncurses4/terminfo/p/prism4 +/usr/share/ncurses4/terminfo/p/prism5 +/usr/share/ncurses4/terminfo/p/prism7 +/usr/share/ncurses4/terminfo/p/prism8 +/usr/share/ncurses4/terminfo/p/prism8-w +/usr/share/ncurses4/terminfo/p/prism8gl +/usr/share/ncurses4/terminfo/p/prism9 +/usr/share/ncurses4/terminfo/p/prism9-8 +/usr/share/ncurses4/terminfo/p/prism9-8-w +/usr/share/ncurses4/terminfo/p/prism9-w +/usr/share/ncurses4/terminfo/p/pro350 +/usr/share/ncurses4/terminfo/p/ps300 +/usr/share/ncurses4/terminfo/p/psterm +/usr/share/ncurses4/terminfo/p/psterm-80x24 +/usr/share/ncurses4/terminfo/p/psterm-90x28 +/usr/share/ncurses4/terminfo/p/psterm-96x48 +/usr/share/ncurses4/terminfo/p/psterm-basic +/usr/share/ncurses4/terminfo/p/psterm-fast +/usr/share/ncurses4/terminfo/p/psx_ansi +/usr/share/ncurses4/terminfo/p/pt100 +/usr/share/ncurses4/terminfo/p/pt100w +/usr/share/ncurses4/terminfo/p/pt200 +/usr/share/ncurses4/terminfo/p/pt200w +/usr/share/ncurses4/terminfo/p/pt210 +/usr/share/ncurses4/terminfo/p/pt250 +/usr/share/ncurses4/terminfo/p/pt250w +/usr/share/ncurses4/terminfo/p/pt505 +/usr/share/ncurses4/terminfo/p/pt505-22 +/usr/share/ncurses4/terminfo/p/pt505-24 +/usr/share/ncurses4/terminfo/p/pty +/usr/share/ncurses4/terminfo/q +/usr/share/ncurses4/terminfo/q/qdcons +/usr/share/ncurses4/terminfo/q/qdss +/usr/share/ncurses4/terminfo/q/qnx +/usr/share/ncurses4/terminfo/q/qnx4 +/usr/share/ncurses4/terminfo/q/qume +/usr/share/ncurses4/terminfo/q/qume5 +/usr/share/ncurses4/terminfo/q/qvt101 +/usr/share/ncurses4/terminfo/q/qvt101+ +/usr/share/ncurses4/terminfo/q/qvt101p +/usr/share/ncurses4/terminfo/q/qvt102 +/usr/share/ncurses4/terminfo/q/qvt103 +/usr/share/ncurses4/terminfo/q/qvt103-w +/usr/share/ncurses4/terminfo/q/qvt108 +/usr/share/ncurses4/terminfo/q/qvt119 +/usr/share/ncurses4/terminfo/q/qvt119+ +/usr/share/ncurses4/terminfo/q/qvt119+-25 +/usr/share/ncurses4/terminfo/q/qvt119+-25-w +/usr/share/ncurses4/terminfo/q/qvt119+-w +/usr/share/ncurses4/terminfo/q/qvt119-25-w +/usr/share/ncurses4/terminfo/q/qvt119-w +/usr/share/ncurses4/terminfo/q/qvt119p +/usr/share/ncurses4/terminfo/q/qvt119p-25 +/usr/share/ncurses4/terminfo/q/qvt119p-25-w +/usr/share/ncurses4/terminfo/q/qvt119p-w +/usr/share/ncurses4/terminfo/q/qvt203 +/usr/share/ncurses4/terminfo/q/qvt203+ +/usr/share/ncurses4/terminfo/q/qvt203-25 +/usr/share/ncurses4/terminfo/q/qvt203-25-w +/usr/share/ncurses4/terminfo/q/qvt203-w +/usr/share/ncurses4/terminfo/q/qvt203-w-am +/usr/share/ncurses4/terminfo/r +/usr/share/ncurses4/terminfo/r/rbcomm +/usr/share/ncurses4/terminfo/r/rbcomm-nam +/usr/share/ncurses4/terminfo/r/rbcomm-w +/usr/share/ncurses4/terminfo/r/rca +/usr/share/ncurses4/terminfo/r/rebus3180 +/usr/share/ncurses4/terminfo/r/regent +/usr/share/ncurses4/terminfo/r/regent100 +/usr/share/ncurses4/terminfo/r/regent20 +/usr/share/ncurses4/terminfo/r/regent200 +/usr/share/ncurses4/terminfo/r/regent25 +/usr/share/ncurses4/terminfo/r/regent40 +/usr/share/ncurses4/terminfo/r/regent40+ +/usr/share/ncurses4/terminfo/r/regent60 +/usr/share/ncurses4/terminfo/r/rt6221 +/usr/share/ncurses4/terminfo/r/rt6221-w +/usr/share/ncurses4/terminfo/r/rtpc +/usr/share/ncurses4/terminfo/r/rxvt +/usr/share/ncurses4/terminfo/r/rxvt-basic +/usr/share/ncurses4/terminfo/s +/usr/share/ncurses4/terminfo/s/s +/usr/share/ncurses4/terminfo/s/s4 +/usr/share/ncurses4/terminfo/s/sb1 +/usr/share/ncurses4/terminfo/s/sb2 +/usr/share/ncurses4/terminfo/s/sb3 +/usr/share/ncurses4/terminfo/s/sbi +/usr/share/ncurses4/terminfo/s/sbobcat +/usr/share/ncurses4/terminfo/s/sc410 +/usr/share/ncurses4/terminfo/s/sc415 +/usr/share/ncurses4/terminfo/s/scanset +/usr/share/ncurses4/terminfo/s/scoansi +/usr/share/ncurses4/terminfo/s/screen +/usr/share/ncurses4/terminfo/s/screen-w +/usr/share/ncurses4/terminfo/s/screen2 +/usr/share/ncurses4/terminfo/s/screen3 +/usr/share/ncurses4/terminfo/s/screwpoint +/usr/share/ncurses4/terminfo/s/scrhp +/usr/share/ncurses4/terminfo/s/simterm +/usr/share/ncurses4/terminfo/s/soroc +/usr/share/ncurses4/terminfo/s/soroc120 +/usr/share/ncurses4/terminfo/s/soroc140 +/usr/share/ncurses4/terminfo/s/spinwriter +/usr/share/ncurses4/terminfo/s/st52 +/usr/share/ncurses4/terminfo/s/sun +/usr/share/ncurses4/terminfo/s/sun-1 +/usr/share/ncurses4/terminfo/s/sun-12 +/usr/share/ncurses4/terminfo/s/sun-17 +/usr/share/ncurses4/terminfo/s/sun-24 +/usr/share/ncurses4/terminfo/s/sun-34 +/usr/share/ncurses4/terminfo/s/sun-48 +/usr/share/ncurses4/terminfo/s/sun-c +/usr/share/ncurses4/terminfo/s/sun-cmd +/usr/share/ncurses4/terminfo/s/sun-e +/usr/share/ncurses4/terminfo/s/sun-e-s +/usr/share/ncurses4/terminfo/s/sun-il +/usr/share/ncurses4/terminfo/s/sun-nic +/usr/share/ncurses4/terminfo/s/sun-s +/usr/share/ncurses4/terminfo/s/sun-s-e +/usr/share/ncurses4/terminfo/s/sun-ss5 +/usr/share/ncurses4/terminfo/s/sun1 +/usr/share/ncurses4/terminfo/s/sun2 +/usr/share/ncurses4/terminfo/s/sune +/usr/share/ncurses4/terminfo/s/superbee +/usr/share/ncurses4/terminfo/s/superbee-xsb +/usr/share/ncurses4/terminfo/s/superbeeic +/usr/share/ncurses4/terminfo/s/superbrain +/usr/share/ncurses4/terminfo/s/sv80 +/usr/share/ncurses4/terminfo/s/swtp +/usr/share/ncurses4/terminfo/s/synertek +/usr/share/ncurses4/terminfo/s/synertek380 +/usr/share/ncurses4/terminfo/s/system1 +/usr/share/ncurses4/terminfo/t +/usr/share/ncurses4/terminfo/t/t10 +/usr/share/ncurses4/terminfo/t/t1061 +/usr/share/ncurses4/terminfo/t/t1061f +/usr/share/ncurses4/terminfo/t/t16 +/usr/share/ncurses4/terminfo/t/t3700 +/usr/share/ncurses4/terminfo/t/t3800 +/usr/share/ncurses4/terminfo/t/t653x +/usr/share/ncurses4/terminfo/t/tab +/usr/share/ncurses4/terminfo/t/tab132 +/usr/share/ncurses4/terminfo/t/tab132-15 +/usr/share/ncurses4/terminfo/t/tab132-rv +/usr/share/ncurses4/terminfo/t/tab132-w +/usr/share/ncurses4/terminfo/t/tab132-w-rv +/usr/share/ncurses4/terminfo/t/tandem6510 +/usr/share/ncurses4/terminfo/t/tandem653 +/usr/share/ncurses4/terminfo/t/tek +/usr/share/ncurses4/terminfo/t/tek4012 +/usr/share/ncurses4/terminfo/t/tek4013 +/usr/share/ncurses4/terminfo/t/tek4014 +/usr/share/ncurses4/terminfo/t/tek4014-sm +/usr/share/ncurses4/terminfo/t/tek4015 +/usr/share/ncurses4/terminfo/t/tek4015-sm +/usr/share/ncurses4/terminfo/t/tek4023 +/usr/share/ncurses4/terminfo/t/tek4024 +/usr/share/ncurses4/terminfo/t/tek4025 +/usr/share/ncurses4/terminfo/t/tek4025-17 +/usr/share/ncurses4/terminfo/t/tek4025-17-ws +/usr/share/ncurses4/terminfo/t/tek4025-cr +/usr/share/ncurses4/terminfo/t/tek4025-ex +/usr/share/ncurses4/terminfo/t/tek4025a +/usr/share/ncurses4/terminfo/t/tek4025ex +/usr/share/ncurses4/terminfo/t/tek4027 +/usr/share/ncurses4/terminfo/t/tek4027-ex +/usr/share/ncurses4/terminfo/t/tek4105 +/usr/share/ncurses4/terminfo/t/tek4105-30 +/usr/share/ncurses4/terminfo/t/tek4105a +/usr/share/ncurses4/terminfo/t/tek4106brl +/usr/share/ncurses4/terminfo/t/tek4107 +/usr/share/ncurses4/terminfo/t/tek4107brl +/usr/share/ncurses4/terminfo/t/tek4109 +/usr/share/ncurses4/terminfo/t/tek4109brl +/usr/share/ncurses4/terminfo/t/tek4112 +/usr/share/ncurses4/terminfo/t/tek4112-5 +/usr/share/ncurses4/terminfo/t/tek4112-nd +/usr/share/ncurses4/terminfo/t/tek4113 +/usr/share/ncurses4/terminfo/t/tek4113-34 +/usr/share/ncurses4/terminfo/t/tek4113-nd +/usr/share/ncurses4/terminfo/t/tek4114 +/usr/share/ncurses4/terminfo/t/tek4115 +/usr/share/ncurses4/terminfo/t/tek4125 +/usr/share/ncurses4/terminfo/t/tek4205 +/usr/share/ncurses4/terminfo/t/tek4207 +/usr/share/ncurses4/terminfo/t/tek4207-s +/usr/share/ncurses4/terminfo/t/tek4404 +/usr/share/ncurses4/terminfo/t/teleray +/usr/share/ncurses4/terminfo/t/teletec +/usr/share/ncurses4/terminfo/t/terminet +/usr/share/ncurses4/terminfo/t/terminet1200 +/usr/share/ncurses4/terminfo/t/terminet300 +/usr/share/ncurses4/terminfo/t/tgtelnet +/usr/share/ncurses4/terminfo/t/ti700 +/usr/share/ncurses4/terminfo/t/ti733 +/usr/share/ncurses4/terminfo/t/ti735 +/usr/share/ncurses4/terminfo/t/ti745 +/usr/share/ncurses4/terminfo/t/ti800 +/usr/share/ncurses4/terminfo/t/ti916 +/usr/share/ncurses4/terminfo/t/ti916-132 +/usr/share/ncurses4/terminfo/t/ti916-220-7 +/usr/share/ncurses4/terminfo/t/ti916-220-8 +/usr/share/ncurses4/terminfo/t/ti916-8 +/usr/share/ncurses4/terminfo/t/ti916-8-132 +/usr/share/ncurses4/terminfo/t/ti924 +/usr/share/ncurses4/terminfo/t/ti924-8 +/usr/share/ncurses4/terminfo/t/ti924-8w +/usr/share/ncurses4/terminfo/t/ti924w +/usr/share/ncurses4/terminfo/t/ti926 +/usr/share/ncurses4/terminfo/t/ti926-8 +/usr/share/ncurses4/terminfo/t/ti928 +/usr/share/ncurses4/terminfo/t/ti928-8 +/usr/share/ncurses4/terminfo/t/ti931 +/usr/share/ncurses4/terminfo/t/ti_ansi +/usr/share/ncurses4/terminfo/t/tn1200 +/usr/share/ncurses4/terminfo/t/tn300 +/usr/share/ncurses4/terminfo/t/trs16 +/usr/share/ncurses4/terminfo/t/trs2 +/usr/share/ncurses4/terminfo/t/trs80II +/usr/share/ncurses4/terminfo/t/trsII +/usr/share/ncurses4/terminfo/t/ts-1 +/usr/share/ncurses4/terminfo/t/ts-1p +/usr/share/ncurses4/terminfo/t/ts1 +/usr/share/ncurses4/terminfo/t/ts100 +/usr/share/ncurses4/terminfo/t/ts100-ctxt +/usr/share/ncurses4/terminfo/t/ts100-sp +/usr/share/ncurses4/terminfo/t/ts1p +/usr/share/ncurses4/terminfo/t/tt505-22 +/usr/share/ncurses4/terminfo/t/tty33 +/usr/share/ncurses4/terminfo/t/tty35 +/usr/share/ncurses4/terminfo/t/tty37 +/usr/share/ncurses4/terminfo/t/tty40 +/usr/share/ncurses4/terminfo/t/tty43 +/usr/share/ncurses4/terminfo/t/tty4420 +/usr/share/ncurses4/terminfo/t/tty4424 +/usr/share/ncurses4/terminfo/t/tty4424-1 +/usr/share/ncurses4/terminfo/t/tty4424m +/usr/share/ncurses4/terminfo/t/tty4426 +/usr/share/ncurses4/terminfo/t/tty5410 +/usr/share/ncurses4/terminfo/t/tty5410-w +/usr/share/ncurses4/terminfo/t/tty5410v1 +/usr/share/ncurses4/terminfo/t/tty5410v1-w +/usr/share/ncurses4/terminfo/t/tty5420 +/usr/share/ncurses4/terminfo/t/tty5420+nl +/usr/share/ncurses4/terminfo/t/tty5420-nl +/usr/share/ncurses4/terminfo/t/tty5420-rv +/usr/share/ncurses4/terminfo/t/tty5420-rv-nl +/usr/share/ncurses4/terminfo/t/tty5420-w +/usr/share/ncurses4/terminfo/t/tty5420-w-nl +/usr/share/ncurses4/terminfo/t/tty5420-w-rv +/usr/share/ncurses4/terminfo/t/tty5420-w-rv-n +/usr/share/ncurses4/terminfo/t/tty5425 +/usr/share/ncurses4/terminfo/t/tty5425-nl +/usr/share/ncurses4/terminfo/t/tty5425-w +/usr/share/ncurses4/terminfo/t/tty5620 +/usr/share/ncurses4/terminfo/t/tty5620-1 +/usr/share/ncurses4/terminfo/t/tty5620-24 +/usr/share/ncurses4/terminfo/t/tty5620-34 +/usr/share/ncurses4/terminfo/t/tty5620-s +/usr/share/ncurses4/terminfo/t/ttydmd +/usr/share/ncurses4/terminfo/t/tvi-2p +/usr/share/ncurses4/terminfo/t/tvi803 +/usr/share/ncurses4/terminfo/t/tvi9065 +/usr/share/ncurses4/terminfo/t/tvi910 +/usr/share/ncurses4/terminfo/t/tvi910+ +/usr/share/ncurses4/terminfo/t/tvi912 +/usr/share/ncurses4/terminfo/t/tvi912-2p +/usr/share/ncurses4/terminfo/t/tvi912b +/usr/share/ncurses4/terminfo/t/tvi912c +/usr/share/ncurses4/terminfo/t/tvi912cc +/usr/share/ncurses4/terminfo/t/tvi914 +/usr/share/ncurses4/terminfo/t/tvi920 +/usr/share/ncurses4/terminfo/t/tvi920-2p +/usr/share/ncurses4/terminfo/t/tvi920b +/usr/share/ncurses4/terminfo/t/tvi920c +/usr/share/ncurses4/terminfo/t/tvi921 +/usr/share/ncurses4/terminfo/t/tvi924 +/usr/share/ncurses4/terminfo/t/tvi925 +/usr/share/ncurses4/terminfo/t/tvi925-hi +/usr/share/ncurses4/terminfo/t/tvi92B +/usr/share/ncurses4/terminfo/t/tvi92D +/usr/share/ncurses4/terminfo/t/tvi950 +/usr/share/ncurses4/terminfo/t/tvi950-2p +/usr/share/ncurses4/terminfo/t/tvi950-4p +/usr/share/ncurses4/terminfo/t/tvi950-rv +/usr/share/ncurses4/terminfo/t/tvi950-rv-2p +/usr/share/ncurses4/terminfo/t/tvi950-rv-4p +/usr/share/ncurses4/terminfo/t/tvi955 +/usr/share/ncurses4/terminfo/t/tvi955-hb +/usr/share/ncurses4/terminfo/t/tvi955-w +/usr/share/ncurses4/terminfo/t/tvi970 +/usr/share/ncurses4/terminfo/t/tvi970-2p +/usr/share/ncurses4/terminfo/t/tvi970-vb +/usr/share/ncurses4/terminfo/t/tvipt +/usr/share/ncurses4/terminfo/u +/usr/share/ncurses4/terminfo/u/ultima2 +/usr/share/ncurses4/terminfo/u/ultimaII +/usr/share/ncurses4/terminfo/u/uniterm +/usr/share/ncurses4/terminfo/u/uniterm49 +/usr/share/ncurses4/terminfo/u/unixpc +/usr/share/ncurses4/terminfo/u/unknown +/usr/share/ncurses4/terminfo/u/uts30 +/usr/share/ncurses4/terminfo/v +/usr/share/ncurses4/terminfo/v/v200-nam +/usr/share/ncurses4/terminfo/v/v320n +/usr/share/ncurses4/terminfo/v/v3220 +/usr/share/ncurses4/terminfo/v/v5410 +/usr/share/ncurses4/terminfo/v/vapple +/usr/share/ncurses4/terminfo/v/vc103 +/usr/share/ncurses4/terminfo/v/vc203 +/usr/share/ncurses4/terminfo/v/vc303 +/usr/share/ncurses4/terminfo/v/vc303a +/usr/share/ncurses4/terminfo/v/vc403a +/usr/share/ncurses4/terminfo/v/vc404 +/usr/share/ncurses4/terminfo/v/vc404-s +/usr/share/ncurses4/terminfo/v/vc414 +/usr/share/ncurses4/terminfo/v/vc414h +/usr/share/ncurses4/terminfo/v/vc415 +/usr/share/ncurses4/terminfo/v/venix +/usr/share/ncurses4/terminfo/v/versaterm +/usr/share/ncurses4/terminfo/v/vi200 +/usr/share/ncurses4/terminfo/v/vi200-f +/usr/share/ncurses4/terminfo/v/vi200-rv +/usr/share/ncurses4/terminfo/v/vi300 +/usr/share/ncurses4/terminfo/v/vi300-old +/usr/share/ncurses4/terminfo/v/vi50 +/usr/share/ncurses4/terminfo/v/vi500 +/usr/share/ncurses4/terminfo/v/vi50adm +/usr/share/ncurses4/terminfo/v/vi55 +/usr/share/ncurses4/terminfo/v/vi550 +/usr/share/ncurses4/terminfo/v/vi603 +/usr/share/ncurses4/terminfo/v/viewpoint +/usr/share/ncurses4/terminfo/v/viewpoint3a+ +/usr/share/ncurses4/terminfo/v/viewpoint60 +/usr/share/ncurses4/terminfo/v/viewpoint90 +/usr/share/ncurses4/terminfo/v/visa50 +/usr/share/ncurses4/terminfo/v/visual603 +/usr/share/ncurses4/terminfo/v/vitty +/usr/share/ncurses4/terminfo/v/vk100 +/usr/share/ncurses4/terminfo/v/vp3a+ +/usr/share/ncurses4/terminfo/v/vp60 +/usr/share/ncurses4/terminfo/v/vp90 +/usr/share/ncurses4/terminfo/v/vremote +/usr/share/ncurses4/terminfo/v/vs100 +/usr/share/ncurses4/terminfo/v/vs100-x10 +/usr/share/ncurses4/terminfo/v/vsc +/usr/share/ncurses4/terminfo/v/vt-61 +/usr/share/ncurses4/terminfo/v/vt100 +/usr/share/ncurses4/terminfo/v/vt100-am +/usr/share/ncurses4/terminfo/v/vt100-bm +/usr/share/ncurses4/terminfo/v/vt100-bm-o +/usr/share/ncurses4/terminfo/v/vt100-bot-s +/usr/share/ncurses4/terminfo/v/vt100-nam +/usr/share/ncurses4/terminfo/v/vt100-nam-w +/usr/share/ncurses4/terminfo/v/vt100-nav +/usr/share/ncurses4/terminfo/v/vt100-nav-w +/usr/share/ncurses4/terminfo/v/vt100-s +/usr/share/ncurses4/terminfo/v/vt100-s-bot +/usr/share/ncurses4/terminfo/v/vt100-s-top +/usr/share/ncurses4/terminfo/v/vt100-top-s +/usr/share/ncurses4/terminfo/v/vt100-vb +/usr/share/ncurses4/terminfo/v/vt100-w +/usr/share/ncurses4/terminfo/v/vt100-w-am +/usr/share/ncurses4/terminfo/v/vt100-w-nam +/usr/share/ncurses4/terminfo/v/vt100-w-nav +/usr/share/ncurses4/terminfo/v/vt100nam +/usr/share/ncurses4/terminfo/v/vt102 +/usr/share/ncurses4/terminfo/v/vt102-nsgr +/usr/share/ncurses4/terminfo/v/vt102-w +/usr/share/ncurses4/terminfo/v/vt125 +/usr/share/ncurses4/terminfo/v/vt131 +/usr/share/ncurses4/terminfo/v/vt132 +/usr/share/ncurses4/terminfo/v/vt200 +/usr/share/ncurses4/terminfo/v/vt200-js +/usr/share/ncurses4/terminfo/v/vt200-w +/usr/share/ncurses4/terminfo/v/vt220 +/usr/share/ncurses4/terminfo/v/vt220-8 +/usr/share/ncurses4/terminfo/v/vt220-js +/usr/share/ncurses4/terminfo/v/vt220-nam +/usr/share/ncurses4/terminfo/v/vt220-w +/usr/share/ncurses4/terminfo/v/vt220d +/usr/share/ncurses4/terminfo/v/vt300 +/usr/share/ncurses4/terminfo/v/vt300-nam +/usr/share/ncurses4/terminfo/v/vt300-w +/usr/share/ncurses4/terminfo/v/vt300-w-nam +/usr/share/ncurses4/terminfo/v/vt320 +/usr/share/ncurses4/terminfo/v/vt320-k3 +/usr/share/ncurses4/terminfo/v/vt320-k311 +/usr/share/ncurses4/terminfo/v/vt320-nam +/usr/share/ncurses4/terminfo/v/vt320-w +/usr/share/ncurses4/terminfo/v/vt320-w-nam +/usr/share/ncurses4/terminfo/v/vt320nam +/usr/share/ncurses4/terminfo/v/vt330 +/usr/share/ncurses4/terminfo/v/vt340 +/usr/share/ncurses4/terminfo/v/vt400 +/usr/share/ncurses4/terminfo/v/vt400-24 +/usr/share/ncurses4/terminfo/v/vt420 +/usr/share/ncurses4/terminfo/v/vt420f +/usr/share/ncurses4/terminfo/v/vt420pc +/usr/share/ncurses4/terminfo/v/vt420pcdos +/usr/share/ncurses4/terminfo/v/vt50 +/usr/share/ncurses4/terminfo/v/vt50h +/usr/share/ncurses4/terminfo/v/vt510 +/usr/share/ncurses4/terminfo/v/vt510pc +/usr/share/ncurses4/terminfo/v/vt510pcdos +/usr/share/ncurses4/terminfo/v/vt52 +/usr/share/ncurses4/terminfo/v/vt520 +/usr/share/ncurses4/terminfo/v/vt525 +/usr/share/ncurses4/terminfo/v/vt61 +/usr/share/ncurses4/terminfo/v/vt61.5 +/usr/share/ncurses4/terminfo/w +/usr/share/ncurses4/terminfo/w/wren +/usr/share/ncurses4/terminfo/w/wrenw +/usr/share/ncurses4/terminfo/w/wsiris +/usr/share/ncurses4/terminfo/w/wy-75ap +/usr/share/ncurses4/terminfo/w/wy100 +/usr/share/ncurses4/terminfo/w/wy100q +/usr/share/ncurses4/terminfo/w/wy120 +/usr/share/ncurses4/terminfo/w/wy120-25 +/usr/share/ncurses4/terminfo/w/wy120-25-w +/usr/share/ncurses4/terminfo/w/wy120-vb +/usr/share/ncurses4/terminfo/w/wy120-w +/usr/share/ncurses4/terminfo/w/wy120-w-vb +/usr/share/ncurses4/terminfo/w/wy120-wvb +/usr/share/ncurses4/terminfo/w/wy150 +/usr/share/ncurses4/terminfo/w/wy150-25 +/usr/share/ncurses4/terminfo/w/wy150-25-w +/usr/share/ncurses4/terminfo/w/wy150-vb +/usr/share/ncurses4/terminfo/w/wy150-w +/usr/share/ncurses4/terminfo/w/wy150-w-vb +/usr/share/ncurses4/terminfo/w/wy160 +/usr/share/ncurses4/terminfo/w/wy160-25 +/usr/share/ncurses4/terminfo/w/wy160-25-w +/usr/share/ncurses4/terminfo/w/wy160-42 +/usr/share/ncurses4/terminfo/w/wy160-42-w +/usr/share/ncurses4/terminfo/w/wy160-43 +/usr/share/ncurses4/terminfo/w/wy160-43-w +/usr/share/ncurses4/terminfo/w/wy160-tek +/usr/share/ncurses4/terminfo/w/wy160-vb +/usr/share/ncurses4/terminfo/w/wy160-w +/usr/share/ncurses4/terminfo/w/wy160-w-vb +/usr/share/ncurses4/terminfo/w/wy160-wvb +/usr/share/ncurses4/terminfo/w/wy185 +/usr/share/ncurses4/terminfo/w/wy185-24 +/usr/share/ncurses4/terminfo/w/wy185-vb +/usr/share/ncurses4/terminfo/w/wy185-w +/usr/share/ncurses4/terminfo/w/wy185-wvb +/usr/share/ncurses4/terminfo/w/wy30 +/usr/share/ncurses4/terminfo/w/wy30-mc +/usr/share/ncurses4/terminfo/w/wy30-vb +/usr/share/ncurses4/terminfo/w/wy325 +/usr/share/ncurses4/terminfo/w/wy325-25 +/usr/share/ncurses4/terminfo/w/wy325-25w +/usr/share/ncurses4/terminfo/w/wy325-42 +/usr/share/ncurses4/terminfo/w/wy325-42w +/usr/share/ncurses4/terminfo/w/wy325-42w-vb +/usr/share/ncurses4/terminfo/w/wy325-42wvb +/usr/share/ncurses4/terminfo/w/wy325-43 +/usr/share/ncurses4/terminfo/w/wy325-43w +/usr/share/ncurses4/terminfo/w/wy325-43w-vb +/usr/share/ncurses4/terminfo/w/wy325-43wvb +/usr/share/ncurses4/terminfo/w/wy325-80 +/usr/share/ncurses4/terminfo/w/wy325-vb +/usr/share/ncurses4/terminfo/w/wy325-w +/usr/share/ncurses4/terminfo/w/wy325-w-vb +/usr/share/ncurses4/terminfo/w/wy325-wvb +/usr/share/ncurses4/terminfo/w/wy325w-24 +/usr/share/ncurses4/terminfo/w/wy350 +/usr/share/ncurses4/terminfo/w/wy350-vb +/usr/share/ncurses4/terminfo/w/wy350-w +/usr/share/ncurses4/terminfo/w/wy350-wvb +/usr/share/ncurses4/terminfo/w/wy370 +/usr/share/ncurses4/terminfo/w/wy370-101k +/usr/share/ncurses4/terminfo/w/wy370-105k +/usr/share/ncurses4/terminfo/w/wy370-EPC +/usr/share/ncurses4/terminfo/w/wy370-nk +/usr/share/ncurses4/terminfo/w/wy370-rv +/usr/share/ncurses4/terminfo/w/wy370-tek +/usr/share/ncurses4/terminfo/w/wy370-vb +/usr/share/ncurses4/terminfo/w/wy370-w +/usr/share/ncurses4/terminfo/w/wy370-wvb +/usr/share/ncurses4/terminfo/w/wy50 +/usr/share/ncurses4/terminfo/w/wy50-mc +/usr/share/ncurses4/terminfo/w/wy50-vb +/usr/share/ncurses4/terminfo/w/wy50-w +/usr/share/ncurses4/terminfo/w/wy50-wvb +/usr/share/ncurses4/terminfo/w/wy520 +/usr/share/ncurses4/terminfo/w/wy520-24 +/usr/share/ncurses4/terminfo/w/wy520-36 +/usr/share/ncurses4/terminfo/w/wy520-36pc +/usr/share/ncurses4/terminfo/w/wy520-36w +/usr/share/ncurses4/terminfo/w/wy520-36wpc +/usr/share/ncurses4/terminfo/w/wy520-48 +/usr/share/ncurses4/terminfo/w/wy520-48pc +/usr/share/ncurses4/terminfo/w/wy520-48w +/usr/share/ncurses4/terminfo/w/wy520-48wpc +/usr/share/ncurses4/terminfo/w/wy520-epc +/usr/share/ncurses4/terminfo/w/wy520-epc-24 +/usr/share/ncurses4/terminfo/w/wy520-epc-vb +/usr/share/ncurses4/terminfo/w/wy520-epc-w +/usr/share/ncurses4/terminfo/w/wy520-epc-wvb +/usr/share/ncurses4/terminfo/w/wy520-vb +/usr/share/ncurses4/terminfo/w/wy520-w +/usr/share/ncurses4/terminfo/w/wy520-wvb +/usr/share/ncurses4/terminfo/w/wy60 +/usr/share/ncurses4/terminfo/w/wy60-25 +/usr/share/ncurses4/terminfo/w/wy60-25-w +/usr/share/ncurses4/terminfo/w/wy60-316X +/usr/share/ncurses4/terminfo/w/wy60-42 +/usr/share/ncurses4/terminfo/w/wy60-42-w +/usr/share/ncurses4/terminfo/w/wy60-43 +/usr/share/ncurses4/terminfo/w/wy60-43-w +/usr/share/ncurses4/terminfo/w/wy60-vb +/usr/share/ncurses4/terminfo/w/wy60-w +/usr/share/ncurses4/terminfo/w/wy60-w-vb +/usr/share/ncurses4/terminfo/w/wy60-wvb +/usr/share/ncurses4/terminfo/w/wy75 +/usr/share/ncurses4/terminfo/w/wy75-mc +/usr/share/ncurses4/terminfo/w/wy75-vb +/usr/share/ncurses4/terminfo/w/wy75-w +/usr/share/ncurses4/terminfo/w/wy75-wvb +/usr/share/ncurses4/terminfo/w/wy75ap +/usr/share/ncurses4/terminfo/w/wy85 +/usr/share/ncurses4/terminfo/w/wy85-vb +/usr/share/ncurses4/terminfo/w/wy85-w +/usr/share/ncurses4/terminfo/w/wy85-wvb +/usr/share/ncurses4/terminfo/w/wy99gt +/usr/share/ncurses4/terminfo/w/wy99gt-25 +/usr/share/ncurses4/terminfo/w/wy99gt-25-w +/usr/share/ncurses4/terminfo/w/wy99gt-tek +/usr/share/ncurses4/terminfo/w/wy99gt-vb +/usr/share/ncurses4/terminfo/w/wy99gt-w +/usr/share/ncurses4/terminfo/w/wy99gt-w-vb +/usr/share/ncurses4/terminfo/w/wy99gt-wvb +/usr/share/ncurses4/terminfo/w/wyse-325 +/usr/share/ncurses4/terminfo/w/wyse-75ap +/usr/share/ncurses4/terminfo/w/wyse-vp +/usr/share/ncurses4/terminfo/w/wyse120 +/usr/share/ncurses4/terminfo/w/wyse120-25 +/usr/share/ncurses4/terminfo/w/wyse120-25-w +/usr/share/ncurses4/terminfo/w/wyse120-vb +/usr/share/ncurses4/terminfo/w/wyse120-w +/usr/share/ncurses4/terminfo/w/wyse120-wvb +/usr/share/ncurses4/terminfo/w/wyse150 +/usr/share/ncurses4/terminfo/w/wyse150-25 +/usr/share/ncurses4/terminfo/w/wyse150-25-w +/usr/share/ncurses4/terminfo/w/wyse150-vb +/usr/share/ncurses4/terminfo/w/wyse150-w +/usr/share/ncurses4/terminfo/w/wyse150-w-vb +/usr/share/ncurses4/terminfo/w/wyse160 +/usr/share/ncurses4/terminfo/w/wyse160-25 +/usr/share/ncurses4/terminfo/w/wyse160-25-w +/usr/share/ncurses4/terminfo/w/wyse160-42 +/usr/share/ncurses4/terminfo/w/wyse160-42-w +/usr/share/ncurses4/terminfo/w/wyse160-43 +/usr/share/ncurses4/terminfo/w/wyse160-43-w +/usr/share/ncurses4/terminfo/w/wyse160-vb +/usr/share/ncurses4/terminfo/w/wyse160-w +/usr/share/ncurses4/terminfo/w/wyse160-wvb +/usr/share/ncurses4/terminfo/w/wyse185 +/usr/share/ncurses4/terminfo/w/wyse185-24 +/usr/share/ncurses4/terminfo/w/wyse185-vb +/usr/share/ncurses4/terminfo/w/wyse185-w +/usr/share/ncurses4/terminfo/w/wyse185-wvb +/usr/share/ncurses4/terminfo/w/wyse30 +/usr/share/ncurses4/terminfo/w/wyse30-mc +/usr/share/ncurses4/terminfo/w/wyse30-vb +/usr/share/ncurses4/terminfo/w/wyse325 +/usr/share/ncurses4/terminfo/w/wyse325-25 +/usr/share/ncurses4/terminfo/w/wyse325-25w +/usr/share/ncurses4/terminfo/w/wyse325-42 +/usr/share/ncurses4/terminfo/w/wyse325-42w +/usr/share/ncurses4/terminfo/w/wyse325-43 +/usr/share/ncurses4/terminfo/w/wyse325-43w +/usr/share/ncurses4/terminfo/w/wyse325-vb +/usr/share/ncurses4/terminfo/w/wyse325-w +/usr/share/ncurses4/terminfo/w/wyse325-wvb +/usr/share/ncurses4/terminfo/w/wyse350 +/usr/share/ncurses4/terminfo/w/wyse350-vb +/usr/share/ncurses4/terminfo/w/wyse350-w +/usr/share/ncurses4/terminfo/w/wyse350-wvb +/usr/share/ncurses4/terminfo/w/wyse370 +/usr/share/ncurses4/terminfo/w/wyse50 +/usr/share/ncurses4/terminfo/w/wyse50-mc +/usr/share/ncurses4/terminfo/w/wyse50-vb +/usr/share/ncurses4/terminfo/w/wyse50-w +/usr/share/ncurses4/terminfo/w/wyse50-wvb +/usr/share/ncurses4/terminfo/w/wyse520 +/usr/share/ncurses4/terminfo/w/wyse520-24 +/usr/share/ncurses4/terminfo/w/wyse520-36 +/usr/share/ncurses4/terminfo/w/wyse520-36pc +/usr/share/ncurses4/terminfo/w/wyse520-36w +/usr/share/ncurses4/terminfo/w/wyse520-36wpc +/usr/share/ncurses4/terminfo/w/wyse520-48 +/usr/share/ncurses4/terminfo/w/wyse520-48pc +/usr/share/ncurses4/terminfo/w/wyse520-48w +/usr/share/ncurses4/terminfo/w/wyse520-48wpc +/usr/share/ncurses4/terminfo/w/wyse520-epc +/usr/share/ncurses4/terminfo/w/wyse520-epc-w +/usr/share/ncurses4/terminfo/w/wyse520-p-wvb +/usr/share/ncurses4/terminfo/w/wyse520-pc-24 +/usr/share/ncurses4/terminfo/w/wyse520-pc-vb +/usr/share/ncurses4/terminfo/w/wyse520-vb +/usr/share/ncurses4/terminfo/w/wyse520-w +/usr/share/ncurses4/terminfo/w/wyse520-wvb +/usr/share/ncurses4/terminfo/w/wyse60 +/usr/share/ncurses4/terminfo/w/wyse60-25 +/usr/share/ncurses4/terminfo/w/wyse60-25-w +/usr/share/ncurses4/terminfo/w/wyse60-316X +/usr/share/ncurses4/terminfo/w/wyse60-42 +/usr/share/ncurses4/terminfo/w/wyse60-42-w +/usr/share/ncurses4/terminfo/w/wyse60-43 +/usr/share/ncurses4/terminfo/w/wyse60-43-w +/usr/share/ncurses4/terminfo/w/wyse60-vb +/usr/share/ncurses4/terminfo/w/wyse60-w +/usr/share/ncurses4/terminfo/w/wyse60-wvb +/usr/share/ncurses4/terminfo/w/wyse75 +/usr/share/ncurses4/terminfo/w/wyse75-mc +/usr/share/ncurses4/terminfo/w/wyse75-vb +/usr/share/ncurses4/terminfo/w/wyse75-w +/usr/share/ncurses4/terminfo/w/wyse75-wvb +/usr/share/ncurses4/terminfo/w/wyse75ap +/usr/share/ncurses4/terminfo/w/wyse85 +/usr/share/ncurses4/terminfo/w/wyse85-vb +/usr/share/ncurses4/terminfo/w/wyse85-w +/usr/share/ncurses4/terminfo/w/wyse85-wvb +/usr/share/ncurses4/terminfo/w/wyse99gt +/usr/share/ncurses4/terminfo/w/wyse99gt-25 +/usr/share/ncurses4/terminfo/w/wyse99gt-25-w +/usr/share/ncurses4/terminfo/w/wyse99gt-vb +/usr/share/ncurses4/terminfo/w/wyse99gt-w +/usr/share/ncurses4/terminfo/w/wyse99gt-wvb +/usr/share/ncurses4/terminfo/x +/usr/share/ncurses4/terminfo/x/x10term +/usr/share/ncurses4/terminfo/x/x1700 +/usr/share/ncurses4/terminfo/x/x1700-lm +/usr/share/ncurses4/terminfo/x/x1720 +/usr/share/ncurses4/terminfo/x/x1750 +/usr/share/ncurses4/terminfo/x/x68k +/usr/share/ncurses4/terminfo/x/x68k-ite +/usr/share/ncurses4/terminfo/x/x820 +/usr/share/ncurses4/terminfo/x/xenix +/usr/share/ncurses4/terminfo/x/xerox +/usr/share/ncurses4/terminfo/x/xerox-lm +/usr/share/ncurses4/terminfo/x/xerox1720 +/usr/share/ncurses4/terminfo/x/xerox820 +/usr/share/ncurses4/terminfo/x/xl83 +/usr/share/ncurses4/terminfo/x/xtalk +/usr/share/ncurses4/terminfo/x/xterm +/usr/share/ncurses4/terminfo/x/xterm+sl +/usr/share/ncurses4/terminfo/x/xterm+sl-twm +/usr/share/ncurses4/terminfo/x/xterm-16color +/usr/share/ncurses4/terminfo/x/xterm-8bit +/usr/share/ncurses4/terminfo/x/xterm-bold +/usr/share/ncurses4/terminfo/x/xterm-nic +/usr/share/ncurses4/terminfo/x/xterm-old +/usr/share/ncurses4/terminfo/x/xterm-pcolor +/usr/share/ncurses4/terminfo/x/xterm-r5 +/usr/share/ncurses4/terminfo/x/xterm-r6 +/usr/share/ncurses4/terminfo/x/xterm-sun +/usr/share/ncurses4/terminfo/x/xterm-xf86-v32 +/usr/share/ncurses4/terminfo/x/xterm-xf86-v33 +/usr/share/ncurses4/terminfo/x/xterm-xf86-v40 +/usr/share/ncurses4/terminfo/x/xterm-xi +/usr/share/ncurses4/terminfo/x/xterm1 +/usr/share/ncurses4/terminfo/x/xterms +/usr/share/ncurses4/terminfo/x/xterms-sun +/usr/share/ncurses4/terminfo/x/xwsh +/usr/share/ncurses4/terminfo/z +/usr/share/ncurses4/terminfo/z/z-100 +/usr/share/ncurses4/terminfo/z/z-100bw +/usr/share/ncurses4/terminfo/z/z100 +/usr/share/ncurses4/terminfo/z/z100bw +/usr/share/ncurses4/terminfo/z/z110 +/usr/share/ncurses4/terminfo/z/z110bw +/usr/share/ncurses4/terminfo/z/z19 +/usr/share/ncurses4/terminfo/z/z29 +/usr/share/ncurses4/terminfo/z/z29a +/usr/share/ncurses4/terminfo/z/z29a-kc-bc +/usr/share/ncurses4/terminfo/z/z29a-kc-uc +/usr/share/ncurses4/terminfo/z/z29a-nkc-bc +/usr/share/ncurses4/terminfo/z/z29a-nkc-uc +/usr/share/ncurses4/terminfo/z/z29b +/usr/share/ncurses4/terminfo/z/z30 +/usr/share/ncurses4/terminfo/z/z340 +/usr/share/ncurses4/terminfo/z/z340-nam +/usr/share/ncurses4/terminfo/z/z39-a +/usr/share/ncurses4/terminfo/z/z39a +/usr/share/ncurses4/terminfo/z/z50 +/usr/share/ncurses4/terminfo/z/z8001 +/usr/share/ncurses4/terminfo/z/zen30 +/usr/share/ncurses4/terminfo/z/zen50 +/usr/share/ncurses4/terminfo/z/zen8001 +/usr/share/ncurses4/terminfo/z/zenith +/usr/share/ncurses4/terminfo/z/zenith29 +/usr/share/ncurses4/terminfo/z/zenith39-a +/usr/share/ncurses4/terminfo/z/zenith39-ansi +/usr/share/ncurses4/terminfo/z/zt-1 +/usr/share/ncurses4/terminfo/z/ztx +/usr/share/ncurses4/terminfo/z/ztx-1-a +/usr/share/ncurses4/terminfo/z/ztx11 + +2 15 RPM:Files 0 0 +2 14 #text 0 1 + +1 15 RDF:Description 0 0 +1 14 #text 0 1 + +0 15 RDF:RDF 0 0 diff --git a/result/rdf2.rdr b/result/rdf2.rdr new file mode 100644 index 0000000..15e5e97 --- /dev/null +++ b/result/rdf2.rdr @@ -0,0 +1,2008 @@ +0 1 RDF:RDF 0 0 +1 14 #text 0 1 + +1 1 RDF:Description 0 0 +2 14 #text 0 1 + +2 1 RPM:Name 0 0 +3 3 #text 0 1 ncurses4 +2 15 RPM:Name 0 0 +2 14 #text 0 1 + +2 1 RPM:Version 0 0 +3 3 #text 0 1 4.2 +2 15 RPM:Version 0 0 +2 14 #text 0 1 + +2 1 RPM:Release 0 0 +3 3 #text 0 1 3 +2 15 RPM:Release 0 0 +2 14 #text 0 1 + +2 1 RPM:Arch 0 0 +3 3 #text 0 1 i386 +2 15 RPM:Arch 0 0 +2 14 #text 0 1 + +2 1 RPM:Os 0 0 +3 3 #text 0 1 Linux +2 15 RPM:Os 0 0 +2 14 #text 0 1 + +2 1 RPM:Distribution 0 0 +3 3 #text 0 1 DLD +2 15 RPM:Distribution 0 0 +2 14 #text 0 1 + +2 1 RPM:Vendor 0 0 +3 3 #text 0 1 delix Computer GmbH +2 15 RPM:Vendor 0 0 +2 14 #text 0 1 + +2 1 RPM:Packager 0 0 +3 3 #text 0 1 Till Bubeck , Ngo Than +2 15 RPM:Packager 0 0 +2 14 #text 0 1 + +2 1 RPM:Group 0 0 +3 3 #text 0 1 Libraries +2 15 RPM:Group 0 0 +2 14 #text 0 1 + +2 1 RPM:Summary 0 0 +3 3 #text 0 1 Bibliothek zur Ansteuerung von Terminals +2 15 RPM:Summary 0 0 +2 14 #text 0 1 + +2 1 RPM:Description 0 0 +3 3 #text 0 1 Diese Library stellt dem Programmierer vom Terminal unabhängige +Routinen zur Ansteuerung Ihres Bildschirms zur Verfügung, die +speziell optimiert sind. +Diese Version ist die 'new curses' (ncurses) Variante und ist der +anerkannte Ersatz für die klassische Curses-Library, die nicht mehr +weiterentwickelt wird. +2 15 RPM:Description 0 0 +2 14 #text 0 1 + +2 1 RPM:Copyright 0 0 +3 3 #text 0 1 GPL +2 15 RPM:Copyright 0 0 +2 14 #text 0 1 + +2 1 RPM:Sources 0 0 +3 3 #text 0 1 ncurses4-4.2-3.src.rpm +2 15 RPM:Sources 0 0 +2 14 #text 0 1 + +2 1 RPM:BuildDate 0 0 +3 3 #text 0 1 Tue May 12 19:30:26 1998 +2 15 RPM:BuildDate 0 0 +2 14 #text 0 1 + +2 1 RPM:Date 0 0 +3 3 #text 0 1 895015826 +2 15 RPM:Date 0 0 +2 14 #text 0 1 + +2 1 RPM:Size 0 0 +3 3 #text 0 1 1373513 +2 15 RPM:Size 0 0 +2 14 #text 0 1 + +2 1 RPM:BuildHost 0 0 +3 3 #text 0 1 erdbeere.delix.de +2 15 RPM:BuildHost 0 0 +2 14 #text 0 1 + +2 1 RPM:Provides 0 0 +3 14 #text 0 1 + +3 1 RDF:Bag 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 ncurses4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libpanel.so.4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libncurses.so.4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libmenu.so.4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 libform.so.4 +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +4 1 RPM:Resource 0 0 +5 3 #text 0 1 ncurses +4 15 RPM:Resource 0 0 +4 14 #text 0 1 + +3 15 RDF:Bag 0 0 +3 14 #text 0 1 + +2 15 RPM:Provides 0 0 +2 14 #text 0 1 + +2 1 RPM:Files 0 0 +3 3 #text 0 1 /lib/libncurses.so.4 +/lib/libncurses.so.4.2 +/usr/doc/ncurses4-4.2-3 +/usr/doc/ncurses4-4.2-3/ANNOUNCE.gz +/usr/doc/ncurses4-4.2-3/NEWS.gz +/usr/doc/ncurses4-4.2-3/README.gz +/usr/doc/ncurses4-4.2-3/TO-DO.gz +/usr/lib/libform.so.4 +/usr/lib/libform.so.4.2 +/usr/lib/libmenu.so.4 +/usr/lib/libmenu.so.4.2 +/usr/lib/libpanel.so.4 +/usr/lib/libpanel.so.4.2 +/usr/share/ncurses4 +/usr/share/ncurses4/tabset +/usr/share/ncurses4/tabset/std +/usr/share/ncurses4/tabset/stdcrt +/usr/share/ncurses4/tabset/vt100 +/usr/share/ncurses4/tabset/vt300 +/usr/share/ncurses4/terminfo +/usr/share/ncurses4/terminfo/1 +/usr/share/ncurses4/terminfo/1/1178 +/usr/share/ncurses4/terminfo/1/1730-lm +/usr/share/ncurses4/terminfo/2 +/usr/share/ncurses4/terminfo/2/2621 +/usr/share/ncurses4/terminfo/2/2621-wl +/usr/share/ncurses4/terminfo/2/2621A +/usr/share/ncurses4/terminfo/2/2621a +/usr/share/ncurses4/terminfo/3 +/usr/share/ncurses4/terminfo/3/386at +/usr/share/ncurses4/terminfo/3/3b1 +/usr/share/ncurses4/terminfo/4 +/usr/share/ncurses4/terminfo/4/4025ex +/usr/share/ncurses4/terminfo/4/4027ex +/usr/share/ncurses4/terminfo/4/4410-w +/usr/share/ncurses4/terminfo/5 +/usr/share/ncurses4/terminfo/5/5051 +/usr/share/ncurses4/terminfo/5/5410-w +/usr/share/ncurses4/terminfo/5/5620 +/usr/share/ncurses4/terminfo/5/5630-24 +/usr/share/ncurses4/terminfo/5/5630DMD-24 +/usr/share/ncurses4/terminfo/6 +/usr/share/ncurses4/terminfo/6/630-lm +/usr/share/ncurses4/terminfo/6/630MTG-24 +/usr/share/ncurses4/terminfo/7 +/usr/share/ncurses4/terminfo/7/730MTG-24 +/usr/share/ncurses4/terminfo/7/730MTG-41 +/usr/share/ncurses4/terminfo/7/730MTG-41r +/usr/share/ncurses4/terminfo/7/730MTGr +/usr/share/ncurses4/terminfo/7/730MTGr-24 +/usr/share/ncurses4/terminfo/8 +/usr/share/ncurses4/terminfo/8/8510 +/usr/share/ncurses4/terminfo/9 +/usr/share/ncurses4/terminfo/9/955-hb +/usr/share/ncurses4/terminfo/9/955-w +/usr/share/ncurses4/terminfo/P +/usr/share/ncurses4/terminfo/P/P12 +/usr/share/ncurses4/terminfo/P/P12-M +/usr/share/ncurses4/terminfo/P/P12-M-W +/usr/share/ncurses4/terminfo/P/P12-W +/usr/share/ncurses4/terminfo/P/P14 +/usr/share/ncurses4/terminfo/P/P14-M +/usr/share/ncurses4/terminfo/P/P14-M-W +/usr/share/ncurses4/terminfo/P/P14-W +/usr/share/ncurses4/terminfo/P/P4 +/usr/share/ncurses4/terminfo/P/P5 +/usr/share/ncurses4/terminfo/P/P7 +/usr/share/ncurses4/terminfo/P/P8 +/usr/share/ncurses4/terminfo/P/P8-W +/usr/share/ncurses4/terminfo/P/P9 +/usr/share/ncurses4/terminfo/P/P9-8 +/usr/share/ncurses4/terminfo/P/P9-8-W +/usr/share/ncurses4/terminfo/P/P9-W +/usr/share/ncurses4/terminfo/X +/usr/share/ncurses4/terminfo/X/X-hpterm +/usr/share/ncurses4/terminfo/a +/usr/share/ncurses4/terminfo/a/a210 +/usr/share/ncurses4/terminfo/a/a80 +/usr/share/ncurses4/terminfo/a/a980 +/usr/share/ncurses4/terminfo/a/aa4080 +/usr/share/ncurses4/terminfo/a/aaa +/usr/share/ncurses4/terminfo/a/aaa+dec +/usr/share/ncurses4/terminfo/a/aaa+rv +/usr/share/ncurses4/terminfo/a/aaa+unk +/usr/share/ncurses4/terminfo/a/aaa-18 +/usr/share/ncurses4/terminfo/a/aaa-18-rv +/usr/share/ncurses4/terminfo/a/aaa-20 +/usr/share/ncurses4/terminfo/a/aaa-22 +/usr/share/ncurses4/terminfo/a/aaa-24 +/usr/share/ncurses4/terminfo/a/aaa-24-rv +/usr/share/ncurses4/terminfo/a/aaa-26 +/usr/share/ncurses4/terminfo/a/aaa-28 +/usr/share/ncurses4/terminfo/a/aaa-30 +/usr/share/ncurses4/terminfo/a/aaa-30-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-rv +/usr/share/ncurses4/terminfo/a/aaa-30-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-s +/usr/share/ncurses4/terminfo/a/aaa-30-s-ctxt +/usr/share/ncurses4/terminfo/a/aaa-30-s-rv +/usr/share/ncurses4/terminfo/a/aaa-30-s-rv-ct +/usr/share/ncurses4/terminfo/a/aaa-36 +/usr/share/ncurses4/terminfo/a/aaa-36-rv +/usr/share/ncurses4/terminfo/a/aaa-40 +/usr/share/ncurses4/terminfo/a/aaa-40-rv +/usr/share/ncurses4/terminfo/a/aaa-48 +/usr/share/ncurses4/terminfo/a/aaa-48-rv +/usr/share/ncurses4/terminfo/a/aaa-60 +/usr/share/ncurses4/terminfo/a/aaa-60-dec-rv +/usr/share/ncurses4/terminfo/a/aaa-60-rv +/usr/share/ncurses4/terminfo/a/aaa-60-s +/usr/share/ncurses4/terminfo/a/aaa-60-s-rv +/usr/share/ncurses4/terminfo/a/aaa-ctxt +/usr/share/ncurses4/terminfo/a/aaa-db +/usr/share/ncurses4/terminfo/a/aaa-rv +/usr/share/ncurses4/terminfo/a/aaa-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-rv-unk +/usr/share/ncurses4/terminfo/a/aaa-s +/usr/share/ncurses4/terminfo/a/aaa-s-ctxt +/usr/share/ncurses4/terminfo/a/aaa-s-rv +/usr/share/ncurses4/terminfo/a/aaa-s-rv-ctxt +/usr/share/ncurses4/terminfo/a/aaa-unk +/usr/share/ncurses4/terminfo/a/aas1901 +/usr/share/ncurses4/terminfo/a/abm80 +/usr/share/ncurses4/terminfo/a/abm85 +/usr/share/ncurses4/terminfo/a/abm85e +/usr/share/ncurses4/terminfo/a/abm85h +/usr/share/ncurses4/terminfo/a/abm85h-old +/usr/share/ncurses4/terminfo/a/act4 +/usr/share/ncurses4/terminfo/a/act5 +/usr/share/ncurses4/terminfo/a/addrinfo +/usr/share/ncurses4/terminfo/a/adds980 +/usr/share/ncurses4/terminfo/a/addsviewpoint +/usr/share/ncurses4/terminfo/a/addsvp60 +/usr/share/ncurses4/terminfo/a/adm+sgr +/usr/share/ncurses4/terminfo/a/adm1 +/usr/share/ncurses4/terminfo/a/adm11 +/usr/share/ncurses4/terminfo/a/adm1178 +/usr/share/ncurses4/terminfo/a/adm12 +/usr/share/ncurses4/terminfo/a/adm1a +/usr/share/ncurses4/terminfo/a/adm2 +/usr/share/ncurses4/terminfo/a/adm20 +/usr/share/ncurses4/terminfo/a/adm21 +/usr/share/ncurses4/terminfo/a/adm22 +/usr/share/ncurses4/terminfo/a/adm3 +/usr/share/ncurses4/terminfo/a/adm31 +/usr/share/ncurses4/terminfo/a/adm31-old +/usr/share/ncurses4/terminfo/a/adm36 +/usr/share/ncurses4/terminfo/a/adm3a +/usr/share/ncurses4/terminfo/a/adm3a+ +/usr/share/ncurses4/terminfo/a/adm42 +/usr/share/ncurses4/terminfo/a/adm42-ns +/usr/share/ncurses4/terminfo/a/adm5 +/usr/share/ncurses4/terminfo/a/aepro +/usr/share/ncurses4/terminfo/a/aixterm-m +/usr/share/ncurses4/terminfo/a/aixterm-m-old +/usr/share/ncurses4/terminfo/a/aj +/usr/share/ncurses4/terminfo/a/aj510 +/usr/share/ncurses4/terminfo/a/aj830 +/usr/share/ncurses4/terminfo/a/aj832 +/usr/share/ncurses4/terminfo/a/alt2 +/usr/share/ncurses4/terminfo/a/alt3 +/usr/share/ncurses4/terminfo/a/alt4 +/usr/share/ncurses4/terminfo/a/alt5 +/usr/share/ncurses4/terminfo/a/alt7 +/usr/share/ncurses4/terminfo/a/alt7pc +/usr/share/ncurses4/terminfo/a/alto-h19 +/usr/share/ncurses4/terminfo/a/alto-heath +/usr/share/ncurses4/terminfo/a/altoh19 +/usr/share/ncurses4/terminfo/a/altoheath +/usr/share/ncurses4/terminfo/a/altos-2 +/usr/share/ncurses4/terminfo/a/altos-3 +/usr/share/ncurses4/terminfo/a/altos-4 +/usr/share/ncurses4/terminfo/a/altos-5 +/usr/share/ncurses4/terminfo/a/altos2 +/usr/share/ncurses4/terminfo/a/altos3 +/usr/share/ncurses4/terminfo/a/altos4 +/usr/share/ncurses4/terminfo/a/altos5 +/usr/share/ncurses4/terminfo/a/altos7 +/usr/share/ncurses4/terminfo/a/altos7pc +/usr/share/ncurses4/terminfo/a/ambas +/usr/share/ncurses4/terminfo/a/ambassador +/usr/share/ncurses4/terminfo/a/amiga +/usr/share/ncurses4/terminfo/a/amiga-h +/usr/share/ncurses4/terminfo/a/amp219 +/usr/share/ncurses4/terminfo/a/amp219w +/usr/share/ncurses4/terminfo/a/ampex-219 +/usr/share/ncurses4/terminfo/a/ampex-219w +/usr/share/ncurses4/terminfo/a/ampex-232 +/usr/share/ncurses4/terminfo/a/ampex175 +/usr/share/ncurses4/terminfo/a/ampex175-b +/usr/share/ncurses4/terminfo/a/ampex210 +/usr/share/ncurses4/terminfo/a/ampex219 +/usr/share/ncurses4/terminfo/a/ampex219w +/usr/share/ncurses4/terminfo/a/ampex232 +/usr/share/ncurses4/terminfo/a/ampex232w +/usr/share/ncurses4/terminfo/a/ampex80 +/usr/share/ncurses4/terminfo/a/annarbor4080 +/usr/share/ncurses4/terminfo/a/ansi +/usr/share/ncurses4/terminfo/a/ansi-color-2-emx +/usr/share/ncurses4/terminfo/a/ansi-color-3-emx +/usr/share/ncurses4/terminfo/a/ansi-emx +/usr/share/ncurses4/terminfo/a/ansi-m +/usr/share/ncurses4/terminfo/a/ansi-mini +/usr/share/ncurses4/terminfo/a/ansi-mono +/usr/share/ncurses4/terminfo/a/ansi-nt +/usr/share/ncurses4/terminfo/a/ansi.sys +/usr/share/ncurses4/terminfo/a/ansi.sys-old +/usr/share/ncurses4/terminfo/a/ansi.sysk +/usr/share/ncurses4/terminfo/a/ansi43m +/usr/share/ncurses4/terminfo/a/ansi77 +/usr/share/ncurses4/terminfo/a/ansi80x25 +/usr/share/ncurses4/terminfo/a/ansi80x25-mono +/usr/share/ncurses4/terminfo/a/ansi80x25-raw +/usr/share/ncurses4/terminfo/a/ansi80x30 +/usr/share/ncurses4/terminfo/a/ansi80x30-mono +/usr/share/ncurses4/terminfo/a/ansi80x43 +/usr/share/ncurses4/terminfo/a/ansi80x43-mono +/usr/share/ncurses4/terminfo/a/ansi80x50 +/usr/share/ncurses4/terminfo/a/ansi80x50-mono +/usr/share/ncurses4/terminfo/a/ansi80x60 +/usr/share/ncurses4/terminfo/a/ansi80x60-mono +/usr/share/ncurses4/terminfo/a/ansil +/usr/share/ncurses4/terminfo/a/ansil-mono +/usr/share/ncurses4/terminfo/a/ansis +/usr/share/ncurses4/terminfo/a/ansis-mono +/usr/share/ncurses4/terminfo/a/ansisysk +/usr/share/ncurses4/terminfo/a/ansiw +/usr/share/ncurses4/terminfo/a/ap-vm80 +/usr/share/ncurses4/terminfo/a/apl +/usr/share/ncurses4/terminfo/a/apollo +/usr/share/ncurses4/terminfo/a/apollo_15P +/usr/share/ncurses4/terminfo/a/apollo_19L +/usr/share/ncurses4/terminfo/a/apollo_color +/usr/share/ncurses4/terminfo/a/apple-80 +/usr/share/ncurses4/terminfo/a/apple-ae +/usr/share/ncurses4/terminfo/a/apple-soroc +/usr/share/ncurses4/terminfo/a/apple-uterm +/usr/share/ncurses4/terminfo/a/apple-uterm-vb +/usr/share/ncurses4/terminfo/a/apple-videx +/usr/share/ncurses4/terminfo/a/apple-videx2 +/usr/share/ncurses4/terminfo/a/apple-videx3 +/usr/share/ncurses4/terminfo/a/apple-vm80 +/usr/share/ncurses4/terminfo/a/apple2e +/usr/share/ncurses4/terminfo/a/apple2e-p +/usr/share/ncurses4/terminfo/a/apple80p +/usr/share/ncurses4/terminfo/a/appleII +/usr/share/ncurses4/terminfo/a/appleIIc +/usr/share/ncurses4/terminfo/a/appleIIe +/usr/share/ncurses4/terminfo/a/appleIIgs +/usr/share/ncurses4/terminfo/a/at386 +/usr/share/ncurses4/terminfo/a/atari +/usr/share/ncurses4/terminfo/a/att2300 +/usr/share/ncurses4/terminfo/a/att2350 +/usr/share/ncurses4/terminfo/a/att4410 +/usr/share/ncurses4/terminfo/a/att4410-w +/usr/share/ncurses4/terminfo/a/att4410v1 +/usr/share/ncurses4/terminfo/a/att4410v1-w +/usr/share/ncurses4/terminfo/a/att4415 +/usr/share/ncurses4/terminfo/a/att4415+nl +/usr/share/ncurses4/terminfo/a/att4415-nl +/usr/share/ncurses4/terminfo/a/att4415-rv +/usr/share/ncurses4/terminfo/a/att4415-rv-nl +/usr/share/ncurses4/terminfo/a/att4415-w +/usr/share/ncurses4/terminfo/a/att4415-w-nl +/usr/share/ncurses4/terminfo/a/att4415-w-rv +/usr/share/ncurses4/terminfo/a/att4415-w-rv-n +/usr/share/ncurses4/terminfo/a/att4418 +/usr/share/ncurses4/terminfo/a/att4418-w +/usr/share/ncurses4/terminfo/a/att4420 +/usr/share/ncurses4/terminfo/a/att4424 +/usr/share/ncurses4/terminfo/a/att4424-1 +/usr/share/ncurses4/terminfo/a/att4424m +/usr/share/ncurses4/terminfo/a/att4425 +/usr/share/ncurses4/terminfo/a/att4425-nl +/usr/share/ncurses4/terminfo/a/att4425-w +/usr/share/ncurses4/terminfo/a/att4426 +/usr/share/ncurses4/terminfo/a/att500 +/usr/share/ncurses4/terminfo/a/att505 +/usr/share/ncurses4/terminfo/a/att505-24 +/usr/share/ncurses4/terminfo/a/att510a +/usr/share/ncurses4/terminfo/a/att510d +/usr/share/ncurses4/terminfo/a/att513 +/usr/share/ncurses4/terminfo/a/att5310 +/usr/share/ncurses4/terminfo/a/att5320 +/usr/share/ncurses4/terminfo/a/att5410 +/usr/share/ncurses4/terminfo/a/att5410-w +/usr/share/ncurses4/terminfo/a/att5410v1 +/usr/share/ncurses4/terminfo/a/att5410v1-w +/usr/share/ncurses4/terminfo/a/att5418 +/usr/share/ncurses4/terminfo/a/att5418-w +/usr/share/ncurses4/terminfo/a/att5420 +/usr/share/ncurses4/terminfo/a/att5420+nl +/usr/share/ncurses4/terminfo/a/att5420-nl +/usr/share/ncurses4/terminfo/a/att5420-rv +/usr/share/ncurses4/terminfo/a/att5420-rv-nl +/usr/share/ncurses4/terminfo/a/att5420-w +/usr/share/ncurses4/terminfo/a/att5420-w-nl +/usr/share/ncurses4/terminfo/a/att5420-w-rv +/usr/share/ncurses4/terminfo/a/att5420-w-rv-n +/usr/share/ncurses4/terminfo/a/att5420_2 +/usr/share/ncurses4/terminfo/a/att5420_2-w +/usr/share/ncurses4/terminfo/a/att5425 +/usr/share/ncurses4/terminfo/a/att5425-nl +/usr/share/ncurses4/terminfo/a/att5425-w +/usr/share/ncurses4/terminfo/a/att5430 +/usr/share/ncurses4/terminfo/a/att5620 +/usr/share/ncurses4/terminfo/a/att5620-1 +/usr/share/ncurses4/terminfo/a/att5620-24 +/usr/share/ncurses4/terminfo/a/att5620-34 +/usr/share/ncurses4/terminfo/a/att5620-s +/usr/share/ncurses4/terminfo/a/att605 +/usr/share/ncurses4/terminfo/a/att605-pc +/usr/share/ncurses4/terminfo/a/att605-w +/usr/share/ncurses4/terminfo/a/att610 +/usr/share/ncurses4/terminfo/a/att610-103k +/usr/share/ncurses4/terminfo/a/att610-103k-w +/usr/share/ncurses4/terminfo/a/att610-w +/usr/share/ncurses4/terminfo/a/att615 +/usr/share/ncurses4/terminfo/a/att615-103k +/usr/share/ncurses4/terminfo/a/att615-103k-w +/usr/share/ncurses4/terminfo/a/att615-w +/usr/share/ncurses4/terminfo/a/att620 +/usr/share/ncurses4/terminfo/a/att620-103k +/usr/share/ncurses4/terminfo/a/att620-103k-w +/usr/share/ncurses4/terminfo/a/att620-w +/usr/share/ncurses4/terminfo/a/att630 +/usr/share/ncurses4/terminfo/a/att630-24 +/usr/share/ncurses4/terminfo/a/att6386 +/usr/share/ncurses4/terminfo/a/att730 +/usr/share/ncurses4/terminfo/a/att730-24 +/usr/share/ncurses4/terminfo/a/att730-41 +/usr/share/ncurses4/terminfo/a/att7300 +/usr/share/ncurses4/terminfo/a/att730r +/usr/share/ncurses4/terminfo/a/att730r-24 +/usr/share/ncurses4/terminfo/a/att730r-41 +/usr/share/ncurses4/terminfo/a/avatar +/usr/share/ncurses4/terminfo/a/avatar0 +/usr/share/ncurses4/terminfo/a/avatar0+ +/usr/share/ncurses4/terminfo/a/avatar1 +/usr/share/ncurses4/terminfo/a/avt +/usr/share/ncurses4/terminfo/a/avt+s +/usr/share/ncurses4/terminfo/a/avt-ns +/usr/share/ncurses4/terminfo/a/avt-rv +/usr/share/ncurses4/terminfo/a/avt-rv-ns +/usr/share/ncurses4/terminfo/a/avt-rv-s +/usr/share/ncurses4/terminfo/a/avt-s +/usr/share/ncurses4/terminfo/a/avt-w +/usr/share/ncurses4/terminfo/a/avt-w-ns +/usr/share/ncurses4/terminfo/a/avt-w-rv +/usr/share/ncurses4/terminfo/a/avt-w-rv-ns +/usr/share/ncurses4/terminfo/a/avt-w-rv-s +/usr/share/ncurses4/terminfo/a/avt-w-s +/usr/share/ncurses4/terminfo/a/aws +/usr/share/ncurses4/terminfo/a/awsc +/usr/share/ncurses4/terminfo/b +/usr/share/ncurses4/terminfo/b/b-128 +/usr/share/ncurses4/terminfo/b/bantam +/usr/share/ncurses4/terminfo/b/basic4 +/usr/share/ncurses4/terminfo/b/basis +/usr/share/ncurses4/terminfo/b/bct510a +/usr/share/ncurses4/terminfo/b/bct510d +/usr/share/ncurses4/terminfo/b/beacon +/usr/share/ncurses4/terminfo/b/bee +/usr/share/ncurses4/terminfo/b/beehive +/usr/share/ncurses4/terminfo/b/beehive3 +/usr/share/ncurses4/terminfo/b/beehive4 +/usr/share/ncurses4/terminfo/b/beehiveIIIm +/usr/share/ncurses4/terminfo/b/beterm +/usr/share/ncurses4/terminfo/b/bg1.25 +/usr/share/ncurses4/terminfo/b/bg1.25nv +/usr/share/ncurses4/terminfo/b/bg1.25rv +/usr/share/ncurses4/terminfo/b/bg2.0 +/usr/share/ncurses4/terminfo/b/bg2.0nv +/usr/share/ncurses4/terminfo/b/bg2.0rv +/usr/share/ncurses4/terminfo/b/bg3.10 +/usr/share/ncurses4/terminfo/b/bg3.10nv +/usr/share/ncurses4/terminfo/b/bg3.10rv +/usr/share/ncurses4/terminfo/b/bh3m +/usr/share/ncurses4/terminfo/b/bh4 +/usr/share/ncurses4/terminfo/b/bitgraph +/usr/share/ncurses4/terminfo/b/blit +/usr/share/ncurses4/terminfo/b/bobcat +/usr/share/ncurses4/terminfo/b/bsdos +/usr/share/ncurses4/terminfo/b/bsdos-bold +/usr/share/ncurses4/terminfo/c +/usr/share/ncurses4/terminfo/c/c100 +/usr/share/ncurses4/terminfo/c/c100-1p +/usr/share/ncurses4/terminfo/c/c100-4p +/usr/share/ncurses4/terminfo/c/c100-rv +/usr/share/ncurses4/terminfo/c/c100-rv-4p +/usr/share/ncurses4/terminfo/c/c104 +/usr/share/ncurses4/terminfo/c/c108 +/usr/share/ncurses4/terminfo/c/c108-4p +/usr/share/ncurses4/terminfo/c/c108-8p +/usr/share/ncurses4/terminfo/c/c108-rv +/usr/share/ncurses4/terminfo/c/c108-rv-4p +/usr/share/ncurses4/terminfo/c/c108-rv-8p +/usr/share/ncurses4/terminfo/c/c108-w +/usr/share/ncurses4/terminfo/c/c108-w-8p +/usr/share/ncurses4/terminfo/c/c300 +/usr/share/ncurses4/terminfo/c/c301 +/usr/share/ncurses4/terminfo/c/c321 +/usr/share/ncurses4/terminfo/c/ca22851 +/usr/share/ncurses4/terminfo/c/cad68-2 +/usr/share/ncurses4/terminfo/c/cad68-3 +/usr/share/ncurses4/terminfo/c/cbblit +/usr/share/ncurses4/terminfo/c/cbunix +/usr/share/ncurses4/terminfo/c/cci +/usr/share/ncurses4/terminfo/c/cci1 +/usr/share/ncurses4/terminfo/c/cdc456 +/usr/share/ncurses4/terminfo/c/cdc721 +/usr/share/ncurses4/terminfo/c/cdc721-esc +/usr/share/ncurses4/terminfo/c/cdc721ll +/usr/share/ncurses4/terminfo/c/cdc752 +/usr/share/ncurses4/terminfo/c/cdc756 +/usr/share/ncurses4/terminfo/c/cg7900 +/usr/share/ncurses4/terminfo/c/cgc2 +/usr/share/ncurses4/terminfo/c/cgc3 +/usr/share/ncurses4/terminfo/c/chromatics +/usr/share/ncurses4/terminfo/c/ci8510 +/usr/share/ncurses4/terminfo/c/cit-80 +/usr/share/ncurses4/terminfo/c/cit101 +/usr/share/ncurses4/terminfo/c/cit101e +/usr/share/ncurses4/terminfo/c/cit101e-132 +/usr/share/ncurses4/terminfo/c/cit101e-n +/usr/share/ncurses4/terminfo/c/cit101e-n132 +/usr/share/ncurses4/terminfo/c/cit101e-rv +/usr/share/ncurses4/terminfo/c/cit500 +/usr/share/ncurses4/terminfo/c/cit80 +/usr/share/ncurses4/terminfo/c/citc +/usr/share/ncurses4/terminfo/c/citoh +/usr/share/ncurses4/terminfo/c/citoh-6lpi +/usr/share/ncurses4/terminfo/c/citoh-8lpi +/usr/share/ncurses4/terminfo/c/citoh-comp +/usr/share/ncurses4/terminfo/c/citoh-elite +/usr/share/ncurses4/terminfo/c/citoh-pica +/usr/share/ncurses4/terminfo/c/citoh-prop +/usr/share/ncurses4/terminfo/c/citoh-ps +/usr/share/ncurses4/terminfo/c/coco3 +/usr/share/ncurses4/terminfo/c/coherent +/usr/share/ncurses4/terminfo/c/color_xterm +/usr/share/ncurses4/terminfo/c/colorscan +/usr/share/ncurses4/terminfo/c/commodore +/usr/share/ncurses4/terminfo/c/concept +/usr/share/ncurses4/terminfo/c/concept-avt +/usr/share/ncurses4/terminfo/c/concept100 +/usr/share/ncurses4/terminfo/c/concept100-rv +/usr/share/ncurses4/terminfo/c/concept108 +/usr/share/ncurses4/terminfo/c/concept108-4p +/usr/share/ncurses4/terminfo/c/concept108-8p +/usr/share/ncurses4/terminfo/c/concept108-w-8 +/usr/share/ncurses4/terminfo/c/concept108-w8p +/usr/share/ncurses4/terminfo/c/concept108rv4p +/usr/share/ncurses4/terminfo/c/cons25 +/usr/share/ncurses4/terminfo/c/cons25-iso-m +/usr/share/ncurses4/terminfo/c/cons25-iso8859 +/usr/share/ncurses4/terminfo/c/cons25-koi8-r +/usr/share/ncurses4/terminfo/c/cons25-koi8r-m +/usr/share/ncurses4/terminfo/c/cons25-m +/usr/share/ncurses4/terminfo/c/cons25l1 +/usr/share/ncurses4/terminfo/c/cons25l1-m +/usr/share/ncurses4/terminfo/c/cons25r +/usr/share/ncurses4/terminfo/c/cons25r-m +/usr/share/ncurses4/terminfo/c/cons25w +/usr/share/ncurses4/terminfo/c/cons30 +/usr/share/ncurses4/terminfo/c/cons30-m +/usr/share/ncurses4/terminfo/c/cons43 +/usr/share/ncurses4/terminfo/c/cons43-m +/usr/share/ncurses4/terminfo/c/cons50 +/usr/share/ncurses4/terminfo/c/cons50-iso-m +/usr/share/ncurses4/terminfo/c/cons50-iso8859 +/usr/share/ncurses4/terminfo/c/cons50-koi8r +/usr/share/ncurses4/terminfo/c/cons50-koi8r-m +/usr/share/ncurses4/terminfo/c/cons50-m +/usr/share/ncurses4/terminfo/c/cons50l1 +/usr/share/ncurses4/terminfo/c/cons50l1-m +/usr/share/ncurses4/terminfo/c/cons50r +/usr/share/ncurses4/terminfo/c/cons50r-m +/usr/share/ncurses4/terminfo/c/cons60 +/usr/share/ncurses4/terminfo/c/cons60-iso +/usr/share/ncurses4/terminfo/c/cons60-iso-m +/usr/share/ncurses4/terminfo/c/cons60-koi8r +/usr/share/ncurses4/terminfo/c/cons60-koi8r-m +/usr/share/ncurses4/terminfo/c/cons60-m +/usr/share/ncurses4/terminfo/c/cons60l1 +/usr/share/ncurses4/terminfo/c/cons60l1-m +/usr/share/ncurses4/terminfo/c/cons60r +/usr/share/ncurses4/terminfo/c/cons60r-m +/usr/share/ncurses4/terminfo/c/contel300 +/usr/share/ncurses4/terminfo/c/contel301 +/usr/share/ncurses4/terminfo/c/contel320 +/usr/share/ncurses4/terminfo/c/contel321 +/usr/share/ncurses4/terminfo/c/cops +/usr/share/ncurses4/terminfo/c/cops-10 +/usr/share/ncurses4/terminfo/c/cops10 +/usr/share/ncurses4/terminfo/c/cs10 +/usr/share/ncurses4/terminfo/c/cs10-w +/usr/share/ncurses4/terminfo/c/ct82 +/usr/share/ncurses4/terminfo/c/ct8500 +/usr/share/ncurses4/terminfo/c/ctrm +/usr/share/ncurses4/terminfo/c/cx +/usr/share/ncurses4/terminfo/c/cx100 +/usr/share/ncurses4/terminfo/c/cyb110 +/usr/share/ncurses4/terminfo/c/cyb83 +/usr/share/ncurses4/terminfo/d +/usr/share/ncurses4/terminfo/d/d132 +/usr/share/ncurses4/terminfo/d/d80 +/usr/share/ncurses4/terminfo/d/d800 +/usr/share/ncurses4/terminfo/d/datagraphix +/usr/share/ncurses4/terminfo/d/datamedia2500 +/usr/share/ncurses4/terminfo/d/datapoint +/usr/share/ncurses4/terminfo/d/dataspeed40 +/usr/share/ncurses4/terminfo/d/dd5000 +/usr/share/ncurses4/terminfo/d/ddr +/usr/share/ncurses4/terminfo/d/ddr3180 +/usr/share/ncurses4/terminfo/d/dec-vt100 +/usr/share/ncurses4/terminfo/d/dec-vt220 +/usr/share/ncurses4/terminfo/d/dec-vt330 +/usr/share/ncurses4/terminfo/d/dec-vt340 +/usr/share/ncurses4/terminfo/d/dec-vt400 +/usr/share/ncurses4/terminfo/d/decpro +/usr/share/ncurses4/terminfo/d/decwriter +/usr/share/ncurses4/terminfo/d/delta +/usr/share/ncurses4/terminfo/d/dg-ansi +/usr/share/ncurses4/terminfo/d/dg100 +/usr/share/ncurses4/terminfo/d/dg200 +/usr/share/ncurses4/terminfo/d/dg210 +/usr/share/ncurses4/terminfo/d/dg211 +/usr/share/ncurses4/terminfo/d/dg450 +/usr/share/ncurses4/terminfo/d/dg460-ansi +/usr/share/ncurses4/terminfo/d/dg6053 +/usr/share/ncurses4/terminfo/d/dg6134 +/usr/share/ncurses4/terminfo/d/diablo +/usr/share/ncurses4/terminfo/d/diablo-lm +/usr/share/ncurses4/terminfo/d/diablo1620 +/usr/share/ncurses4/terminfo/d/diablo1620-m8 +/usr/share/ncurses4/terminfo/d/diablo1640 +/usr/share/ncurses4/terminfo/d/diablo1640-lm +/usr/share/ncurses4/terminfo/d/diablo1640-m8 +/usr/share/ncurses4/terminfo/d/diablo1720 +/usr/share/ncurses4/terminfo/d/diablo1730 +/usr/share/ncurses4/terminfo/d/diablo1740 +/usr/share/ncurses4/terminfo/d/diablo1740-lm +/usr/share/ncurses4/terminfo/d/diablo450 +/usr/share/ncurses4/terminfo/d/diablo630 +/usr/share/ncurses4/terminfo/d/dialogue +/usr/share/ncurses4/terminfo/d/dialogue80 +/usr/share/ncurses4/terminfo/d/digilog +/usr/share/ncurses4/terminfo/d/dku7003 +/usr/share/ncurses4/terminfo/d/dku7003-dumb +/usr/share/ncurses4/terminfo/d/dm1520 +/usr/share/ncurses4/terminfo/d/dm1521 +/usr/share/ncurses4/terminfo/d/dm2500 +/usr/share/ncurses4/terminfo/d/dm3025 +/usr/share/ncurses4/terminfo/d/dm3045 +/usr/share/ncurses4/terminfo/d/dm80 +/usr/share/ncurses4/terminfo/d/dm80w +/usr/share/ncurses4/terminfo/d/dmchat +/usr/share/ncurses4/terminfo/d/dmd +/usr/share/ncurses4/terminfo/d/dmd-24 +/usr/share/ncurses4/terminfo/d/dmd-34 +/usr/share/ncurses4/terminfo/d/dmd1 +/usr/share/ncurses4/terminfo/d/dmdt80 +/usr/share/ncurses4/terminfo/d/dmdt80w +/usr/share/ncurses4/terminfo/d/dmterm +/usr/share/ncurses4/terminfo/d/dp3360 +/usr/share/ncurses4/terminfo/d/dp8242 +/usr/share/ncurses4/terminfo/d/ds40 +/usr/share/ncurses4/terminfo/d/ds40-2 +/usr/share/ncurses4/terminfo/d/dt-100 +/usr/share/ncurses4/terminfo/d/dt-100w +/usr/share/ncurses4/terminfo/d/dt100 +/usr/share/ncurses4/terminfo/d/dt100w +/usr/share/ncurses4/terminfo/d/dt110 +/usr/share/ncurses4/terminfo/d/dt80 +/usr/share/ncurses4/terminfo/d/dt80-sas +/usr/share/ncurses4/terminfo/d/dt80w +/usr/share/ncurses4/terminfo/d/dtc300s +/usr/share/ncurses4/terminfo/d/dtc382 +/usr/share/ncurses4/terminfo/d/dtterm +/usr/share/ncurses4/terminfo/d/dumb +/usr/share/ncurses4/terminfo/d/dw +/usr/share/ncurses4/terminfo/d/dw1 +/usr/share/ncurses4/terminfo/d/dw2 +/usr/share/ncurses4/terminfo/d/dw3 +/usr/share/ncurses4/terminfo/d/dw4 +/usr/share/ncurses4/terminfo/d/dwk +/usr/share/ncurses4/terminfo/d/dwk-vt +/usr/share/ncurses4/terminfo/e +/usr/share/ncurses4/terminfo/e/ecma+color +/usr/share/ncurses4/terminfo/e/ecma+sgr +/usr/share/ncurses4/terminfo/e/emots +/usr/share/ncurses4/terminfo/e/emu +/usr/share/ncurses4/terminfo/e/env230 +/usr/share/ncurses4/terminfo/e/envision230 +/usr/share/ncurses4/terminfo/e/ep40 +/usr/share/ncurses4/terminfo/e/ep4000 +/usr/share/ncurses4/terminfo/e/ep4080 +/usr/share/ncurses4/terminfo/e/ep48 +/usr/share/ncurses4/terminfo/e/ergo4000 +/usr/share/ncurses4/terminfo/e/esprit +/usr/share/ncurses4/terminfo/e/esprit-am +/usr/share/ncurses4/terminfo/e/eterm +/usr/share/ncurses4/terminfo/e/ex155 +/usr/share/ncurses4/terminfo/e/excel62 +/usr/share/ncurses4/terminfo/e/excel62-rv +/usr/share/ncurses4/terminfo/e/excel62-w +/usr/share/ncurses4/terminfo/e/excel64 +/usr/share/ncurses4/terminfo/e/excel64-rv +/usr/share/ncurses4/terminfo/e/excel64-w +/usr/share/ncurses4/terminfo/e/exec80 +/usr/share/ncurses4/terminfo/f +/usr/share/ncurses4/terminfo/f/f100 +/usr/share/ncurses4/terminfo/f/f100-rv +/usr/share/ncurses4/terminfo/f/f110 +/usr/share/ncurses4/terminfo/f/f110-14 +/usr/share/ncurses4/terminfo/f/f110-14w +/usr/share/ncurses4/terminfo/f/f110-w +/usr/share/ncurses4/terminfo/f/f1720 +/usr/share/ncurses4/terminfo/f/f1720a +/usr/share/ncurses4/terminfo/f/f200 +/usr/share/ncurses4/terminfo/f/f200-w +/usr/share/ncurses4/terminfo/f/f200vi +/usr/share/ncurses4/terminfo/f/f200vi-w +/usr/share/ncurses4/terminfo/f/falco +/usr/share/ncurses4/terminfo/f/falco-p +/usr/share/ncurses4/terminfo/f/fenix +/usr/share/ncurses4/terminfo/f/fenixw +/usr/share/ncurses4/terminfo/f/fixterm +/usr/share/ncurses4/terminfo/f/fortune +/usr/share/ncurses4/terminfo/f/fos +/usr/share/ncurses4/terminfo/f/fox +/usr/share/ncurses4/terminfo/f/freedom +/usr/share/ncurses4/terminfo/f/freedom-rv +/usr/share/ncurses4/terminfo/f/freedom100 +/usr/share/ncurses4/terminfo/f/freedom110 +/usr/share/ncurses4/terminfo/f/freedom200 +/usr/share/ncurses4/terminfo/g +/usr/share/ncurses4/terminfo/g/gator +/usr/share/ncurses4/terminfo/g/gator-52 +/usr/share/ncurses4/terminfo/g/gator-52t +/usr/share/ncurses4/terminfo/g/gator-t +/usr/share/ncurses4/terminfo/g/gigi +/usr/share/ncurses4/terminfo/g/glasstty +/usr/share/ncurses4/terminfo/g/go-225 +/usr/share/ncurses4/terminfo/g/go140 +/usr/share/ncurses4/terminfo/g/go140w +/usr/share/ncurses4/terminfo/g/go225 +/usr/share/ncurses4/terminfo/g/graphos +/usr/share/ncurses4/terminfo/g/graphos-30 +/usr/share/ncurses4/terminfo/g/gs5430 +/usr/share/ncurses4/terminfo/g/gs5430-22 +/usr/share/ncurses4/terminfo/g/gs5430-24 +/usr/share/ncurses4/terminfo/g/gs6300 +/usr/share/ncurses4/terminfo/g/gsi +/usr/share/ncurses4/terminfo/g/gt100 +/usr/share/ncurses4/terminfo/g/gt100a +/usr/share/ncurses4/terminfo/g/gt40 +/usr/share/ncurses4/terminfo/g/gt42 +/usr/share/ncurses4/terminfo/g/guru +/usr/share/ncurses4/terminfo/g/guru+rv +/usr/share/ncurses4/terminfo/g/guru+s +/usr/share/ncurses4/terminfo/g/guru+unk +/usr/share/ncurses4/terminfo/g/guru-24 +/usr/share/ncurses4/terminfo/g/guru-33 +/usr/share/ncurses4/terminfo/g/guru-33-rv +/usr/share/ncurses4/terminfo/g/guru-33-s +/usr/share/ncurses4/terminfo/g/guru-44 +/usr/share/ncurses4/terminfo/g/guru-44-s +/usr/share/ncurses4/terminfo/g/guru-76 +/usr/share/ncurses4/terminfo/g/guru-76-lp +/usr/share/ncurses4/terminfo/g/guru-76-s +/usr/share/ncurses4/terminfo/g/guru-76-w +/usr/share/ncurses4/terminfo/g/guru-76-w-s +/usr/share/ncurses4/terminfo/g/guru-76-wm +/usr/share/ncurses4/terminfo/g/guru-lp +/usr/share/ncurses4/terminfo/g/guru-nctxt +/usr/share/ncurses4/terminfo/g/guru-rv +/usr/share/ncurses4/terminfo/g/guru-s +/usr/share/ncurses4/terminfo/h +/usr/share/ncurses4/terminfo/h/h-100 +/usr/share/ncurses4/terminfo/h/h-100bw +/usr/share/ncurses4/terminfo/h/h100 +/usr/share/ncurses4/terminfo/h/h100bw +/usr/share/ncurses4/terminfo/h/h19 +/usr/share/ncurses4/terminfo/h/h19-a +/usr/share/ncurses4/terminfo/h/h19-b +/usr/share/ncurses4/terminfo/h/h19-bs +/usr/share/ncurses4/terminfo/h/h19-g +/usr/share/ncurses4/terminfo/h/h19-smul +/usr/share/ncurses4/terminfo/h/h19-u +/usr/share/ncurses4/terminfo/h/h19-us +/usr/share/ncurses4/terminfo/h/h19a +/usr/share/ncurses4/terminfo/h/h19g +/usr/share/ncurses4/terminfo/h/h19k +/usr/share/ncurses4/terminfo/h/h19kermit +/usr/share/ncurses4/terminfo/h/h19us +/usr/share/ncurses4/terminfo/h/h29a-kc-bc +/usr/share/ncurses4/terminfo/h/h29a-kc-uc +/usr/share/ncurses4/terminfo/h/h29a-nkc-bc +/usr/share/ncurses4/terminfo/h/h29a-nkc-uc +/usr/share/ncurses4/terminfo/h/h80 +/usr/share/ncurses4/terminfo/h/ha8675 +/usr/share/ncurses4/terminfo/h/ha8686 +/usr/share/ncurses4/terminfo/h/hazel +/usr/share/ncurses4/terminfo/h/hds200 +/usr/share/ncurses4/terminfo/h/he80 +/usr/share/ncurses4/terminfo/h/heath +/usr/share/ncurses4/terminfo/h/heath-19 +/usr/share/ncurses4/terminfo/h/heath-ansi +/usr/share/ncurses4/terminfo/h/heathkit +/usr/share/ncurses4/terminfo/h/heathkit-a +/usr/share/ncurses4/terminfo/h/hft +/usr/share/ncurses4/terminfo/h/hft-c +/usr/share/ncurses4/terminfo/h/hirez100 +/usr/share/ncurses4/terminfo/h/hirez100-w +/usr/share/ncurses4/terminfo/h/hmod1 +/usr/share/ncurses4/terminfo/h/hp +/usr/share/ncurses4/terminfo/h/hp+arrows +/usr/share/ncurses4/terminfo/h/hp+color +/usr/share/ncurses4/terminfo/h/hp+labels +/usr/share/ncurses4/terminfo/h/hp+pfk+arrows +/usr/share/ncurses4/terminfo/h/hp+pfk+cr +/usr/share/ncurses4/terminfo/h/hp+pfk-cr +/usr/share/ncurses4/terminfo/h/hp+printer +/usr/share/ncurses4/terminfo/h/hp110 +/usr/share/ncurses4/terminfo/h/hp150 +/usr/share/ncurses4/terminfo/h/hp2 +/usr/share/ncurses4/terminfo/h/hp236 +/usr/share/ncurses4/terminfo/h/hp2382 +/usr/share/ncurses4/terminfo/h/hp2382a +/usr/share/ncurses4/terminfo/h/hp2392 +/usr/share/ncurses4/terminfo/h/hp2397 +/usr/share/ncurses4/terminfo/h/hp2397a +/usr/share/ncurses4/terminfo/h/hp2621 +/usr/share/ncurses4/terminfo/h/hp2621-48 +/usr/share/ncurses4/terminfo/h/hp2621-a +/usr/share/ncurses4/terminfo/h/hp2621-ba +/usr/share/ncurses4/terminfo/h/hp2621-fl +/usr/share/ncurses4/terminfo/h/hp2621-k45 +/usr/share/ncurses4/terminfo/h/hp2621-nl +/usr/share/ncurses4/terminfo/h/hp2621-nt +/usr/share/ncurses4/terminfo/h/hp2621-wl +/usr/share/ncurses4/terminfo/h/hp2621A +/usr/share/ncurses4/terminfo/h/hp2621a +/usr/share/ncurses4/terminfo/h/hp2621a-a +/usr/share/ncurses4/terminfo/h/hp2621b +/usr/share/ncurses4/terminfo/h/hp2621b-kx +/usr/share/ncurses4/terminfo/h/hp2621b-kx-p +/usr/share/ncurses4/terminfo/h/hp2621b-p +/usr/share/ncurses4/terminfo/h/hp2621k45 +/usr/share/ncurses4/terminfo/h/hp2621p +/usr/share/ncurses4/terminfo/h/hp2621p-a +/usr/share/ncurses4/terminfo/h/hp2622 +/usr/share/ncurses4/terminfo/h/hp2622a +/usr/share/ncurses4/terminfo/h/hp2623 +/usr/share/ncurses4/terminfo/h/hp2623a +/usr/share/ncurses4/terminfo/h/hp2624 +/usr/share/ncurses4/terminfo/h/hp2624-10p +/usr/share/ncurses4/terminfo/h/hp2624a +/usr/share/ncurses4/terminfo/h/hp2624a-10p +/usr/share/ncurses4/terminfo/h/hp2624b +/usr/share/ncurses4/terminfo/h/hp2624b-10p +/usr/share/ncurses4/terminfo/h/hp2624b-10p-p +/usr/share/ncurses4/terminfo/h/hp2624b-4p +/usr/share/ncurses4/terminfo/h/hp2624b-4p-p +/usr/share/ncurses4/terminfo/h/hp2624b-p +/usr/share/ncurses4/terminfo/h/hp2626 +/usr/share/ncurses4/terminfo/h/hp2626-12 +/usr/share/ncurses4/terminfo/h/hp2626-12-s +/usr/share/ncurses4/terminfo/h/hp2626-12x40 +/usr/share/ncurses4/terminfo/h/hp2626-ns +/usr/share/ncurses4/terminfo/h/hp2626-s +/usr/share/ncurses4/terminfo/h/hp2626-x40 +/usr/share/ncurses4/terminfo/h/hp2626a +/usr/share/ncurses4/terminfo/h/hp2626p +/usr/share/ncurses4/terminfo/h/hp2627a +/usr/share/ncurses4/terminfo/h/hp2627a-rev +/usr/share/ncurses4/terminfo/h/hp2627c +/usr/share/ncurses4/terminfo/h/hp262x +/usr/share/ncurses4/terminfo/h/hp2640a +/usr/share/ncurses4/terminfo/h/hp2640b +/usr/share/ncurses4/terminfo/h/hp2641a +/usr/share/ncurses4/terminfo/h/hp2644a +/usr/share/ncurses4/terminfo/h/hp2645 +/usr/share/ncurses4/terminfo/h/hp2645a +/usr/share/ncurses4/terminfo/h/hp2647a +/usr/share/ncurses4/terminfo/h/hp2648 +/usr/share/ncurses4/terminfo/h/hp2648a +/usr/share/ncurses4/terminfo/h/hp300h +/usr/share/ncurses4/terminfo/h/hp45 +/usr/share/ncurses4/terminfo/h/hp700 +/usr/share/ncurses4/terminfo/h/hp700-wy +/usr/share/ncurses4/terminfo/h/hp70092 +/usr/share/ncurses4/terminfo/h/hp70092A +/usr/share/ncurses4/terminfo/h/hp70092a +/usr/share/ncurses4/terminfo/h/hp9837 +/usr/share/ncurses4/terminfo/h/hp9845 +/usr/share/ncurses4/terminfo/h/hp98550 +/usr/share/ncurses4/terminfo/h/hp98550a +/usr/share/ncurses4/terminfo/h/hp98720 +/usr/share/ncurses4/terminfo/h/hp98721 +/usr/share/ncurses4/terminfo/h/hpansi +/usr/share/ncurses4/terminfo/h/hpex +/usr/share/ncurses4/terminfo/h/hpex2 +/usr/share/ncurses4/terminfo/h/hpgeneric +/usr/share/ncurses4/terminfo/h/hpsub +/usr/share/ncurses4/terminfo/h/hpterm +/usr/share/ncurses4/terminfo/h/htx11 +/usr/share/ncurses4/terminfo/h/hz1000 +/usr/share/ncurses4/terminfo/h/hz1420 +/usr/share/ncurses4/terminfo/h/hz1500 +/usr/share/ncurses4/terminfo/h/hz1510 +/usr/share/ncurses4/terminfo/h/hz1520 +/usr/share/ncurses4/terminfo/h/hz1520-noesc +/usr/share/ncurses4/terminfo/h/hz1552 +/usr/share/ncurses4/terminfo/h/hz1552-rv +/usr/share/ncurses4/terminfo/h/hz2000 +/usr/share/ncurses4/terminfo/i +/usr/share/ncurses4/terminfo/i/i100 +/usr/share/ncurses4/terminfo/i/i3101 +/usr/share/ncurses4/terminfo/i/i3151 +/usr/share/ncurses4/terminfo/i/i3164 +/usr/share/ncurses4/terminfo/i/i400 +/usr/share/ncurses4/terminfo/i/ibcs2 +/usr/share/ncurses4/terminfo/i/ibm-apl +/usr/share/ncurses4/terminfo/i/ibm-pc +/usr/share/ncurses4/terminfo/i/ibm-system1 +/usr/share/ncurses4/terminfo/i/ibm3101 +/usr/share/ncurses4/terminfo/i/ibm3151 +/usr/share/ncurses4/terminfo/i/ibm3161 +/usr/share/ncurses4/terminfo/i/ibm3163 +/usr/share/ncurses4/terminfo/i/ibm3164 +/usr/share/ncurses4/terminfo/i/ibm327x +/usr/share/ncurses4/terminfo/i/ibm5051 +/usr/share/ncurses4/terminfo/i/ibm5081 +/usr/share/ncurses4/terminfo/i/ibm5081-c +/usr/share/ncurses4/terminfo/i/ibm5151 +/usr/share/ncurses4/terminfo/i/ibm5154 +/usr/share/ncurses4/terminfo/i/ibm5154-c +/usr/share/ncurses4/terminfo/i/ibm6153 +/usr/share/ncurses4/terminfo/i/ibm6154 +/usr/share/ncurses4/terminfo/i/ibm6154-c +/usr/share/ncurses4/terminfo/i/ibm6155 +/usr/share/ncurses4/terminfo/i/ibm8512 +/usr/share/ncurses4/terminfo/i/ibm8513 +/usr/share/ncurses4/terminfo/i/ibm8514 +/usr/share/ncurses4/terminfo/i/ibm8514-c +/usr/share/ncurses4/terminfo/i/ibmaed +/usr/share/ncurses4/terminfo/i/ibmapa16 +/usr/share/ncurses4/terminfo/i/ibmapa8 +/usr/share/ncurses4/terminfo/i/ibmapa8c +/usr/share/ncurses4/terminfo/i/ibmapa8c-c +/usr/share/ncurses4/terminfo/i/ibmega +/usr/share/ncurses4/terminfo/i/ibmega-c +/usr/share/ncurses4/terminfo/i/ibmmono +/usr/share/ncurses4/terminfo/i/ibmmpel +/usr/share/ncurses4/terminfo/i/ibmmpel-c +/usr/share/ncurses4/terminfo/i/ibmpc +/usr/share/ncurses4/terminfo/i/ibmpc3 +/usr/share/ncurses4/terminfo/i/ibmpc3r +/usr/share/ncurses4/terminfo/i/ibmpc3r-mono +/usr/share/ncurses4/terminfo/i/ibmpcx +/usr/share/ncurses4/terminfo/i/ibmvga +/usr/share/ncurses4/terminfo/i/ibmvga-c +/usr/share/ncurses4/terminfo/i/ibmx +/usr/share/ncurses4/terminfo/i/ifmr +/usr/share/ncurses4/terminfo/i/ims-ansi +/usr/share/ncurses4/terminfo/i/ims950 +/usr/share/ncurses4/terminfo/i/ims950-b +/usr/share/ncurses4/terminfo/i/ims950-rv +/usr/share/ncurses4/terminfo/i/infoton +/usr/share/ncurses4/terminfo/i/intertec +/usr/share/ncurses4/terminfo/i/intertube +/usr/share/ncurses4/terminfo/i/intertube2 +/usr/share/ncurses4/terminfo/i/intext +/usr/share/ncurses4/terminfo/i/intext2 +/usr/share/ncurses4/terminfo/i/intextii +/usr/share/ncurses4/terminfo/i/ips +/usr/share/ncurses4/terminfo/i/ipsi +/usr/share/ncurses4/terminfo/i/iq120 +/usr/share/ncurses4/terminfo/i/iq140 +/usr/share/ncurses4/terminfo/i/iris-ansi +/usr/share/ncurses4/terminfo/i/iris-ansi-ap +/usr/share/ncurses4/terminfo/i/iris-color +/usr/share/ncurses4/terminfo/i/iris40 +/usr/share/ncurses4/terminfo/j +/usr/share/ncurses4/terminfo/j/jaixterm-m +/usr/share/ncurses4/terminfo/j/jerq +/usr/share/ncurses4/terminfo/k +/usr/share/ncurses4/terminfo/k/k45 +/usr/share/ncurses4/terminfo/k/kaypro +/usr/share/ncurses4/terminfo/k/kaypro2 +/usr/share/ncurses4/terminfo/k/kermit +/usr/share/ncurses4/terminfo/k/kermit-am +/usr/share/ncurses4/terminfo/k/klone+acs +/usr/share/ncurses4/terminfo/k/klone+color +/usr/share/ncurses4/terminfo/k/klone+koi8acs +/usr/share/ncurses4/terminfo/k/klone+sgr +/usr/share/ncurses4/terminfo/k/klone+sgr-dumb +/usr/share/ncurses4/terminfo/k/kt7 +/usr/share/ncurses4/terminfo/k/kt7ix +/usr/share/ncurses4/terminfo/k/kterm +/usr/share/ncurses4/terminfo/k/ktm +/usr/share/ncurses4/terminfo/l +/usr/share/ncurses4/terminfo/l/la120 +/usr/share/ncurses4/terminfo/l/layer +/usr/share/ncurses4/terminfo/l/linux +/usr/share/ncurses4/terminfo/l/linux-c +/usr/share/ncurses4/terminfo/l/linux-c-nc +/usr/share/ncurses4/terminfo/l/linux-koi8 +/usr/share/ncurses4/terminfo/l/linux-koi8r +/usr/share/ncurses4/terminfo/l/linux-m +/usr/share/ncurses4/terminfo/l/linux-nic +/usr/share/ncurses4/terminfo/l/lisa +/usr/share/ncurses4/terminfo/l/lisaterm +/usr/share/ncurses4/terminfo/l/lisaterm-w +/usr/share/ncurses4/terminfo/l/liswb +/usr/share/ncurses4/terminfo/l/ln03 +/usr/share/ncurses4/terminfo/l/ln03-w +/usr/share/ncurses4/terminfo/l/lpr +/usr/share/ncurses4/terminfo/l/luna +/usr/share/ncurses4/terminfo/l/luna68k +/usr/share/ncurses4/terminfo/m +/usr/share/ncurses4/terminfo/m/m2-nam +/usr/share/ncurses4/terminfo/m/mac +/usr/share/ncurses4/terminfo/m/mac-w +/usr/share/ncurses4/terminfo/m/macintosh +/usr/share/ncurses4/terminfo/m/macterminal-w +/usr/share/ncurses4/terminfo/m/mai +/usr/share/ncurses4/terminfo/m/masscomp +/usr/share/ncurses4/terminfo/m/masscomp1 +/usr/share/ncurses4/terminfo/m/masscomp2 +/usr/share/ncurses4/terminfo/m/mdl110 +/usr/share/ncurses4/terminfo/m/megatek +/usr/share/ncurses4/terminfo/m/memhp +/usr/share/ncurses4/terminfo/m/mgr +/usr/share/ncurses4/terminfo/m/mgr-linux +/usr/share/ncurses4/terminfo/m/mgr-sun +/usr/share/ncurses4/terminfo/m/microb +/usr/share/ncurses4/terminfo/m/microbee +/usr/share/ncurses4/terminfo/m/microterm +/usr/share/ncurses4/terminfo/m/microterm5 +/usr/share/ncurses4/terminfo/m/mime +/usr/share/ncurses4/terminfo/m/mime-3ax +/usr/share/ncurses4/terminfo/m/mime-fb +/usr/share/ncurses4/terminfo/m/mime-hb +/usr/share/ncurses4/terminfo/m/mime1 +/usr/share/ncurses4/terminfo/m/mime2 +/usr/share/ncurses4/terminfo/m/mime2a +/usr/share/ncurses4/terminfo/m/mime2a-s +/usr/share/ncurses4/terminfo/m/mime2a-v +/usr/share/ncurses4/terminfo/m/mime314 +/usr/share/ncurses4/terminfo/m/mime340 +/usr/share/ncurses4/terminfo/m/mime3a +/usr/share/ncurses4/terminfo/m/mime3ax +/usr/share/ncurses4/terminfo/m/mimei +/usr/share/ncurses4/terminfo/m/mimeii +/usr/share/ncurses4/terminfo/m/minitel +/usr/share/ncurses4/terminfo/m/minitel-2 +/usr/share/ncurses4/terminfo/m/minitel-2-nam +/usr/share/ncurses4/terminfo/m/minix +/usr/share/ncurses4/terminfo/m/minix-old +/usr/share/ncurses4/terminfo/m/minix-old-am +/usr/share/ncurses4/terminfo/m/mm314 +/usr/share/ncurses4/terminfo/m/mm340 +/usr/share/ncurses4/terminfo/m/mod +/usr/share/ncurses4/terminfo/m/mod24 +/usr/share/ncurses4/terminfo/m/modgraph +/usr/share/ncurses4/terminfo/m/modgraph2 +/usr/share/ncurses4/terminfo/m/modgraph48 +/usr/share/ncurses4/terminfo/m/mono-emx +/usr/share/ncurses4/terminfo/m/msk227 +/usr/share/ncurses4/terminfo/m/msk22714 +/usr/share/ncurses4/terminfo/m/msk227am +/usr/share/ncurses4/terminfo/m/mskermit227 +/usr/share/ncurses4/terminfo/m/mskermit22714 +/usr/share/ncurses4/terminfo/m/mskermit227am +/usr/share/ncurses4/terminfo/m/mt-70 +/usr/share/ncurses4/terminfo/m/mt4520-rv +/usr/share/ncurses4/terminfo/m/mt70 +/usr/share/ncurses4/terminfo/n +/usr/share/ncurses4/terminfo/n/nansi.sys +/usr/share/ncurses4/terminfo/n/nansi.sysk +/usr/share/ncurses4/terminfo/n/nansisys +/usr/share/ncurses4/terminfo/n/nansisysk +/usr/share/ncurses4/terminfo/n/ncr7900 +/usr/share/ncurses4/terminfo/n/ncr7900i +/usr/share/ncurses4/terminfo/n/ncr7900iv +/usr/share/ncurses4/terminfo/n/ncr7901 +/usr/share/ncurses4/terminfo/n/nec +/usr/share/ncurses4/terminfo/n/nec5520 +/usr/share/ncurses4/terminfo/n/newhp +/usr/share/ncurses4/terminfo/n/newhpkeyboard +/usr/share/ncurses4/terminfo/n/news +/usr/share/ncurses4/terminfo/n/news-29 +/usr/share/ncurses4/terminfo/n/news-29-euc +/usr/share/ncurses4/terminfo/n/news-29-sjis +/usr/share/ncurses4/terminfo/n/news-33 +/usr/share/ncurses4/terminfo/n/news-33-euc +/usr/share/ncurses4/terminfo/n/news-33-sjis +/usr/share/ncurses4/terminfo/n/news-42 +/usr/share/ncurses4/terminfo/n/news-42-euc +/usr/share/ncurses4/terminfo/n/news-42-sjis +/usr/share/ncurses4/terminfo/n/news-a +/usr/share/ncurses4/terminfo/n/news-o +/usr/share/ncurses4/terminfo/n/news-old-unk +/usr/share/ncurses4/terminfo/n/news-unk +/usr/share/ncurses4/terminfo/n/news28 +/usr/share/ncurses4/terminfo/n/news28-a +/usr/share/ncurses4/terminfo/n/news29 +/usr/share/ncurses4/terminfo/n/news31 +/usr/share/ncurses4/terminfo/n/news31-a +/usr/share/ncurses4/terminfo/n/news31-o +/usr/share/ncurses4/terminfo/n/news33 +/usr/share/ncurses4/terminfo/n/news40 +/usr/share/ncurses4/terminfo/n/news40-a +/usr/share/ncurses4/terminfo/n/news40-o +/usr/share/ncurses4/terminfo/n/news42 +/usr/share/ncurses4/terminfo/n/newscbm +/usr/share/ncurses4/terminfo/n/newscbm-a +/usr/share/ncurses4/terminfo/n/newscbm-o +/usr/share/ncurses4/terminfo/n/newscbm33 +/usr/share/ncurses4/terminfo/n/next +/usr/share/ncurses4/terminfo/n/nextshell +/usr/share/ncurses4/terminfo/n/northstar +/usr/share/ncurses4/terminfo/n/nwe501 +/usr/share/ncurses4/terminfo/n/nwe501-a +/usr/share/ncurses4/terminfo/n/nwe501-o +/usr/share/ncurses4/terminfo/n/nwp-511 +/usr/share/ncurses4/terminfo/n/nwp-517 +/usr/share/ncurses4/terminfo/n/nwp-517-w +/usr/share/ncurses4/terminfo/n/nwp251-a +/usr/share/ncurses4/terminfo/n/nwp251-o +/usr/share/ncurses4/terminfo/n/nwp511 +/usr/share/ncurses4/terminfo/n/nwp512 +/usr/share/ncurses4/terminfo/n/nwp512-a +/usr/share/ncurses4/terminfo/n/nwp512-o +/usr/share/ncurses4/terminfo/n/nwp513 +/usr/share/ncurses4/terminfo/n/nwp513-a +/usr/share/ncurses4/terminfo/n/nwp513-o +/usr/share/ncurses4/terminfo/n/nwp514 +/usr/share/ncurses4/terminfo/n/nwp514-a +/usr/share/ncurses4/terminfo/n/nwp514-o +/usr/share/ncurses4/terminfo/n/nwp517 +/usr/share/ncurses4/terminfo/n/nwp517-w +/usr/share/ncurses4/terminfo/n/nwp518 +/usr/share/ncurses4/terminfo/n/nwp518-a +/usr/share/ncurses4/terminfo/n/nwp518-o +/usr/share/ncurses4/terminfo/o +/usr/share/ncurses4/terminfo/o/o31 +/usr/share/ncurses4/terminfo/o/o4112-nd +/usr/share/ncurses4/terminfo/o/o85h +/usr/share/ncurses4/terminfo/o/oabm85h +/usr/share/ncurses4/terminfo/o/oblit +/usr/share/ncurses4/terminfo/o/oc100 +/usr/share/ncurses4/terminfo/o/oconcept +/usr/share/ncurses4/terminfo/o/ojerq +/usr/share/ncurses4/terminfo/o/oldibmpc3 +/usr/share/ncurses4/terminfo/o/oldpc3 +/usr/share/ncurses4/terminfo/o/oldsun +/usr/share/ncurses4/terminfo/o/omron +/usr/share/ncurses4/terminfo/o/opus3n1+ +/usr/share/ncurses4/terminfo/o/origibmpc3 +/usr/share/ncurses4/terminfo/o/origpc3 +/usr/share/ncurses4/terminfo/o/os9LII +/usr/share/ncurses4/terminfo/o/osborne +/usr/share/ncurses4/terminfo/o/osborne-w +/usr/share/ncurses4/terminfo/o/osborne1 +/usr/share/ncurses4/terminfo/o/osborne1-w +/usr/share/ncurses4/terminfo/o/osexec +/usr/share/ncurses4/terminfo/o/otek4112 +/usr/share/ncurses4/terminfo/o/otek4113 +/usr/share/ncurses4/terminfo/o/otek4114 +/usr/share/ncurses4/terminfo/o/otek4115 +/usr/share/ncurses4/terminfo/o/owl +/usr/share/ncurses4/terminfo/p +/usr/share/ncurses4/terminfo/p/p12 +/usr/share/ncurses4/terminfo/p/p12-m +/usr/share/ncurses4/terminfo/p/p12-m-w +/usr/share/ncurses4/terminfo/p/p12-w +/usr/share/ncurses4/terminfo/p/p14 +/usr/share/ncurses4/terminfo/p/p14-m +/usr/share/ncurses4/terminfo/p/p14-m-w +/usr/share/ncurses4/terminfo/p/p14-w +/usr/share/ncurses4/terminfo/p/p19 +/usr/share/ncurses4/terminfo/p/p4 +/usr/share/ncurses4/terminfo/p/p5 +/usr/share/ncurses4/terminfo/p/p7 +/usr/share/ncurses4/terminfo/p/p8 +/usr/share/ncurses4/terminfo/p/p8-w +/usr/share/ncurses4/terminfo/p/p8gl +/usr/share/ncurses4/terminfo/p/p9 +/usr/share/ncurses4/terminfo/p/p9-8 +/usr/share/ncurses4/terminfo/p/p9-8-w +/usr/share/ncurses4/terminfo/p/p9-w +/usr/share/ncurses4/terminfo/p/pc-coherent +/usr/share/ncurses4/terminfo/p/pc-minix +/usr/share/ncurses4/terminfo/p/pc-venix +/usr/share/ncurses4/terminfo/p/pc3 +/usr/share/ncurses4/terminfo/p/pc3-bold +/usr/share/ncurses4/terminfo/p/pc3r +/usr/share/ncurses4/terminfo/p/pc3r-m +/usr/share/ncurses4/terminfo/p/pc6300plus +/usr/share/ncurses4/terminfo/p/pc7300 +/usr/share/ncurses4/terminfo/p/pcansi +/usr/share/ncurses4/terminfo/p/pcansi-25 +/usr/share/ncurses4/terminfo/p/pcansi-25-m +/usr/share/ncurses4/terminfo/p/pcansi-33 +/usr/share/ncurses4/terminfo/p/pcansi-33-m +/usr/share/ncurses4/terminfo/p/pcansi-43 +/usr/share/ncurses4/terminfo/p/pcansi-43-m +/usr/share/ncurses4/terminfo/p/pcansi-m +/usr/share/ncurses4/terminfo/p/pcansi-mono +/usr/share/ncurses4/terminfo/p/pcansi25 +/usr/share/ncurses4/terminfo/p/pcansi25m +/usr/share/ncurses4/terminfo/p/pcansi33 +/usr/share/ncurses4/terminfo/p/pcansi33m +/usr/share/ncurses4/terminfo/p/pcansi43 +/usr/share/ncurses4/terminfo/p/pccons +/usr/share/ncurses4/terminfo/p/pcconsole +/usr/share/ncurses4/terminfo/p/pcix +/usr/share/ncurses4/terminfo/p/pckermit +/usr/share/ncurses4/terminfo/p/pckermit12 +/usr/share/ncurses4/terminfo/p/pckermit120 +/usr/share/ncurses4/terminfo/p/pcplot +/usr/share/ncurses4/terminfo/p/pcvt25 +/usr/share/ncurses4/terminfo/p/pcvt25w +/usr/share/ncurses4/terminfo/p/pcvt28 +/usr/share/ncurses4/terminfo/p/pcvt28w +/usr/share/ncurses4/terminfo/p/pcvt35 +/usr/share/ncurses4/terminfo/p/pcvt35w +/usr/share/ncurses4/terminfo/p/pcvt40 +/usr/share/ncurses4/terminfo/p/pcvt40w +/usr/share/ncurses4/terminfo/p/pcvt43 +/usr/share/ncurses4/terminfo/p/pcvt43w +/usr/share/ncurses4/terminfo/p/pcvt50 +/usr/share/ncurses4/terminfo/p/pcvt50w +/usr/share/ncurses4/terminfo/p/pcvtXX +/usr/share/ncurses4/terminfo/p/pcz19 +/usr/share/ncurses4/terminfo/p/pe1100 +/usr/share/ncurses4/terminfo/p/pe1200 +/usr/share/ncurses4/terminfo/p/pe1251 +/usr/share/ncurses4/terminfo/p/pe550 +/usr/share/ncurses4/terminfo/p/pe6100 +/usr/share/ncurses4/terminfo/p/pe6300 +/usr/share/ncurses4/terminfo/p/pe6312 +/usr/share/ncurses4/terminfo/p/pe7000c +/usr/share/ncurses4/terminfo/p/pe7000m +/usr/share/ncurses4/terminfo/p/pilot +/usr/share/ncurses4/terminfo/p/printer +/usr/share/ncurses4/terminfo/p/prism12 +/usr/share/ncurses4/terminfo/p/prism12-m +/usr/share/ncurses4/terminfo/p/prism12-m-w +/usr/share/ncurses4/terminfo/p/prism12-w +/usr/share/ncurses4/terminfo/p/prism14 +/usr/share/ncurses4/terminfo/p/prism14-m +/usr/share/ncurses4/terminfo/p/prism14-m-w +/usr/share/ncurses4/terminfo/p/prism14-w +/usr/share/ncurses4/terminfo/p/prism2 +/usr/share/ncurses4/terminfo/p/prism4 +/usr/share/ncurses4/terminfo/p/prism5 +/usr/share/ncurses4/terminfo/p/prism7 +/usr/share/ncurses4/terminfo/p/prism8 +/usr/share/ncurses4/terminfo/p/prism8-w +/usr/share/ncurses4/terminfo/p/prism8gl +/usr/share/ncurses4/terminfo/p/prism9 +/usr/share/ncurses4/terminfo/p/prism9-8 +/usr/share/ncurses4/terminfo/p/prism9-8-w +/usr/share/ncurses4/terminfo/p/prism9-w +/usr/share/ncurses4/terminfo/p/pro350 +/usr/share/ncurses4/terminfo/p/ps300 +/usr/share/ncurses4/terminfo/p/psterm +/usr/share/ncurses4/terminfo/p/psterm-80x24 +/usr/share/ncurses4/terminfo/p/psterm-90x28 +/usr/share/ncurses4/terminfo/p/psterm-96x48 +/usr/share/ncurses4/terminfo/p/psterm-basic +/usr/share/ncurses4/terminfo/p/psterm-fast +/usr/share/ncurses4/terminfo/p/psx_ansi +/usr/share/ncurses4/terminfo/p/pt100 +/usr/share/ncurses4/terminfo/p/pt100w +/usr/share/ncurses4/terminfo/p/pt200 +/usr/share/ncurses4/terminfo/p/pt200w +/usr/share/ncurses4/terminfo/p/pt210 +/usr/share/ncurses4/terminfo/p/pt250 +/usr/share/ncurses4/terminfo/p/pt250w +/usr/share/ncurses4/terminfo/p/pt505 +/usr/share/ncurses4/terminfo/p/pt505-22 +/usr/share/ncurses4/terminfo/p/pt505-24 +/usr/share/ncurses4/terminfo/p/pty +/usr/share/ncurses4/terminfo/q +/usr/share/ncurses4/terminfo/q/qdcons +/usr/share/ncurses4/terminfo/q/qdss +/usr/share/ncurses4/terminfo/q/qnx +/usr/share/ncurses4/terminfo/q/qnx4 +/usr/share/ncurses4/terminfo/q/qume +/usr/share/ncurses4/terminfo/q/qume5 +/usr/share/ncurses4/terminfo/q/qvt101 +/usr/share/ncurses4/terminfo/q/qvt101+ +/usr/share/ncurses4/terminfo/q/qvt101p +/usr/share/ncurses4/terminfo/q/qvt102 +/usr/share/ncurses4/terminfo/q/qvt103 +/usr/share/ncurses4/terminfo/q/qvt103-w +/usr/share/ncurses4/terminfo/q/qvt108 +/usr/share/ncurses4/terminfo/q/qvt119 +/usr/share/ncurses4/terminfo/q/qvt119+ +/usr/share/ncurses4/terminfo/q/qvt119+-25 +/usr/share/ncurses4/terminfo/q/qvt119+-25-w +/usr/share/ncurses4/terminfo/q/qvt119+-w +/usr/share/ncurses4/terminfo/q/qvt119-25-w +/usr/share/ncurses4/terminfo/q/qvt119-w +/usr/share/ncurses4/terminfo/q/qvt119p +/usr/share/ncurses4/terminfo/q/qvt119p-25 +/usr/share/ncurses4/terminfo/q/qvt119p-25-w +/usr/share/ncurses4/terminfo/q/qvt119p-w +/usr/share/ncurses4/terminfo/q/qvt203 +/usr/share/ncurses4/terminfo/q/qvt203+ +/usr/share/ncurses4/terminfo/q/qvt203-25 +/usr/share/ncurses4/terminfo/q/qvt203-25-w +/usr/share/ncurses4/terminfo/q/qvt203-w +/usr/share/ncurses4/terminfo/q/qvt203-w-am +/usr/share/ncurses4/terminfo/r +/usr/share/ncurses4/terminfo/r/rbcomm +/usr/share/ncurses4/terminfo/r/rbcomm-nam +/usr/share/ncurses4/terminfo/r/rbcomm-w +/usr/share/ncurses4/terminfo/r/rca +/usr/share/ncurses4/terminfo/r/rebus3180 +/usr/share/ncurses4/terminfo/r/regent +/usr/share/ncurses4/terminfo/r/regent100 +/usr/share/ncurses4/terminfo/r/regent20 +/usr/share/ncurses4/terminfo/r/regent200 +/usr/share/ncurses4/terminfo/r/regent25 +/usr/share/ncurses4/terminfo/r/regent40 +/usr/share/ncurses4/terminfo/r/regent40+ +/usr/share/ncurses4/terminfo/r/regent60 +/usr/share/ncurses4/terminfo/r/rt6221 +/usr/share/ncurses4/terminfo/r/rt6221-w +/usr/share/ncurses4/terminfo/r/rtpc +/usr/share/ncurses4/terminfo/r/rxvt +/usr/share/ncurses4/terminfo/r/rxvt-basic +/usr/share/ncurses4/terminfo/s +/usr/share/ncurses4/terminfo/s/s +/usr/share/ncurses4/terminfo/s/s4 +/usr/share/ncurses4/terminfo/s/sb1 +/usr/share/ncurses4/terminfo/s/sb2 +/usr/share/ncurses4/terminfo/s/sb3 +/usr/share/ncurses4/terminfo/s/sbi +/usr/share/ncurses4/terminfo/s/sbobcat +/usr/share/ncurses4/terminfo/s/sc410 +/usr/share/ncurses4/terminfo/s/sc415 +/usr/share/ncurses4/terminfo/s/scanset +/usr/share/ncurses4/terminfo/s/scoansi +/usr/share/ncurses4/terminfo/s/screen +/usr/share/ncurses4/terminfo/s/screen-w +/usr/share/ncurses4/terminfo/s/screen2 +/usr/share/ncurses4/terminfo/s/screen3 +/usr/share/ncurses4/terminfo/s/screwpoint +/usr/share/ncurses4/terminfo/s/scrhp +/usr/share/ncurses4/terminfo/s/simterm +/usr/share/ncurses4/terminfo/s/soroc +/usr/share/ncurses4/terminfo/s/soroc120 +/usr/share/ncurses4/terminfo/s/soroc140 +/usr/share/ncurses4/terminfo/s/spinwriter +/usr/share/ncurses4/terminfo/s/st52 +/usr/share/ncurses4/terminfo/s/sun +/usr/share/ncurses4/terminfo/s/sun-1 +/usr/share/ncurses4/terminfo/s/sun-12 +/usr/share/ncurses4/terminfo/s/sun-17 +/usr/share/ncurses4/terminfo/s/sun-24 +/usr/share/ncurses4/terminfo/s/sun-34 +/usr/share/ncurses4/terminfo/s/sun-48 +/usr/share/ncurses4/terminfo/s/sun-c +/usr/share/ncurses4/terminfo/s/sun-cmd +/usr/share/ncurses4/terminfo/s/sun-e +/usr/share/ncurses4/terminfo/s/sun-e-s +/usr/share/ncurses4/terminfo/s/sun-il +/usr/share/ncurses4/terminfo/s/sun-nic +/usr/share/ncurses4/terminfo/s/sun-s +/usr/share/ncurses4/terminfo/s/sun-s-e +/usr/share/ncurses4/terminfo/s/sun-ss5 +/usr/share/ncurses4/terminfo/s/sun1 +/usr/share/ncurses4/terminfo/s/sun2 +/usr/share/ncurses4/terminfo/s/sune +/usr/share/ncurses4/terminfo/s/superbee +/usr/share/ncurses4/terminfo/s/superbee-xsb +/usr/share/ncurses4/terminfo/s/superbeeic +/usr/share/ncurses4/terminfo/s/superbrain +/usr/share/ncurses4/terminfo/s/sv80 +/usr/share/ncurses4/terminfo/s/swtp +/usr/share/ncurses4/terminfo/s/synertek +/usr/share/ncurses4/terminfo/s/synertek380 +/usr/share/ncurses4/terminfo/s/system1 +/usr/share/ncurses4/terminfo/t +/usr/share/ncurses4/terminfo/t/t10 +/usr/share/ncurses4/terminfo/t/t1061 +/usr/share/ncurses4/terminfo/t/t1061f +/usr/share/ncurses4/terminfo/t/t16 +/usr/share/ncurses4/terminfo/t/t3700 +/usr/share/ncurses4/terminfo/t/t3800 +/usr/share/ncurses4/terminfo/t/t653x +/usr/share/ncurses4/terminfo/t/tab +/usr/share/ncurses4/terminfo/t/tab132 +/usr/share/ncurses4/terminfo/t/tab132-15 +/usr/share/ncurses4/terminfo/t/tab132-rv +/usr/share/ncurses4/terminfo/t/tab132-w +/usr/share/ncurses4/terminfo/t/tab132-w-rv +/usr/share/ncurses4/terminfo/t/tandem6510 +/usr/share/ncurses4/terminfo/t/tandem653 +/usr/share/ncurses4/terminfo/t/tek +/usr/share/ncurses4/terminfo/t/tek4012 +/usr/share/ncurses4/terminfo/t/tek4013 +/usr/share/ncurses4/terminfo/t/tek4014 +/usr/share/ncurses4/terminfo/t/tek4014-sm +/usr/share/ncurses4/terminfo/t/tek4015 +/usr/share/ncurses4/terminfo/t/tek4015-sm +/usr/share/ncurses4/terminfo/t/tek4023 +/usr/share/ncurses4/terminfo/t/tek4024 +/usr/share/ncurses4/terminfo/t/tek4025 +/usr/share/ncurses4/terminfo/t/tek4025-17 +/usr/share/ncurses4/terminfo/t/tek4025-17-ws +/usr/share/ncurses4/terminfo/t/tek4025-cr +/usr/share/ncurses4/terminfo/t/tek4025-ex +/usr/share/ncurses4/terminfo/t/tek4025a +/usr/share/ncurses4/terminfo/t/tek4025ex +/usr/share/ncurses4/terminfo/t/tek4027 +/usr/share/ncurses4/terminfo/t/tek4027-ex +/usr/share/ncurses4/terminfo/t/tek4105 +/usr/share/ncurses4/terminfo/t/tek4105-30 +/usr/share/ncurses4/terminfo/t/tek4105a +/usr/share/ncurses4/terminfo/t/tek4106brl +/usr/share/ncurses4/terminfo/t/tek4107 +/usr/share/ncurses4/terminfo/t/tek4107brl +/usr/share/ncurses4/terminfo/t/tek4109 +/usr/share/ncurses4/terminfo/t/tek4109brl +/usr/share/ncurses4/terminfo/t/tek4112 +/usr/share/ncurses4/terminfo/t/tek4112-5 +/usr/share/ncurses4/terminfo/t/tek4112-nd +/usr/share/ncurses4/terminfo/t/tek4113 +/usr/share/ncurses4/terminfo/t/tek4113-34 +/usr/share/ncurses4/terminfo/t/tek4113-nd +/usr/share/ncurses4/terminfo/t/tek4114 +/usr/share/ncurses4/terminfo/t/tek4115 +/usr/share/ncurses4/terminfo/t/tek4125 +/usr/share/ncurses4/terminfo/t/tek4205 +/usr/share/ncurses4/terminfo/t/tek4207 +/usr/share/ncurses4/terminfo/t/tek4207-s +/usr/share/ncurses4/terminfo/t/tek4404 +/usr/share/ncurses4/terminfo/t/teleray +/usr/share/ncurses4/terminfo/t/teletec +/usr/share/ncurses4/terminfo/t/terminet +/usr/share/ncurses4/terminfo/t/terminet1200 +/usr/share/ncurses4/terminfo/t/terminet300 +/usr/share/ncurses4/terminfo/t/tgtelnet +/usr/share/ncurses4/terminfo/t/ti700 +/usr/share/ncurses4/terminfo/t/ti733 +/usr/share/ncurses4/terminfo/t/ti735 +/usr/share/ncurses4/terminfo/t/ti745 +/usr/share/ncurses4/terminfo/t/ti800 +/usr/share/ncurses4/terminfo/t/ti916 +/usr/share/ncurses4/terminfo/t/ti916-132 +/usr/share/ncurses4/terminfo/t/ti916-220-7 +/usr/share/ncurses4/terminfo/t/ti916-220-8 +/usr/share/ncurses4/terminfo/t/ti916-8 +/usr/share/ncurses4/terminfo/t/ti916-8-132 +/usr/share/ncurses4/terminfo/t/ti924 +/usr/share/ncurses4/terminfo/t/ti924-8 +/usr/share/ncurses4/terminfo/t/ti924-8w +/usr/share/ncurses4/terminfo/t/ti924w +/usr/share/ncurses4/terminfo/t/ti926 +/usr/share/ncurses4/terminfo/t/ti926-8 +/usr/share/ncurses4/terminfo/t/ti928 +/usr/share/ncurses4/terminfo/t/ti928-8 +/usr/share/ncurses4/terminfo/t/ti931 +/usr/share/ncurses4/terminfo/t/ti_ansi +/usr/share/ncurses4/terminfo/t/tn1200 +/usr/share/ncurses4/terminfo/t/tn300 +/usr/share/ncurses4/terminfo/t/trs16 +/usr/share/ncurses4/terminfo/t/trs2 +/usr/share/ncurses4/terminfo/t/trs80II +/usr/share/ncurses4/terminfo/t/trsII +/usr/share/ncurses4/terminfo/t/ts-1 +/usr/share/ncurses4/terminfo/t/ts-1p +/usr/share/ncurses4/terminfo/t/ts1 +/usr/share/ncurses4/terminfo/t/ts100 +/usr/share/ncurses4/terminfo/t/ts100-ctxt +/usr/share/ncurses4/terminfo/t/ts100-sp +/usr/share/ncurses4/terminfo/t/ts1p +/usr/share/ncurses4/terminfo/t/tt505-22 +/usr/share/ncurses4/terminfo/t/tty33 +/usr/share/ncurses4/terminfo/t/tty35 +/usr/share/ncurses4/terminfo/t/tty37 +/usr/share/ncurses4/terminfo/t/tty40 +/usr/share/ncurses4/terminfo/t/tty43 +/usr/share/ncurses4/terminfo/t/tty4420 +/usr/share/ncurses4/terminfo/t/tty4424 +/usr/share/ncurses4/terminfo/t/tty4424-1 +/usr/share/ncurses4/terminfo/t/tty4424m +/usr/share/ncurses4/terminfo/t/tty4426 +/usr/share/ncurses4/terminfo/t/tty5410 +/usr/share/ncurses4/terminfo/t/tty5410-w +/usr/share/ncurses4/terminfo/t/tty5410v1 +/usr/share/ncurses4/terminfo/t/tty5410v1-w +/usr/share/ncurses4/terminfo/t/tty5420 +/usr/share/ncurses4/terminfo/t/tty5420+nl +/usr/share/ncurses4/terminfo/t/tty5420-nl +/usr/share/ncurses4/terminfo/t/tty5420-rv +/usr/share/ncurses4/terminfo/t/tty5420-rv-nl +/usr/share/ncurses4/terminfo/t/tty5420-w +/usr/share/ncurses4/terminfo/t/tty5420-w-nl +/usr/share/ncurses4/terminfo/t/tty5420-w-rv +/usr/share/ncurses4/terminfo/t/tty5420-w-rv-n +/usr/share/ncurses4/terminfo/t/tty5425 +/usr/share/ncurses4/terminfo/t/tty5425-nl +/usr/share/ncurses4/terminfo/t/tty5425-w +/usr/share/ncurses4/terminfo/t/tty5620 +/usr/share/ncurses4/terminfo/t/tty5620-1 +/usr/share/ncurses4/terminfo/t/tty5620-24 +/usr/share/ncurses4/terminfo/t/tty5620-34 +/usr/share/ncurses4/terminfo/t/tty5620-s +/usr/share/ncurses4/terminfo/t/ttydmd +/usr/share/ncurses4/terminfo/t/tvi-2p +/usr/share/ncurses4/terminfo/t/tvi803 +/usr/share/ncurses4/terminfo/t/tvi9065 +/usr/share/ncurses4/terminfo/t/tvi910 +/usr/share/ncurses4/terminfo/t/tvi910+ +/usr/share/ncurses4/terminfo/t/tvi912 +/usr/share/ncurses4/terminfo/t/tvi912-2p +/usr/share/ncurses4/terminfo/t/tvi912b +/usr/share/ncurses4/terminfo/t/tvi912c +/usr/share/ncurses4/terminfo/t/tvi912cc +/usr/share/ncurses4/terminfo/t/tvi914 +/usr/share/ncurses4/terminfo/t/tvi920 +/usr/share/ncurses4/terminfo/t/tvi920-2p +/usr/share/ncurses4/terminfo/t/tvi920b +/usr/share/ncurses4/terminfo/t/tvi920c +/usr/share/ncurses4/terminfo/t/tvi921 +/usr/share/ncurses4/terminfo/t/tvi924 +/usr/share/ncurses4/terminfo/t/tvi925 +/usr/share/ncurses4/terminfo/t/tvi925-hi +/usr/share/ncurses4/terminfo/t/tvi92B +/usr/share/ncurses4/terminfo/t/tvi92D +/usr/share/ncurses4/terminfo/t/tvi950 +/usr/share/ncurses4/terminfo/t/tvi950-2p +/usr/share/ncurses4/terminfo/t/tvi950-4p +/usr/share/ncurses4/terminfo/t/tvi950-rv +/usr/share/ncurses4/terminfo/t/tvi950-rv-2p +/usr/share/ncurses4/terminfo/t/tvi950-rv-4p +/usr/share/ncurses4/terminfo/t/tvi955 +/usr/share/ncurses4/terminfo/t/tvi955-hb +/usr/share/ncurses4/terminfo/t/tvi955-w +/usr/share/ncurses4/terminfo/t/tvi970 +/usr/share/ncurses4/terminfo/t/tvi970-2p +/usr/share/ncurses4/terminfo/t/tvi970-vb +/usr/share/ncurses4/terminfo/t/tvipt +/usr/share/ncurses4/terminfo/u +/usr/share/ncurses4/terminfo/u/ultima2 +/usr/share/ncurses4/terminfo/u/ultimaII +/usr/share/ncurses4/terminfo/u/uniterm +/usr/share/ncurses4/terminfo/u/uniterm49 +/usr/share/ncurses4/terminfo/u/unixpc +/usr/share/ncurses4/terminfo/u/unknown +/usr/share/ncurses4/terminfo/u/uts30 +/usr/share/ncurses4/terminfo/v +/usr/share/ncurses4/terminfo/v/v200-nam +/usr/share/ncurses4/terminfo/v/v320n +/usr/share/ncurses4/terminfo/v/v3220 +/usr/share/ncurses4/terminfo/v/v5410 +/usr/share/ncurses4/terminfo/v/vapple +/usr/share/ncurses4/terminfo/v/vc103 +/usr/share/ncurses4/terminfo/v/vc203 +/usr/share/ncurses4/terminfo/v/vc303 +/usr/share/ncurses4/terminfo/v/vc303a +/usr/share/ncurses4/terminfo/v/vc403a +/usr/share/ncurses4/terminfo/v/vc404 +/usr/share/ncurses4/terminfo/v/vc404-s +/usr/share/ncurses4/terminfo/v/vc414 +/usr/share/ncurses4/terminfo/v/vc414h +/usr/share/ncurses4/terminfo/v/vc415 +/usr/share/ncurses4/terminfo/v/venix +/usr/share/ncurses4/terminfo/v/versaterm +/usr/share/ncurses4/terminfo/v/vi200 +/usr/share/ncurses4/terminfo/v/vi200-f +/usr/share/ncurses4/terminfo/v/vi200-rv +/usr/share/ncurses4/terminfo/v/vi300 +/usr/share/ncurses4/terminfo/v/vi300-old +/usr/share/ncurses4/terminfo/v/vi50 +/usr/share/ncurses4/terminfo/v/vi500 +/usr/share/ncurses4/terminfo/v/vi50adm +/usr/share/ncurses4/terminfo/v/vi55 +/usr/share/ncurses4/terminfo/v/vi550 +/usr/share/ncurses4/terminfo/v/vi603 +/usr/share/ncurses4/terminfo/v/viewpoint +/usr/share/ncurses4/terminfo/v/viewpoint3a+ +/usr/share/ncurses4/terminfo/v/viewpoint60 +/usr/share/ncurses4/terminfo/v/viewpoint90 +/usr/share/ncurses4/terminfo/v/visa50 +/usr/share/ncurses4/terminfo/v/visual603 +/usr/share/ncurses4/terminfo/v/vitty +/usr/share/ncurses4/terminfo/v/vk100 +/usr/share/ncurses4/terminfo/v/vp3a+ +/usr/share/ncurses4/terminfo/v/vp60 +/usr/share/ncurses4/terminfo/v/vp90 +/usr/share/ncurses4/terminfo/v/vremote +/usr/share/ncurses4/terminfo/v/vs100 +/usr/share/ncurses4/terminfo/v/vs100-x10 +/usr/share/ncurses4/terminfo/v/vsc +/usr/share/ncurses4/terminfo/v/vt-61 +/usr/share/ncurses4/terminfo/v/vt100 +/usr/share/ncurses4/terminfo/v/vt100-am +/usr/share/ncurses4/terminfo/v/vt100-bm +/usr/share/ncurses4/terminfo/v/vt100-bm-o +/usr/share/ncurses4/terminfo/v/vt100-bot-s +/usr/share/ncurses4/terminfo/v/vt100-nam +/usr/share/ncurses4/terminfo/v/vt100-nam-w +/usr/share/ncurses4/terminfo/v/vt100-nav +/usr/share/ncurses4/terminfo/v/vt100-nav-w +/usr/share/ncurses4/terminfo/v/vt100-s +/usr/share/ncurses4/terminfo/v/vt100-s-bot +/usr/share/ncurses4/terminfo/v/vt100-s-top +/usr/share/ncurses4/terminfo/v/vt100-top-s +/usr/share/ncurses4/terminfo/v/vt100-vb +/usr/share/ncurses4/terminfo/v/vt100-w +/usr/share/ncurses4/terminfo/v/vt100-w-am +/usr/share/ncurses4/terminfo/v/vt100-w-nam +/usr/share/ncurses4/terminfo/v/vt100-w-nav +/usr/share/ncurses4/terminfo/v/vt100nam +/usr/share/ncurses4/terminfo/v/vt102 +/usr/share/ncurses4/terminfo/v/vt102-nsgr +/usr/share/ncurses4/terminfo/v/vt102-w +/usr/share/ncurses4/terminfo/v/vt125 +/usr/share/ncurses4/terminfo/v/vt131 +/usr/share/ncurses4/terminfo/v/vt132 +/usr/share/ncurses4/terminfo/v/vt200 +/usr/share/ncurses4/terminfo/v/vt200-js +/usr/share/ncurses4/terminfo/v/vt200-w +/usr/share/ncurses4/terminfo/v/vt220 +/usr/share/ncurses4/terminfo/v/vt220-8 +/usr/share/ncurses4/terminfo/v/vt220-js +/usr/share/ncurses4/terminfo/v/vt220-nam +/usr/share/ncurses4/terminfo/v/vt220-w +/usr/share/ncurses4/terminfo/v/vt220d +/usr/share/ncurses4/terminfo/v/vt300 +/usr/share/ncurses4/terminfo/v/vt300-nam +/usr/share/ncurses4/terminfo/v/vt300-w +/usr/share/ncurses4/terminfo/v/vt300-w-nam +/usr/share/ncurses4/terminfo/v/vt320 +/usr/share/ncurses4/terminfo/v/vt320-k3 +/usr/share/ncurses4/terminfo/v/vt320-k311 +/usr/share/ncurses4/terminfo/v/vt320-nam +/usr/share/ncurses4/terminfo/v/vt320-w +/usr/share/ncurses4/terminfo/v/vt320-w-nam +/usr/share/ncurses4/terminfo/v/vt320nam +/usr/share/ncurses4/terminfo/v/vt330 +/usr/share/ncurses4/terminfo/v/vt340 +/usr/share/ncurses4/terminfo/v/vt400 +/usr/share/ncurses4/terminfo/v/vt400-24 +/usr/share/ncurses4/terminfo/v/vt420 +/usr/share/ncurses4/terminfo/v/vt420f +/usr/share/ncurses4/terminfo/v/vt420pc +/usr/share/ncurses4/terminfo/v/vt420pcdos +/usr/share/ncurses4/terminfo/v/vt50 +/usr/share/ncurses4/terminfo/v/vt50h +/usr/share/ncurses4/terminfo/v/vt510 +/usr/share/ncurses4/terminfo/v/vt510pc +/usr/share/ncurses4/terminfo/v/vt510pcdos +/usr/share/ncurses4/terminfo/v/vt52 +/usr/share/ncurses4/terminfo/v/vt520 +/usr/share/ncurses4/terminfo/v/vt525 +/usr/share/ncurses4/terminfo/v/vt61 +/usr/share/ncurses4/terminfo/v/vt61.5 +/usr/share/ncurses4/terminfo/w +/usr/share/ncurses4/terminfo/w/wren +/usr/share/ncurses4/terminfo/w/wrenw +/usr/share/ncurses4/terminfo/w/wsiris +/usr/share/ncurses4/terminfo/w/wy-75ap +/usr/share/ncurses4/terminfo/w/wy100 +/usr/share/ncurses4/terminfo/w/wy100q +/usr/share/ncurses4/terminfo/w/wy120 +/usr/share/ncurses4/terminfo/w/wy120-25 +/usr/share/ncurses4/terminfo/w/wy120-25-w +/usr/share/ncurses4/terminfo/w/wy120-vb +/usr/share/ncurses4/terminfo/w/wy120-w +/usr/share/ncurses4/terminfo/w/wy120-w-vb +/usr/share/ncurses4/terminfo/w/wy120-wvb +/usr/share/ncurses4/terminfo/w/wy150 +/usr/share/ncurses4/terminfo/w/wy150-25 +/usr/share/ncurses4/terminfo/w/wy150-25-w +/usr/share/ncurses4/terminfo/w/wy150-vb +/usr/share/ncurses4/terminfo/w/wy150-w +/usr/share/ncurses4/terminfo/w/wy150-w-vb +/usr/share/ncurses4/terminfo/w/wy160 +/usr/share/ncurses4/terminfo/w/wy160-25 +/usr/share/ncurses4/terminfo/w/wy160-25-w +/usr/share/ncurses4/terminfo/w/wy160-42 +/usr/share/ncurses4/terminfo/w/wy160-42-w +/usr/share/ncurses4/terminfo/w/wy160-43 +/usr/share/ncurses4/terminfo/w/wy160-43-w +/usr/share/ncurses4/terminfo/w/wy160-tek +/usr/share/ncurses4/terminfo/w/wy160-vb +/usr/share/ncurses4/terminfo/w/wy160-w +/usr/share/ncurses4/terminfo/w/wy160-w-vb +/usr/share/ncurses4/terminfo/w/wy160-wvb +/usr/share/ncurses4/terminfo/w/wy185 +/usr/share/ncurses4/terminfo/w/wy185-24 +/usr/share/ncurses4/terminfo/w/wy185-vb +/usr/share/ncurses4/terminfo/w/wy185-w +/usr/share/ncurses4/terminfo/w/wy185-wvb +/usr/share/ncurses4/terminfo/w/wy30 +/usr/share/ncurses4/terminfo/w/wy30-mc +/usr/share/ncurses4/terminfo/w/wy30-vb +/usr/share/ncurses4/terminfo/w/wy325 +/usr/share/ncurses4/terminfo/w/wy325-25 +/usr/share/ncurses4/terminfo/w/wy325-25w +/usr/share/ncurses4/terminfo/w/wy325-42 +/usr/share/ncurses4/terminfo/w/wy325-42w +/usr/share/ncurses4/terminfo/w/wy325-42w-vb +/usr/share/ncurses4/terminfo/w/wy325-42wvb +/usr/share/ncurses4/terminfo/w/wy325-43 +/usr/share/ncurses4/terminfo/w/wy325-43w +/usr/share/ncurses4/terminfo/w/wy325-43w-vb +/usr/share/ncurses4/terminfo/w/wy325-43wvb +/usr/share/ncurses4/terminfo/w/wy325-80 +/usr/share/ncurses4/terminfo/w/wy325-vb +/usr/share/ncurses4/terminfo/w/wy325-w +/usr/share/ncurses4/terminfo/w/wy325-w-vb +/usr/share/ncurses4/terminfo/w/wy325-wvb +/usr/share/ncurses4/terminfo/w/wy325w-24 +/usr/share/ncurses4/terminfo/w/wy350 +/usr/share/ncurses4/terminfo/w/wy350-vb +/usr/share/ncurses4/terminfo/w/wy350-w +/usr/share/ncurses4/terminfo/w/wy350-wvb +/usr/share/ncurses4/terminfo/w/wy370 +/usr/share/ncurses4/terminfo/w/wy370-101k +/usr/share/ncurses4/terminfo/w/wy370-105k +/usr/share/ncurses4/terminfo/w/wy370-EPC +/usr/share/ncurses4/terminfo/w/wy370-nk +/usr/share/ncurses4/terminfo/w/wy370-rv +/usr/share/ncurses4/terminfo/w/wy370-tek +/usr/share/ncurses4/terminfo/w/wy370-vb +/usr/share/ncurses4/terminfo/w/wy370-w +/usr/share/ncurses4/terminfo/w/wy370-wvb +/usr/share/ncurses4/terminfo/w/wy50 +/usr/share/ncurses4/terminfo/w/wy50-mc +/usr/share/ncurses4/terminfo/w/wy50-vb +/usr/share/ncurses4/terminfo/w/wy50-w +/usr/share/ncurses4/terminfo/w/wy50-wvb +/usr/share/ncurses4/terminfo/w/wy520 +/usr/share/ncurses4/terminfo/w/wy520-24 +/usr/share/ncurses4/terminfo/w/wy520-36 +/usr/share/ncurses4/terminfo/w/wy520-36pc +/usr/share/ncurses4/terminfo/w/wy520-36w +/usr/share/ncurses4/terminfo/w/wy520-36wpc +/usr/share/ncurses4/terminfo/w/wy520-48 +/usr/share/ncurses4/terminfo/w/wy520-48pc +/usr/share/ncurses4/terminfo/w/wy520-48w +/usr/share/ncurses4/terminfo/w/wy520-48wpc +/usr/share/ncurses4/terminfo/w/wy520-epc +/usr/share/ncurses4/terminfo/w/wy520-epc-24 +/usr/share/ncurses4/terminfo/w/wy520-epc-vb +/usr/share/ncurses4/terminfo/w/wy520-epc-w +/usr/share/ncurses4/terminfo/w/wy520-epc-wvb +/usr/share/ncurses4/terminfo/w/wy520-vb +/usr/share/ncurses4/terminfo/w/wy520-w +/usr/share/ncurses4/terminfo/w/wy520-wvb +/usr/share/ncurses4/terminfo/w/wy60 +/usr/share/ncurses4/terminfo/w/wy60-25 +/usr/share/ncurses4/terminfo/w/wy60-25-w +/usr/share/ncurses4/terminfo/w/wy60-316X +/usr/share/ncurses4/terminfo/w/wy60-42 +/usr/share/ncurses4/terminfo/w/wy60-42-w +/usr/share/ncurses4/terminfo/w/wy60-43 +/usr/share/ncurses4/terminfo/w/wy60-43-w +/usr/share/ncurses4/terminfo/w/wy60-vb +/usr/share/ncurses4/terminfo/w/wy60-w +/usr/share/ncurses4/terminfo/w/wy60-w-vb +/usr/share/ncurses4/terminfo/w/wy60-wvb +/usr/share/ncurses4/terminfo/w/wy75 +/usr/share/ncurses4/terminfo/w/wy75-mc +/usr/share/ncurses4/terminfo/w/wy75-vb +/usr/share/ncurses4/terminfo/w/wy75-w +/usr/share/ncurses4/terminfo/w/wy75-wvb +/usr/share/ncurses4/terminfo/w/wy75ap +/usr/share/ncurses4/terminfo/w/wy85 +/usr/share/ncurses4/terminfo/w/wy85-vb +/usr/share/ncurses4/terminfo/w/wy85-w +/usr/share/ncurses4/terminfo/w/wy85-wvb +/usr/share/ncurses4/terminfo/w/wy99gt +/usr/share/ncurses4/terminfo/w/wy99gt-25 +/usr/share/ncurses4/terminfo/w/wy99gt-25-w +/usr/share/ncurses4/terminfo/w/wy99gt-tek +/usr/share/ncurses4/terminfo/w/wy99gt-vb +/usr/share/ncurses4/terminfo/w/wy99gt-w +/usr/share/ncurses4/terminfo/w/wy99gt-w-vb +/usr/share/ncurses4/terminfo/w/wy99gt-wvb +/usr/share/ncurses4/terminfo/w/wyse-325 +/usr/share/ncurses4/terminfo/w/wyse-75ap +/usr/share/ncurses4/terminfo/w/wyse-vp +/usr/share/ncurses4/terminfo/w/wyse120 +/usr/share/ncurses4/terminfo/w/wyse120-25 +/usr/share/ncurses4/terminfo/w/wyse120-25-w +/usr/share/ncurses4/terminfo/w/wyse120-vb +/usr/share/ncurses4/terminfo/w/wyse120-w +/usr/share/ncurses4/terminfo/w/wyse120-wvb +/usr/share/ncurses4/terminfo/w/wyse150 +/usr/share/ncurses4/terminfo/w/wyse150-25 +/usr/share/ncurses4/terminfo/w/wyse150-25-w +/usr/share/ncurses4/terminfo/w/wyse150-vb +/usr/share/ncurses4/terminfo/w/wyse150-w +/usr/share/ncurses4/terminfo/w/wyse150-w-vb +/usr/share/ncurses4/terminfo/w/wyse160 +/usr/share/ncurses4/terminfo/w/wyse160-25 +/usr/share/ncurses4/terminfo/w/wyse160-25-w +/usr/share/ncurses4/terminfo/w/wyse160-42 +/usr/share/ncurses4/terminfo/w/wyse160-42-w +/usr/share/ncurses4/terminfo/w/wyse160-43 +/usr/share/ncurses4/terminfo/w/wyse160-43-w +/usr/share/ncurses4/terminfo/w/wyse160-vb +/usr/share/ncurses4/terminfo/w/wyse160-w +/usr/share/ncurses4/terminfo/w/wyse160-wvb +/usr/share/ncurses4/terminfo/w/wyse185 +/usr/share/ncurses4/terminfo/w/wyse185-24 +/usr/share/ncurses4/terminfo/w/wyse185-vb +/usr/share/ncurses4/terminfo/w/wyse185-w +/usr/share/ncurses4/terminfo/w/wyse185-wvb +/usr/share/ncurses4/terminfo/w/wyse30 +/usr/share/ncurses4/terminfo/w/wyse30-mc +/usr/share/ncurses4/terminfo/w/wyse30-vb +/usr/share/ncurses4/terminfo/w/wyse325 +/usr/share/ncurses4/terminfo/w/wyse325-25 +/usr/share/ncurses4/terminfo/w/wyse325-25w +/usr/share/ncurses4/terminfo/w/wyse325-42 +/usr/share/ncurses4/terminfo/w/wyse325-42w +/usr/share/ncurses4/terminfo/w/wyse325-43 +/usr/share/ncurses4/terminfo/w/wyse325-43w +/usr/share/ncurses4/terminfo/w/wyse325-vb +/usr/share/ncurses4/terminfo/w/wyse325-w +/usr/share/ncurses4/terminfo/w/wyse325-wvb +/usr/share/ncurses4/terminfo/w/wyse350 +/usr/share/ncurses4/terminfo/w/wyse350-vb +/usr/share/ncurses4/terminfo/w/wyse350-w +/usr/share/ncurses4/terminfo/w/wyse350-wvb +/usr/share/ncurses4/terminfo/w/wyse370 +/usr/share/ncurses4/terminfo/w/wyse50 +/usr/share/ncurses4/terminfo/w/wyse50-mc +/usr/share/ncurses4/terminfo/w/wyse50-vb +/usr/share/ncurses4/terminfo/w/wyse50-w +/usr/share/ncurses4/terminfo/w/wyse50-wvb +/usr/share/ncurses4/terminfo/w/wyse520 +/usr/share/ncurses4/terminfo/w/wyse520-24 +/usr/share/ncurses4/terminfo/w/wyse520-36 +/usr/share/ncurses4/terminfo/w/wyse520-36pc +/usr/share/ncurses4/terminfo/w/wyse520-36w +/usr/share/ncurses4/terminfo/w/wyse520-36wpc +/usr/share/ncurses4/terminfo/w/wyse520-48 +/usr/share/ncurses4/terminfo/w/wyse520-48pc +/usr/share/ncurses4/terminfo/w/wyse520-48w +/usr/share/ncurses4/terminfo/w/wyse520-48wpc +/usr/share/ncurses4/terminfo/w/wyse520-epc +/usr/share/ncurses4/terminfo/w/wyse520-epc-w +/usr/share/ncurses4/terminfo/w/wyse520-p-wvb +/usr/share/ncurses4/terminfo/w/wyse520-pc-24 +/usr/share/ncurses4/terminfo/w/wyse520-pc-vb +/usr/share/ncurses4/terminfo/w/wyse520-vb +/usr/share/ncurses4/terminfo/w/wyse520-w +/usr/share/ncurses4/terminfo/w/wyse520-wvb +/usr/share/ncurses4/terminfo/w/wyse60 +/usr/share/ncurses4/terminfo/w/wyse60-25 +/usr/share/ncurses4/terminfo/w/wyse60-25-w +/usr/share/ncurses4/terminfo/w/wyse60-316X +/usr/share/ncurses4/terminfo/w/wyse60-42 +/usr/share/ncurses4/terminfo/w/wyse60-42-w +/usr/share/ncurses4/terminfo/w/wyse60-43 +/usr/share/ncurses4/terminfo/w/wyse60-43-w +/usr/share/ncurses4/terminfo/w/wyse60-vb +/usr/share/ncurses4/terminfo/w/wyse60-w +/usr/share/ncurses4/terminfo/w/wyse60-wvb +/usr/share/ncurses4/terminfo/w/wyse75 +/usr/share/ncurses4/terminfo/w/wyse75-mc +/usr/share/ncurses4/terminfo/w/wyse75-vb +/usr/share/ncurses4/terminfo/w/wyse75-w +/usr/share/ncurses4/terminfo/w/wyse75-wvb +/usr/share/ncurses4/terminfo/w/wyse75ap +/usr/share/ncurses4/terminfo/w/wyse85 +/usr/share/ncurses4/terminfo/w/wyse85-vb +/usr/share/ncurses4/terminfo/w/wyse85-w +/usr/share/ncurses4/terminfo/w/wyse85-wvb +/usr/share/ncurses4/terminfo/w/wyse99gt +/usr/share/ncurses4/terminfo/w/wyse99gt-25 +/usr/share/ncurses4/terminfo/w/wyse99gt-25-w +/usr/share/ncurses4/terminfo/w/wyse99gt-vb +/usr/share/ncurses4/terminfo/w/wyse99gt-w +/usr/share/ncurses4/terminfo/w/wyse99gt-wvb +/usr/share/ncurses4/terminfo/x +/usr/share/ncurses4/terminfo/x/x10term +/usr/share/ncurses4/terminfo/x/x1700 +/usr/share/ncurses4/terminfo/x/x1700-lm +/usr/share/ncurses4/terminfo/x/x1720 +/usr/share/ncurses4/terminfo/x/x1750 +/usr/share/ncurses4/terminfo/x/x68k +/usr/share/ncurses4/terminfo/x/x68k-ite +/usr/share/ncurses4/terminfo/x/x820 +/usr/share/ncurses4/terminfo/x/xenix +/usr/share/ncurses4/terminfo/x/xerox +/usr/share/ncurses4/terminfo/x/xerox-lm +/usr/share/ncurses4/terminfo/x/xerox1720 +/usr/share/ncurses4/terminfo/x/xerox820 +/usr/share/ncurses4/terminfo/x/xl83 +/usr/share/ncurses4/terminfo/x/xtalk +/usr/share/ncurses4/terminfo/x/xterm +/usr/share/ncurses4/terminfo/x/xterm+sl +/usr/share/ncurses4/terminfo/x/xterm+sl-twm +/usr/share/ncurses4/terminfo/x/xterm-16color +/usr/share/ncurses4/terminfo/x/xterm-8bit +/usr/share/ncurses4/terminfo/x/xterm-bold +/usr/share/ncurses4/terminfo/x/xterm-nic +/usr/share/ncurses4/terminfo/x/xterm-old +/usr/share/ncurses4/terminfo/x/xterm-pcolor +/usr/share/ncurses4/terminfo/x/xterm-r5 +/usr/share/ncurses4/terminfo/x/xterm-r6 +/usr/share/ncurses4/terminfo/x/xterm-sun +/usr/share/ncurses4/terminfo/x/xterm-xf86-v32 +/usr/share/ncurses4/terminfo/x/xterm-xf86-v33 +/usr/share/ncurses4/terminfo/x/xterm-xf86-v40 +/usr/share/ncurses4/terminfo/x/xterm-xi +/usr/share/ncurses4/terminfo/x/xterm1 +/usr/share/ncurses4/terminfo/x/xterms +/usr/share/ncurses4/terminfo/x/xterms-sun +/usr/share/ncurses4/terminfo/x/xwsh +/usr/share/ncurses4/terminfo/z +/usr/share/ncurses4/terminfo/z/z-100 +/usr/share/ncurses4/terminfo/z/z-100bw +/usr/share/ncurses4/terminfo/z/z100 +/usr/share/ncurses4/terminfo/z/z100bw +/usr/share/ncurses4/terminfo/z/z110 +/usr/share/ncurses4/terminfo/z/z110bw +/usr/share/ncurses4/terminfo/z/z19 +/usr/share/ncurses4/terminfo/z/z29 +/usr/share/ncurses4/terminfo/z/z29a +/usr/share/ncurses4/terminfo/z/z29a-kc-bc +/usr/share/ncurses4/terminfo/z/z29a-kc-uc +/usr/share/ncurses4/terminfo/z/z29a-nkc-bc +/usr/share/ncurses4/terminfo/z/z29a-nkc-uc +/usr/share/ncurses4/terminfo/z/z29b +/usr/share/ncurses4/terminfo/z/z30 +/usr/share/ncurses4/terminfo/z/z340 +/usr/share/ncurses4/terminfo/z/z340-nam +/usr/share/ncurses4/terminfo/z/z39-a +/usr/share/ncurses4/terminfo/z/z39a +/usr/share/ncurses4/terminfo/z/z50 +/usr/share/ncurses4/terminfo/z/z8001 +/usr/share/ncurses4/terminfo/z/zen30 +/usr/share/ncurses4/terminfo/z/zen50 +/usr/share/ncurses4/terminfo/z/zen8001 +/usr/share/ncurses4/terminfo/z/zenith +/usr/share/ncurses4/terminfo/z/zenith29 +/usr/share/ncurses4/terminfo/z/zenith39-a +/usr/share/ncurses4/terminfo/z/zenith39-ansi +/usr/share/ncurses4/terminfo/z/zt-1 +/usr/share/ncurses4/terminfo/z/ztx +/usr/share/ncurses4/terminfo/z/ztx-1-a +/usr/share/ncurses4/terminfo/z/ztx11 + +2 15 RPM:Files 0 0 +2 14 #text 0 1 + +1 15 RDF:Description 0 0 +1 14 #text 0 1 + +0 15 RDF:RDF 0 0 diff --git a/result/rdf2.sax b/result/rdf2.sax new file mode 100644 index 0000000..f6686c1 --- /dev/null +++ b/result/rdf2.sax @@ -0,0 +1,191 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(RDF:RDF, xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#', xmlns:RPM='http://www.rpm.org/') +SAX.characters( + , 3) +SAX.startElement(RDF:Description, about='ftp://rufus.w3.org/linux/dld/5.4/i386/RPMS/i386/ncurses4-4.2-3.i386.rpm') +SAX.characters( + , 5) +SAX.startElement(RPM:Name) +SAX.characters(ncurses4, 8) +SAX.endElement(RPM:Name) +SAX.characters( + , 5) +SAX.startElement(RPM:Version) +SAX.characters(4.2, 3) +SAX.endElement(RPM:Version) +SAX.characters( + , 5) +SAX.startElement(RPM:Release) +SAX.characters(3, 1) +SAX.endElement(RPM:Release) +SAX.characters( + , 5) +SAX.startElement(RPM:Arch) +SAX.characters(i386, 4) +SAX.endElement(RPM:Arch) +SAX.characters( + , 5) +SAX.startElement(RPM:Os) +SAX.characters(Linux, 5) +SAX.endElement(RPM:Os) +SAX.characters( + , 5) +SAX.startElement(RPM:Distribution) +SAX.characters(DLD, 3) +SAX.endElement(RPM:Distribution) +SAX.characters( + , 5) +SAX.startElement(RPM:Vendor) +SAX.characters(delix Computer GmbH, 19) +SAX.endElement(RPM:Vendor) +SAX.characters( + , 5) +SAX.startElement(RPM:Packager) +SAX.characters(Till Bubeck , 12) +SAX.characters(<, 1) +SAX.characters(bubeck@delix.de, 15) +SAX.characters(>, 1) +SAX.characters(, Ngo Than , 11) +SAX.characters(<, 1) +SAX.characters(than@delix.de, 13) +SAX.characters(>, 1) +SAX.endElement(RPM:Packager) +SAX.characters( + , 5) +SAX.startElement(RPM:Group) +SAX.characters(Libraries, 9) +SAX.endElement(RPM:Group) +SAX.characters( + , 5) +SAX.startElement(RPM:Summary) +SAX.characters(Bibliothek zur Ansteuerung von, 40) +SAX.endElement(RPM:Summary) +SAX.characters( + , 5) +SAX.startElement(RPM:Description) +SAX.characters(Diese Library stellt dem Progr, 57) +SAX.characters(ä, 2) +SAX.characters(ngige +Routinen zur Ansteuerung, 57) +SAX.characters(ü, 2) +SAX.characters(gung, die +speziell optimiert s, 57) +SAX.characters(', 1) +SAX.characters(new curses, 10) +SAX.characters(', 1) +SAX.characters( (ncurses) Variante und ist de, 51) +SAX.characters(ü, 2) +SAX.characters(r die klassische Curses-Librar, 70) +SAX.endElement(RPM:Description) +SAX.characters( + , 5) +SAX.startElement(RPM:Copyright) +SAX.characters(GPL, 3) +SAX.endElement(RPM:Copyright) +SAX.characters( + , 5) +SAX.startElement(RPM:Sources) +SAX.characters(ncurses4-4.2-3.src.rpm, 22) +SAX.endElement(RPM:Sources) +SAX.characters( + , 5) +SAX.startElement(RPM:BuildDate) +SAX.characters(Tue May 12 19:30:26 1998, 24) +SAX.endElement(RPM:BuildDate) +SAX.characters( + , 5) +SAX.startElement(RPM:Date) +SAX.characters(895015826, 9) +SAX.endElement(RPM:Date) +SAX.characters( + , 5) +SAX.startElement(RPM:Size) +SAX.characters(1373513, 7) +SAX.endElement(RPM:Size) +SAX.characters( + , 5) +SAX.startElement(RPM:BuildHost) +SAX.characters(erdbeere.delix.de, 17) +SAX.endElement(RPM:BuildHost) +SAX.characters( + , 5) +SAX.startElement(RPM:Provides) +SAX.characters( + , 7) +SAX.startElement(RDF:Bag) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource, href='../../../../../resources/ncurses4.rdf') +SAX.characters(ncurses4, 8) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource, href='../../../../../resources/libpanel.so.4.rdf') +SAX.characters(libpanel.so.4, 13) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource, href='../../../../../resources/libncurses.so.4.rdf') +SAX.characters(libncurses.so.4, 15) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource, href='../../../../../resources/libmenu.so.4.rdf') +SAX.characters(libmenu.so.4, 12) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource, href='../../../../../resources/libform.so.4.rdf') +SAX.characters(libform.so.4, 12) +SAX.endElement(RPM:Resource) +SAX.characters( + , 9) +SAX.startElement(RPM:Resource, href='../../../../../resources/ncurses.rdf') +SAX.characters(ncurses, 7) +SAX.endElement(RPM:Resource) +SAX.characters( + , 7) +SAX.endElement(RDF:Bag) +SAX.characters( + , 5) +SAX.endElement(RPM:Provides) +SAX.characters( + , 5) +SAX.startElement(RPM:Files) +SAX.characters(/lib/libncurses.so.4 +/lib/libn, 2008) +SAX.characters(/share/ncurses4/terminfo/P/P14, 4000) +SAX.characters(es4/terminfo/a/alt7pc +/usr/sha, 4000) +SAX.characters(/a/att4415-w +/usr/share/ncurse, 4000) +SAX.characters(ses4/terminfo/b/bee +/usr/share, 4000) +SAX.characters(r/share/ncurses4/terminfo/c/co, 4000) +SAX.characters(/usr/share/ncurses4/terminfo/d, 4000) +SAX.characters(sr/share/ncurses4/terminfo/g/g, 4000) +SAX.characters(/terminfo/h/hp2626-12x40 +/usr/, 4000) +SAX.characters(e/ncurses4/terminfo/i/intertub, 4000) +SAX.characters(rses4/terminfo/m/mskermit22714, 4000) +SAX.characters(are/ncurses4/terminfo/p/p12-m +, 4000) +SAX.characters(pt100w +/usr/share/ncurses4/ter, 4000) +SAX.characters(sr/share/ncurses4/terminfo/s/s, 4000) +SAX.characters(usr/share/ncurses4/terminfo/t/, 4000) +SAX.characters(share/ncurses4/terminfo/v/vi55, 4000) +SAX.characters(are/ncurses4/terminfo/w/wy160-, 4000) +SAX.characters(/wy99gt-vb +/usr/share/ncurses4, 4000) +SAX.characters(/w/wyse99gt +/usr/share/ncurses, 2907) +SAX.endElement(RPM:Files) +SAX.characters( + , 3) +SAX.endElement(RDF:Description) +SAX.characters( +, 1) +SAX.endElement(RDF:RDF) +SAX.endDocument() diff --git a/result/rdf2.sax2 b/result/rdf2.sax2 new file mode 100644 index 0000000..388174f --- /dev/null +++ b/result/rdf2.sax2 @@ -0,0 +1,191 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 2, xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#', xmlns:RPM='http://www.rpm.org/', 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 1, 0, about='ftp:...', 71) +SAX.characters( + , 5) +SAX.startElementNs(Name, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(ncurses4, 8) +SAX.endElementNs(Name, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Version, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(4.2, 3) +SAX.endElementNs(Version, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Release, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(3, 1) +SAX.endElementNs(Release, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Arch, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(i386, 4) +SAX.endElementNs(Arch, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Os, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Linux, 5) +SAX.endElementNs(Os, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Distribution, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(DLD, 3) +SAX.endElementNs(Distribution, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Vendor, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(delix Computer GmbH, 19) +SAX.endElementNs(Vendor, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Packager, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Till Bubeck , 12) +SAX.characters(<, 1) +SAX.characters(bubeck@delix.de, 15) +SAX.characters(>, 1) +SAX.characters(, Ngo Than , 11) +SAX.characters(<, 1) +SAX.characters(than@delix.de, 13) +SAX.characters(>, 1) +SAX.endElementNs(Packager, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Group, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Libraries, 9) +SAX.endElementNs(Group, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Summary, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Bibliothek zur Ansteuerung von, 40) +SAX.endElementNs(Summary, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Description, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Diese Library stellt dem Progr, 57) +SAX.characters(ä, 2) +SAX.characters(ngige +Routinen zur Ansteuerung, 57) +SAX.characters(ü, 2) +SAX.characters(gung, die +speziell optimiert s, 57) +SAX.characters(', 1) +SAX.characters(new curses, 10) +SAX.characters(', 1) +SAX.characters( (ncurses) Variante und ist de, 51) +SAX.characters(ü, 2) +SAX.characters(r die klassische Curses-Librar, 70) +SAX.endElementNs(Description, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Copyright, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(GPL, 3) +SAX.endElementNs(Copyright, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Sources, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(ncurses4-4.2-3.src.rpm, 22) +SAX.endElementNs(Sources, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(BuildDate, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(Tue May 12 19:30:26 1998, 24) +SAX.endElementNs(BuildDate, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Date, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(895015826, 9) +SAX.endElementNs(Date, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Size, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(1373513, 7) +SAX.endElementNs(Size, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(BuildHost, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(erdbeere.delix.de, 17) +SAX.endElementNs(BuildHost, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Provides, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters( + , 7) +SAX.startElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 37) +SAX.characters(ncurses4, 8) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 42) +SAX.characters(libpanel.so.4, 13) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 44) +SAX.characters(libncurses.so.4, 15) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 41) +SAX.characters(libmenu.so.4, 12) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 41) +SAX.characters(libform.so.4, 12) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 9) +SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 36) +SAX.characters(ncurses, 7) +SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/') +SAX.characters( + , 7) +SAX.endElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( + , 5) +SAX.endElementNs(Provides, RPM, 'http://www.rpm.org/') +SAX.characters( + , 5) +SAX.startElementNs(Files, RPM, 'http://www.rpm.org/', 0, 0, 0) +SAX.characters(/lib/libncurses.so.4 +/lib/libn, 2008) +SAX.characters(/share/ncurses4/terminfo/P/P14, 4000) +SAX.characters(es4/terminfo/a/alt7pc +/usr/sha, 4000) +SAX.characters(/a/att4415-w +/usr/share/ncurse, 4000) +SAX.characters(ses4/terminfo/b/bee +/usr/share, 4000) +SAX.characters(r/share/ncurses4/terminfo/c/co, 4000) +SAX.characters(/usr/share/ncurses4/terminfo/d, 4000) +SAX.characters(sr/share/ncurses4/terminfo/g/g, 4000) +SAX.characters(/terminfo/h/hp2626-12x40 +/usr/, 4000) +SAX.characters(e/ncurses4/terminfo/i/intertub, 4000) +SAX.characters(rses4/terminfo/m/mskermit22714, 4000) +SAX.characters(are/ncurses4/terminfo/p/p12-m +, 4000) +SAX.characters(pt100w +/usr/share/ncurses4/ter, 4000) +SAX.characters(sr/share/ncurses4/terminfo/s/s, 4000) +SAX.characters(usr/share/ncurses4/terminfo/t/, 4000) +SAX.characters(share/ncurses4/terminfo/v/vi55, 4000) +SAX.characters(are/ncurses4/terminfo/w/wy160-, 4000) +SAX.characters(/wy99gt-vb +/usr/share/ncurses4, 4000) +SAX.characters(/w/wyse99gt +/usr/share/ncurses, 2907) +SAX.endElementNs(Files, RPM, 'http://www.rpm.org/') +SAX.characters( + , 3) +SAX.endElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.characters( +, 1) +SAX.endElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#') +SAX.endDocument() diff --git a/result/regexp/branch b/result/regexp/branch new file mode 100644 index 0000000..dd703ac --- /dev/null +++ b/result/regexp/branch @@ -0,0 +1,14 @@ +Regexp: a|b(d|e(g|h|i)|f)|c +a: Ok +c: Ok +bd: Ok +bf: Ok +beg: Ok +beh: Ok +bei: Ok +b: Fail +be: Fail +bi: Fail +f: Fail +ab: Fail +ac: Fail diff --git a/result/regexp/bug316338 b/result/regexp/bug316338 new file mode 100644 index 0000000..fcf1480 --- /dev/null +++ b/result/regexp/bug316338 @@ -0,0 +1,20 @@ +Regexp: (((C|c)(([\s]*\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?){3})+[\s]*))+ +C 433: Ok +C 433 12: Ok +C 433 123: Ok +C 433 123 456: Ok +C 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12: Fail +Regexp: (((C|c)(([\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?){3})+[\s]*))+ +C 433: Fail +C 433 12: Fail +C 433 123: Fail +C 433 123 456: Ok +C 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12: Fail +Regexp: (((C|c)(([\s]+\-?[0-9]+(\.[0-9]+)?[\s]*,[\s]*\-?[0-9]+(\.[0-9]+)?){3})+[\s]*))+ +C 433: Fail +C 433 12: Fail +C 433 123: Fail +C 433 123 456: Fail +C 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12: Fail +Regexp: (((M|m)([\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?[\s]*,[\s]*\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?)[\s]*)|((L|l)([\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?[\s]*,[\s]*\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?)+[\s]*)|((H|h)([\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?)+[\s]*)|((V|v)([\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?)+[\s]*)|((C|c)(([\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?[\s]*,[\s]*\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?){3})+[\s]*)|((Q|q)(([\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?[\s]*,[\s]*\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?){2})+[\s]*)|((S|s)(([\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?[\s]*,[\s]*\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?){2})+[\s]*)|((A|a)([\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?[\s]*,[\s]*\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?[\s]*\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?[\s]+[0-1][\s]+[0-1][\s]+\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?[\s]*,[\s]*\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?)+[\s]*)|((Z|z)[\s]*))* +M 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12: Fail diff --git a/result/regexp/bug420596 b/result/regexp/bug420596 new file mode 100644 index 0000000..d23b303 --- /dev/null +++ b/result/regexp/bug420596 @@ -0,0 +1,10 @@ +Regexp: (\+|-)(0[0-9]|1[0-1]) ++01: Ok +-01: Ok ++10: Ok +-10: Ok +Regexp: [+-](0[0-9]|1[0-1]) ++01: Ok +-01: Ok ++10: Ok +-10: Ok diff --git a/result/regexp/bug649244 b/result/regexp/bug649244 new file mode 100755 index 0000000..886ca2c --- /dev/null +++ b/result/regexp/bug649244 @@ -0,0 +1,9 @@ +Regexp: S(a|)E +SE: Ok +SxE: Fail +Regexp: S(|b)E +SE: Ok +SxE: Fail +Regexp: S(a||b)E +SE: Ok +SxE: Fail diff --git a/result/regexp/content b/result/regexp/content new file mode 100644 index 0000000..220fd47 --- /dev/null +++ b/result/regexp/content @@ -0,0 +1,12 @@ +Regexp: ((a|b|c)def) +adef: Ok +bdef: Ok +adefg: Fail +aaef: Fail +Regexp: ((a|b|c|d|e|f)?(g|h|i)+(k|l)*) +g: Ok +gi: Ok +fil: Ok +gikl: Ok +cghhhiill: Ok +ak: Fail diff --git a/result/regexp/hard b/result/regexp/hard new file mode 100644 index 0000000..28d6164 --- /dev/null +++ b/result/regexp/hard @@ -0,0 +1,12 @@ +Regexp: ((a|b|\p{Nd}){1,2}|aaa|bbbb){1,2} +bab: Ok +aaca: Fail +aaabbbb: Ok +a0b: Ok +aa0aaa: Fail +b0aaa: Ok +Regexp: (\d{1,3}\.){3}\d{1,3} +1.2.3.4: Ok +1.22.333.44: Ok +1.2.3: Fail +1..2.3: Fail diff --git a/result/regexp/ncname b/result/regexp/ncname new file mode 100644 index 0000000..3f16d95 --- /dev/null +++ b/result/regexp/ncname @@ -0,0 +1,6 @@ +Regexp: [\i-[:]][\c-[:]]* +a: Ok +abc: Ok +abc1d: Ok +1ac: Fail +a1b:c: Fail diff --git a/result/regexp/ranges b/result/regexp/ranges new file mode 100644 index 0000000..4cbf298 --- /dev/null +++ b/result/regexp/ranges @@ -0,0 +1,15 @@ +Regexp: a{2,3} +a: Fail +aa: Ok +aaa: Ok +aaaa: Fail +Regexp: ba{2,3}c +bac: Fail +baac: Ok +baaac: Ok +baaaac: Fail +Regexp: a(b|c){2,3}d +abcd: Ok +acccd: Ok +abd: Fail +accccd: Fail diff --git a/result/regexp/ranges2 b/result/regexp/ranges2 new file mode 100644 index 0000000..8305732 --- /dev/null +++ b/result/regexp/ranges2 @@ -0,0 +1,14 @@ +Regexp: (a|b{0,3}){0,1} +a: Ok +aa: Fail +b: Ok +bb: Ok +bbb: Ok +bbbb: Fail +ab: Fail +ba: Fail +Regexp: ([0-9]{0,3}|([0-9]{0}|[0-9]{0,3})){0,3} +0: Ok +00: Ok +123: Ok +abc: Fail diff --git a/result/regexp/xpath b/result/regexp/xpath new file mode 100644 index 0000000..4f6b13c --- /dev/null +++ b/result/regexp/xpath @@ -0,0 +1,32 @@ +Regexp: (\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)* +a: Ok +a12/b312/b312/b312/b312/b312/b312/b312/b312/b312/b312/b312/b3: Ok +*: Ok +a|b: Ok +.//a:b: Ok +a/b/c: Ok +a/*/b: Ok +a:*/b:*/c:*: Ok +child::a/child::b:*: Ok +child::a/child::b:*|a/*/b|.//a:b: Ok +1: Fail +1ab: Fail +a:1: Ok +@a: Fail +ancestor::a: Ok +Regexp: (\.//)?(((child::)?(([\i-[:]][\c-[:]]*:)?([\i-[:]][\c-[:]]*|\*)))|\.)(/(((child::)?(([\i-[:]][\c-[:]]*:)?([\i-[:]][\c-[:]]*|\*)))|\.))*(\|(\.//)?(((child::)?(([\i-[:]][\c-[:]]*:)?([\i-[:]][\c-[:]]*|\*)))|\.)(/(((child::)?(([\i-[:]][\c-[:]]*:)?([\i-[:]][\c-[:]]*|\*)))|\.))*)* +a: Ok +a12/b312/b312/b312/b312/b312/b312/b312/b312/b312/b312/b312/b3: Ok +*: Ok +a|b: Ok +.//a:b: Ok +a/b/c: Ok +a/*/b: Ok +a:*/b:*/c:*: Ok +child::a/child::b:*: Ok +child::a/child::b:*|a/*/b|.//a:b: Ok +1: Fail +1ab: Fail +a:1: Fail +@a: Fail +ancestor::a: Fail diff --git a/result/relaxng/302836_0 b/result/relaxng/302836_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/302836_0.err b/result/relaxng/302836_0.err new file mode 100644 index 0000000..46ae43c --- /dev/null +++ b/result/relaxng/302836_0.err @@ -0,0 +1 @@ +./test/relaxng/302836_0.xml validates diff --git a/result/relaxng/302836_err b/result/relaxng/302836_err new file mode 100644 index 0000000..fab2d78 --- /dev/null +++ b/result/relaxng/302836_err @@ -0,0 +1 @@ +./test/relaxng/302836.rng validates diff --git a/result/relaxng/302836_valid b/result/relaxng/302836_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/307377_0 b/result/relaxng/307377_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/307377_0.err b/result/relaxng/307377_0.err new file mode 100644 index 0000000..1f465bb --- /dev/null +++ b/result/relaxng/307377_0.err @@ -0,0 +1,2 @@ +./test/relaxng/307377_0.xml:1: element number: Relax-NG validity error : Element number failed to validate attributes +./test/relaxng/307377_0.xml fails to validate diff --git a/result/relaxng/307377_1 b/result/relaxng/307377_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/307377_1.err b/result/relaxng/307377_1.err new file mode 100644 index 0000000..abfb533 --- /dev/null +++ b/result/relaxng/307377_1.err @@ -0,0 +1,3 @@ +./test/relaxng/307377_1.xml:1: element number: Relax-NG validity error : Extra data in list: a +./test/relaxng/307377_1.xml:1: element number: Relax-NG validity error : Element number failed to validate attributes +./test/relaxng/307377_1.xml fails to validate diff --git a/result/relaxng/307377_2 b/result/relaxng/307377_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/307377_2.err b/result/relaxng/307377_2.err new file mode 100644 index 0000000..158ea42 --- /dev/null +++ b/result/relaxng/307377_2.err @@ -0,0 +1 @@ +./test/relaxng/307377_2.xml validates diff --git a/result/relaxng/307377_err b/result/relaxng/307377_err new file mode 100644 index 0000000..5705eab --- /dev/null +++ b/result/relaxng/307377_err @@ -0,0 +1 @@ +./test/relaxng/307377.rng validates diff --git a/result/relaxng/307377_valid b/result/relaxng/307377_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/492317_0 b/result/relaxng/492317_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/492317_0.err b/result/relaxng/492317_0.err new file mode 100644 index 0000000..9b8db15 --- /dev/null +++ b/result/relaxng/492317_0.err @@ -0,0 +1 @@ +./test/relaxng/492317_0.xml validates diff --git a/result/relaxng/492317_1 b/result/relaxng/492317_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/492317_1.err b/result/relaxng/492317_1.err new file mode 100644 index 0000000..177ee7b --- /dev/null +++ b/result/relaxng/492317_1.err @@ -0,0 +1 @@ +./test/relaxng/492317_1.xml validates diff --git a/result/relaxng/492317_2 b/result/relaxng/492317_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/492317_2.err b/result/relaxng/492317_2.err new file mode 100644 index 0000000..e8b22e7 --- /dev/null +++ b/result/relaxng/492317_2.err @@ -0,0 +1,3 @@ +./test/relaxng/492317_2.xml:2: element child: Relax-NG validity error : Element child failed to validate attributes +./test/relaxng/492317_2.xml:1: element root: Relax-NG validity error : Element root failed to validate content +./test/relaxng/492317_2.xml fails to validate diff --git a/result/relaxng/492317_err b/result/relaxng/492317_err new file mode 100644 index 0000000..1f07539 --- /dev/null +++ b/result/relaxng/492317_err @@ -0,0 +1 @@ +./test/relaxng/492317.rng validates diff --git a/result/relaxng/492317_valid b/result/relaxng/492317_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/558452_0 b/result/relaxng/558452_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/558452_0.err b/result/relaxng/558452_0.err new file mode 100644 index 0000000..fecc3e9 --- /dev/null +++ b/result/relaxng/558452_0.err @@ -0,0 +1 @@ +./test/relaxng/558452_0.xml validates diff --git a/result/relaxng/558452_1 b/result/relaxng/558452_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/558452_1.err b/result/relaxng/558452_1.err new file mode 100644 index 0000000..1e225be --- /dev/null +++ b/result/relaxng/558452_1.err @@ -0,0 +1,2 @@ +./test/relaxng/558452_1.xml:2: element doc: Relax-NG validity error : Expecting an element , got nothing +./test/relaxng/558452_1.xml fails to validate diff --git a/result/relaxng/558452_2 b/result/relaxng/558452_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/558452_2.err b/result/relaxng/558452_2.err new file mode 100644 index 0000000..d48287c --- /dev/null +++ b/result/relaxng/558452_2.err @@ -0,0 +1 @@ +./test/relaxng/558452_2.xml validates diff --git a/result/relaxng/558452_3 b/result/relaxng/558452_3 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/558452_3.err b/result/relaxng/558452_3.err new file mode 100644 index 0000000..0d33cdb --- /dev/null +++ b/result/relaxng/558452_3.err @@ -0,0 +1 @@ +./test/relaxng/558452_3.xml validates diff --git a/result/relaxng/558452_4 b/result/relaxng/558452_4 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/558452_4.err b/result/relaxng/558452_4.err new file mode 100644 index 0000000..22e12fa --- /dev/null +++ b/result/relaxng/558452_4.err @@ -0,0 +1,2 @@ +./test/relaxng/558452_4.xml:6: element elem: Relax-NG validity error : Did not expect element elem there +./test/relaxng/558452_4.xml fails to validate diff --git a/result/relaxng/558452_err b/result/relaxng/558452_err new file mode 100644 index 0000000..b162846 --- /dev/null +++ b/result/relaxng/558452_err @@ -0,0 +1 @@ +./test/relaxng/558452.rng validates diff --git a/result/relaxng/558452_valid b/result/relaxng/558452_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/565219_0 b/result/relaxng/565219_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/565219_0.err b/result/relaxng/565219_0.err new file mode 100644 index 0000000..e3f73fa --- /dev/null +++ b/result/relaxng/565219_0.err @@ -0,0 +1,2 @@ +./test/relaxng/565219_0.xml:1: element foo: Relax-NG validity error : Element foo has wrong namespace: expecting http://bar.com/ +./test/relaxng/565219_0.xml fails to validate diff --git a/result/relaxng/565219_1 b/result/relaxng/565219_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/565219_1.err b/result/relaxng/565219_1.err new file mode 100644 index 0000000..2999bba --- /dev/null +++ b/result/relaxng/565219_1.err @@ -0,0 +1 @@ +./test/relaxng/565219_1.xml validates diff --git a/result/relaxng/565219_2 b/result/relaxng/565219_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/565219_2.err b/result/relaxng/565219_2.err new file mode 100644 index 0000000..7a997d3 --- /dev/null +++ b/result/relaxng/565219_2.err @@ -0,0 +1,2 @@ +./test/relaxng/565219_2.xml:1: element foo: Relax-NG validity error : Element foo has wrong namespace: expecting http://bar.com/ +./test/relaxng/565219_2.xml fails to validate diff --git a/result/relaxng/565219_err b/result/relaxng/565219_err new file mode 100644 index 0000000..c43e67c --- /dev/null +++ b/result/relaxng/565219_err @@ -0,0 +1 @@ +./test/relaxng/565219.rng validates diff --git a/result/relaxng/565219_valid b/result/relaxng/565219_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/595792-ext_err b/result/relaxng/595792-ext_err new file mode 100644 index 0000000..092fdbd --- /dev/null +++ b/result/relaxng/595792-ext_err @@ -0,0 +1 @@ +./test/relaxng/595792-ext.rng validates diff --git a/result/relaxng/595792-ext_valid b/result/relaxng/595792-ext_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/595792_0 b/result/relaxng/595792_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/595792_0.err b/result/relaxng/595792_0.err new file mode 100644 index 0000000..abd73cd --- /dev/null +++ b/result/relaxng/595792_0.err @@ -0,0 +1 @@ +./test/relaxng/595792_0.xml validates diff --git a/result/relaxng/595792_err b/result/relaxng/595792_err new file mode 100644 index 0000000..e9f3192 --- /dev/null +++ b/result/relaxng/595792_err @@ -0,0 +1 @@ +./test/relaxng/595792.rng validates diff --git a/result/relaxng/595792_valid b/result/relaxng/595792_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/710744_1 b/result/relaxng/710744_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/710744_1.err b/result/relaxng/710744_1.err new file mode 100644 index 0000000..77437eb --- /dev/null +++ b/result/relaxng/710744_1.err @@ -0,0 +1 @@ +./test/relaxng/710744_1.xml validates diff --git a/result/relaxng/710744_2 b/result/relaxng/710744_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/710744_2.err b/result/relaxng/710744_2.err new file mode 100644 index 0000000..ee8d8ac --- /dev/null +++ b/result/relaxng/710744_2.err @@ -0,0 +1,2 @@ +./test/relaxng/710744_2.xml:3: element test: Relax-NG validity error : Invalid attribute foo for element test +./test/relaxng/710744_2.xml fails to validate diff --git a/result/relaxng/710744_err b/result/relaxng/710744_err new file mode 100644 index 0000000..54f0226 --- /dev/null +++ b/result/relaxng/710744_err @@ -0,0 +1 @@ +./test/relaxng/710744.rng validates diff --git a/result/relaxng/710744_valid b/result/relaxng/710744_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/OpenDocumentSub_0 b/result/relaxng/OpenDocumentSub_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/OpenDocumentSub_0.err b/result/relaxng/OpenDocumentSub_0.err new file mode 100644 index 0000000..d1c6917 --- /dev/null +++ b/result/relaxng/OpenDocumentSub_0.err @@ -0,0 +1 @@ +./test/relaxng/OpenDocumentSub_0.xml validates diff --git a/result/relaxng/OpenDocumentSub_err b/result/relaxng/OpenDocumentSub_err new file mode 100644 index 0000000..941d6c4 --- /dev/null +++ b/result/relaxng/OpenDocumentSub_err @@ -0,0 +1 @@ +./test/relaxng/OpenDocumentSub.rng validates diff --git a/result/relaxng/OpenDocumentSub_valid b/result/relaxng/OpenDocumentSub_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/addressBook_err b/result/relaxng/addressBook_err new file mode 100644 index 0000000..584d55a --- /dev/null +++ b/result/relaxng/addressBook_err @@ -0,0 +1 @@ +./test/relaxng/addressBook.rng validates diff --git a/result/relaxng/addressBook_valid b/result/relaxng/addressBook_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/ambig_name-class2_err b/result/relaxng/ambig_name-class2_err new file mode 100755 index 0000000..2c1ba8d --- /dev/null +++ b/result/relaxng/ambig_name-class2_err @@ -0,0 +1 @@ +./test/relaxng/ambig_name-class2.rng validates diff --git a/result/relaxng/ambig_name-class2_valid b/result/relaxng/ambig_name-class2_valid new file mode 100755 index 0000000..e69de29 diff --git a/result/relaxng/ambig_name-class_err b/result/relaxng/ambig_name-class_err new file mode 100755 index 0000000..0afe5cd --- /dev/null +++ b/result/relaxng/ambig_name-class_err @@ -0,0 +1 @@ +./test/relaxng/ambig_name-class.rng validates diff --git a/result/relaxng/ambig_name-class_valid b/result/relaxng/ambig_name-class_valid new file mode 100755 index 0000000..e69de29 diff --git a/result/relaxng/anyName0_0 b/result/relaxng/anyName0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/anyName0_0.err b/result/relaxng/anyName0_0.err new file mode 100644 index 0000000..f660c26 --- /dev/null +++ b/result/relaxng/anyName0_0.err @@ -0,0 +1 @@ +./test/relaxng/anyName0_0.xml validates diff --git a/result/relaxng/anyName0_err b/result/relaxng/anyName0_err new file mode 100644 index 0000000..ab6f08d --- /dev/null +++ b/result/relaxng/anyName0_err @@ -0,0 +1 @@ +./test/relaxng/anyName0.rng validates diff --git a/result/relaxng/anyName0_valid b/result/relaxng/anyName0_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/choice0_0 b/result/relaxng/choice0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/choice0_0.err b/result/relaxng/choice0_0.err new file mode 100644 index 0000000..5198fa7 --- /dev/null +++ b/result/relaxng/choice0_0.err @@ -0,0 +1 @@ +./test/relaxng/choice0_0.xml validates diff --git a/result/relaxng/choice0_1 b/result/relaxng/choice0_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/choice0_1.err b/result/relaxng/choice0_1.err new file mode 100644 index 0000000..51214ba --- /dev/null +++ b/result/relaxng/choice0_1.err @@ -0,0 +1 @@ +./test/relaxng/choice0_1.xml validates diff --git a/result/relaxng/choice0_2 b/result/relaxng/choice0_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/choice0_2.err b/result/relaxng/choice0_2.err new file mode 100644 index 0000000..19bd3cc --- /dev/null +++ b/result/relaxng/choice0_2.err @@ -0,0 +1 @@ +./test/relaxng/choice0_2.xml validates diff --git a/result/relaxng/choice0_3 b/result/relaxng/choice0_3 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/choice0_3.err b/result/relaxng/choice0_3.err new file mode 100644 index 0000000..c82345f --- /dev/null +++ b/result/relaxng/choice0_3.err @@ -0,0 +1 @@ +./test/relaxng/choice0_3.xml validates diff --git a/result/relaxng/choice0_4 b/result/relaxng/choice0_4 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/choice0_4.err b/result/relaxng/choice0_4.err new file mode 100644 index 0000000..dca145b --- /dev/null +++ b/result/relaxng/choice0_4.err @@ -0,0 +1,2 @@ +./test/relaxng/choice0_4.xml:1: element device: Relax-NG validity error : Element device failed to validate content +./test/relaxng/choice0_4.xml fails to validate diff --git a/result/relaxng/choice0_5 b/result/relaxng/choice0_5 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/choice0_5.err b/result/relaxng/choice0_5.err new file mode 100644 index 0000000..a8dd1c9 --- /dev/null +++ b/result/relaxng/choice0_5.err @@ -0,0 +1,2 @@ +./test/relaxng/choice0_5.xml:1: element device: Relax-NG validity error : Element device failed to validate content +./test/relaxng/choice0_5.xml fails to validate diff --git a/result/relaxng/choice0_6 b/result/relaxng/choice0_6 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/choice0_6.err b/result/relaxng/choice0_6.err new file mode 100644 index 0000000..4facb03 --- /dev/null +++ b/result/relaxng/choice0_6.err @@ -0,0 +1,2 @@ +./test/relaxng/choice0_6.xml:1: element device: Relax-NG validity error : Element device failed to validate content +./test/relaxng/choice0_6.xml fails to validate diff --git a/result/relaxng/choice0_7 b/result/relaxng/choice0_7 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/choice0_7.err b/result/relaxng/choice0_7.err new file mode 100644 index 0000000..89b9e32 --- /dev/null +++ b/result/relaxng/choice0_7.err @@ -0,0 +1,3 @@ +./test/relaxng/choice0_7.xml:1: element device: Relax-NG validity error : Did not expect element unknown-element there +./test/relaxng/choice0_7.xml:1: element device: Relax-NG validity error : Element device failed to validate content +./test/relaxng/choice0_7.xml fails to validate diff --git a/result/relaxng/choice0_8 b/result/relaxng/choice0_8 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/choice0_8.err b/result/relaxng/choice0_8.err new file mode 100644 index 0000000..7094ecc --- /dev/null +++ b/result/relaxng/choice0_8.err @@ -0,0 +1,3 @@ +./test/relaxng/choice0_8.xml:1: element device: Relax-NG validity error : Did not expect element unknown-element there +./test/relaxng/choice0_8.xml:1: element device: Relax-NG validity error : Element device failed to validate content +./test/relaxng/choice0_8.xml fails to validate diff --git a/result/relaxng/choice0_err b/result/relaxng/choice0_err new file mode 100644 index 0000000..cf12431 --- /dev/null +++ b/result/relaxng/choice0_err @@ -0,0 +1 @@ +./test/relaxng/choice0.rng validates diff --git a/result/relaxng/choice0_valid b/result/relaxng/choice0_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/compare0_0 b/result/relaxng/compare0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/compare0_0.err b/result/relaxng/compare0_0.err new file mode 100644 index 0000000..9328f27 --- /dev/null +++ b/result/relaxng/compare0_0.err @@ -0,0 +1,3 @@ +./test/relaxng/compare0_0.xml:2: element number: Relax-NG validity error : failed to compare type integer +./test/relaxng/compare0_0.xml:2: element number: Relax-NG validity error : Element number failed to validate attributes +./test/relaxng/compare0_0.xml fails to validate diff --git a/result/relaxng/compare0_err b/result/relaxng/compare0_err new file mode 100644 index 0000000..543d734 --- /dev/null +++ b/result/relaxng/compare0_err @@ -0,0 +1 @@ +./test/relaxng/compare0.rng validates diff --git a/result/relaxng/compare0_valid b/result/relaxng/compare0_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/comps_0 b/result/relaxng/comps_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/comps_0.err b/result/relaxng/comps_0.err new file mode 100644 index 0000000..cdefe63 --- /dev/null +++ b/result/relaxng/comps_0.err @@ -0,0 +1 @@ +./test/relaxng/comps_0.xml validates diff --git a/result/relaxng/comps_err b/result/relaxng/comps_err new file mode 100644 index 0000000..67dd402 --- /dev/null +++ b/result/relaxng/comps_err @@ -0,0 +1 @@ +./test/relaxng/comps.rng validates diff --git a/result/relaxng/comps_valid b/result/relaxng/comps_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/demo2_err b/result/relaxng/demo2_err new file mode 100644 index 0000000..9bdaeb9 --- /dev/null +++ b/result/relaxng/demo2_err @@ -0,0 +1 @@ +./test/relaxng/demo2.rng validates diff --git a/result/relaxng/demo2_valid b/result/relaxng/demo2_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/demo3_err b/result/relaxng/demo3_err new file mode 100644 index 0000000..ccced98 --- /dev/null +++ b/result/relaxng/demo3_err @@ -0,0 +1 @@ +./test/relaxng/demo3.rng validates diff --git a/result/relaxng/demo3_valid b/result/relaxng/demo3_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/demo_err b/result/relaxng/demo_err new file mode 100644 index 0000000..4f397f8 --- /dev/null +++ b/result/relaxng/demo_err @@ -0,0 +1 @@ +./test/relaxng/demo.rng validates diff --git a/result/relaxng/demo_valid b/result/relaxng/demo_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/docbook_0 b/result/relaxng/docbook_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/docbook_0.err b/result/relaxng/docbook_0.err new file mode 100644 index 0000000..98d1971 --- /dev/null +++ b/result/relaxng/docbook_0.err @@ -0,0 +1 @@ +./test/relaxng/docbook_0.xml validates diff --git a/result/relaxng/docbook_err b/result/relaxng/docbook_err new file mode 100644 index 0000000..8124012 --- /dev/null +++ b/result/relaxng/docbook_err @@ -0,0 +1 @@ +./test/relaxng/docbook.rng validates diff --git a/result/relaxng/docbook_valid b/result/relaxng/docbook_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/empty0_0 b/result/relaxng/empty0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/empty0_0.err b/result/relaxng/empty0_0.err new file mode 100644 index 0000000..97d0c9d --- /dev/null +++ b/result/relaxng/empty0_0.err @@ -0,0 +1 @@ +./test/relaxng/empty0_0.xml validates diff --git a/result/relaxng/empty0_err b/result/relaxng/empty0_err new file mode 100644 index 0000000..c4060cf --- /dev/null +++ b/result/relaxng/empty0_err @@ -0,0 +1 @@ +./test/relaxng/empty0.rng validates diff --git a/result/relaxng/empty0_valid b/result/relaxng/empty0_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/empty1_0 b/result/relaxng/empty1_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/empty1_0.err b/result/relaxng/empty1_0.err new file mode 100644 index 0000000..4c1a9af --- /dev/null +++ b/result/relaxng/empty1_0.err @@ -0,0 +1 @@ +./test/relaxng/empty1_0.xml validates diff --git a/result/relaxng/empty1_1 b/result/relaxng/empty1_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/empty1_1.err b/result/relaxng/empty1_1.err new file mode 100644 index 0000000..6a71bb0 --- /dev/null +++ b/result/relaxng/empty1_1.err @@ -0,0 +1 @@ +./test/relaxng/empty1_1.xml validates diff --git a/result/relaxng/empty1_err b/result/relaxng/empty1_err new file mode 100644 index 0000000..f52d95c --- /dev/null +++ b/result/relaxng/empty1_err @@ -0,0 +1 @@ +./test/relaxng/empty1.rng validates diff --git a/result/relaxng/empty1_valid b/result/relaxng/empty1_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/include0_0 b/result/relaxng/include0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/include0_0.err b/result/relaxng/include0_0.err new file mode 100644 index 0000000..24013bc --- /dev/null +++ b/result/relaxng/include0_0.err @@ -0,0 +1 @@ +./test/relaxng/include0_0.xml validates diff --git a/result/relaxng/include0_err b/result/relaxng/include0_err new file mode 100644 index 0000000..cd16cbe --- /dev/null +++ b/result/relaxng/include0_err @@ -0,0 +1 @@ +./test/relaxng/include0.rng validates diff --git a/result/relaxng/include0_valid b/result/relaxng/include0_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/include1_0 b/result/relaxng/include1_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/include1_0.err b/result/relaxng/include1_0.err new file mode 100644 index 0000000..8c13f4c --- /dev/null +++ b/result/relaxng/include1_0.err @@ -0,0 +1 @@ +./test/relaxng/include1_0.xml validates diff --git a/result/relaxng/include1_err b/result/relaxng/include1_err new file mode 100644 index 0000000..ad4850b --- /dev/null +++ b/result/relaxng/include1_err @@ -0,0 +1 @@ +./test/relaxng/include1.rng validates diff --git a/result/relaxng/include1_valid b/result/relaxng/include1_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/inline2_err b/result/relaxng/inline2_err new file mode 100644 index 0000000..027408e --- /dev/null +++ b/result/relaxng/inline2_err @@ -0,0 +1 @@ +./test/relaxng/inline2.rng validates diff --git a/result/relaxng/inline2_valid b/result/relaxng/inline2_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/inline3_err b/result/relaxng/inline3_err new file mode 100644 index 0000000..1ceccb8 --- /dev/null +++ b/result/relaxng/inline3_err @@ -0,0 +1 @@ +./test/relaxng/inline3.rng validates diff --git a/result/relaxng/inline3_valid b/result/relaxng/inline3_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/inline_err b/result/relaxng/inline_err new file mode 100644 index 0000000..8ba0e5c --- /dev/null +++ b/result/relaxng/inline_err @@ -0,0 +1 @@ +./test/relaxng/inline.rng validates diff --git a/result/relaxng/inline_valid b/result/relaxng/inline_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/interleave0_0_err b/result/relaxng/interleave0_0_err new file mode 100644 index 0000000..0d865ec --- /dev/null +++ b/result/relaxng/interleave0_0_err @@ -0,0 +1 @@ +./test/relaxng/interleave0_0.rng validates diff --git a/result/relaxng/interleave0_0_valid b/result/relaxng/interleave0_0_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/interleave1_0_err b/result/relaxng/interleave1_0_err new file mode 100644 index 0000000..4802352 --- /dev/null +++ b/result/relaxng/interleave1_0_err @@ -0,0 +1 @@ +./test/relaxng/interleave1_0.rng validates diff --git a/result/relaxng/interleave1_0_valid b/result/relaxng/interleave1_0_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/libvirt_0 b/result/relaxng/libvirt_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/libvirt_0.err b/result/relaxng/libvirt_0.err new file mode 100644 index 0000000..29535b8 --- /dev/null +++ b/result/relaxng/libvirt_0.err @@ -0,0 +1 @@ +./test/relaxng/libvirt_0.xml validates diff --git a/result/relaxng/libvirt_err b/result/relaxng/libvirt_err new file mode 100644 index 0000000..4acf3ed --- /dev/null +++ b/result/relaxng/libvirt_err @@ -0,0 +1 @@ +./test/relaxng/libvirt.rng validates diff --git a/result/relaxng/libvirt_valid b/result/relaxng/libvirt_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/list_0 b/result/relaxng/list_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/list_0.err b/result/relaxng/list_0.err new file mode 100644 index 0000000..5c8ca7c --- /dev/null +++ b/result/relaxng/list_0.err @@ -0,0 +1 @@ +./test/relaxng/list_0.xml validates diff --git a/result/relaxng/list_1 b/result/relaxng/list_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/list_1.err b/result/relaxng/list_1.err new file mode 100644 index 0000000..3ae35ae --- /dev/null +++ b/result/relaxng/list_1.err @@ -0,0 +1,2 @@ +./test/relaxng/list_1.xml:1: element elem1: Relax-NG validity error : Element elem1 failed to validate attributes +./test/relaxng/list_1.xml fails to validate diff --git a/result/relaxng/list_err b/result/relaxng/list_err new file mode 100644 index 0000000..748e21b --- /dev/null +++ b/result/relaxng/list_err @@ -0,0 +1 @@ +./test/relaxng/list.rng validates diff --git a/result/relaxng/list_valid b/result/relaxng/list_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/pattern1_err b/result/relaxng/pattern1_err new file mode 100644 index 0000000..8856446 --- /dev/null +++ b/result/relaxng/pattern1_err @@ -0,0 +1 @@ +./test/relaxng/pattern1.rng validates diff --git a/result/relaxng/pattern1_valid b/result/relaxng/pattern1_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/pattern2_err b/result/relaxng/pattern2_err new file mode 100644 index 0000000..acccc55 --- /dev/null +++ b/result/relaxng/pattern2_err @@ -0,0 +1 @@ +./test/relaxng/pattern2.rng validates diff --git a/result/relaxng/pattern2_valid b/result/relaxng/pattern2_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/pattern3_1 b/result/relaxng/pattern3_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/pattern3_1.err b/result/relaxng/pattern3_1.err new file mode 100644 index 0000000..b1a9803 --- /dev/null +++ b/result/relaxng/pattern3_1.err @@ -0,0 +1 @@ +./test/relaxng/pattern3_1.xml validates diff --git a/result/relaxng/pattern3_err b/result/relaxng/pattern3_err new file mode 100644 index 0000000..a7a1f46 --- /dev/null +++ b/result/relaxng/pattern3_err @@ -0,0 +1 @@ +./test/relaxng/pattern3.rng validates diff --git a/result/relaxng/pattern3_valid b/result/relaxng/pattern3_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/proofsystem_err b/result/relaxng/proofsystem_err new file mode 100644 index 0000000..9fbcfdc --- /dev/null +++ b/result/relaxng/proofsystem_err @@ -0,0 +1 @@ +./test/relaxng/proofsystem.rng validates diff --git a/result/relaxng/proofsystem_valid b/result/relaxng/proofsystem_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/rngbug-001_err b/result/relaxng/rngbug-001_err new file mode 100644 index 0000000..4c30153 --- /dev/null +++ b/result/relaxng/rngbug-001_err @@ -0,0 +1 @@ +./test/relaxng/rngbug-001.rng validates diff --git a/result/relaxng/rngbug-001_valid b/result/relaxng/rngbug-001_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/spec1_1 b/result/relaxng/spec1_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/spec1_1.err b/result/relaxng/spec1_1.err new file mode 100644 index 0000000..1e213a2 --- /dev/null +++ b/result/relaxng/spec1_1.err @@ -0,0 +1 @@ +./test/relaxng/spec1_1.xml validates diff --git a/result/relaxng/spec1_err b/result/relaxng/spec1_err new file mode 100644 index 0000000..8551c1e --- /dev/null +++ b/result/relaxng/spec1_err @@ -0,0 +1 @@ +./test/relaxng/spec1.rng validates diff --git a/result/relaxng/spec1_valid b/result/relaxng/spec1_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/spec_0 b/result/relaxng/spec_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/spec_0.err b/result/relaxng/spec_0.err new file mode 100644 index 0000000..df30e8a --- /dev/null +++ b/result/relaxng/spec_0.err @@ -0,0 +1 @@ +./test/relaxng/spec_0.xml validates diff --git a/result/relaxng/spec_err b/result/relaxng/spec_err new file mode 100644 index 0000000..27336e1 --- /dev/null +++ b/result/relaxng/spec_err @@ -0,0 +1 @@ +./test/relaxng/spec.rng validates diff --git a/result/relaxng/spec_valid b/result/relaxng/spec_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/table_err b/result/relaxng/table_err new file mode 100644 index 0000000..47e7996 --- /dev/null +++ b/result/relaxng/table_err @@ -0,0 +1 @@ +./test/relaxng/table.rng validates diff --git a/result/relaxng/table_valid b/result/relaxng/table_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_10_1 b/result/relaxng/tutor10_10_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_10_1.err b/result/relaxng/tutor10_10_1.err new file mode 100644 index 0000000..2370ff2 --- /dev/null +++ b/result/relaxng/tutor10_10_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_10_1.xml validates diff --git a/result/relaxng/tutor10_10_err b/result/relaxng/tutor10_10_err new file mode 100644 index 0000000..24a5f7e --- /dev/null +++ b/result/relaxng/tutor10_10_err @@ -0,0 +1 @@ +./test/relaxng/tutor10_10.rng validates diff --git a/result/relaxng/tutor10_10_valid b/result/relaxng/tutor10_10_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_1_1 b/result/relaxng/tutor10_1_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_1_1.err b/result/relaxng/tutor10_1_1.err new file mode 100644 index 0000000..361e1e8 --- /dev/null +++ b/result/relaxng/tutor10_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_1_1.xml validates diff --git a/result/relaxng/tutor10_1_2 b/result/relaxng/tutor10_1_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_1_2.err b/result/relaxng/tutor10_1_2.err new file mode 100644 index 0000000..6092d7e --- /dev/null +++ b/result/relaxng/tutor10_1_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_1_2.xml validates diff --git a/result/relaxng/tutor10_1_3 b/result/relaxng/tutor10_1_3 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_1_3.err b/result/relaxng/tutor10_1_3.err new file mode 100644 index 0000000..1c5b68d --- /dev/null +++ b/result/relaxng/tutor10_1_3.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_1_3.xml validates diff --git a/result/relaxng/tutor10_1_4 b/result/relaxng/tutor10_1_4 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_1_4.err b/result/relaxng/tutor10_1_4.err new file mode 100644 index 0000000..4030e14 --- /dev/null +++ b/result/relaxng/tutor10_1_4.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor10_1_4.xml:1: element foo: Relax-NG validity error : Expecting a namespace for element foo +./test/relaxng/tutor10_1_4.xml fails to validate diff --git a/result/relaxng/tutor10_1_5 b/result/relaxng/tutor10_1_5 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_1_5.err b/result/relaxng/tutor10_1_5.err new file mode 100644 index 0000000..2ab8d90 --- /dev/null +++ b/result/relaxng/tutor10_1_5.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor10_1_5.xml:1: element foo: Relax-NG validity error : Element foo has wrong namespace: expecting http://www.example.com +./test/relaxng/tutor10_1_5.xml fails to validate diff --git a/result/relaxng/tutor10_1_6 b/result/relaxng/tutor10_1_6 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_1_6.err b/result/relaxng/tutor10_1_6.err new file mode 100644 index 0000000..cafeb15 --- /dev/null +++ b/result/relaxng/tutor10_1_6.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor10_1_6.xml:1: element foo: Relax-NG validity error : Element foo has wrong namespace: expecting http://www.example.com +./test/relaxng/tutor10_1_6.xml fails to validate diff --git a/result/relaxng/tutor10_1_err b/result/relaxng/tutor10_1_err new file mode 100644 index 0000000..85be3be --- /dev/null +++ b/result/relaxng/tutor10_1_err @@ -0,0 +1 @@ +./test/relaxng/tutor10_1.rng validates diff --git a/result/relaxng/tutor10_1_valid b/result/relaxng/tutor10_1_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_2_1 b/result/relaxng/tutor10_2_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_2_1.err b/result/relaxng/tutor10_2_1.err new file mode 100644 index 0000000..836dbf7 --- /dev/null +++ b/result/relaxng/tutor10_2_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_2_1.xml validates diff --git a/result/relaxng/tutor10_2_2 b/result/relaxng/tutor10_2_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_2_2.err b/result/relaxng/tutor10_2_2.err new file mode 100644 index 0000000..7e6ce31 --- /dev/null +++ b/result/relaxng/tutor10_2_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_2_2.xml validates diff --git a/result/relaxng/tutor10_2_3 b/result/relaxng/tutor10_2_3 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_2_3.err b/result/relaxng/tutor10_2_3.err new file mode 100644 index 0000000..2ff2a82 --- /dev/null +++ b/result/relaxng/tutor10_2_3.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor10_2_3.xml:1: element foo: Relax-NG validity error : Expecting no namespace for element foo +./test/relaxng/tutor10_2_3.xml fails to validate diff --git a/result/relaxng/tutor10_2_4 b/result/relaxng/tutor10_2_4 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_2_4.err b/result/relaxng/tutor10_2_4.err new file mode 100644 index 0000000..d716b9b --- /dev/null +++ b/result/relaxng/tutor10_2_4.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor10_2_4.xml:1: element foo: Relax-NG validity error : Expecting no namespace for element foo +./test/relaxng/tutor10_2_4.xml fails to validate diff --git a/result/relaxng/tutor10_2_err b/result/relaxng/tutor10_2_err new file mode 100644 index 0000000..b3e32a6 --- /dev/null +++ b/result/relaxng/tutor10_2_err @@ -0,0 +1 @@ +./test/relaxng/tutor10_2.rng validates diff --git a/result/relaxng/tutor10_2_valid b/result/relaxng/tutor10_2_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_3_1 b/result/relaxng/tutor10_3_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_3_1.err b/result/relaxng/tutor10_3_1.err new file mode 100644 index 0000000..5f9a3b0 --- /dev/null +++ b/result/relaxng/tutor10_3_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_3_1.xml validates diff --git a/result/relaxng/tutor10_3_err b/result/relaxng/tutor10_3_err new file mode 100644 index 0000000..3c714aa --- /dev/null +++ b/result/relaxng/tutor10_3_err @@ -0,0 +1 @@ +./test/relaxng/tutor10_3.rng validates diff --git a/result/relaxng/tutor10_3_valid b/result/relaxng/tutor10_3_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_4_1 b/result/relaxng/tutor10_4_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_4_1.err b/result/relaxng/tutor10_4_1.err new file mode 100644 index 0000000..833c5ee --- /dev/null +++ b/result/relaxng/tutor10_4_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_4_1.xml validates diff --git a/result/relaxng/tutor10_4_err b/result/relaxng/tutor10_4_err new file mode 100644 index 0000000..3208137 --- /dev/null +++ b/result/relaxng/tutor10_4_err @@ -0,0 +1 @@ +./test/relaxng/tutor10_4.rng validates diff --git a/result/relaxng/tutor10_4_valid b/result/relaxng/tutor10_4_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_5_1 b/result/relaxng/tutor10_5_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_5_1.err b/result/relaxng/tutor10_5_1.err new file mode 100644 index 0000000..fb0bd96 --- /dev/null +++ b/result/relaxng/tutor10_5_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_5_1.xml validates diff --git a/result/relaxng/tutor10_5_err b/result/relaxng/tutor10_5_err new file mode 100644 index 0000000..49808cf --- /dev/null +++ b/result/relaxng/tutor10_5_err @@ -0,0 +1 @@ +./test/relaxng/tutor10_5.rng validates diff --git a/result/relaxng/tutor10_5_valid b/result/relaxng/tutor10_5_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_6_1 b/result/relaxng/tutor10_6_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_6_1.err b/result/relaxng/tutor10_6_1.err new file mode 100644 index 0000000..4fed8f7 --- /dev/null +++ b/result/relaxng/tutor10_6_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_6_1.xml validates diff --git a/result/relaxng/tutor10_6_err b/result/relaxng/tutor10_6_err new file mode 100644 index 0000000..09368c1 --- /dev/null +++ b/result/relaxng/tutor10_6_err @@ -0,0 +1 @@ +./test/relaxng/tutor10_6.rng validates diff --git a/result/relaxng/tutor10_6_valid b/result/relaxng/tutor10_6_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_7_1 b/result/relaxng/tutor10_7_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_7_1.err b/result/relaxng/tutor10_7_1.err new file mode 100644 index 0000000..bbaab53 --- /dev/null +++ b/result/relaxng/tutor10_7_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_7_1.xml validates diff --git a/result/relaxng/tutor10_7_2 b/result/relaxng/tutor10_7_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_7_2.err b/result/relaxng/tutor10_7_2.err new file mode 100644 index 0000000..f618988 --- /dev/null +++ b/result/relaxng/tutor10_7_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_7_2.xml validates diff --git a/result/relaxng/tutor10_7_3 b/result/relaxng/tutor10_7_3 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_7_3.err b/result/relaxng/tutor10_7_3.err new file mode 100644 index 0000000..913dfaf --- /dev/null +++ b/result/relaxng/tutor10_7_3.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor10_7_3.xml:2: element card: Relax-NG validity error : Element card failed to validate attributes +./test/relaxng/tutor10_7_3.xml fails to validate diff --git a/result/relaxng/tutor10_7_err b/result/relaxng/tutor10_7_err new file mode 100644 index 0000000..081a230 --- /dev/null +++ b/result/relaxng/tutor10_7_err @@ -0,0 +1 @@ +./test/relaxng/tutor10_7.rng validates diff --git a/result/relaxng/tutor10_7_valid b/result/relaxng/tutor10_7_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_8_1 b/result/relaxng/tutor10_8_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_8_1.err b/result/relaxng/tutor10_8_1.err new file mode 100644 index 0000000..2412108 --- /dev/null +++ b/result/relaxng/tutor10_8_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_8_1.xml validates diff --git a/result/relaxng/tutor10_8_2 b/result/relaxng/tutor10_8_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_8_2.err b/result/relaxng/tutor10_8_2.err new file mode 100644 index 0000000..6becf86 --- /dev/null +++ b/result/relaxng/tutor10_8_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_8_2.xml validates diff --git a/result/relaxng/tutor10_8_3 b/result/relaxng/tutor10_8_3 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_8_3.err b/result/relaxng/tutor10_8_3.err new file mode 100644 index 0000000..ee0eb55 --- /dev/null +++ b/result/relaxng/tutor10_8_3.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor10_8_3.xml:2: element card: Relax-NG validity error : Element card failed to validate attributes +./test/relaxng/tutor10_8_3.xml fails to validate diff --git a/result/relaxng/tutor10_8_err b/result/relaxng/tutor10_8_err new file mode 100644 index 0000000..1a864cc --- /dev/null +++ b/result/relaxng/tutor10_8_err @@ -0,0 +1 @@ +./test/relaxng/tutor10_8.rng validates diff --git a/result/relaxng/tutor10_8_valid b/result/relaxng/tutor10_8_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_9_1 b/result/relaxng/tutor10_9_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor10_9_1.err b/result/relaxng/tutor10_9_1.err new file mode 100644 index 0000000..3e82887 --- /dev/null +++ b/result/relaxng/tutor10_9_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor10_9_1.xml validates diff --git a/result/relaxng/tutor10_9_err b/result/relaxng/tutor10_9_err new file mode 100644 index 0000000..942058e --- /dev/null +++ b/result/relaxng/tutor10_9_err @@ -0,0 +1 @@ +./test/relaxng/tutor10_9.rng validates diff --git a/result/relaxng/tutor10_9_valid b/result/relaxng/tutor10_9_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor11_1_1 b/result/relaxng/tutor11_1_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor11_1_1.err b/result/relaxng/tutor11_1_1.err new file mode 100644 index 0000000..a8283fa --- /dev/null +++ b/result/relaxng/tutor11_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor11_1_1.xml validates diff --git a/result/relaxng/tutor11_1_2 b/result/relaxng/tutor11_1_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor11_1_2.err b/result/relaxng/tutor11_1_2.err new file mode 100644 index 0000000..72a72fa --- /dev/null +++ b/result/relaxng/tutor11_1_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor11_1_2.xml validates diff --git a/result/relaxng/tutor11_1_3 b/result/relaxng/tutor11_1_3 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor11_1_3.err b/result/relaxng/tutor11_1_3.err new file mode 100644 index 0000000..4c19cc9 --- /dev/null +++ b/result/relaxng/tutor11_1_3.err @@ -0,0 +1 @@ +./test/relaxng/tutor11_1_3.xml validates diff --git a/result/relaxng/tutor11_1_err b/result/relaxng/tutor11_1_err new file mode 100644 index 0000000..88347fe --- /dev/null +++ b/result/relaxng/tutor11_1_err @@ -0,0 +1 @@ +./test/relaxng/tutor11_1.rng validates diff --git a/result/relaxng/tutor11_1_valid b/result/relaxng/tutor11_1_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor11_2_1 b/result/relaxng/tutor11_2_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor11_2_1.err b/result/relaxng/tutor11_2_1.err new file mode 100644 index 0000000..eec60ec --- /dev/null +++ b/result/relaxng/tutor11_2_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor11_2_1.xml validates diff --git a/result/relaxng/tutor11_2_2 b/result/relaxng/tutor11_2_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor11_2_2.err b/result/relaxng/tutor11_2_2.err new file mode 100644 index 0000000..f0abba0 --- /dev/null +++ b/result/relaxng/tutor11_2_2.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor11_2_2.xml:3: element card: Relax-NG validity error : Invalid attribute foo for element card +./test/relaxng/tutor11_2_2.xml fails to validate diff --git a/result/relaxng/tutor11_2_3 b/result/relaxng/tutor11_2_3 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor11_2_3.err b/result/relaxng/tutor11_2_3.err new file mode 100644 index 0000000..f07ea78 --- /dev/null +++ b/result/relaxng/tutor11_2_3.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor11_2_3.xml:3: element card: Relax-NG validity error : Invalid attribute b for element card +./test/relaxng/tutor11_2_3.xml fails to validate diff --git a/result/relaxng/tutor11_2_err b/result/relaxng/tutor11_2_err new file mode 100644 index 0000000..3294c13 --- /dev/null +++ b/result/relaxng/tutor11_2_err @@ -0,0 +1 @@ +./test/relaxng/tutor11_2.rng validates diff --git a/result/relaxng/tutor11_2_valid b/result/relaxng/tutor11_2_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor11_3_1 b/result/relaxng/tutor11_3_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor11_3_1.err b/result/relaxng/tutor11_3_1.err new file mode 100644 index 0000000..de9db32 --- /dev/null +++ b/result/relaxng/tutor11_3_1.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor11_3.rng:1: element element: Relax-NG parser error : Attributes conflicts in group +Relax-NG schema ./test/relaxng/tutor11_3.rng failed to compile diff --git a/result/relaxng/tutor11_3_err b/result/relaxng/tutor11_3_err new file mode 100644 index 0000000..14d9d44 --- /dev/null +++ b/result/relaxng/tutor11_3_err @@ -0,0 +1 @@ +./test/relaxng/tutor11_3.rng validates diff --git a/result/relaxng/tutor11_3_valid b/result/relaxng/tutor11_3_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor11_4_1 b/result/relaxng/tutor11_4_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor11_4_1.err b/result/relaxng/tutor11_4_1.err new file mode 100644 index 0000000..16aed5c --- /dev/null +++ b/result/relaxng/tutor11_4_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor11_4_1.xml validates diff --git a/result/relaxng/tutor11_4_err b/result/relaxng/tutor11_4_err new file mode 100644 index 0000000..f0a8339 --- /dev/null +++ b/result/relaxng/tutor11_4_err @@ -0,0 +1 @@ +./test/relaxng/tutor11_4.rng validates diff --git a/result/relaxng/tutor11_4_valid b/result/relaxng/tutor11_4_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor12_1_1 b/result/relaxng/tutor12_1_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor12_1_1.err b/result/relaxng/tutor12_1_1.err new file mode 100644 index 0000000..aab20d3 --- /dev/null +++ b/result/relaxng/tutor12_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor12_1_1.xml validates diff --git a/result/relaxng/tutor12_1_err b/result/relaxng/tutor12_1_err new file mode 100644 index 0000000..a02fb41 --- /dev/null +++ b/result/relaxng/tutor12_1_err @@ -0,0 +1 @@ +./test/relaxng/tutor12_1.rng validates diff --git a/result/relaxng/tutor12_1_valid b/result/relaxng/tutor12_1_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor13_1_1 b/result/relaxng/tutor13_1_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor13_1_1.err b/result/relaxng/tutor13_1_1.err new file mode 100644 index 0000000..3a3f2ae --- /dev/null +++ b/result/relaxng/tutor13_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor13_1_1.xml validates diff --git a/result/relaxng/tutor13_1_err b/result/relaxng/tutor13_1_err new file mode 100644 index 0000000..ccd11ad --- /dev/null +++ b/result/relaxng/tutor13_1_err @@ -0,0 +1 @@ +./test/relaxng/tutor13_1.rng validates diff --git a/result/relaxng/tutor13_1_valid b/result/relaxng/tutor13_1_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor14_1_err b/result/relaxng/tutor14_1_err new file mode 100644 index 0000000..191ec3d --- /dev/null +++ b/result/relaxng/tutor14_1_err @@ -0,0 +1 @@ +./test/relaxng/tutor14_1.rng validates diff --git a/result/relaxng/tutor14_1_valid b/result/relaxng/tutor14_1_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor1_1_1 b/result/relaxng/tutor1_1_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor1_1_1.err b/result/relaxng/tutor1_1_1.err new file mode 100644 index 0000000..b6767f2 --- /dev/null +++ b/result/relaxng/tutor1_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor1_1_1.xml validates diff --git a/result/relaxng/tutor1_1_err b/result/relaxng/tutor1_1_err new file mode 100644 index 0000000..d7cbfe8 --- /dev/null +++ b/result/relaxng/tutor1_1_err @@ -0,0 +1 @@ +./test/relaxng/tutor1_1.rng validates diff --git a/result/relaxng/tutor1_1_valid b/result/relaxng/tutor1_1_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor1_2_1 b/result/relaxng/tutor1_2_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor1_2_1.err b/result/relaxng/tutor1_2_1.err new file mode 100644 index 0000000..2dc3698 --- /dev/null +++ b/result/relaxng/tutor1_2_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor1_2_1.xml validates diff --git a/result/relaxng/tutor1_2_err b/result/relaxng/tutor1_2_err new file mode 100644 index 0000000..97d32b2 --- /dev/null +++ b/result/relaxng/tutor1_2_err @@ -0,0 +1 @@ +./test/relaxng/tutor1_2.rng validates diff --git a/result/relaxng/tutor1_2_valid b/result/relaxng/tutor1_2_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor1_3_1 b/result/relaxng/tutor1_3_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor1_3_1.err b/result/relaxng/tutor1_3_1.err new file mode 100644 index 0000000..9c116d8 --- /dev/null +++ b/result/relaxng/tutor1_3_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor1_3_1.xml validates diff --git a/result/relaxng/tutor1_3_err b/result/relaxng/tutor1_3_err new file mode 100644 index 0000000..4941f8f --- /dev/null +++ b/result/relaxng/tutor1_3_err @@ -0,0 +1 @@ +./test/relaxng/tutor1_3.rng validates diff --git a/result/relaxng/tutor1_3_valid b/result/relaxng/tutor1_3_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor1_4_1 b/result/relaxng/tutor1_4_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor1_4_1.err b/result/relaxng/tutor1_4_1.err new file mode 100644 index 0000000..9dc35e6 --- /dev/null +++ b/result/relaxng/tutor1_4_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor1_4_1.xml validates diff --git a/result/relaxng/tutor1_4_err b/result/relaxng/tutor1_4_err new file mode 100644 index 0000000..a1fd60c --- /dev/null +++ b/result/relaxng/tutor1_4_err @@ -0,0 +1 @@ +./test/relaxng/tutor1_4.rng validates diff --git a/result/relaxng/tutor1_4_valid b/result/relaxng/tutor1_4_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor2_1_1 b/result/relaxng/tutor2_1_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor2_1_1.err b/result/relaxng/tutor2_1_1.err new file mode 100644 index 0000000..5da7633 --- /dev/null +++ b/result/relaxng/tutor2_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor2_1_1.xml validates diff --git a/result/relaxng/tutor2_1_err b/result/relaxng/tutor2_1_err new file mode 100644 index 0000000..df4778e --- /dev/null +++ b/result/relaxng/tutor2_1_err @@ -0,0 +1 @@ +./test/relaxng/tutor2_1.rng validates diff --git a/result/relaxng/tutor2_1_valid b/result/relaxng/tutor2_1_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_1_1 b/result/relaxng/tutor3_1_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_1_1.err b/result/relaxng/tutor3_1_1.err new file mode 100644 index 0000000..815f1f0 --- /dev/null +++ b/result/relaxng/tutor3_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor3_1_1.xml validates diff --git a/result/relaxng/tutor3_1_2 b/result/relaxng/tutor3_1_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_1_2.err b/result/relaxng/tutor3_1_2.err new file mode 100644 index 0000000..e126430 --- /dev/null +++ b/result/relaxng/tutor3_1_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor3_1_2.xml validates diff --git a/result/relaxng/tutor3_1_err b/result/relaxng/tutor3_1_err new file mode 100644 index 0000000..949ef9a --- /dev/null +++ b/result/relaxng/tutor3_1_err @@ -0,0 +1 @@ +./test/relaxng/tutor3_1.rng validates diff --git a/result/relaxng/tutor3_1_valid b/result/relaxng/tutor3_1_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_2_1 b/result/relaxng/tutor3_2_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_2_1.err b/result/relaxng/tutor3_2_1.err new file mode 100644 index 0000000..380250a --- /dev/null +++ b/result/relaxng/tutor3_2_1.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor3_2_1.xml:1: element email: Relax-NG validity error : Did not expect element email there +./test/relaxng/tutor3_2_1.xml fails to validate diff --git a/result/relaxng/tutor3_2_err b/result/relaxng/tutor3_2_err new file mode 100644 index 0000000..b6cb1ad --- /dev/null +++ b/result/relaxng/tutor3_2_err @@ -0,0 +1 @@ +./test/relaxng/tutor3_2.rng validates diff --git a/result/relaxng/tutor3_2_valid b/result/relaxng/tutor3_2_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_3_1 b/result/relaxng/tutor3_3_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_3_1.err b/result/relaxng/tutor3_3_1.err new file mode 100644 index 0000000..3cd5e05 --- /dev/null +++ b/result/relaxng/tutor3_3_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor3_3_1.xml validates diff --git a/result/relaxng/tutor3_3_err b/result/relaxng/tutor3_3_err new file mode 100644 index 0000000..92e83b6 --- /dev/null +++ b/result/relaxng/tutor3_3_err @@ -0,0 +1 @@ +./test/relaxng/tutor3_3.rng validates diff --git a/result/relaxng/tutor3_3_valid b/result/relaxng/tutor3_3_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_4_1 b/result/relaxng/tutor3_4_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_4_1.err b/result/relaxng/tutor3_4_1.err new file mode 100644 index 0000000..62956f7 --- /dev/null +++ b/result/relaxng/tutor3_4_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor3_4_1.xml validates diff --git a/result/relaxng/tutor3_4_err b/result/relaxng/tutor3_4_err new file mode 100644 index 0000000..61ef41f --- /dev/null +++ b/result/relaxng/tutor3_4_err @@ -0,0 +1 @@ +./test/relaxng/tutor3_4.rng validates diff --git a/result/relaxng/tutor3_4_valid b/result/relaxng/tutor3_4_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_5_1 b/result/relaxng/tutor3_5_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_5_1.err b/result/relaxng/tutor3_5_1.err new file mode 100644 index 0000000..715b160 --- /dev/null +++ b/result/relaxng/tutor3_5_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor3_5_1.xml validates diff --git a/result/relaxng/tutor3_5_2 b/result/relaxng/tutor3_5_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_5_2.err b/result/relaxng/tutor3_5_2.err new file mode 100644 index 0000000..16e6627 --- /dev/null +++ b/result/relaxng/tutor3_5_2.err @@ -0,0 +1,3 @@ +./test/relaxng/tutor3_5_2.xml:2: element email: Relax-NG validity error : Expecting element name, got email +./test/relaxng/tutor3_5_2.xml:2: element email: Relax-NG validity error : Element card failed to validate content +./test/relaxng/tutor3_5_2.xml fails to validate diff --git a/result/relaxng/tutor3_5_err b/result/relaxng/tutor3_5_err new file mode 100644 index 0000000..2e36868 --- /dev/null +++ b/result/relaxng/tutor3_5_err @@ -0,0 +1 @@ +./test/relaxng/tutor3_5.rng validates diff --git a/result/relaxng/tutor3_5_valid b/result/relaxng/tutor3_5_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_6_1 b/result/relaxng/tutor3_6_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_6_1.err b/result/relaxng/tutor3_6_1.err new file mode 100644 index 0000000..ba6456e --- /dev/null +++ b/result/relaxng/tutor3_6_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor3_6_1.xml validates diff --git a/result/relaxng/tutor3_6_err b/result/relaxng/tutor3_6_err new file mode 100644 index 0000000..8479bea --- /dev/null +++ b/result/relaxng/tutor3_6_err @@ -0,0 +1 @@ +./test/relaxng/tutor3_6.rng validates diff --git a/result/relaxng/tutor3_6_valid b/result/relaxng/tutor3_6_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_7_1 b/result/relaxng/tutor3_7_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_7_1.err b/result/relaxng/tutor3_7_1.err new file mode 100644 index 0000000..88b2132 --- /dev/null +++ b/result/relaxng/tutor3_7_1.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor3_7.rng:1: element element: Relax-NG parser error : xmlRelaxNGParseElement: element has no content +Relax-NG schema ./test/relaxng/tutor3_7.rng failed to compile diff --git a/result/relaxng/tutor3_7_err b/result/relaxng/tutor3_7_err new file mode 100644 index 0000000..2546132 --- /dev/null +++ b/result/relaxng/tutor3_7_err @@ -0,0 +1,4 @@ +./test/relaxng/tutor3_7.rng:1: element element: Relax-NG validity error : Expecting an element , got nothing +./test/relaxng/tutor3_7.rng:1: element element: Relax-NG validity error : Invalid sequence in interleave +./test/relaxng/tutor3_7.rng:1: element element: Relax-NG validity error : Element element failed to validate content +./test/relaxng/tutor3_7.rng fails to validate diff --git a/result/relaxng/tutor3_7_valid b/result/relaxng/tutor3_7_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_8_1 b/result/relaxng/tutor3_8_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_8_1.err b/result/relaxng/tutor3_8_1.err new file mode 100644 index 0000000..89894a9 --- /dev/null +++ b/result/relaxng/tutor3_8_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor3_8_1.xml validates diff --git a/result/relaxng/tutor3_8_err b/result/relaxng/tutor3_8_err new file mode 100644 index 0000000..44fe75d --- /dev/null +++ b/result/relaxng/tutor3_8_err @@ -0,0 +1 @@ +./test/relaxng/tutor3_8.rng validates diff --git a/result/relaxng/tutor3_8_valid b/result/relaxng/tutor3_8_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_9_1 b/result/relaxng/tutor3_9_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor3_9_1.err b/result/relaxng/tutor3_9_1.err new file mode 100644 index 0000000..1ee50c2 --- /dev/null +++ b/result/relaxng/tutor3_9_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor3_9_1.xml validates diff --git a/result/relaxng/tutor3_9_err b/result/relaxng/tutor3_9_err new file mode 100644 index 0000000..d54fbe0 --- /dev/null +++ b/result/relaxng/tutor3_9_err @@ -0,0 +1 @@ +./test/relaxng/tutor3_9.rng validates diff --git a/result/relaxng/tutor3_9_valid b/result/relaxng/tutor3_9_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor4_1_1 b/result/relaxng/tutor4_1_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor4_1_1.err b/result/relaxng/tutor4_1_1.err new file mode 100644 index 0000000..d8f436d --- /dev/null +++ b/result/relaxng/tutor4_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor4_1_1.xml validates diff --git a/result/relaxng/tutor4_1_err b/result/relaxng/tutor4_1_err new file mode 100644 index 0000000..94f0289 --- /dev/null +++ b/result/relaxng/tutor4_1_err @@ -0,0 +1 @@ +./test/relaxng/tutor4_1.rng validates diff --git a/result/relaxng/tutor4_1_valid b/result/relaxng/tutor4_1_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor4_2_1 b/result/relaxng/tutor4_2_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor4_2_1.err b/result/relaxng/tutor4_2_1.err new file mode 100644 index 0000000..d44dcb8 --- /dev/null +++ b/result/relaxng/tutor4_2_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor4_2_1.xml validates diff --git a/result/relaxng/tutor4_2_err b/result/relaxng/tutor4_2_err new file mode 100644 index 0000000..82085d0 --- /dev/null +++ b/result/relaxng/tutor4_2_err @@ -0,0 +1 @@ +./test/relaxng/tutor4_2.rng validates diff --git a/result/relaxng/tutor4_2_valid b/result/relaxng/tutor4_2_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor4_3_1 b/result/relaxng/tutor4_3_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor4_3_1.err b/result/relaxng/tutor4_3_1.err new file mode 100644 index 0000000..7ff3afe --- /dev/null +++ b/result/relaxng/tutor4_3_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor4_3_1.xml validates diff --git a/result/relaxng/tutor4_3_2 b/result/relaxng/tutor4_3_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor4_3_2.err b/result/relaxng/tutor4_3_2.err new file mode 100644 index 0000000..d3eeffd --- /dev/null +++ b/result/relaxng/tutor4_3_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor4_3_2.xml validates diff --git a/result/relaxng/tutor4_3_3 b/result/relaxng/tutor4_3_3 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor4_3_3.err b/result/relaxng/tutor4_3_3.err new file mode 100644 index 0000000..5ae9811 --- /dev/null +++ b/result/relaxng/tutor4_3_3.err @@ -0,0 +1 @@ +./test/relaxng/tutor4_3_3.xml validates diff --git a/result/relaxng/tutor4_3_4 b/result/relaxng/tutor4_3_4 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor4_3_4.err b/result/relaxng/tutor4_3_4.err new file mode 100644 index 0000000..e550043 --- /dev/null +++ b/result/relaxng/tutor4_3_4.err @@ -0,0 +1 @@ +./test/relaxng/tutor4_3_4.xml validates diff --git a/result/relaxng/tutor4_3_5 b/result/relaxng/tutor4_3_5 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor4_3_5.err b/result/relaxng/tutor4_3_5.err new file mode 100644 index 0000000..cf76480 --- /dev/null +++ b/result/relaxng/tutor4_3_5.err @@ -0,0 +1 @@ +./test/relaxng/tutor4_3_5.xml validates diff --git a/result/relaxng/tutor4_3_6 b/result/relaxng/tutor4_3_6 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor4_3_6.err b/result/relaxng/tutor4_3_6.err new file mode 100644 index 0000000..df80a81 --- /dev/null +++ b/result/relaxng/tutor4_3_6.err @@ -0,0 +1 @@ +./test/relaxng/tutor4_3_6.xml validates diff --git a/result/relaxng/tutor4_3_err b/result/relaxng/tutor4_3_err new file mode 100644 index 0000000..74eb8b2 --- /dev/null +++ b/result/relaxng/tutor4_3_err @@ -0,0 +1 @@ +./test/relaxng/tutor4_3.rng validates diff --git a/result/relaxng/tutor4_3_valid b/result/relaxng/tutor4_3_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor4_4_1 b/result/relaxng/tutor4_4_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor4_4_1.err b/result/relaxng/tutor4_4_1.err new file mode 100644 index 0000000..595bd6e --- /dev/null +++ b/result/relaxng/tutor4_4_1.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor4_4.rng:25: element ref: Relax-NG parser error : Detected a cycle in inline references +Relax-NG schema ./test/relaxng/tutor4_4.rng failed to compile diff --git a/result/relaxng/tutor4_4_err b/result/relaxng/tutor4_4_err new file mode 100644 index 0000000..641ee87 --- /dev/null +++ b/result/relaxng/tutor4_4_err @@ -0,0 +1 @@ +./test/relaxng/tutor4_4.rng validates diff --git a/result/relaxng/tutor4_4_valid b/result/relaxng/tutor4_4_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor5_1_1 b/result/relaxng/tutor5_1_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor5_1_1.err b/result/relaxng/tutor5_1_1.err new file mode 100644 index 0000000..e6c2842 --- /dev/null +++ b/result/relaxng/tutor5_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor5_1_1.xml validates diff --git a/result/relaxng/tutor5_1_err b/result/relaxng/tutor5_1_err new file mode 100644 index 0000000..586fd98 --- /dev/null +++ b/result/relaxng/tutor5_1_err @@ -0,0 +1 @@ +./test/relaxng/tutor5_1.rng validates diff --git a/result/relaxng/tutor5_1_valid b/result/relaxng/tutor5_1_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor5_2_1 b/result/relaxng/tutor5_2_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor5_2_1.err b/result/relaxng/tutor5_2_1.err new file mode 100644 index 0000000..a64df3b --- /dev/null +++ b/result/relaxng/tutor5_2_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor5_2_1.xml validates diff --git a/result/relaxng/tutor5_2_err b/result/relaxng/tutor5_2_err new file mode 100644 index 0000000..de8f423 --- /dev/null +++ b/result/relaxng/tutor5_2_err @@ -0,0 +1 @@ +./test/relaxng/tutor5_2.rng validates diff --git a/result/relaxng/tutor5_2_valid b/result/relaxng/tutor5_2_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor5_3_1 b/result/relaxng/tutor5_3_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor5_3_1.err b/result/relaxng/tutor5_3_1.err new file mode 100644 index 0000000..72f4379 --- /dev/null +++ b/result/relaxng/tutor5_3_1.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor5_3.rng:1: element element: Relax-NG parser error : Element bad has a content type error +Relax-NG schema ./test/relaxng/tutor5_3.rng failed to compile diff --git a/result/relaxng/tutor5_3_err b/result/relaxng/tutor5_3_err new file mode 100644 index 0000000..f00a543 --- /dev/null +++ b/result/relaxng/tutor5_3_err @@ -0,0 +1 @@ +./test/relaxng/tutor5_3.rng validates diff --git a/result/relaxng/tutor5_3_valid b/result/relaxng/tutor5_3_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor5_4_1 b/result/relaxng/tutor5_4_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor5_4_1.err b/result/relaxng/tutor5_4_1.err new file mode 100644 index 0000000..13ac9bc --- /dev/null +++ b/result/relaxng/tutor5_4_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor5_4_1.xml validates diff --git a/result/relaxng/tutor5_4_err b/result/relaxng/tutor5_4_err new file mode 100644 index 0000000..669b41d --- /dev/null +++ b/result/relaxng/tutor5_4_err @@ -0,0 +1 @@ +./test/relaxng/tutor5_4.rng validates diff --git a/result/relaxng/tutor5_4_valid b/result/relaxng/tutor5_4_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor5_5_err b/result/relaxng/tutor5_5_err new file mode 100644 index 0000000..4f9f0f5 --- /dev/null +++ b/result/relaxng/tutor5_5_err @@ -0,0 +1 @@ +./test/relaxng/tutor5_5.rng validates diff --git a/result/relaxng/tutor5_5_valid b/result/relaxng/tutor5_5_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor6_1_1 b/result/relaxng/tutor6_1_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor6_1_1.err b/result/relaxng/tutor6_1_1.err new file mode 100644 index 0000000..3c44662 --- /dev/null +++ b/result/relaxng/tutor6_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor6_1_1.xml validates diff --git a/result/relaxng/tutor6_1_2 b/result/relaxng/tutor6_1_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor6_1_2.err b/result/relaxng/tutor6_1_2.err new file mode 100644 index 0000000..6c70fed --- /dev/null +++ b/result/relaxng/tutor6_1_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor6_1_2.xml validates diff --git a/result/relaxng/tutor6_1_3 b/result/relaxng/tutor6_1_3 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor6_1_3.err b/result/relaxng/tutor6_1_3.err new file mode 100644 index 0000000..f0f6e7f --- /dev/null +++ b/result/relaxng/tutor6_1_3.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor6_1_3.xml:1: element card: Relax-NG validity error : Element card failed to validate attributes +./test/relaxng/tutor6_1_3.xml fails to validate diff --git a/result/relaxng/tutor6_1_4 b/result/relaxng/tutor6_1_4 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor6_1_4.err b/result/relaxng/tutor6_1_4.err new file mode 100644 index 0000000..d9b2291 --- /dev/null +++ b/result/relaxng/tutor6_1_4.err @@ -0,0 +1 @@ +./test/relaxng/tutor6_1_4.xml validates diff --git a/result/relaxng/tutor6_1_5 b/result/relaxng/tutor6_1_5 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor6_1_5.err b/result/relaxng/tutor6_1_5.err new file mode 100644 index 0000000..f601d7e --- /dev/null +++ b/result/relaxng/tutor6_1_5.err @@ -0,0 +1 @@ +./test/relaxng/tutor6_1_5.xml validates diff --git a/result/relaxng/tutor6_1_err b/result/relaxng/tutor6_1_err new file mode 100644 index 0000000..7440829 --- /dev/null +++ b/result/relaxng/tutor6_1_err @@ -0,0 +1 @@ +./test/relaxng/tutor6_1.rng validates diff --git a/result/relaxng/tutor6_1_valid b/result/relaxng/tutor6_1_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor6_2_1 b/result/relaxng/tutor6_2_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor6_2_1.err b/result/relaxng/tutor6_2_1.err new file mode 100644 index 0000000..d07807b --- /dev/null +++ b/result/relaxng/tutor6_2_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor6_2_1.xml validates diff --git a/result/relaxng/tutor6_2_2 b/result/relaxng/tutor6_2_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor6_2_2.err b/result/relaxng/tutor6_2_2.err new file mode 100644 index 0000000..df10075 --- /dev/null +++ b/result/relaxng/tutor6_2_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor6_2_2.xml validates diff --git a/result/relaxng/tutor6_2_3 b/result/relaxng/tutor6_2_3 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor6_2_3.err b/result/relaxng/tutor6_2_3.err new file mode 100644 index 0000000..17602d3 --- /dev/null +++ b/result/relaxng/tutor6_2_3.err @@ -0,0 +1 @@ +./test/relaxng/tutor6_2_3.xml validates diff --git a/result/relaxng/tutor6_2_4 b/result/relaxng/tutor6_2_4 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor6_2_4.err b/result/relaxng/tutor6_2_4.err new file mode 100644 index 0000000..b28ac23 --- /dev/null +++ b/result/relaxng/tutor6_2_4.err @@ -0,0 +1,3 @@ +./test/relaxng/tutor6_2_4.xml:4: element preferredFormat: Relax-NG validity error : Error validating value +./test/relaxng/tutor6_2_4.xml:4: element preferredFormat: Relax-NG validity error : Element preferredFormat failed to validate content +./test/relaxng/tutor6_2_4.xml fails to validate diff --git a/result/relaxng/tutor6_2_err b/result/relaxng/tutor6_2_err new file mode 100644 index 0000000..ba78ec9 --- /dev/null +++ b/result/relaxng/tutor6_2_err @@ -0,0 +1 @@ +./test/relaxng/tutor6_2.rng validates diff --git a/result/relaxng/tutor6_2_valid b/result/relaxng/tutor6_2_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor6_3_1 b/result/relaxng/tutor6_3_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor6_3_1.err b/result/relaxng/tutor6_3_1.err new file mode 100644 index 0000000..91f721a --- /dev/null +++ b/result/relaxng/tutor6_3_1.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor6_3_1.xml:1: element card: Relax-NG validity error : Element card failed to validate attributes +./test/relaxng/tutor6_3_1.xml fails to validate diff --git a/result/relaxng/tutor6_3_err b/result/relaxng/tutor6_3_err new file mode 100644 index 0000000..35dbe51 --- /dev/null +++ b/result/relaxng/tutor6_3_err @@ -0,0 +1 @@ +./test/relaxng/tutor6_3.rng validates diff --git a/result/relaxng/tutor6_3_valid b/result/relaxng/tutor6_3_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor7_1_1 b/result/relaxng/tutor7_1_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor7_1_1.err b/result/relaxng/tutor7_1_1.err new file mode 100644 index 0000000..6cae548 --- /dev/null +++ b/result/relaxng/tutor7_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor7_1_1.xml validates diff --git a/result/relaxng/tutor7_1_2 b/result/relaxng/tutor7_1_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor7_1_2.err b/result/relaxng/tutor7_1_2.err new file mode 100644 index 0000000..395f407 --- /dev/null +++ b/result/relaxng/tutor7_1_2.err @@ -0,0 +1,4 @@ +./test/relaxng/tutor7_1_2.xml:1: element vector: Relax-NG validity error : failed to validate type float +./test/relaxng/tutor7_1_2.xml:1: element vector: Relax-NG validity error : Error validating list +./test/relaxng/tutor7_1_2.xml:1: element vector: Relax-NG validity error : Element vector failed to validate content +./test/relaxng/tutor7_1_2.xml fails to validate diff --git a/result/relaxng/tutor7_1_3 b/result/relaxng/tutor7_1_3 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor7_1_3.err b/result/relaxng/tutor7_1_3.err new file mode 100644 index 0000000..90fb8f9 --- /dev/null +++ b/result/relaxng/tutor7_1_3.err @@ -0,0 +1,4 @@ +./test/relaxng/tutor7_1_3.xml:1: element vector: Relax-NG validity error : Extra data in list: 5.6 +./test/relaxng/tutor7_1_3.xml:1: element vector: Relax-NG validity error : Error validating list +./test/relaxng/tutor7_1_3.xml:1: element vector: Relax-NG validity error : Element vector failed to validate content +./test/relaxng/tutor7_1_3.xml fails to validate diff --git a/result/relaxng/tutor7_1_4 b/result/relaxng/tutor7_1_4 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor7_1_4.err b/result/relaxng/tutor7_1_4.err new file mode 100644 index 0000000..81b9f58 --- /dev/null +++ b/result/relaxng/tutor7_1_4.err @@ -0,0 +1 @@ +./test/relaxng/tutor7_1_4.xml validates diff --git a/result/relaxng/tutor7_1_err b/result/relaxng/tutor7_1_err new file mode 100644 index 0000000..03d273f --- /dev/null +++ b/result/relaxng/tutor7_1_err @@ -0,0 +1 @@ +./test/relaxng/tutor7_1.rng validates diff --git a/result/relaxng/tutor7_1_valid b/result/relaxng/tutor7_1_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor7_2_1 b/result/relaxng/tutor7_2_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor7_2_1.err b/result/relaxng/tutor7_2_1.err new file mode 100644 index 0000000..8673462 --- /dev/null +++ b/result/relaxng/tutor7_2_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor7_2_1.xml validates diff --git a/result/relaxng/tutor7_2_2 b/result/relaxng/tutor7_2_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor7_2_2.err b/result/relaxng/tutor7_2_2.err new file mode 100644 index 0000000..d03cb32 --- /dev/null +++ b/result/relaxng/tutor7_2_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor7_2_2.xml validates diff --git a/result/relaxng/tutor7_2_3 b/result/relaxng/tutor7_2_3 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor7_2_3.err b/result/relaxng/tutor7_2_3.err new file mode 100644 index 0000000..baf1190 --- /dev/null +++ b/result/relaxng/tutor7_2_3.err @@ -0,0 +1 @@ +./test/relaxng/tutor7_2_3.xml validates diff --git a/result/relaxng/tutor7_2_4 b/result/relaxng/tutor7_2_4 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor7_2_4.err b/result/relaxng/tutor7_2_4.err new file mode 100644 index 0000000..b1c22a8 --- /dev/null +++ b/result/relaxng/tutor7_2_4.err @@ -0,0 +1,4 @@ +./test/relaxng/tutor7_2_4.xml:1: element vector: Relax-NG validity error : failed to validate type double +./test/relaxng/tutor7_2_4.xml:1: element vector: Relax-NG validity error : Error validating list +./test/relaxng/tutor7_2_4.xml:1: element vector: Relax-NG validity error : Element vector failed to validate content +./test/relaxng/tutor7_2_4.xml fails to validate diff --git a/result/relaxng/tutor7_2_err b/result/relaxng/tutor7_2_err new file mode 100644 index 0000000..cec5245 --- /dev/null +++ b/result/relaxng/tutor7_2_err @@ -0,0 +1 @@ +./test/relaxng/tutor7_2.rng validates diff --git a/result/relaxng/tutor7_2_valid b/result/relaxng/tutor7_2_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor7_3_1 b/result/relaxng/tutor7_3_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor7_3_1.err b/result/relaxng/tutor7_3_1.err new file mode 100644 index 0000000..e096b53 --- /dev/null +++ b/result/relaxng/tutor7_3_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor7_3_1.xml validates diff --git a/result/relaxng/tutor7_3_2 b/result/relaxng/tutor7_3_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor7_3_2.err b/result/relaxng/tutor7_3_2.err new file mode 100644 index 0000000..24e394d --- /dev/null +++ b/result/relaxng/tutor7_3_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor7_3_2.xml validates diff --git a/result/relaxng/tutor7_3_3 b/result/relaxng/tutor7_3_3 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor7_3_3.err b/result/relaxng/tutor7_3_3.err new file mode 100644 index 0000000..4919675 --- /dev/null +++ b/result/relaxng/tutor7_3_3.err @@ -0,0 +1 @@ +./test/relaxng/tutor7_3_3.xml validates diff --git a/result/relaxng/tutor7_3_4 b/result/relaxng/tutor7_3_4 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor7_3_4.err b/result/relaxng/tutor7_3_4.err new file mode 100644 index 0000000..70531e4 --- /dev/null +++ b/result/relaxng/tutor7_3_4.err @@ -0,0 +1,4 @@ +./test/relaxng/tutor7_3_4.xml:1: element path: Relax-NG validity error : Extra data in list: 5.6 +./test/relaxng/tutor7_3_4.xml:1: element path: Relax-NG validity error : Error validating list +./test/relaxng/tutor7_3_4.xml:1: element path: Relax-NG validity error : Element path failed to validate content +./test/relaxng/tutor7_3_4.xml fails to validate diff --git a/result/relaxng/tutor7_3_5 b/result/relaxng/tutor7_3_5 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor7_3_5.err b/result/relaxng/tutor7_3_5.err new file mode 100644 index 0000000..601a68b --- /dev/null +++ b/result/relaxng/tutor7_3_5.err @@ -0,0 +1,4 @@ +./test/relaxng/tutor7_3_5.xml:1: element path: Relax-NG validity error : failed to validate type double +./test/relaxng/tutor7_3_5.xml:1: element path: Relax-NG validity error : Error validating list +./test/relaxng/tutor7_3_5.xml:1: element path: Relax-NG validity error : Element path failed to validate content +./test/relaxng/tutor7_3_5.xml fails to validate diff --git a/result/relaxng/tutor7_3_err b/result/relaxng/tutor7_3_err new file mode 100644 index 0000000..9f1c5a3 --- /dev/null +++ b/result/relaxng/tutor7_3_err @@ -0,0 +1 @@ +./test/relaxng/tutor7_3.rng validates diff --git a/result/relaxng/tutor7_3_valid b/result/relaxng/tutor7_3_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor8_1_1 b/result/relaxng/tutor8_1_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor8_1_1.err b/result/relaxng/tutor8_1_1.err new file mode 100644 index 0000000..578c396 --- /dev/null +++ b/result/relaxng/tutor8_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor8_1_1.xml validates diff --git a/result/relaxng/tutor8_1_2 b/result/relaxng/tutor8_1_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor8_1_2.err b/result/relaxng/tutor8_1_2.err new file mode 100644 index 0000000..11c1611 --- /dev/null +++ b/result/relaxng/tutor8_1_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor8_1_2.xml validates diff --git a/result/relaxng/tutor8_1_err b/result/relaxng/tutor8_1_err new file mode 100644 index 0000000..a4f6ce5 --- /dev/null +++ b/result/relaxng/tutor8_1_err @@ -0,0 +1 @@ +./test/relaxng/tutor8_1.rng validates diff --git a/result/relaxng/tutor8_1_valid b/result/relaxng/tutor8_1_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor8_2_1 b/result/relaxng/tutor8_2_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor8_2_1.err b/result/relaxng/tutor8_2_1.err new file mode 100644 index 0000000..4c6b3d4 --- /dev/null +++ b/result/relaxng/tutor8_2_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor8_2_1.xml validates diff --git a/result/relaxng/tutor8_2_2 b/result/relaxng/tutor8_2_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor8_2_2.err b/result/relaxng/tutor8_2_2.err new file mode 100644 index 0000000..7f959b9 --- /dev/null +++ b/result/relaxng/tutor8_2_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor8_2_2.xml validates diff --git a/result/relaxng/tutor8_2_3 b/result/relaxng/tutor8_2_3 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor8_2_3.err b/result/relaxng/tutor8_2_3.err new file mode 100644 index 0000000..21abe93 --- /dev/null +++ b/result/relaxng/tutor8_2_3.err @@ -0,0 +1 @@ +./test/relaxng/tutor8_2_3.xml validates diff --git a/result/relaxng/tutor8_2_4 b/result/relaxng/tutor8_2_4 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor8_2_4.err b/result/relaxng/tutor8_2_4.err new file mode 100644 index 0000000..40a08b4 --- /dev/null +++ b/result/relaxng/tutor8_2_4.err @@ -0,0 +1,3 @@ +Relax-NG validity error : Extra element title in interleave +./test/relaxng/tutor8_2_4.xml:5: element title: Relax-NG validity error : Element head failed to validate content +./test/relaxng/tutor8_2_4.xml fails to validate diff --git a/result/relaxng/tutor8_2_5 b/result/relaxng/tutor8_2_5 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor8_2_5.err b/result/relaxng/tutor8_2_5.err new file mode 100644 index 0000000..c215d76 --- /dev/null +++ b/result/relaxng/tutor8_2_5.err @@ -0,0 +1,4 @@ +./test/relaxng/tutor8_2_5.xml:1: element head: Relax-NG validity error : Expecting an element title, got nothing +./test/relaxng/tutor8_2_5.xml:1: element head: Relax-NG validity error : Invalid sequence in interleave +./test/relaxng/tutor8_2_5.xml:1: element head: Relax-NG validity error : Element head failed to validate content +./test/relaxng/tutor8_2_5.xml fails to validate diff --git a/result/relaxng/tutor8_2_6 b/result/relaxng/tutor8_2_6 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor8_2_6.err b/result/relaxng/tutor8_2_6.err new file mode 100644 index 0000000..b959768 --- /dev/null +++ b/result/relaxng/tutor8_2_6.err @@ -0,0 +1,3 @@ +Relax-NG validity error : Extra element base in interleave +./test/relaxng/tutor8_2_6.xml:4: element base: Relax-NG validity error : Element head failed to validate content +./test/relaxng/tutor8_2_6.xml fails to validate diff --git a/result/relaxng/tutor8_2_err b/result/relaxng/tutor8_2_err new file mode 100644 index 0000000..fa3dcb2 --- /dev/null +++ b/result/relaxng/tutor8_2_err @@ -0,0 +1 @@ +./test/relaxng/tutor8_2.rng validates diff --git a/result/relaxng/tutor8_2_valid b/result/relaxng/tutor8_2_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor8_3_1 b/result/relaxng/tutor8_3_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor8_3_1.err b/result/relaxng/tutor8_3_1.err new file mode 100644 index 0000000..9b637eb --- /dev/null +++ b/result/relaxng/tutor8_3_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor8_3_1.xml validates diff --git a/result/relaxng/tutor8_3_err b/result/relaxng/tutor8_3_err new file mode 100644 index 0000000..01c6184 --- /dev/null +++ b/result/relaxng/tutor8_3_err @@ -0,0 +1 @@ +./test/relaxng/tutor8_3.rng validates diff --git a/result/relaxng/tutor8_3_valid b/result/relaxng/tutor8_3_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_10_1 b/result/relaxng/tutor9_10_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_10_1.err b/result/relaxng/tutor9_10_1.err new file mode 100644 index 0000000..7c6117f --- /dev/null +++ b/result/relaxng/tutor9_10_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_10_1.xml validates diff --git a/result/relaxng/tutor9_10_err b/result/relaxng/tutor9_10_err new file mode 100644 index 0000000..a8a7cb6 --- /dev/null +++ b/result/relaxng/tutor9_10_err @@ -0,0 +1 @@ +./test/relaxng/tutor9_10.rng validates diff --git a/result/relaxng/tutor9_10_valid b/result/relaxng/tutor9_10_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_11_1 b/result/relaxng/tutor9_11_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_11_1.err b/result/relaxng/tutor9_11_1.err new file mode 100644 index 0000000..02a1f2a --- /dev/null +++ b/result/relaxng/tutor9_11_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_11_1.xml validates diff --git a/result/relaxng/tutor9_11_err b/result/relaxng/tutor9_11_err new file mode 100644 index 0000000..edd98bf --- /dev/null +++ b/result/relaxng/tutor9_11_err @@ -0,0 +1 @@ +./test/relaxng/tutor9_11.rng validates diff --git a/result/relaxng/tutor9_11_valid b/result/relaxng/tutor9_11_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_12_1 b/result/relaxng/tutor9_12_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_12_1.err b/result/relaxng/tutor9_12_1.err new file mode 100644 index 0000000..08f2a8a --- /dev/null +++ b/result/relaxng/tutor9_12_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_12_1.xml validates diff --git a/result/relaxng/tutor9_12_err b/result/relaxng/tutor9_12_err new file mode 100644 index 0000000..8881730 --- /dev/null +++ b/result/relaxng/tutor9_12_err @@ -0,0 +1 @@ +./test/relaxng/tutor9_12.rng validates diff --git a/result/relaxng/tutor9_12_valid b/result/relaxng/tutor9_12_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_1_1 b/result/relaxng/tutor9_1_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_1_1.err b/result/relaxng/tutor9_1_1.err new file mode 100644 index 0000000..42d03d1 --- /dev/null +++ b/result/relaxng/tutor9_1_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_1_1.xml validates diff --git a/result/relaxng/tutor9_1_err b/result/relaxng/tutor9_1_err new file mode 100644 index 0000000..22c5f37 --- /dev/null +++ b/result/relaxng/tutor9_1_err @@ -0,0 +1 @@ +./test/relaxng/tutor9_1.rng validates diff --git a/result/relaxng/tutor9_1_valid b/result/relaxng/tutor9_1_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_2_1 b/result/relaxng/tutor9_2_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_2_1.err b/result/relaxng/tutor9_2_1.err new file mode 100644 index 0000000..fc174ff --- /dev/null +++ b/result/relaxng/tutor9_2_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_2_1.xml validates diff --git a/result/relaxng/tutor9_2_2 b/result/relaxng/tutor9_2_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_2_2.err b/result/relaxng/tutor9_2_2.err new file mode 100644 index 0000000..a07aa0d --- /dev/null +++ b/result/relaxng/tutor9_2_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_2_2.xml validates diff --git a/result/relaxng/tutor9_2_err b/result/relaxng/tutor9_2_err new file mode 100644 index 0000000..83c34ff --- /dev/null +++ b/result/relaxng/tutor9_2_err @@ -0,0 +1 @@ +./test/relaxng/tutor9_2.rng validates diff --git a/result/relaxng/tutor9_2_valid b/result/relaxng/tutor9_2_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_3_1 b/result/relaxng/tutor9_3_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_3_1.err b/result/relaxng/tutor9_3_1.err new file mode 100644 index 0000000..80ac24c --- /dev/null +++ b/result/relaxng/tutor9_3_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_3_1.xml validates diff --git a/result/relaxng/tutor9_3_2 b/result/relaxng/tutor9_3_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_3_2.err b/result/relaxng/tutor9_3_2.err new file mode 100644 index 0000000..a361c93 --- /dev/null +++ b/result/relaxng/tutor9_3_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_3_2.xml validates diff --git a/result/relaxng/tutor9_3_err b/result/relaxng/tutor9_3_err new file mode 100644 index 0000000..0a82f8e --- /dev/null +++ b/result/relaxng/tutor9_3_err @@ -0,0 +1 @@ +./test/relaxng/tutor9_3.rng validates diff --git a/result/relaxng/tutor9_3_valid b/result/relaxng/tutor9_3_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_4_1 b/result/relaxng/tutor9_4_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_4_1.err b/result/relaxng/tutor9_4_1.err new file mode 100644 index 0000000..514eb98 --- /dev/null +++ b/result/relaxng/tutor9_4_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_4_1.xml validates diff --git a/result/relaxng/tutor9_4_2 b/result/relaxng/tutor9_4_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_4_2.err b/result/relaxng/tutor9_4_2.err new file mode 100644 index 0000000..ba780dc --- /dev/null +++ b/result/relaxng/tutor9_4_2.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_4_2.xml validates diff --git a/result/relaxng/tutor9_4_err b/result/relaxng/tutor9_4_err new file mode 100644 index 0000000..42d087f --- /dev/null +++ b/result/relaxng/tutor9_4_err @@ -0,0 +1 @@ +./test/relaxng/tutor9_4.rng validates diff --git a/result/relaxng/tutor9_4_valid b/result/relaxng/tutor9_4_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_5_1 b/result/relaxng/tutor9_5_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_5_1.err b/result/relaxng/tutor9_5_1.err new file mode 100644 index 0000000..54f5d6a --- /dev/null +++ b/result/relaxng/tutor9_5_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_5_1.xml validates diff --git a/result/relaxng/tutor9_5_2 b/result/relaxng/tutor9_5_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_5_2.err b/result/relaxng/tutor9_5_2.err new file mode 100644 index 0000000..1384617 --- /dev/null +++ b/result/relaxng/tutor9_5_2.err @@ -0,0 +1,3 @@ +./test/relaxng/tutor9_5_2.xml:2: element card: Relax-NG validity error : Invalid sequence in interleave +./test/relaxng/tutor9_5_2.xml:2: element card: Relax-NG validity error : Element card failed to validate attributes +./test/relaxng/tutor9_5_2.xml fails to validate diff --git a/result/relaxng/tutor9_5_3 b/result/relaxng/tutor9_5_3 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_5_3.err b/result/relaxng/tutor9_5_3.err new file mode 100644 index 0000000..db5d0ae --- /dev/null +++ b/result/relaxng/tutor9_5_3.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor9_5_3.xml:2: element card: Relax-NG validity error : Invalid attribute error for element card +./test/relaxng/tutor9_5_3.xml fails to validate diff --git a/result/relaxng/tutor9_5_err b/result/relaxng/tutor9_5_err new file mode 100644 index 0000000..e6ddd7a --- /dev/null +++ b/result/relaxng/tutor9_5_err @@ -0,0 +1 @@ +./test/relaxng/tutor9_5.rng validates diff --git a/result/relaxng/tutor9_5_valid b/result/relaxng/tutor9_5_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_6.rng b/result/relaxng/tutor9_6.rng new file mode 100644 index 0000000..17e6492 --- /dev/null +++ b/result/relaxng/tutor9_6.rng @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/result/relaxng/tutor9_6_1 b/result/relaxng/tutor9_6_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_6_1.err b/result/relaxng/tutor9_6_1.err new file mode 100644 index 0000000..15724e5 --- /dev/null +++ b/result/relaxng/tutor9_6_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_6_1.xml validates diff --git a/result/relaxng/tutor9_6_2 b/result/relaxng/tutor9_6_2 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_6_2.err b/result/relaxng/tutor9_6_2.err new file mode 100644 index 0000000..f7ec97f --- /dev/null +++ b/result/relaxng/tutor9_6_2.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor9_6_2.xml:2: element card: Relax-NG validity error : Element card failed to validate attributes +./test/relaxng/tutor9_6_2.xml fails to validate diff --git a/result/relaxng/tutor9_6_3 b/result/relaxng/tutor9_6_3 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_6_3.err b/result/relaxng/tutor9_6_3.err new file mode 100644 index 0000000..5fe5f57 --- /dev/null +++ b/result/relaxng/tutor9_6_3.err @@ -0,0 +1,2 @@ +./test/relaxng/tutor9_6_3.xml:2: element card: Relax-NG validity error : Invalid attribute error for element card +./test/relaxng/tutor9_6_3.xml fails to validate diff --git a/result/relaxng/tutor9_6_err b/result/relaxng/tutor9_6_err new file mode 100644 index 0000000..897a092 --- /dev/null +++ b/result/relaxng/tutor9_6_err @@ -0,0 +1 @@ +./test/relaxng/tutor9_6.rng validates diff --git a/result/relaxng/tutor9_6_valid b/result/relaxng/tutor9_6_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_7_1 b/result/relaxng/tutor9_7_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_7_1.err b/result/relaxng/tutor9_7_1.err new file mode 100644 index 0000000..00d1502 --- /dev/null +++ b/result/relaxng/tutor9_7_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_7_1.xml validates diff --git a/result/relaxng/tutor9_7_err b/result/relaxng/tutor9_7_err new file mode 100644 index 0000000..e171320 --- /dev/null +++ b/result/relaxng/tutor9_7_err @@ -0,0 +1 @@ +./test/relaxng/tutor9_7.rng validates diff --git a/result/relaxng/tutor9_7_valid b/result/relaxng/tutor9_7_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_8_1 b/result/relaxng/tutor9_8_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_8_1.err b/result/relaxng/tutor9_8_1.err new file mode 100644 index 0000000..1849f8b --- /dev/null +++ b/result/relaxng/tutor9_8_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_8_1.xml validates diff --git a/result/relaxng/tutor9_8_err b/result/relaxng/tutor9_8_err new file mode 100644 index 0000000..41a926c --- /dev/null +++ b/result/relaxng/tutor9_8_err @@ -0,0 +1 @@ +./test/relaxng/tutor9_8.rng validates diff --git a/result/relaxng/tutor9_8_valid b/result/relaxng/tutor9_8_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_9_1 b/result/relaxng/tutor9_9_1 new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutor9_9_1.err b/result/relaxng/tutor9_9_1.err new file mode 100644 index 0000000..d88f01a --- /dev/null +++ b/result/relaxng/tutor9_9_1.err @@ -0,0 +1 @@ +./test/relaxng/tutor9_9_1.xml validates diff --git a/result/relaxng/tutor9_9_err b/result/relaxng/tutor9_9_err new file mode 100644 index 0000000..c4a95fd --- /dev/null +++ b/result/relaxng/tutor9_9_err @@ -0,0 +1 @@ +./test/relaxng/tutor9_9.rng validates diff --git a/result/relaxng/tutor9_9_valid b/result/relaxng/tutor9_9_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/relaxng/tutorA_err b/result/relaxng/tutorA_err new file mode 100644 index 0000000..b4ab892 --- /dev/null +++ b/result/relaxng/tutorA_err @@ -0,0 +1 @@ +./test/relaxng/tutorA.rng validates diff --git a/result/relaxng/tutorA_valid b/result/relaxng/tutorA_valid new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/570702_0_0 b/result/schemas/570702_0_0 new file mode 100644 index 0000000..41716e7 --- /dev/null +++ b/result/schemas/570702_0_0 @@ -0,0 +1 @@ +./test/schemas/570702_0.xml validates diff --git a/result/schemas/570702_0_0.err b/result/schemas/570702_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/579746_0_0 b/result/schemas/579746_0_0 new file mode 100644 index 0000000..c9a24f2 --- /dev/null +++ b/result/schemas/579746_0_0 @@ -0,0 +1 @@ +./test/schemas/579746_0.xml validates diff --git a/result/schemas/579746_0_0.err b/result/schemas/579746_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/579746_0_1 b/result/schemas/579746_0_1 new file mode 100644 index 0000000..8e3d39a --- /dev/null +++ b/result/schemas/579746_0_1 @@ -0,0 +1 @@ +./test/schemas/579746_1.xml validates diff --git a/result/schemas/579746_0_1.err b/result/schemas/579746_0_1.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/579746_0_2 b/result/schemas/579746_0_2 new file mode 100644 index 0000000..a11eaf1 --- /dev/null +++ b/result/schemas/579746_0_2 @@ -0,0 +1 @@ +./test/schemas/579746_2.xml validates diff --git a/result/schemas/579746_0_2.err b/result/schemas/579746_0_2.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/579746_0_3 b/result/schemas/579746_0_3 new file mode 100644 index 0000000..cf06bc5 --- /dev/null +++ b/result/schemas/579746_0_3 @@ -0,0 +1 @@ +./test/schemas/579746_3.xml fails to validate diff --git a/result/schemas/579746_0_3.err b/result/schemas/579746_0_3.err new file mode 100644 index 0000000..5e4c25e --- /dev/null +++ b/result/schemas/579746_0_3.err @@ -0,0 +1 @@ +./test/schemas/579746_3.xml:5: element customer: Schemas validity error : Element 'customer': This element is not expected. diff --git a/result/schemas/579746_0_4 b/result/schemas/579746_0_4 new file mode 100644 index 0000000..4763001 --- /dev/null +++ b/result/schemas/579746_0_4 @@ -0,0 +1 @@ +./test/schemas/579746_4.xml validates diff --git a/result/schemas/579746_0_4.err b/result/schemas/579746_0_4.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/579746_0_5 b/result/schemas/579746_0_5 new file mode 100644 index 0000000..91738e4 --- /dev/null +++ b/result/schemas/579746_0_5 @@ -0,0 +1 @@ +./test/schemas/579746_5.xml fails to validate diff --git a/result/schemas/579746_0_5.err b/result/schemas/579746_0_5.err new file mode 100644 index 0000000..1e5680d --- /dev/null +++ b/result/schemas/579746_0_5.err @@ -0,0 +1 @@ +./test/schemas/579746_5.xml:5: element comment: Schemas validity error : Element 'comment': This element is not expected. diff --git a/result/schemas/579746_1_0 b/result/schemas/579746_1_0 new file mode 100644 index 0000000..c9a24f2 --- /dev/null +++ b/result/schemas/579746_1_0 @@ -0,0 +1 @@ +./test/schemas/579746_0.xml validates diff --git a/result/schemas/579746_1_0.err b/result/schemas/579746_1_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/579746_1_1 b/result/schemas/579746_1_1 new file mode 100644 index 0000000..8e3d39a --- /dev/null +++ b/result/schemas/579746_1_1 @@ -0,0 +1 @@ +./test/schemas/579746_1.xml validates diff --git a/result/schemas/579746_1_1.err b/result/schemas/579746_1_1.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/579746_1_2 b/result/schemas/579746_1_2 new file mode 100644 index 0000000..a11eaf1 --- /dev/null +++ b/result/schemas/579746_1_2 @@ -0,0 +1 @@ +./test/schemas/579746_2.xml validates diff --git a/result/schemas/579746_1_2.err b/result/schemas/579746_1_2.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/579746_1_3 b/result/schemas/579746_1_3 new file mode 100644 index 0000000..cf06bc5 --- /dev/null +++ b/result/schemas/579746_1_3 @@ -0,0 +1 @@ +./test/schemas/579746_3.xml fails to validate diff --git a/result/schemas/579746_1_3.err b/result/schemas/579746_1_3.err new file mode 100644 index 0000000..5e4c25e --- /dev/null +++ b/result/schemas/579746_1_3.err @@ -0,0 +1 @@ +./test/schemas/579746_3.xml:5: element customer: Schemas validity error : Element 'customer': This element is not expected. diff --git a/result/schemas/579746_1_4 b/result/schemas/579746_1_4 new file mode 100644 index 0000000..4763001 --- /dev/null +++ b/result/schemas/579746_1_4 @@ -0,0 +1 @@ +./test/schemas/579746_4.xml validates diff --git a/result/schemas/579746_1_4.err b/result/schemas/579746_1_4.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/579746_1_5 b/result/schemas/579746_1_5 new file mode 100644 index 0000000..91738e4 --- /dev/null +++ b/result/schemas/579746_1_5 @@ -0,0 +1 @@ +./test/schemas/579746_5.xml fails to validate diff --git a/result/schemas/579746_1_5.err b/result/schemas/579746_1_5.err new file mode 100644 index 0000000..1e5680d --- /dev/null +++ b/result/schemas/579746_1_5.err @@ -0,0 +1 @@ +./test/schemas/579746_5.xml:5: element comment: Schemas validity error : Element 'comment': This element is not expected. diff --git a/result/schemas/582887_0_0 b/result/schemas/582887_0_0 new file mode 100644 index 0000000..4ae8482 --- /dev/null +++ b/result/schemas/582887_0_0 @@ -0,0 +1 @@ +./test/schemas/582887_0.xml validates diff --git a/result/schemas/582887_0_0.err b/result/schemas/582887_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/582906-1_0_0 b/result/schemas/582906-1_0_0 new file mode 100644 index 0000000..e1abbf5 --- /dev/null +++ b/result/schemas/582906-1_0_0 @@ -0,0 +1 @@ +./test/schemas/582906-1_0.xml validates diff --git a/result/schemas/582906-1_0_0.err b/result/schemas/582906-1_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/582906-2_0_0 b/result/schemas/582906-2_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/582906-2_0_0.err b/result/schemas/582906-2_0_0.err new file mode 100644 index 0000000..c1f8204 --- /dev/null +++ b/result/schemas/582906-2_0_0.err @@ -0,0 +1 @@ +test/schemas/582906-2-prog1.xsd:9: element include: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}include': The target namespace 'http://example.com/xml/Prog3' of the included/redefined schema 'test/schemas/582906-2-common.xsd' differs from 'http://example.com/xml/Prog1' of the including/redefining schema. diff --git a/result/schemas/all1_0_0 b/result/schemas/all1_0_0 new file mode 100644 index 0000000..327cec7 --- /dev/null +++ b/result/schemas/all1_0_0 @@ -0,0 +1 @@ +./test/schemas/all1_0.xml validates diff --git a/result/schemas/all1_0_0.err b/result/schemas/all1_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/all_0_0 b/result/schemas/all_0_0 new file mode 100644 index 0000000..08eb108 --- /dev/null +++ b/result/schemas/all_0_0 @@ -0,0 +1 @@ +./test/schemas/all_0.xml validates diff --git a/result/schemas/all_0_0.err b/result/schemas/all_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/all_0_1 b/result/schemas/all_0_1 new file mode 100644 index 0000000..eaf4a1a --- /dev/null +++ b/result/schemas/all_0_1 @@ -0,0 +1 @@ +./test/schemas/all_1.xml validates diff --git a/result/schemas/all_0_1.err b/result/schemas/all_0_1.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/all_0_2 b/result/schemas/all_0_2 new file mode 100644 index 0000000..62af901 --- /dev/null +++ b/result/schemas/all_0_2 @@ -0,0 +1 @@ +./test/schemas/all_2.xml validates diff --git a/result/schemas/all_0_2.err b/result/schemas/all_0_2.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/all_0_3 b/result/schemas/all_0_3 new file mode 100644 index 0000000..55a2a4d --- /dev/null +++ b/result/schemas/all_0_3 @@ -0,0 +1 @@ +./test/schemas/all_3.xml fails to validate diff --git a/result/schemas/all_0_3.err b/result/schemas/all_0_3.err new file mode 100644 index 0000000..6933fb7 --- /dev/null +++ b/result/schemas/all_0_3.err @@ -0,0 +1 @@ +./test/schemas/all_3.xml:1: element doc: Schemas validity error : Element 'doc': Missing child element(s). Expected is ( c ). diff --git a/result/schemas/all_0_4 b/result/schemas/all_0_4 new file mode 100644 index 0000000..cdd8824 --- /dev/null +++ b/result/schemas/all_0_4 @@ -0,0 +1 @@ +./test/schemas/all_4.xml fails to validate diff --git a/result/schemas/all_0_4.err b/result/schemas/all_0_4.err new file mode 100644 index 0000000..f846d15 --- /dev/null +++ b/result/schemas/all_0_4.err @@ -0,0 +1 @@ +./test/schemas/all_4.xml:1: element doc: Schemas validity error : Element 'doc': Missing child element(s). Expected is one of ( a, b, c ). diff --git a/result/schemas/all_0_5 b/result/schemas/all_0_5 new file mode 100644 index 0000000..f939f65 --- /dev/null +++ b/result/schemas/all_0_5 @@ -0,0 +1 @@ +./test/schemas/all_5.xml fails to validate diff --git a/result/schemas/all_0_5.err b/result/schemas/all_0_5.err new file mode 100644 index 0000000..d8ca9a7 --- /dev/null +++ b/result/schemas/all_0_5.err @@ -0,0 +1 @@ +./test/schemas/all_5.xml:1: element a: Schemas validity error : Element 'a': This element is not expected. Expected is ( c ). diff --git a/result/schemas/all_0_6 b/result/schemas/all_0_6 new file mode 100644 index 0000000..c3705c7 --- /dev/null +++ b/result/schemas/all_0_6 @@ -0,0 +1 @@ +./test/schemas/all_6.xml fails to validate diff --git a/result/schemas/all_0_6.err b/result/schemas/all_0_6.err new file mode 100644 index 0000000..c31d91b --- /dev/null +++ b/result/schemas/all_0_6.err @@ -0,0 +1 @@ +./test/schemas/all_6.xml:1: element doc: Schemas validity error : Element 'doc': Missing child element(s). Expected is one of ( b, c ). diff --git a/result/schemas/all_0_7 b/result/schemas/all_0_7 new file mode 100644 index 0000000..d144d2d --- /dev/null +++ b/result/schemas/all_0_7 @@ -0,0 +1 @@ +./test/schemas/all_7.xml fails to validate diff --git a/result/schemas/all_0_7.err b/result/schemas/all_0_7.err new file mode 100644 index 0000000..d5c5428 --- /dev/null +++ b/result/schemas/all_0_7.err @@ -0,0 +1 @@ +./test/schemas/all_7.xml:1: element doc: Schemas validity error : Element 'doc': Missing child element(s). Expected is ( c ). diff --git a/result/schemas/all_1_0 b/result/schemas/all_1_0 new file mode 100644 index 0000000..08eb108 --- /dev/null +++ b/result/schemas/all_1_0 @@ -0,0 +1 @@ +./test/schemas/all_0.xml validates diff --git a/result/schemas/all_1_0.err b/result/schemas/all_1_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/all_1_1 b/result/schemas/all_1_1 new file mode 100644 index 0000000..eaf4a1a --- /dev/null +++ b/result/schemas/all_1_1 @@ -0,0 +1 @@ +./test/schemas/all_1.xml validates diff --git a/result/schemas/all_1_1.err b/result/schemas/all_1_1.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/all_1_2 b/result/schemas/all_1_2 new file mode 100644 index 0000000..62af901 --- /dev/null +++ b/result/schemas/all_1_2 @@ -0,0 +1 @@ +./test/schemas/all_2.xml validates diff --git a/result/schemas/all_1_2.err b/result/schemas/all_1_2.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/all_1_3 b/result/schemas/all_1_3 new file mode 100644 index 0000000..55a2a4d --- /dev/null +++ b/result/schemas/all_1_3 @@ -0,0 +1 @@ +./test/schemas/all_3.xml fails to validate diff --git a/result/schemas/all_1_3.err b/result/schemas/all_1_3.err new file mode 100644 index 0000000..6933fb7 --- /dev/null +++ b/result/schemas/all_1_3.err @@ -0,0 +1 @@ +./test/schemas/all_3.xml:1: element doc: Schemas validity error : Element 'doc': Missing child element(s). Expected is ( c ). diff --git a/result/schemas/all_1_4 b/result/schemas/all_1_4 new file mode 100644 index 0000000..2eb22ae --- /dev/null +++ b/result/schemas/all_1_4 @@ -0,0 +1 @@ +./test/schemas/all_4.xml validates diff --git a/result/schemas/all_1_4.err b/result/schemas/all_1_4.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/all_1_5 b/result/schemas/all_1_5 new file mode 100644 index 0000000..f939f65 --- /dev/null +++ b/result/schemas/all_1_5 @@ -0,0 +1 @@ +./test/schemas/all_5.xml fails to validate diff --git a/result/schemas/all_1_5.err b/result/schemas/all_1_5.err new file mode 100644 index 0000000..d8ca9a7 --- /dev/null +++ b/result/schemas/all_1_5.err @@ -0,0 +1 @@ +./test/schemas/all_5.xml:1: element a: Schemas validity error : Element 'a': This element is not expected. Expected is ( c ). diff --git a/result/schemas/all_1_6 b/result/schemas/all_1_6 new file mode 100644 index 0000000..c3705c7 --- /dev/null +++ b/result/schemas/all_1_6 @@ -0,0 +1 @@ +./test/schemas/all_6.xml fails to validate diff --git a/result/schemas/all_1_6.err b/result/schemas/all_1_6.err new file mode 100644 index 0000000..c31d91b --- /dev/null +++ b/result/schemas/all_1_6.err @@ -0,0 +1 @@ +./test/schemas/all_6.xml:1: element doc: Schemas validity error : Element 'doc': Missing child element(s). Expected is one of ( b, c ). diff --git a/result/schemas/all_1_7 b/result/schemas/all_1_7 new file mode 100644 index 0000000..d144d2d --- /dev/null +++ b/result/schemas/all_1_7 @@ -0,0 +1 @@ +./test/schemas/all_7.xml fails to validate diff --git a/result/schemas/all_1_7.err b/result/schemas/all_1_7.err new file mode 100644 index 0000000..d5c5428 --- /dev/null +++ b/result/schemas/all_1_7.err @@ -0,0 +1 @@ +./test/schemas/all_7.xml:1: element doc: Schemas validity error : Element 'doc': Missing child element(s). Expected is ( c ). diff --git a/result/schemas/all_2_0 b/result/schemas/all_2_0 new file mode 100644 index 0000000..77066e0 --- /dev/null +++ b/result/schemas/all_2_0 @@ -0,0 +1 @@ +./test/schemas/all_0.xml fails to validate diff --git a/result/schemas/all_2_0.err b/result/schemas/all_2_0.err new file mode 100644 index 0000000..6ef8590 --- /dev/null +++ b/result/schemas/all_2_0.err @@ -0,0 +1 @@ +./test/schemas/all_0.xml:1: element c: Schemas validity error : Element 'c': This element is not expected. diff --git a/result/schemas/all_2_1 b/result/schemas/all_2_1 new file mode 100644 index 0000000..cbda1fe --- /dev/null +++ b/result/schemas/all_2_1 @@ -0,0 +1 @@ +./test/schemas/all_1.xml fails to validate diff --git a/result/schemas/all_2_1.err b/result/schemas/all_2_1.err new file mode 100644 index 0000000..fd8cb48 --- /dev/null +++ b/result/schemas/all_2_1.err @@ -0,0 +1 @@ +./test/schemas/all_1.xml:1: element c: Schemas validity error : Element 'c': This element is not expected. Expected is ( a ). diff --git a/result/schemas/all_2_2 b/result/schemas/all_2_2 new file mode 100644 index 0000000..27db643 --- /dev/null +++ b/result/schemas/all_2_2 @@ -0,0 +1 @@ +./test/schemas/all_2.xml fails to validate diff --git a/result/schemas/all_2_2.err b/result/schemas/all_2_2.err new file mode 100644 index 0000000..1f04462 --- /dev/null +++ b/result/schemas/all_2_2.err @@ -0,0 +1 @@ +./test/schemas/all_2.xml:1: element c: Schemas validity error : Element 'c': This element is not expected. diff --git a/result/schemas/all_2_3 b/result/schemas/all_2_3 new file mode 100644 index 0000000..8186e82 --- /dev/null +++ b/result/schemas/all_2_3 @@ -0,0 +1 @@ +./test/schemas/all_3.xml validates diff --git a/result/schemas/all_2_3.err b/result/schemas/all_2_3.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/all_2_4 b/result/schemas/all_2_4 new file mode 100644 index 0000000..cdd8824 --- /dev/null +++ b/result/schemas/all_2_4 @@ -0,0 +1 @@ +./test/schemas/all_4.xml fails to validate diff --git a/result/schemas/all_2_4.err b/result/schemas/all_2_4.err new file mode 100644 index 0000000..31dcf12 --- /dev/null +++ b/result/schemas/all_2_4.err @@ -0,0 +1 @@ +./test/schemas/all_4.xml:1: element doc: Schemas validity error : Element 'doc': Missing child element(s). Expected is one of ( a, b ). diff --git a/result/schemas/all_2_5 b/result/schemas/all_2_5 new file mode 100644 index 0000000..f939f65 --- /dev/null +++ b/result/schemas/all_2_5 @@ -0,0 +1 @@ +./test/schemas/all_5.xml fails to validate diff --git a/result/schemas/all_2_5.err b/result/schemas/all_2_5.err new file mode 100644 index 0000000..e859ebd --- /dev/null +++ b/result/schemas/all_2_5.err @@ -0,0 +1 @@ +./test/schemas/all_5.xml:1: element a: Schemas validity error : Element 'a': This element is not expected. diff --git a/result/schemas/all_2_6 b/result/schemas/all_2_6 new file mode 100644 index 0000000..d4a9594 --- /dev/null +++ b/result/schemas/all_2_6 @@ -0,0 +1 @@ +./test/schemas/all_6.xml validates diff --git a/result/schemas/all_2_6.err b/result/schemas/all_2_6.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/all_2_7 b/result/schemas/all_2_7 new file mode 100644 index 0000000..6ad4fc6 --- /dev/null +++ b/result/schemas/all_2_7 @@ -0,0 +1 @@ +./test/schemas/all_7.xml validates diff --git a/result/schemas/all_2_7.err b/result/schemas/all_2_7.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/allsg_0_0 b/result/schemas/allsg_0_0 new file mode 100644 index 0000000..a078f05 --- /dev/null +++ b/result/schemas/allsg_0_0 @@ -0,0 +1 @@ +./test/schemas/allsg_0.xml validates diff --git a/result/schemas/allsg_0_0.err b/result/schemas/allsg_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/allsg_0_1 b/result/schemas/allsg_0_1 new file mode 100644 index 0000000..ab3cf58 --- /dev/null +++ b/result/schemas/allsg_0_1 @@ -0,0 +1 @@ +./test/schemas/allsg_1.xml validates diff --git a/result/schemas/allsg_0_1.err b/result/schemas/allsg_0_1.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/allsg_0_2 b/result/schemas/allsg_0_2 new file mode 100644 index 0000000..da3de52 --- /dev/null +++ b/result/schemas/allsg_0_2 @@ -0,0 +1 @@ +./test/schemas/allsg_2.xml validates diff --git a/result/schemas/allsg_0_2.err b/result/schemas/allsg_0_2.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/allsg_0_3 b/result/schemas/allsg_0_3 new file mode 100644 index 0000000..f98152b --- /dev/null +++ b/result/schemas/allsg_0_3 @@ -0,0 +1 @@ +./test/schemas/allsg_3.xml fails to validate diff --git a/result/schemas/allsg_0_3.err b/result/schemas/allsg_0_3.err new file mode 100644 index 0000000..628a360 --- /dev/null +++ b/result/schemas/allsg_0_3.err @@ -0,0 +1 @@ +./test/schemas/allsg_3.xml:6: element gm-B-1: Schemas validity error : Element '{urn:test:foo}gm-B-1': This element is not expected. Expected is one of ( {urn:test:foo}gh-A, {urn:test:foo}gm-A-1, {urn:test:foo}gm-A-2 ). diff --git a/result/schemas/allsg_0_4 b/result/schemas/allsg_0_4 new file mode 100644 index 0000000..3fe69c1 --- /dev/null +++ b/result/schemas/allsg_0_4 @@ -0,0 +1 @@ +./test/schemas/allsg_4.xml fails to validate diff --git a/result/schemas/allsg_0_4.err b/result/schemas/allsg_0_4.err new file mode 100644 index 0000000..e72288d --- /dev/null +++ b/result/schemas/allsg_0_4.err @@ -0,0 +1 @@ +./test/schemas/allsg_4.xml:6: element gm-A-1: Schemas validity error : Element '{urn:test:foo}gm-A-1': This element is not expected. Expected is one of ( {urn:test:foo}gh-B, {urn:test:foo}gm-B-1, {urn:test:foo}gm-B-2 ). diff --git a/result/schemas/allsg_0_5 b/result/schemas/allsg_0_5 new file mode 100644 index 0000000..2689cf0 --- /dev/null +++ b/result/schemas/allsg_0_5 @@ -0,0 +1 @@ +./test/schemas/allsg_5.xml fails to validate diff --git a/result/schemas/allsg_0_5.err b/result/schemas/allsg_0_5.err new file mode 100644 index 0000000..26a1446 --- /dev/null +++ b/result/schemas/allsg_0_5.err @@ -0,0 +1 @@ +./test/schemas/allsg_5.xml:7: element gm-B-2: Schemas validity error : Element '{urn:test:foo}gm-B-2': This element is not expected. diff --git a/result/schemas/annot-err_0_0 b/result/schemas/annot-err_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/annot-err_0_0.err b/result/schemas/annot-err_0_0.err new file mode 100644 index 0000000..78c0c72 --- /dev/null +++ b/result/schemas/annot-err_0_0.err @@ -0,0 +1,7 @@ +./test/schemas/annot-err_0.xsd:7: element annotation: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}annotation': The attribute 'death' is not allowed. +./test/schemas/annot-err_0.xsd:7: element annotation: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}annotation': The content is not valid. Expected is (appinfo | documentation)*. +./test/schemas/annot-err_0.xsd:10: element appinfo: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}appinfo': The attribute 'id' is not allowed. +./test/schemas/annot-err_0.xsd:10: element appinfo: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}appinfo': The attribute 'fun' is not allowed. +./test/schemas/annot-err_0.xsd:14: element documentation: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}documentation': The attribute 'id' is not allowed. +./test/schemas/annot-err_0.xsd:14: element documentation: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}documentation': The attribute 'mothers' is not allowed. +./test/schemas/annot-err_0.xsd:14: element documentation: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}documentation', attribute '{http://www.w3.org/XML/1998/namespace}lang': '*' is not a valid value of the atomic type 'xs:language'. diff --git a/result/schemas/any1_0_0 b/result/schemas/any1_0_0 new file mode 100644 index 0000000..7eec0fc --- /dev/null +++ b/result/schemas/any1_0_0 @@ -0,0 +1 @@ +./test/schemas/any1_0.xml validates diff --git a/result/schemas/any1_0_0.err b/result/schemas/any1_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/any2_0_0 b/result/schemas/any2_0_0 new file mode 100644 index 0000000..eef73b8 --- /dev/null +++ b/result/schemas/any2_0_0 @@ -0,0 +1 @@ +./test/schemas/any2_0.xml validates diff --git a/result/schemas/any2_0_0.err b/result/schemas/any2_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/any3_0_0 b/result/schemas/any3_0_0 new file mode 100644 index 0000000..568af4f --- /dev/null +++ b/result/schemas/any3_0_0 @@ -0,0 +1 @@ +./test/schemas/any3_0.xml fails to validate diff --git a/result/schemas/any3_0_0.err b/result/schemas/any3_0_0.err new file mode 100644 index 0000000..49ce581 --- /dev/null +++ b/result/schemas/any3_0_0.err @@ -0,0 +1 @@ +./test/schemas/any3_0.xml:12: element bar.A: Schemas validity error : Element 'bar.A': This element is not expected. Expected is ( ##other{http://FOO}* ). diff --git a/result/schemas/any4_0_0 b/result/schemas/any4_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/any4_0_0.err b/result/schemas/any4_0_0.err new file mode 100644 index 0000000..151b002 --- /dev/null +++ b/result/schemas/any4_0_0.err @@ -0,0 +1 @@ +./test/schemas/any4_0.xsd:14: element complexType: Schemas parser error : local complex type: The content model is not determinist. diff --git a/result/schemas/any5_0_0 b/result/schemas/any5_0_0 new file mode 100644 index 0000000..910f8bb --- /dev/null +++ b/result/schemas/any5_0_0 @@ -0,0 +1 @@ +./test/schemas/any5_0.xml fails to validate diff --git a/result/schemas/any5_0_0.err b/result/schemas/any5_0_0.err new file mode 100644 index 0000000..b69fd57 --- /dev/null +++ b/result/schemas/any5_0_0.err @@ -0,0 +1 @@ +./test/schemas/any5_0.xml:6: element boo: Schemas validity error : Element '{urn:test:foo}boo': This element is not expected. Expected is ( ##other{urn:test:foo}* ). diff --git a/result/schemas/any5_0_1 b/result/schemas/any5_0_1 new file mode 100644 index 0000000..5e2c461 --- /dev/null +++ b/result/schemas/any5_0_1 @@ -0,0 +1 @@ +./test/schemas/any5_1.xml fails to validate diff --git a/result/schemas/any5_0_1.err b/result/schemas/any5_0_1.err new file mode 100644 index 0000000..79d7e35 --- /dev/null +++ b/result/schemas/any5_0_1.err @@ -0,0 +1 @@ +./test/schemas/any5_1.xml:11: element boo: Schemas validity error : Element '{urn:test:bar}boo': This element is not expected. diff --git a/result/schemas/any5_0_2 b/result/schemas/any5_0_2 new file mode 100644 index 0000000..b049478 --- /dev/null +++ b/result/schemas/any5_0_2 @@ -0,0 +1 @@ +./test/schemas/any5_2.xml fails to validate diff --git a/result/schemas/any5_0_2.err b/result/schemas/any5_0_2.err new file mode 100644 index 0000000..a5bf4c0 --- /dev/null +++ b/result/schemas/any5_0_2.err @@ -0,0 +1 @@ +./test/schemas/any5_2.xml:7: element boo: Schemas validity error : Element '{urn:test:foo}boo': This element is not expected. diff --git a/result/schemas/any5_0_3 b/result/schemas/any5_0_3 new file mode 100644 index 0000000..8cfb94e --- /dev/null +++ b/result/schemas/any5_0_3 @@ -0,0 +1 @@ +./test/schemas/any5_3.xml validates diff --git a/result/schemas/any5_0_3.err b/result/schemas/any5_0_3.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/any5_0_4 b/result/schemas/any5_0_4 new file mode 100644 index 0000000..0a4bce0 --- /dev/null +++ b/result/schemas/any5_0_4 @@ -0,0 +1 @@ +./test/schemas/any5_4.xml fails to validate diff --git a/result/schemas/any5_0_4.err b/result/schemas/any5_0_4.err new file mode 100644 index 0000000..74a6bda --- /dev/null +++ b/result/schemas/any5_0_4.err @@ -0,0 +1 @@ +./test/schemas/any5_4.xml:11: element boo: Schemas validity error : Element '{urn:test:bar}boo': This element is not expected. diff --git a/result/schemas/any5_0_5 b/result/schemas/any5_0_5 new file mode 100644 index 0000000..6c15d25 --- /dev/null +++ b/result/schemas/any5_0_5 @@ -0,0 +1 @@ +./test/schemas/any5_5.xml fails to validate diff --git a/result/schemas/any5_0_5.err b/result/schemas/any5_0_5.err new file mode 100644 index 0000000..e50113f --- /dev/null +++ b/result/schemas/any5_0_5.err @@ -0,0 +1 @@ +./test/schemas/any5_5.xml:11: element boo: Schemas validity error : Element '{urn:test:foo}boo': This element is not expected. diff --git a/result/schemas/any5_0_6 b/result/schemas/any5_0_6 new file mode 100644 index 0000000..c9df562 --- /dev/null +++ b/result/schemas/any5_0_6 @@ -0,0 +1 @@ +./test/schemas/any5_6.xml fails to validate diff --git a/result/schemas/any5_0_6.err b/result/schemas/any5_0_6.err new file mode 100644 index 0000000..b64cd4f --- /dev/null +++ b/result/schemas/any5_0_6.err @@ -0,0 +1 @@ +./test/schemas/any5_6.xml:11: element boo: Schemas validity error : Element '{urn:test:bar}boo': This element is not expected. diff --git a/result/schemas/any5_1_0 b/result/schemas/any5_1_0 new file mode 100644 index 0000000..910f8bb --- /dev/null +++ b/result/schemas/any5_1_0 @@ -0,0 +1 @@ +./test/schemas/any5_0.xml fails to validate diff --git a/result/schemas/any5_1_0.err b/result/schemas/any5_1_0.err new file mode 100644 index 0000000..b69fd57 --- /dev/null +++ b/result/schemas/any5_1_0.err @@ -0,0 +1 @@ +./test/schemas/any5_0.xml:6: element boo: Schemas validity error : Element '{urn:test:foo}boo': This element is not expected. Expected is ( ##other{urn:test:foo}* ). diff --git a/result/schemas/any5_1_1 b/result/schemas/any5_1_1 new file mode 100644 index 0000000..5e2c461 --- /dev/null +++ b/result/schemas/any5_1_1 @@ -0,0 +1 @@ +./test/schemas/any5_1.xml fails to validate diff --git a/result/schemas/any5_1_1.err b/result/schemas/any5_1_1.err new file mode 100644 index 0000000..bbfccb4 --- /dev/null +++ b/result/schemas/any5_1_1.err @@ -0,0 +1 @@ +./test/schemas/any5_1.xml:11: element boo: Schemas validity error : Element '{urn:test:bar}boo': This element is not expected. Expected is ( {urn:test:foo}boo ). diff --git a/result/schemas/any5_1_2 b/result/schemas/any5_1_2 new file mode 100644 index 0000000..6eab2bb --- /dev/null +++ b/result/schemas/any5_1_2 @@ -0,0 +1 @@ +./test/schemas/any5_2.xml validates diff --git a/result/schemas/any5_1_2.err b/result/schemas/any5_1_2.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/any5_1_3 b/result/schemas/any5_1_3 new file mode 100644 index 0000000..f114a67 --- /dev/null +++ b/result/schemas/any5_1_3 @@ -0,0 +1 @@ +./test/schemas/any5_3.xml fails to validate diff --git a/result/schemas/any5_1_3.err b/result/schemas/any5_1_3.err new file mode 100644 index 0000000..e6c07b2 --- /dev/null +++ b/result/schemas/any5_1_3.err @@ -0,0 +1 @@ +./test/schemas/any5_3.xml:4: element foo: Schemas validity error : Element '{urn:test:foo}foo': Missing child element(s). diff --git a/result/schemas/any5_1_4 b/result/schemas/any5_1_4 new file mode 100644 index 0000000..0a4bce0 --- /dev/null +++ b/result/schemas/any5_1_4 @@ -0,0 +1 @@ +./test/schemas/any5_4.xml fails to validate diff --git a/result/schemas/any5_1_4.err b/result/schemas/any5_1_4.err new file mode 100644 index 0000000..6d89773 --- /dev/null +++ b/result/schemas/any5_1_4.err @@ -0,0 +1 @@ +./test/schemas/any5_4.xml:11: element boo: Schemas validity error : Element '{urn:test:bar}boo': This element is not expected. Expected is ( {urn:test:foo}boo ). diff --git a/result/schemas/any5_1_5 b/result/schemas/any5_1_5 new file mode 100644 index 0000000..e573d46 --- /dev/null +++ b/result/schemas/any5_1_5 @@ -0,0 +1 @@ +./test/schemas/any5_5.xml validates diff --git a/result/schemas/any5_1_5.err b/result/schemas/any5_1_5.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/any5_1_6 b/result/schemas/any5_1_6 new file mode 100644 index 0000000..c9df562 --- /dev/null +++ b/result/schemas/any5_1_6 @@ -0,0 +1 @@ +./test/schemas/any5_6.xml fails to validate diff --git a/result/schemas/any5_1_6.err b/result/schemas/any5_1_6.err new file mode 100644 index 0000000..8c3f020 --- /dev/null +++ b/result/schemas/any5_1_6.err @@ -0,0 +1 @@ +./test/schemas/any5_6.xml:11: element boo: Schemas validity error : Element '{urn:test:bar}boo': This element is not expected. Expected is ( {urn:test:foo}boo ). diff --git a/result/schemas/any6_1_0 b/result/schemas/any6_1_0 new file mode 100644 index 0000000..1bb493c --- /dev/null +++ b/result/schemas/any6_1_0 @@ -0,0 +1 @@ +./test/schemas/any6_0.xml validates diff --git a/result/schemas/any6_1_0.err b/result/schemas/any6_1_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/any6_2_0 b/result/schemas/any6_2_0 new file mode 100644 index 0000000..1bb493c --- /dev/null +++ b/result/schemas/any6_2_0 @@ -0,0 +1 @@ +./test/schemas/any6_0.xml validates diff --git a/result/schemas/any6_2_0.err b/result/schemas/any6_2_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/any7_1_0 b/result/schemas/any7_1_0 new file mode 100644 index 0000000..cfd9dcc --- /dev/null +++ b/result/schemas/any7_1_0 @@ -0,0 +1 @@ +./test/schemas/any7_0.xml fails to validate diff --git a/result/schemas/any7_1_0.err b/result/schemas/any7_1_0.err new file mode 100644 index 0000000..a4274f8 --- /dev/null +++ b/result/schemas/any7_1_0.err @@ -0,0 +1 @@ +./test/schemas/any7_0.xml:18: element moo: Schemas validity error : Element 'moo': This element is not expected. Expected is ( ##other{urn:test:foo}* ). diff --git a/result/schemas/any7_1_1 b/result/schemas/any7_1_1 new file mode 100644 index 0000000..2a6f5d7 --- /dev/null +++ b/result/schemas/any7_1_1 @@ -0,0 +1 @@ +./test/schemas/any7_1.xml fails to validate diff --git a/result/schemas/any7_1_1.err b/result/schemas/any7_1_1.err new file mode 100644 index 0000000..8745468 --- /dev/null +++ b/result/schemas/any7_1_1.err @@ -0,0 +1 @@ +./test/schemas/any7_1.xml:17: element bar: Schemas validity error : Element '{urn:test:foo}bar': This element is not expected. Expected is ( ##other{urn:test:foo}* ). diff --git a/result/schemas/any7_1_2 b/result/schemas/any7_1_2 new file mode 100644 index 0000000..6f35e2d --- /dev/null +++ b/result/schemas/any7_1_2 @@ -0,0 +1 @@ +./test/schemas/any7_2.xml validates diff --git a/result/schemas/any7_1_2.err b/result/schemas/any7_1_2.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/any7_2_0 b/result/schemas/any7_2_0 new file mode 100644 index 0000000..cfd9dcc --- /dev/null +++ b/result/schemas/any7_2_0 @@ -0,0 +1 @@ +./test/schemas/any7_0.xml fails to validate diff --git a/result/schemas/any7_2_0.err b/result/schemas/any7_2_0.err new file mode 100644 index 0000000..a4274f8 --- /dev/null +++ b/result/schemas/any7_2_0.err @@ -0,0 +1 @@ +./test/schemas/any7_0.xml:18: element moo: Schemas validity error : Element 'moo': This element is not expected. Expected is ( ##other{urn:test:foo}* ). diff --git a/result/schemas/any7_2_1 b/result/schemas/any7_2_1 new file mode 100644 index 0000000..2a6f5d7 --- /dev/null +++ b/result/schemas/any7_2_1 @@ -0,0 +1 @@ +./test/schemas/any7_1.xml fails to validate diff --git a/result/schemas/any7_2_1.err b/result/schemas/any7_2_1.err new file mode 100644 index 0000000..8745468 --- /dev/null +++ b/result/schemas/any7_2_1.err @@ -0,0 +1 @@ +./test/schemas/any7_1.xml:17: element bar: Schemas validity error : Element '{urn:test:foo}bar': This element is not expected. Expected is ( ##other{urn:test:foo}* ). diff --git a/result/schemas/any7_2_2 b/result/schemas/any7_2_2 new file mode 100644 index 0000000..6f35e2d --- /dev/null +++ b/result/schemas/any7_2_2 @@ -0,0 +1 @@ +./test/schemas/any7_2.xml validates diff --git a/result/schemas/any7_2_2.err b/result/schemas/any7_2_2.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/any8_1_0 b/result/schemas/any8_1_0 new file mode 100644 index 0000000..f5f4ed9 --- /dev/null +++ b/result/schemas/any8_1_0 @@ -0,0 +1 @@ +./test/schemas/any8_0.xml validates diff --git a/result/schemas/any8_1_0.err b/result/schemas/any8_1_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/anyAttr-derive-errors1_0_0 b/result/schemas/anyAttr-derive-errors1_0_0 new file mode 100644 index 0000000..d8e465e --- /dev/null +++ b/result/schemas/anyAttr-derive-errors1_0_0 @@ -0,0 +1 @@ +./test/schemas/anyAttr-derive-errors1_0.xml validates diff --git a/result/schemas/anyAttr-derive-errors1_0_0.err b/result/schemas/anyAttr-derive-errors1_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/anyAttr-derive1_0_0 b/result/schemas/anyAttr-derive1_0_0 new file mode 100644 index 0000000..adae13d --- /dev/null +++ b/result/schemas/anyAttr-derive1_0_0 @@ -0,0 +1 @@ +./test/schemas/anyAttr-derive1_0.xml validates diff --git a/result/schemas/anyAttr-derive1_0_0.err b/result/schemas/anyAttr-derive1_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/anyAttr-derive2_0_0 b/result/schemas/anyAttr-derive2_0_0 new file mode 100644 index 0000000..dccc6e2 --- /dev/null +++ b/result/schemas/anyAttr-derive2_0_0 @@ -0,0 +1 @@ +./test/schemas/anyAttr-derive2_0.xml validates diff --git a/result/schemas/anyAttr-derive2_0_0.err b/result/schemas/anyAttr-derive2_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/anyAttr-processContents-err1_0_0 b/result/schemas/anyAttr-processContents-err1_0_0 new file mode 100644 index 0000000..43e77aa --- /dev/null +++ b/result/schemas/anyAttr-processContents-err1_0_0 @@ -0,0 +1 @@ +./test/schemas/anyAttr-processContents-err1_0.xml fails to validate diff --git a/result/schemas/anyAttr-processContents-err1_0_0.err b/result/schemas/anyAttr-processContents-err1_0_0.err new file mode 100644 index 0000000..dc4766b --- /dev/null +++ b/result/schemas/anyAttr-processContents-err1_0_0.err @@ -0,0 +1,2 @@ +./test/schemas/anyAttr-processContents-err1_0.xml:8: element elem.lax: Schemas validity error : Element '{http://FOO}elem.lax', attribute '{http://FOO}bar': 'o o' is not a valid value of the atomic type 'xs:language'. +./test/schemas/anyAttr-processContents-err1_0.xml:9: element elem.strict: Schemas validity error : Element '{http://FOO}elem.strict', attribute '{http://FOO}barB': No matching global attribute declaration available, but demanded by the strict wildcard. diff --git a/result/schemas/anyAttr-processContents1_0_0 b/result/schemas/anyAttr-processContents1_0_0 new file mode 100644 index 0000000..30d0cc2 --- /dev/null +++ b/result/schemas/anyAttr-processContents1_0_0 @@ -0,0 +1 @@ +./test/schemas/anyAttr-processContents1_0.xml validates diff --git a/result/schemas/anyAttr-processContents1_0_0.err b/result/schemas/anyAttr-processContents1_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/anyAttr1_0_0 b/result/schemas/anyAttr1_0_0 new file mode 100644 index 0000000..8afc23a --- /dev/null +++ b/result/schemas/anyAttr1_0_0 @@ -0,0 +1 @@ +./test/schemas/anyAttr1_0.xml validates diff --git a/result/schemas/anyAttr1_0_0.err b/result/schemas/anyAttr1_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/attr0_0_0 b/result/schemas/attr0_0_0 new file mode 100644 index 0000000..d054be5 --- /dev/null +++ b/result/schemas/attr0_0_0 @@ -0,0 +1 @@ +./test/schemas/attr0_0.xml validates diff --git a/result/schemas/attr0_0_0.err b/result/schemas/attr0_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/attruse_0_0 b/result/schemas/attruse_0_0 new file mode 100644 index 0000000..c645bc5 --- /dev/null +++ b/result/schemas/attruse_0_0 @@ -0,0 +1 @@ +./test/schemas/attruse_0_0.xml validates diff --git a/result/schemas/attruse_0_0.err b/result/schemas/attruse_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/attruse_0_1 b/result/schemas/attruse_0_1 new file mode 100644 index 0000000..dd23d0b --- /dev/null +++ b/result/schemas/attruse_0_1 @@ -0,0 +1 @@ +./test/schemas/attruse_0_1.xml fails to validate diff --git a/result/schemas/attruse_0_1.err b/result/schemas/attruse_0_1.err new file mode 100644 index 0000000..5dd4fb1 --- /dev/null +++ b/result/schemas/attruse_0_1.err @@ -0,0 +1 @@ +./test/schemas/attruse_0_1.xml:3: element barA: Schemas validity error : Element 'barA': The attribute 'attr' is required but missing. diff --git a/result/schemas/attruse_0_2 b/result/schemas/attruse_0_2 new file mode 100644 index 0000000..0ea3301 --- /dev/null +++ b/result/schemas/attruse_0_2 @@ -0,0 +1 @@ +./test/schemas/attruse_0_2.xml fails to validate diff --git a/result/schemas/attruse_0_2.err b/result/schemas/attruse_0_2.err new file mode 100644 index 0000000..01cf822 --- /dev/null +++ b/result/schemas/attruse_0_2.err @@ -0,0 +1 @@ +./test/schemas/attruse_0_2.xml:6: element barC: Schemas validity error : Element 'barC', attribute 'attr': The attribute 'attr' is not allowed. diff --git a/result/schemas/bug141312_0_0 b/result/schemas/bug141312_0_0 new file mode 100644 index 0000000..d8048a7 --- /dev/null +++ b/result/schemas/bug141312_0_0 @@ -0,0 +1 @@ +./test/schemas/bug141312_0.xml validates diff --git a/result/schemas/bug141312_0_0.err b/result/schemas/bug141312_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/bug141333_0_0 b/result/schemas/bug141333_0_0 new file mode 100644 index 0000000..189660f --- /dev/null +++ b/result/schemas/bug141333_0_0 @@ -0,0 +1 @@ +./test/schemas/bug141333_0.xml validates diff --git a/result/schemas/bug141333_0_0.err b/result/schemas/bug141333_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/bug143951_0_0 b/result/schemas/bug143951_0_0 new file mode 100644 index 0000000..2d0e3e7 --- /dev/null +++ b/result/schemas/bug143951_0_0 @@ -0,0 +1 @@ +./test/schemas/bug143951_0.xml validates diff --git a/result/schemas/bug143951_0_0.err b/result/schemas/bug143951_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/bug145246_0_0 b/result/schemas/bug145246_0_0 new file mode 100644 index 0000000..d28ccf7 --- /dev/null +++ b/result/schemas/bug145246_0_0 @@ -0,0 +1 @@ +./test/schemas/bug145246_0.xml validates diff --git a/result/schemas/bug145246_0_0.err b/result/schemas/bug145246_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/bug152470_1_1 b/result/schemas/bug152470_1_1 new file mode 100644 index 0000000..b158caa --- /dev/null +++ b/result/schemas/bug152470_1_1 @@ -0,0 +1 @@ +./test/schemas/bug152470_1.xml validates diff --git a/result/schemas/bug152470_1_1.err b/result/schemas/bug152470_1_1.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/bug167754_0_0 b/result/schemas/bug167754_0_0 new file mode 100644 index 0000000..27b50fc --- /dev/null +++ b/result/schemas/bug167754_0_0 @@ -0,0 +1 @@ +./test/schemas/bug167754_0.xml validates diff --git a/result/schemas/bug167754_0_0.err b/result/schemas/bug167754_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/bug303566_1_1 b/result/schemas/bug303566_1_1 new file mode 100644 index 0000000..8092bf0 --- /dev/null +++ b/result/schemas/bug303566_1_1 @@ -0,0 +1 @@ +./test/schemas/bug303566_1.xml fails to validate diff --git a/result/schemas/bug303566_1_1.err b/result/schemas/bug303566_1_1.err new file mode 100644 index 0000000..9156981 --- /dev/null +++ b/result/schemas/bug303566_1_1.err @@ -0,0 +1 @@ +./test/schemas/bug303566_1.xml:9: Schemas validity error : Element 'Part': No match found for key-sequence ['B'] of keyref 'PartRefCountryDummy'. diff --git a/result/schemas/bug306806_1_0 b/result/schemas/bug306806_1_0 new file mode 100644 index 0000000..c2cb7c8 --- /dev/null +++ b/result/schemas/bug306806_1_0 @@ -0,0 +1 @@ +./test/schemas/bug306806_0.xml validates diff --git a/result/schemas/bug306806_1_0.err b/result/schemas/bug306806_1_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/bug309338_1_0 b/result/schemas/bug309338_1_0 new file mode 100644 index 0000000..65331f1 --- /dev/null +++ b/result/schemas/bug309338_1_0 @@ -0,0 +1 @@ +./test/schemas/bug309338_0.xml validates diff --git a/result/schemas/bug309338_1_0.err b/result/schemas/bug309338_1_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/bug310264_0_0 b/result/schemas/bug310264_0_0 new file mode 100644 index 0000000..e07293d --- /dev/null +++ b/result/schemas/bug310264_0_0 @@ -0,0 +1 @@ +./test/schemas/bug310264_0.xml validates diff --git a/result/schemas/bug310264_0_0.err b/result/schemas/bug310264_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/bug312957_1_0 b/result/schemas/bug312957_1_0 new file mode 100644 index 0000000..1ec6269 --- /dev/null +++ b/result/schemas/bug312957_1_0 @@ -0,0 +1 @@ +./test/schemas/bug312957_0.xml fails to validate diff --git a/result/schemas/bug312957_1_0.err b/result/schemas/bug312957_1_0.err new file mode 100644 index 0000000..40e58ff --- /dev/null +++ b/result/schemas/bug312957_1_0.err @@ -0,0 +1 @@ +./test/schemas/bug312957_0.xml:10: Schemas validity error : Element 'sister': No match found for key-sequence ['annie'] of keyref 'sibling_key_ref'. diff --git a/result/schemas/bug313982_0_0 b/result/schemas/bug313982_0_0 new file mode 100644 index 0000000..19855cf --- /dev/null +++ b/result/schemas/bug313982_0_0 @@ -0,0 +1 @@ +./test/schemas/bug313982_0.xml validates diff --git a/result/schemas/bug313982_0_0.err b/result/schemas/bug313982_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/bug321475_1_0 b/result/schemas/bug321475_1_0 new file mode 100644 index 0000000..f943041 --- /dev/null +++ b/result/schemas/bug321475_1_0 @@ -0,0 +1 @@ +./test/schemas/bug321475_0.xml validates diff --git a/result/schemas/bug321475_1_0.err b/result/schemas/bug321475_1_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/bug322411_1_0 b/result/schemas/bug322411_1_0 new file mode 100644 index 0000000..79560fb --- /dev/null +++ b/result/schemas/bug322411_1_0 @@ -0,0 +1 @@ +./test/schemas/bug322411_0.xml validates diff --git a/result/schemas/bug322411_1_0.err b/result/schemas/bug322411_1_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/bug323510_1_0 b/result/schemas/bug323510_1_0 new file mode 100644 index 0000000..c33d685 --- /dev/null +++ b/result/schemas/bug323510_1_0 @@ -0,0 +1 @@ +./test/schemas/bug323510_0.xml fails to validate diff --git a/result/schemas/bug323510_1_0.err b/result/schemas/bug323510_1_0.err new file mode 100644 index 0000000..1655070 --- /dev/null +++ b/result/schemas/bug323510_1_0.err @@ -0,0 +1 @@ +./test/schemas/bug323510_0.xml:2: element foo: Schemas validity error : Element 'foo': Missing child element(s). Expected is ( bar ). diff --git a/result/schemas/bug455953_0_0 b/result/schemas/bug455953_0_0 new file mode 100644 index 0000000..6175d1e --- /dev/null +++ b/result/schemas/bug455953_0_0 @@ -0,0 +1 @@ +./test/schemas/bug455953_0.xml validates diff --git a/result/schemas/bug455953_0_0.err b/result/schemas/bug455953_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/changelog093_1_0 b/result/schemas/changelog093_1_0 new file mode 100644 index 0000000..13f83ef --- /dev/null +++ b/result/schemas/changelog093_1_0 @@ -0,0 +1 @@ +./test/schemas/changelog093_0.xml fails to validate diff --git a/result/schemas/changelog093_1_0.err b/result/schemas/changelog093_1_0.err new file mode 100644 index 0000000..ef0b1ec --- /dev/null +++ b/result/schemas/changelog093_1_0.err @@ -0,0 +1 @@ +./test/schemas/changelog093_0.xml:7: element description: Schemas validity error : Element '{http://www.blackperl.com/XML/ChangeLog}description': Duplicate key-sequence ['PL'] in unique identity-constraint '{http://www.blackperl.com/XML/ChangeLog}changelogDescriptionLangConstraint'. diff --git a/result/schemas/choice_0_0 b/result/schemas/choice_0_0 new file mode 100644 index 0000000..eda062e --- /dev/null +++ b/result/schemas/choice_0_0 @@ -0,0 +1 @@ +./test/schemas/choice_0.xml validates diff --git a/result/schemas/choice_0_0.err b/result/schemas/choice_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/choice_0_1 b/result/schemas/choice_0_1 new file mode 100644 index 0000000..e4338de --- /dev/null +++ b/result/schemas/choice_0_1 @@ -0,0 +1 @@ +./test/schemas/choice_1.xml validates diff --git a/result/schemas/choice_0_1.err b/result/schemas/choice_0_1.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/choice_0_2 b/result/schemas/choice_0_2 new file mode 100644 index 0000000..4071315 --- /dev/null +++ b/result/schemas/choice_0_2 @@ -0,0 +1 @@ +./test/schemas/choice_2.xml fails to validate diff --git a/result/schemas/choice_0_2.err b/result/schemas/choice_0_2.err new file mode 100644 index 0000000..5141445 --- /dev/null +++ b/result/schemas/choice_0_2.err @@ -0,0 +1 @@ +./test/schemas/choice_2.xml:3: element b: Schemas validity error : Element 'b': This element is not expected. diff --git a/result/schemas/choice_0_3 b/result/schemas/choice_0_3 new file mode 100644 index 0000000..bef604b --- /dev/null +++ b/result/schemas/choice_0_3 @@ -0,0 +1 @@ +./test/schemas/choice_3.xml fails to validate diff --git a/result/schemas/choice_0_3.err b/result/schemas/choice_0_3.err new file mode 100644 index 0000000..ece5d69 --- /dev/null +++ b/result/schemas/choice_0_3.err @@ -0,0 +1 @@ +./test/schemas/choice_3.xml:3: element a: Schemas validity error : Element 'a': This element is not expected. diff --git a/result/schemas/choice_0_4 b/result/schemas/choice_0_4 new file mode 100644 index 0000000..0643e3b --- /dev/null +++ b/result/schemas/choice_0_4 @@ -0,0 +1 @@ +./test/schemas/choice_4.xml fails to validate diff --git a/result/schemas/choice_0_4.err b/result/schemas/choice_0_4.err new file mode 100644 index 0000000..3d3af59 --- /dev/null +++ b/result/schemas/choice_0_4.err @@ -0,0 +1 @@ +./test/schemas/choice_4.xml:1: element doc: Schemas validity error : Element 'doc': Missing child element(s). Expected is one of ( a, b ). diff --git a/result/schemas/choice_0_5 b/result/schemas/choice_0_5 new file mode 100644 index 0000000..acaaddd --- /dev/null +++ b/result/schemas/choice_0_5 @@ -0,0 +1 @@ +./test/schemas/choice_5.xml fails to validate diff --git a/result/schemas/choice_0_5.err b/result/schemas/choice_0_5.err new file mode 100644 index 0000000..39d413c --- /dev/null +++ b/result/schemas/choice_0_5.err @@ -0,0 +1 @@ +./test/schemas/choice_5.xml:3: element b: Schemas validity error : Element 'b': This element is not expected. diff --git a/result/schemas/choice_0_6 b/result/schemas/choice_0_6 new file mode 100644 index 0000000..ee4ceae --- /dev/null +++ b/result/schemas/choice_0_6 @@ -0,0 +1 @@ +./test/schemas/choice_6.xml fails to validate diff --git a/result/schemas/choice_0_6.err b/result/schemas/choice_0_6.err new file mode 100644 index 0000000..414d1e2 --- /dev/null +++ b/result/schemas/choice_0_6.err @@ -0,0 +1 @@ +./test/schemas/choice_6.xml:3: element b: Schemas validity error : Element 'b': This element is not expected. diff --git a/result/schemas/choice_1_0 b/result/schemas/choice_1_0 new file mode 100644 index 0000000..eda062e --- /dev/null +++ b/result/schemas/choice_1_0 @@ -0,0 +1 @@ +./test/schemas/choice_0.xml validates diff --git a/result/schemas/choice_1_0.err b/result/schemas/choice_1_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/choice_1_1 b/result/schemas/choice_1_1 new file mode 100644 index 0000000..e4338de --- /dev/null +++ b/result/schemas/choice_1_1 @@ -0,0 +1 @@ +./test/schemas/choice_1.xml validates diff --git a/result/schemas/choice_1_1.err b/result/schemas/choice_1_1.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/choice_1_2 b/result/schemas/choice_1_2 new file mode 100644 index 0000000..4071315 --- /dev/null +++ b/result/schemas/choice_1_2 @@ -0,0 +1 @@ +./test/schemas/choice_2.xml fails to validate diff --git a/result/schemas/choice_1_2.err b/result/schemas/choice_1_2.err new file mode 100644 index 0000000..5141445 --- /dev/null +++ b/result/schemas/choice_1_2.err @@ -0,0 +1 @@ +./test/schemas/choice_2.xml:3: element b: Schemas validity error : Element 'b': This element is not expected. diff --git a/result/schemas/choice_1_3 b/result/schemas/choice_1_3 new file mode 100644 index 0000000..bef604b --- /dev/null +++ b/result/schemas/choice_1_3 @@ -0,0 +1 @@ +./test/schemas/choice_3.xml fails to validate diff --git a/result/schemas/choice_1_3.err b/result/schemas/choice_1_3.err new file mode 100644 index 0000000..ece5d69 --- /dev/null +++ b/result/schemas/choice_1_3.err @@ -0,0 +1 @@ +./test/schemas/choice_3.xml:3: element a: Schemas validity error : Element 'a': This element is not expected. diff --git a/result/schemas/choice_1_4 b/result/schemas/choice_1_4 new file mode 100644 index 0000000..36b3827 --- /dev/null +++ b/result/schemas/choice_1_4 @@ -0,0 +1 @@ +./test/schemas/choice_4.xml validates diff --git a/result/schemas/choice_1_4.err b/result/schemas/choice_1_4.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/choice_1_5 b/result/schemas/choice_1_5 new file mode 100644 index 0000000..acaaddd --- /dev/null +++ b/result/schemas/choice_1_5 @@ -0,0 +1 @@ +./test/schemas/choice_5.xml fails to validate diff --git a/result/schemas/choice_1_5.err b/result/schemas/choice_1_5.err new file mode 100644 index 0000000..39d413c --- /dev/null +++ b/result/schemas/choice_1_5.err @@ -0,0 +1 @@ +./test/schemas/choice_5.xml:3: element b: Schemas validity error : Element 'b': This element is not expected. diff --git a/result/schemas/choice_1_6 b/result/schemas/choice_1_6 new file mode 100644 index 0000000..ee4ceae --- /dev/null +++ b/result/schemas/choice_1_6 @@ -0,0 +1 @@ +./test/schemas/choice_6.xml fails to validate diff --git a/result/schemas/choice_1_6.err b/result/schemas/choice_1_6.err new file mode 100644 index 0000000..414d1e2 --- /dev/null +++ b/result/schemas/choice_1_6.err @@ -0,0 +1 @@ +./test/schemas/choice_6.xml:3: element b: Schemas validity error : Element 'b': This element is not expected. diff --git a/result/schemas/choice_2_0 b/result/schemas/choice_2_0 new file mode 100644 index 0000000..eda062e --- /dev/null +++ b/result/schemas/choice_2_0 @@ -0,0 +1 @@ +./test/schemas/choice_0.xml validates diff --git a/result/schemas/choice_2_0.err b/result/schemas/choice_2_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/choice_2_1 b/result/schemas/choice_2_1 new file mode 100644 index 0000000..e4338de --- /dev/null +++ b/result/schemas/choice_2_1 @@ -0,0 +1 @@ +./test/schemas/choice_1.xml validates diff --git a/result/schemas/choice_2_1.err b/result/schemas/choice_2_1.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/choice_2_2 b/result/schemas/choice_2_2 new file mode 100644 index 0000000..c58e154 --- /dev/null +++ b/result/schemas/choice_2_2 @@ -0,0 +1 @@ +./test/schemas/choice_2.xml validates diff --git a/result/schemas/choice_2_2.err b/result/schemas/choice_2_2.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/choice_2_3 b/result/schemas/choice_2_3 new file mode 100644 index 0000000..1058f7e --- /dev/null +++ b/result/schemas/choice_2_3 @@ -0,0 +1 @@ +./test/schemas/choice_3.xml validates diff --git a/result/schemas/choice_2_3.err b/result/schemas/choice_2_3.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/choice_2_4 b/result/schemas/choice_2_4 new file mode 100644 index 0000000..0643e3b --- /dev/null +++ b/result/schemas/choice_2_4 @@ -0,0 +1 @@ +./test/schemas/choice_4.xml fails to validate diff --git a/result/schemas/choice_2_4.err b/result/schemas/choice_2_4.err new file mode 100644 index 0000000..3d3af59 --- /dev/null +++ b/result/schemas/choice_2_4.err @@ -0,0 +1 @@ +./test/schemas/choice_4.xml:1: element doc: Schemas validity error : Element 'doc': Missing child element(s). Expected is one of ( a, b ). diff --git a/result/schemas/choice_2_5 b/result/schemas/choice_2_5 new file mode 100644 index 0000000..67e79ba --- /dev/null +++ b/result/schemas/choice_2_5 @@ -0,0 +1 @@ +./test/schemas/choice_5.xml validates diff --git a/result/schemas/choice_2_5.err b/result/schemas/choice_2_5.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/choice_2_6 b/result/schemas/choice_2_6 new file mode 100644 index 0000000..ee4ceae --- /dev/null +++ b/result/schemas/choice_2_6 @@ -0,0 +1 @@ +./test/schemas/choice_6.xml fails to validate diff --git a/result/schemas/choice_2_6.err b/result/schemas/choice_2_6.err new file mode 100644 index 0000000..bef56da --- /dev/null +++ b/result/schemas/choice_2_6.err @@ -0,0 +1 @@ +./test/schemas/choice_6.xml:5: element a: Schemas validity error : Element 'a': This element is not expected. diff --git a/result/schemas/complex-type-extension_0_0 b/result/schemas/complex-type-extension_0_0 new file mode 100644 index 0000000..ef15215 --- /dev/null +++ b/result/schemas/complex-type-extension_0_0 @@ -0,0 +1 @@ +./test/schemas/complex-type-extension_0.xml validates diff --git a/result/schemas/complex-type-extension_0_0.err b/result/schemas/complex-type-extension_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/cos-ct-extends-1-3_0_0 b/result/schemas/cos-ct-extends-1-3_0_0 new file mode 100644 index 0000000..5dd5bd7 --- /dev/null +++ b/result/schemas/cos-ct-extends-1-3_0_0 @@ -0,0 +1 @@ +./test/schemas/cos-ct-extends-1-3_0.xml validates diff --git a/result/schemas/cos-ct-extends-1-3_0_0.err b/result/schemas/cos-ct-extends-1-3_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/cos-st-restricts-1-2-err_0_0 b/result/schemas/cos-st-restricts-1-2-err_0_0 new file mode 100644 index 0000000..dc34253 --- /dev/null +++ b/result/schemas/cos-st-restricts-1-2-err_0_0 @@ -0,0 +1 @@ +./test/schemas/cos-st-restricts-1-2-err_0.xml fails to validate diff --git a/result/schemas/cos-st-restricts-1-2-err_0_0.err b/result/schemas/cos-st-restricts-1-2-err_0_0.err new file mode 100644 index 0000000..ccc12b6 --- /dev/null +++ b/result/schemas/cos-st-restricts-1-2-err_0_0.err @@ -0,0 +1,2 @@ +./test/schemas/cos-st-restricts-1-2-err_0.xml:3: element foo: Schemas validity error : Element '{http://FOO}foo': [facet 'length'] The value has a length of '2'; this differs from the allowed length of '3'. +./test/schemas/cos-st-restricts-1-2-err_0.xml:3: element foo: Schemas validity error : Element '{http://FOO}foo': '1 2' is not a valid value of the list type '{http://FOO}type.A'. diff --git a/result/schemas/ct-sc-nobase_0_0 b/result/schemas/ct-sc-nobase_0_0 new file mode 100644 index 0000000..168712a --- /dev/null +++ b/result/schemas/ct-sc-nobase_0_0 @@ -0,0 +1 @@ +./test/schemas/ct-sc-nobase_0.xml validates diff --git a/result/schemas/ct-sc-nobase_0_0.err b/result/schemas/ct-sc-nobase_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/date_0_0 b/result/schemas/date_0_0 new file mode 100644 index 0000000..2554d30 --- /dev/null +++ b/result/schemas/date_0_0 @@ -0,0 +1 @@ +./test/schemas/date_0.xml validates diff --git a/result/schemas/date_0_0.err b/result/schemas/date_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/decimal-1_1_0 b/result/schemas/decimal-1_1_0 new file mode 100644 index 0000000..041b31d --- /dev/null +++ b/result/schemas/decimal-1_1_0 @@ -0,0 +1 @@ +./test/schemas/decimal-1_0.xml fails to validate diff --git a/result/schemas/decimal-1_1_0.err b/result/schemas/decimal-1_1_0.err new file mode 100644 index 0000000..7f4fa9c --- /dev/null +++ b/result/schemas/decimal-1_1_0.err @@ -0,0 +1,8 @@ +./test/schemas/decimal-1_0.xml:16: element val: Schemas validity error : Element 'val': '.' is not a valid value of the atomic type 'myDecimal'. +./test/schemas/decimal-1_0.xml:17: element val: Schemas validity error : Element 'val': '-' is not a valid value of the atomic type 'myDecimal'. +./test/schemas/decimal-1_0.xml:18: element val: Schemas validity error : Element 'val': '+' is not a valid value of the atomic type 'myDecimal'. +./test/schemas/decimal-1_0.xml:19: element val: Schemas validity error : Element 'val': '*' is not a valid value of the atomic type 'myDecimal'. +./test/schemas/decimal-1_0.xml:20: element val: Schemas validity error : Element 'val': '- 1' is not a valid value of the atomic type 'myDecimal'. +./test/schemas/decimal-1_0.xml:21: element val: Schemas validity error : Element 'val': '+ 1' is not a valid value of the atomic type 'myDecimal'. +./test/schemas/decimal-1_0.xml:22: element val: Schemas validity error : Element 'val': '+ 0' is not a valid value of the atomic type 'myDecimal'. +./test/schemas/decimal-1_0.xml:23: element val: Schemas validity error : Element 'val': '- 0' is not a valid value of the atomic type 'myDecimal'. diff --git a/result/schemas/decimal-2_1_0 b/result/schemas/decimal-2_1_0 new file mode 100644 index 0000000..f68ca92 --- /dev/null +++ b/result/schemas/decimal-2_1_0 @@ -0,0 +1 @@ +./test/schemas/decimal-2_0.xml fails to validate diff --git a/result/schemas/decimal-2_1_0.err b/result/schemas/decimal-2_1_0.err new file mode 100644 index 0000000..bda17a5 --- /dev/null +++ b/result/schemas/decimal-2_1_0.err @@ -0,0 +1,2 @@ +./test/schemas/decimal-2_0.xml:12: element val: Schemas validity error : Element 'val': [facet 'minInclusive'] The value '-0.1' is less than the minimum value allowed ('0'). +./test/schemas/decimal-2_0.xml:13: element val: Schemas validity error : Element 'val': [facet 'minInclusive'] The value '-1' is less than the minimum value allowed ('0'). diff --git a/result/schemas/decimal-3_1_0 b/result/schemas/decimal-3_1_0 new file mode 100644 index 0000000..5601535 --- /dev/null +++ b/result/schemas/decimal-3_1_0 @@ -0,0 +1 @@ +./test/schemas/decimal-3_0.xml fails to validate diff --git a/result/schemas/decimal-3_1_0.err b/result/schemas/decimal-3_1_0.err new file mode 100644 index 0000000..f37a200 --- /dev/null +++ b/result/schemas/decimal-3_1_0.err @@ -0,0 +1,4 @@ +./test/schemas/decimal-3_0.xml:12: element val: Schemas validity error : Element 'val': [facet 'totalDigits'] The value '0.123' has more digits than are allowed ('2'). +./test/schemas/decimal-3_0.xml:13: element val: Schemas validity error : Element 'val': [facet 'totalDigits'] The value '0.023' has more digits than are allowed ('2'). +./test/schemas/decimal-3_0.xml:14: element val: Schemas validity error : Element 'val': [facet 'totalDigits'] The value '123' has more digits than are allowed ('2'). +./test/schemas/decimal-3_0.xml:15: element val: Schemas validity error : Element 'val': [facet 'totalDigits'] The value '12.3' has more digits than are allowed ('2'). diff --git a/result/schemas/derivation-ok-extension-err_0_0 b/result/schemas/derivation-ok-extension-err_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/derivation-ok-extension-err_0_0.err b/result/schemas/derivation-ok-extension-err_0_0.err new file mode 100644 index 0000000..a0fba52 --- /dev/null +++ b/result/schemas/derivation-ok-extension-err_0_0.err @@ -0,0 +1 @@ +./test/schemas/derivation-ok-extension-err_0.xsd:6: element complexType: Schemas parser error : local complex type: Duplicate attribute use 'barA_1'. diff --git a/result/schemas/derivation-ok-extension_0_0 b/result/schemas/derivation-ok-extension_0_0 new file mode 100644 index 0000000..0947365 --- /dev/null +++ b/result/schemas/derivation-ok-extension_0_0 @@ -0,0 +1 @@ +./test/schemas/derivation-ok-extension_0.xml validates diff --git a/result/schemas/derivation-ok-extension_0_0.err b/result/schemas/derivation-ok-extension_0_0.err new file mode 100644 index 0000000..1314232 --- /dev/null +++ b/result/schemas/derivation-ok-extension_0_0.err @@ -0,0 +1 @@ +./test/schemas/derivation-ok-extension_0.xsd:10: element attribute: Schemas parser warning : Element '{http://www.w3.org/2001/XMLSchema}attribute': Skipping attribute use prohibition, since it is pointless when extending a type. diff --git a/result/schemas/derivation-ok-restriction-2-1-1_0_0 b/result/schemas/derivation-ok-restriction-2-1-1_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/derivation-ok-restriction-2-1-1_0_0.err b/result/schemas/derivation-ok-restriction-2-1-1_0_0.err new file mode 100644 index 0000000..bd38dd2 --- /dev/null +++ b/result/schemas/derivation-ok-restriction-2-1-1_0_0.err @@ -0,0 +1,6 @@ +./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:6: element complexType: Schemas parser error : local complex type, attribute use 'barB_1': The 'optional' attribute use is inconsistent with the corresponding 'required' attribute use of the base complex type definition '{http://FOO}typeA'. +./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:6: element complexType: Schemas parser error : local complex type, attribute use 'barC_1': Neither a matching attribute use, nor a matching wildcard exists in the base complex type definition '{http://FOO}typeA'. +./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:6: element complexType: Schemas parser error : local complex type, attribute use 'barC_2': Neither a matching attribute use, nor a matching wildcard exists in the base complex type definition '{http://FOO}typeA'. +./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:6: element complexType: Schemas parser error : local complex type, attribute use 'barD_1': Neither a matching attribute use, nor a matching wildcard exists in the base complex type definition '{http://FOO}typeA'. +./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:6: element complexType: Schemas parser error : local complex type, attribute use 'barD_2': Neither a matching attribute use, nor a matching wildcard exists in the base complex type definition '{http://FOO}typeA'. +./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:6: element complexType: Schemas parser error : local complex type: A matching attribute use for the 'required' attribute use 'barB_3' of the base complex type definition '{http://FOO}typeA' is missing. diff --git a/result/schemas/derivation-ok-restriction-4-1-err_0_0 b/result/schemas/derivation-ok-restriction-4-1-err_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/derivation-ok-restriction-4-1-err_0_0.err b/result/schemas/derivation-ok-restriction-4-1-err_0_0.err new file mode 100644 index 0000000..72283fb --- /dev/null +++ b/result/schemas/derivation-ok-restriction-4-1-err_0_0.err @@ -0,0 +1,3 @@ +./test/schemas/derivation-ok-restriction-4-1-err_0.xsd:33: element complexType: Schemas parser error : complex type 'type.A': The complex type definition has an attribute wildcard, but the base complex type definition '{http://FOO}base.type.A' does not have one. +./test/schemas/derivation-ok-restriction-4-1-err_0.xsd:45: element complexType: Schemas parser error : complex type 'type.B': The attribute wildcard is not a valid subset of the wildcard in the base complex type definition '{http://FOO}base.type.B'. +./test/schemas/derivation-ok-restriction-4-1-err_0.xsd:65: element complexType: Schemas parser error : complex type 'base.type.C': The {process contents} of the attribute wildcard is weaker than the one in the base complex type definition '{http://FOO}base.type.C'. diff --git a/result/schemas/derivation-restriction-anyAttr_0_0 b/result/schemas/derivation-restriction-anyAttr_0_0 new file mode 100644 index 0000000..4e04176 --- /dev/null +++ b/result/schemas/derivation-restriction-anyAttr_0_0 @@ -0,0 +1 @@ +./test/schemas/derivation-restriction-anyAttr_0.xml validates diff --git a/result/schemas/derivation-restriction-anyAttr_0_0.err b/result/schemas/derivation-restriction-anyAttr_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/deter0_0_0 b/result/schemas/deter0_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/deter0_0_0.err b/result/schemas/deter0_0_0.err new file mode 100644 index 0000000..d2c8b4e --- /dev/null +++ b/result/schemas/deter0_0_0.err @@ -0,0 +1 @@ +./test/schemas/deter0_0.xsd:6: element complexType: Schemas parser error : local complex type: The content model is not determinist. diff --git a/result/schemas/dur_0_0 b/result/schemas/dur_0_0 new file mode 100644 index 0000000..5b3a2c9 --- /dev/null +++ b/result/schemas/dur_0_0 @@ -0,0 +1 @@ +./test/schemas/dur_0.xml validates diff --git a/result/schemas/dur_0_0.err b/result/schemas/dur_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/elem0_0_0 b/result/schemas/elem0_0_0 new file mode 100644 index 0000000..0ab06b4 --- /dev/null +++ b/result/schemas/elem0_0_0 @@ -0,0 +1 @@ +./test/schemas/elem0_0.xml validates diff --git a/result/schemas/elem0_0_0.err b/result/schemas/elem0_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/element-err_0_0 b/result/schemas/element-err_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/element-err_0_0.err b/result/schemas/element-err_0_0.err new file mode 100644 index 0000000..70524f6 --- /dev/null +++ b/result/schemas/element-err_0_0.err @@ -0,0 +1,20 @@ +./test/schemas/element-err_0.xsd:8: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'name' is required but missing. +./test/schemas/element-err_0.xsd:14: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'ref' is not allowed. +./test/schemas/element-err_0.xsd:14: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'minOccurs' is not allowed. +./test/schemas/element-err_0.xsd:14: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'maxOccurs' is not allowed. +./test/schemas/element-err_0.xsd:14: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'form' is not allowed. +./test/schemas/element-err_0.xsd:14: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'final': The value 'fantasy' is not valid. Expected is '(#all | List of (extension | restriction))'. +./test/schemas/element-err_0.xsd:14: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'block': The value 'flute' is not valid. Expected is '(#all | List of (extension | restriction | substitution))'. +./test/schemas/element-err_0.xsd:14: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attributes 'default' and 'fixed' are mutually exclusive. +./test/schemas/element-err_0.xsd:22: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'minOccurs': The value must not be greater than the value of 'maxOccurs'. +./test/schemas/element-err_0.xsd:22: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attributes 'ref' and 'name' are mutually exclusive. +./test/schemas/element-err_0.xsd:22: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'abstract': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'. +./test/schemas/element-err_0.xsd:23: element complexType: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The content is not valid. Expected is (annotation?). +./test/schemas/element-err_0.xsd:30: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'maxOccurs': The value must be greater than or equal to 1. +./test/schemas/element-err_0.xsd:30: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'abstract' is not allowed. +./test/schemas/element-err_0.xsd:30: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'substitutionGroup' is not allowed. +./test/schemas/element-err_0.xsd:30: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'final' is not allowed. +./test/schemas/element-err_0.xsd:30: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'block': The value 'flute' is not valid. Expected is '(#all | List of (extension | restriction | substitution))'. +./test/schemas/element-err_0.xsd:30: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attributes 'default' and 'fixed' are mutually exclusive. +./test/schemas/element-err_0.xsd:31: element complexType: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'type' and the child are mutually exclusive. +./test/schemas/element-err_0.xsd:32: element simpleType: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The content is not valid. Expected is (annotation?, ((simpleType | complexType)?, (unique | key | keyref)*)). diff --git a/result/schemas/element-minmax-err_0_0 b/result/schemas/element-minmax-err_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/element-minmax-err_0_0.err b/result/schemas/element-minmax-err_0_0.err new file mode 100644 index 0000000..e53f3d8 --- /dev/null +++ b/result/schemas/element-minmax-err_0_0.err @@ -0,0 +1 @@ +./test/schemas/element-minmax-err_0.xsd:6: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'maxOccurs': The value must be greater than or equal to 1. diff --git a/result/schemas/empty-value_1_0 b/result/schemas/empty-value_1_0 new file mode 100644 index 0000000..5864557 --- /dev/null +++ b/result/schemas/empty-value_1_0 @@ -0,0 +1 @@ +./test/schemas/empty-value_0.xml validates diff --git a/result/schemas/empty-value_1_0.err b/result/schemas/empty-value_1_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/empty-value_1_1 b/result/schemas/empty-value_1_1 new file mode 100644 index 0000000..2e2d329 --- /dev/null +++ b/result/schemas/empty-value_1_1 @@ -0,0 +1 @@ +./test/schemas/empty-value_1.xml validates diff --git a/result/schemas/empty-value_1_1.err b/result/schemas/empty-value_1_1.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/empty_0_0 b/result/schemas/empty_0_0 new file mode 100644 index 0000000..88fc52b --- /dev/null +++ b/result/schemas/empty_0_0 @@ -0,0 +1 @@ +./test/schemas/empty_0.xml validates diff --git a/result/schemas/empty_0_0.err b/result/schemas/empty_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/empty_1_0 b/result/schemas/empty_1_0 new file mode 100644 index 0000000..88fc52b --- /dev/null +++ b/result/schemas/empty_1_0 @@ -0,0 +1 @@ +./test/schemas/empty_0.xml validates diff --git a/result/schemas/empty_1_0.err b/result/schemas/empty_1_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/extension0_0_0 b/result/schemas/extension0_0_0 new file mode 100644 index 0000000..d3dca7b --- /dev/null +++ b/result/schemas/extension0_0_0 @@ -0,0 +1 @@ +./test/schemas/extension0_0.xml validates diff --git a/result/schemas/extension0_0_0.err b/result/schemas/extension0_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/extension1_0_0 b/result/schemas/extension1_0_0 new file mode 100644 index 0000000..23da9ea --- /dev/null +++ b/result/schemas/extension1_0_0 @@ -0,0 +1 @@ +./test/schemas/extension1_0.xml validates diff --git a/result/schemas/extension1_0_0.err b/result/schemas/extension1_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/extension1_0_1 b/result/schemas/extension1_0_1 new file mode 100644 index 0000000..4a47b86 --- /dev/null +++ b/result/schemas/extension1_0_1 @@ -0,0 +1 @@ +./test/schemas/extension1_1.xml fails to validate diff --git a/result/schemas/extension1_0_1.err b/result/schemas/extension1_0_1.err new file mode 100644 index 0000000..bb5b047 --- /dev/null +++ b/result/schemas/extension1_0_1.err @@ -0,0 +1 @@ +./test/schemas/extension1_1.xml:1: element title: Schemas validity error : Element 'title', attribute 'langue': The attribute 'langue' is not allowed. diff --git a/result/schemas/extension1_0_2 b/result/schemas/extension1_0_2 new file mode 100644 index 0000000..fc8eccc --- /dev/null +++ b/result/schemas/extension1_0_2 @@ -0,0 +1 @@ +./test/schemas/extension1_2.xml fails to validate diff --git a/result/schemas/extension1_0_2.err b/result/schemas/extension1_0_2.err new file mode 100644 index 0000000..161fe9e --- /dev/null +++ b/result/schemas/extension1_0_2.err @@ -0,0 +1 @@ +./test/schemas/extension1_2.xml:1: element title: Schemas validity error : Element 'title': Element content is not allowed, because the content type is a simple type definition. diff --git a/result/schemas/extension2_1_0 b/result/schemas/extension2_1_0 new file mode 100644 index 0000000..88c15aa --- /dev/null +++ b/result/schemas/extension2_1_0 @@ -0,0 +1 @@ +./test/schemas/extension2_0.xml validates diff --git a/result/schemas/extension2_1_0.err b/result/schemas/extension2_1_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/facet-unionST-err1_0_0 b/result/schemas/facet-unionST-err1_0_0 new file mode 100644 index 0000000..baf8280 --- /dev/null +++ b/result/schemas/facet-unionST-err1_0_0 @@ -0,0 +1 @@ +./test/schemas/facet-unionST-err1_0.xml fails to validate diff --git a/result/schemas/facet-unionST-err1_0_0.err b/result/schemas/facet-unionST-err1_0_0.err new file mode 100644 index 0000000..392dbe5 --- /dev/null +++ b/result/schemas/facet-unionST-err1_0_0.err @@ -0,0 +1 @@ +./test/schemas/facet-unionST-err1_0.xml:3: element foo: Schemas validity error : Element '{http://FOO}foo': 'tiny' is not a valid value of the union type '{http://FOO}fooType.B'. diff --git a/result/schemas/facet-whiteSpace_0_0 b/result/schemas/facet-whiteSpace_0_0 new file mode 100644 index 0000000..63276c6 --- /dev/null +++ b/result/schemas/facet-whiteSpace_0_0 @@ -0,0 +1 @@ +./test/schemas/facet-whiteSpace_0.xml validates diff --git a/result/schemas/facet-whiteSpace_0_0.err b/result/schemas/facet-whiteSpace_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/group0_0_0 b/result/schemas/group0_0_0 new file mode 100644 index 0000000..587a74a --- /dev/null +++ b/result/schemas/group0_0_0 @@ -0,0 +1 @@ +./test/schemas/group0_0.xml validates diff --git a/result/schemas/group0_0_0.err b/result/schemas/group0_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/hexbinary_0_0 b/result/schemas/hexbinary_0_0 new file mode 100644 index 0000000..783bab4 --- /dev/null +++ b/result/schemas/hexbinary_0_0 @@ -0,0 +1 @@ +./test/schemas/hexbinary_0.xml validates diff --git a/result/schemas/hexbinary_0_0.err b/result/schemas/hexbinary_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/hexbinary_0_1 b/result/schemas/hexbinary_0_1 new file mode 100644 index 0000000..37b10d1 --- /dev/null +++ b/result/schemas/hexbinary_0_1 @@ -0,0 +1 @@ +./test/schemas/hexbinary_1.xml fails to validate diff --git a/result/schemas/hexbinary_0_1.err b/result/schemas/hexbinary_0_1.err new file mode 100644 index 0000000..f43ef33 --- /dev/null +++ b/result/schemas/hexbinary_0_1.err @@ -0,0 +1,7 @@ +./test/schemas/hexbinary_1.xml:6: element hex: Schemas validity error : Element 'hex': '0' is not a valid value of the atomic type 'xs:hexBinary'. +./test/schemas/hexbinary_1.xml:7: element hex: Schemas validity error : Element 'hex': '0123456789ABCDEFGH' is not a valid value of the atomic type 'xs:hexBinary'. +./test/schemas/hexbinary_1.xml:8: element hex: Schemas validity error : Element 'hex': '+abcdef0123456789' is not a valid value of the atomic type 'xs:hexBinary'. +./test/schemas/hexbinary_1.xml:9: element hex: Schemas validity error : Element 'hex': '-0123456789abcdef' is not a valid value of the atomic type 'xs:hexBinary'. +./test/schemas/hexbinary_1.xml:11: element hex2: Schemas validity error : Element 'hex2': [facet 'maxLength'] The value has a length of '9'; this exceeds the allowed maximum length of '8'. +./test/schemas/hexbinary_1.xml:13: element hex3: Schemas validity error : Element 'hex3': [facet 'length'] The value has a length of '1'; this differs from the allowed length of '2'. +./test/schemas/hexbinary_1.xml:14: element hex3: Schemas validity error : Element 'hex3': [facet 'length'] The value has a length of '3'; this differs from the allowed length of '2'. diff --git a/result/schemas/idc-keyref-err1_1_0 b/result/schemas/idc-keyref-err1_1_0 new file mode 100644 index 0000000..d4333a9 --- /dev/null +++ b/result/schemas/idc-keyref-err1_1_0 @@ -0,0 +1 @@ +./test/schemas/idc-keyref-err1_0.xml fails to validate diff --git a/result/schemas/idc-keyref-err1_1_0.err b/result/schemas/idc-keyref-err1_1_0.err new file mode 100644 index 0000000..8e9cb20 --- /dev/null +++ b/result/schemas/idc-keyref-err1_1_0.err @@ -0,0 +1 @@ +./test/schemas/idc-keyref-err1_0.xml:12: Schemas validity error : Element '{urn:test:foo}Ref': No match found for key-sequence ['L4'] of keyref '{urn:test:foo}LinkKeyRef'. diff --git a/result/schemas/import0_0_0 b/result/schemas/import0_0_0 new file mode 100644 index 0000000..1231800 --- /dev/null +++ b/result/schemas/import0_0_0 @@ -0,0 +1 @@ +./test/schemas/import0_0.xml validates diff --git a/result/schemas/import0_0_0.err b/result/schemas/import0_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/import1_0_0 b/result/schemas/import1_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/import1_0_0.err b/result/schemas/import1_0_0.err new file mode 100644 index 0000000..96f572f --- /dev/null +++ b/result/schemas/import1_0_0.err @@ -0,0 +1,4 @@ +I/O warning : failed to load external entity "test/schemas/import1_0bc.imp" +./test/schemas/import1_0.xsd:11: element import: Schemas parser warning : Element '{http://www.w3.org/2001/XMLSchema}import': Failed to locate a schema at location 'test/schemas/import1_0bc.imp'. Skipping the import. +./test/schemas/import1_0.xsd:16: element import: Schemas parser warning : Element '{http://www.w3.org/2001/XMLSchema}import': Skipping import of schema located at 'test/schemas/import1_0b.imp' for the namespace 'http://BAR', since this namespace was already imported with the schema located at 'test/schemas/import1_0.imp'. +./test/schemas/import1_0.xsd:26: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'ref': The QName value '{http://BAR}bar.B' does not resolve to a(n) element declaration. diff --git a/result/schemas/import2_0_0 b/result/schemas/import2_0_0 new file mode 100644 index 0000000..2960b48 --- /dev/null +++ b/result/schemas/import2_0_0 @@ -0,0 +1 @@ +./test/schemas/import2_0.xml validates diff --git a/result/schemas/import2_0_0.err b/result/schemas/import2_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/include1_0_0 b/result/schemas/include1_0_0 new file mode 100644 index 0000000..8ba8a2e --- /dev/null +++ b/result/schemas/include1_0_0 @@ -0,0 +1 @@ +./test/schemas/include1_0.xml validates diff --git a/result/schemas/include1_0_0.err b/result/schemas/include1_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/include2_0_0 b/result/schemas/include2_0_0 new file mode 100644 index 0000000..7aea2b0 --- /dev/null +++ b/result/schemas/include2_0_0 @@ -0,0 +1 @@ +./test/schemas/include2_0.xml validates diff --git a/result/schemas/include2_0_0.err b/result/schemas/include2_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/include3_0_0 b/result/schemas/include3_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/include3_0_0.err b/result/schemas/include3_0_0.err new file mode 100644 index 0000000..27bb5d0 --- /dev/null +++ b/result/schemas/include3_0_0.err @@ -0,0 +1 @@ +test/schemas/include3_0.inc:4: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': A global element declaration '{http://FOO}bar' does already exist. diff --git a/result/schemas/issue40_0_0 b/result/schemas/issue40_0_0 new file mode 100755 index 0000000..73c9e69 --- /dev/null +++ b/result/schemas/issue40_0_0 @@ -0,0 +1 @@ +./test/schemas/issue40_0.xml validates diff --git a/result/schemas/issue40_0_0.err b/result/schemas/issue40_0_0.err new file mode 100755 index 0000000..e69de29 diff --git a/result/schemas/item_0_0 b/result/schemas/item_0_0 new file mode 100644 index 0000000..90fa561 --- /dev/null +++ b/result/schemas/item_0_0 @@ -0,0 +1 @@ +./test/schemas/item_0.xml validates diff --git a/result/schemas/item_0_0.err b/result/schemas/item_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/item_1_0 b/result/schemas/item_1_0 new file mode 100644 index 0000000..90fa561 --- /dev/null +++ b/result/schemas/item_1_0 @@ -0,0 +1 @@ +./test/schemas/item_0.xml validates diff --git a/result/schemas/item_1_0.err b/result/schemas/item_1_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/length1_0_0 b/result/schemas/length1_0_0 new file mode 100644 index 0000000..58cbe24 --- /dev/null +++ b/result/schemas/length1_0_0 @@ -0,0 +1 @@ +./test/schemas/length1_0.xml validates diff --git a/result/schemas/length1_0_0.err b/result/schemas/length1_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/length2_0_0 b/result/schemas/length2_0_0 new file mode 100644 index 0000000..4fd27d6 --- /dev/null +++ b/result/schemas/length2_0_0 @@ -0,0 +1 @@ +./test/schemas/length2_0.xml validates diff --git a/result/schemas/length2_0_0.err b/result/schemas/length2_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/length3_0_0 b/result/schemas/length3_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/length3_0_0.err b/result/schemas/length3_0_0.err new file mode 100644 index 0000000..65afcd7 --- /dev/null +++ b/result/schemas/length3_0_0.err @@ -0,0 +1 @@ +./test/schemas/length3_0.xsd:5: element element: Schemas parser error : element decl. 'size', attribute 'type': The QName value '{http://www.w3.org/2001/XMLSchema}non-positive-integer' does not resolve to a(n) type definition. diff --git a/result/schemas/list0_0_0 b/result/schemas/list0_0_0 new file mode 100644 index 0000000..37a2cdc --- /dev/null +++ b/result/schemas/list0_0_0 @@ -0,0 +1 @@ +./test/schemas/list0_0.xml validates diff --git a/result/schemas/list0_0_0.err b/result/schemas/list0_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/list0_0_1 b/result/schemas/list0_0_1 new file mode 100644 index 0000000..da757f6 --- /dev/null +++ b/result/schemas/list0_0_1 @@ -0,0 +1 @@ +./test/schemas/list0_1.xml fails to validate diff --git a/result/schemas/list0_0_1.err b/result/schemas/list0_0_1.err new file mode 100644 index 0000000..7a3b63b --- /dev/null +++ b/result/schemas/list0_0_1.err @@ -0,0 +1 @@ +./test/schemas/list0_1.xml:1: element test: Schemas validity error : Element 'test': Missing child element(s). Expected is ( string ). diff --git a/result/schemas/list0_0_2 b/result/schemas/list0_0_2 new file mode 100644 index 0000000..0ec6237 --- /dev/null +++ b/result/schemas/list0_0_2 @@ -0,0 +1 @@ +./test/schemas/list0_2.xml validates diff --git a/result/schemas/list0_0_2.err b/result/schemas/list0_0_2.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/list0_1_0 b/result/schemas/list0_1_0 new file mode 100644 index 0000000..2cf9806 --- /dev/null +++ b/result/schemas/list0_1_0 @@ -0,0 +1 @@ +./test/schemas/list0_0.xml fails to validate diff --git a/result/schemas/list0_1_0.err b/result/schemas/list0_1_0.err new file mode 100644 index 0000000..0bc3c8a --- /dev/null +++ b/result/schemas/list0_1_0.err @@ -0,0 +1 @@ +./test/schemas/list0_0.xml:5: element string: Schemas validity error : Element 'string': This element is not expected. diff --git a/result/schemas/list0_1_1 b/result/schemas/list0_1_1 new file mode 100644 index 0000000..da757f6 --- /dev/null +++ b/result/schemas/list0_1_1 @@ -0,0 +1 @@ +./test/schemas/list0_1.xml fails to validate diff --git a/result/schemas/list0_1_1.err b/result/schemas/list0_1_1.err new file mode 100644 index 0000000..7a3b63b --- /dev/null +++ b/result/schemas/list0_1_1.err @@ -0,0 +1 @@ +./test/schemas/list0_1.xml:1: element test: Schemas validity error : Element 'test': Missing child element(s). Expected is ( string ). diff --git a/result/schemas/list0_1_2 b/result/schemas/list0_1_2 new file mode 100644 index 0000000..0ec6237 --- /dev/null +++ b/result/schemas/list0_1_2 @@ -0,0 +1 @@ +./test/schemas/list0_2.xml validates diff --git a/result/schemas/list0_1_2.err b/result/schemas/list0_1_2.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/mixed0_0_0 b/result/schemas/mixed0_0_0 new file mode 100644 index 0000000..bd2f0ed --- /dev/null +++ b/result/schemas/mixed0_0_0 @@ -0,0 +1 @@ +./test/schemas/mixed0_0.xml validates diff --git a/result/schemas/mixed0_0_0.err b/result/schemas/mixed0_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/mixed1_0_0 b/result/schemas/mixed1_0_0 new file mode 100644 index 0000000..e9a6b01 --- /dev/null +++ b/result/schemas/mixed1_0_0 @@ -0,0 +1 @@ +./test/schemas/mixed1_0.xml validates diff --git a/result/schemas/mixed1_0_0.err b/result/schemas/mixed1_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/ns0_0_0 b/result/schemas/ns0_0_0 new file mode 100644 index 0000000..44d1d44 --- /dev/null +++ b/result/schemas/ns0_0_0 @@ -0,0 +1 @@ +./test/schemas/ns0_0.xml validates diff --git a/result/schemas/ns0_0_0.err b/result/schemas/ns0_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/ns0_0_1 b/result/schemas/ns0_0_1 new file mode 100644 index 0000000..2110249 --- /dev/null +++ b/result/schemas/ns0_0_1 @@ -0,0 +1 @@ +./test/schemas/ns0_1.xml validates diff --git a/result/schemas/ns0_0_1.err b/result/schemas/ns0_0_1.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/ns0_0_2 b/result/schemas/ns0_0_2 new file mode 100644 index 0000000..03e85f7 --- /dev/null +++ b/result/schemas/ns0_0_2 @@ -0,0 +1 @@ +./test/schemas/ns0_2.xml fails to validate diff --git a/result/schemas/ns0_0_2.err b/result/schemas/ns0_0_2.err new file mode 100644 index 0000000..346af26 --- /dev/null +++ b/result/schemas/ns0_0_2.err @@ -0,0 +1 @@ +./test/schemas/ns0_2.xml:1: element foo: Schemas validity error : Element 'foo': No matching global declaration available for the validation root. diff --git a/result/schemas/ns0_0_3 b/result/schemas/ns0_0_3 new file mode 100644 index 0000000..473206c --- /dev/null +++ b/result/schemas/ns0_0_3 @@ -0,0 +1 @@ +./test/schemas/ns0_3.xml fails to validate diff --git a/result/schemas/ns0_0_3.err b/result/schemas/ns0_0_3.err new file mode 100644 index 0000000..fd1cbd5 --- /dev/null +++ b/result/schemas/ns0_0_3.err @@ -0,0 +1 @@ +./test/schemas/ns0_3.xml:1: element foo: Schemas validity error : Element '{http://example.com/xsd/ns}foo', attribute '{http://example.com/xsd/ns}id': The attribute '{http://example.com/xsd/ns}id' is not allowed. diff --git a/result/schemas/ns0_0_4 b/result/schemas/ns0_0_4 new file mode 100644 index 0000000..f10f45e --- /dev/null +++ b/result/schemas/ns0_0_4 @@ -0,0 +1 @@ +./test/schemas/ns0_4.xml fails to validate diff --git a/result/schemas/ns0_0_4.err b/result/schemas/ns0_0_4.err new file mode 100644 index 0000000..2512e8d --- /dev/null +++ b/result/schemas/ns0_0_4.err @@ -0,0 +1 @@ +./test/schemas/ns0_4.xml:2: element foo: Schemas validity error : Element '{http://example.com/xsd/ns}foo', attribute '{http://example.com/xsd/ns}id': The attribute '{http://example.com/xsd/ns}id' is not allowed. diff --git a/result/schemas/ns0_1_0 b/result/schemas/ns0_1_0 new file mode 100644 index 0000000..9ba0471 --- /dev/null +++ b/result/schemas/ns0_1_0 @@ -0,0 +1 @@ +./test/schemas/ns0_0.xml fails to validate diff --git a/result/schemas/ns0_1_0.err b/result/schemas/ns0_1_0.err new file mode 100644 index 0000000..1282888 --- /dev/null +++ b/result/schemas/ns0_1_0.err @@ -0,0 +1 @@ +./test/schemas/ns0_0.xml:1: element foo: Schemas validity error : Element '{http://example.com/xsd/ns}foo', attribute 'id': The attribute 'id' is not allowed. diff --git a/result/schemas/ns0_1_1 b/result/schemas/ns0_1_1 new file mode 100644 index 0000000..9f464de --- /dev/null +++ b/result/schemas/ns0_1_1 @@ -0,0 +1 @@ +./test/schemas/ns0_1.xml fails to validate diff --git a/result/schemas/ns0_1_1.err b/result/schemas/ns0_1_1.err new file mode 100644 index 0000000..99b2880 --- /dev/null +++ b/result/schemas/ns0_1_1.err @@ -0,0 +1 @@ +./test/schemas/ns0_1.xml:1: element foo: Schemas validity error : Element '{http://example.com/xsd/ns}foo', attribute 'id': The attribute 'id' is not allowed. diff --git a/result/schemas/ns0_1_2 b/result/schemas/ns0_1_2 new file mode 100644 index 0000000..03e85f7 --- /dev/null +++ b/result/schemas/ns0_1_2 @@ -0,0 +1 @@ +./test/schemas/ns0_2.xml fails to validate diff --git a/result/schemas/ns0_1_2.err b/result/schemas/ns0_1_2.err new file mode 100644 index 0000000..346af26 --- /dev/null +++ b/result/schemas/ns0_1_2.err @@ -0,0 +1 @@ +./test/schemas/ns0_2.xml:1: element foo: Schemas validity error : Element 'foo': No matching global declaration available for the validation root. diff --git a/result/schemas/ns0_1_3 b/result/schemas/ns0_1_3 new file mode 100644 index 0000000..1fc8772 --- /dev/null +++ b/result/schemas/ns0_1_3 @@ -0,0 +1 @@ +./test/schemas/ns0_3.xml validates diff --git a/result/schemas/ns0_1_3.err b/result/schemas/ns0_1_3.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/ns0_1_4 b/result/schemas/ns0_1_4 new file mode 100644 index 0000000..7374ebf --- /dev/null +++ b/result/schemas/ns0_1_4 @@ -0,0 +1 @@ +./test/schemas/ns0_4.xml validates diff --git a/result/schemas/ns0_1_4.err b/result/schemas/ns0_1_4.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/ns1_0_0 b/result/schemas/ns1_0_0 new file mode 100644 index 0000000..ffcfb6c --- /dev/null +++ b/result/schemas/ns1_0_0 @@ -0,0 +1 @@ +./test/schemas/ns1_0.xml validates diff --git a/result/schemas/ns1_0_0.err b/result/schemas/ns1_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/ns2_0_0 b/result/schemas/ns2_0_0 new file mode 100644 index 0000000..b2c181e --- /dev/null +++ b/result/schemas/ns2_0_0 @@ -0,0 +1 @@ +./test/schemas/ns2_0.xml validates diff --git a/result/schemas/ns2_0_0.err b/result/schemas/ns2_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/nvdcve_0_0 b/result/schemas/nvdcve_0_0 new file mode 100644 index 0000000..18e7c7c --- /dev/null +++ b/result/schemas/nvdcve_0_0 @@ -0,0 +1 @@ +./test/schemas/nvdcve_0.xml validates diff --git a/result/schemas/nvdcve_0_0.err b/result/schemas/nvdcve_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/po0_0_0 b/result/schemas/po0_0_0 new file mode 100644 index 0000000..9687b9d --- /dev/null +++ b/result/schemas/po0_0_0 @@ -0,0 +1 @@ +./test/schemas/po0_0.xml validates diff --git a/result/schemas/po0_0_0.err b/result/schemas/po0_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/po1_0_0 b/result/schemas/po1_0_0 new file mode 100644 index 0000000..2c264ce --- /dev/null +++ b/result/schemas/po1_0_0 @@ -0,0 +1 @@ +./test/schemas/po1_0.xml validates diff --git a/result/schemas/po1_0_0.err b/result/schemas/po1_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/poschargrp0_0_0 b/result/schemas/poschargrp0_0_0 new file mode 100644 index 0000000..de14f4d --- /dev/null +++ b/result/schemas/poschargrp0_0_0 @@ -0,0 +1 @@ +./test/schemas/poschargrp0_0.xml validates diff --git a/result/schemas/poschargrp0_0_0.err b/result/schemas/poschargrp0_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/regexp-char-ref_0_0 b/result/schemas/regexp-char-ref_0_0 new file mode 100644 index 0000000..40ceb7f --- /dev/null +++ b/result/schemas/regexp-char-ref_0_0 @@ -0,0 +1 @@ +./test/schemas/regexp-char-ref_0.xml validates diff --git a/result/schemas/regexp-char-ref_0_0.err b/result/schemas/regexp-char-ref_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/regexp-char-ref_1_0 b/result/schemas/regexp-char-ref_1_0 new file mode 100644 index 0000000..40ceb7f --- /dev/null +++ b/result/schemas/regexp-char-ref_1_0 @@ -0,0 +1 @@ +./test/schemas/regexp-char-ref_0.xml validates diff --git a/result/schemas/regexp-char-ref_1_0.err b/result/schemas/regexp-char-ref_1_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/restrict-CT-attr-ref_0_0 b/result/schemas/restrict-CT-attr-ref_0_0 new file mode 100644 index 0000000..77dba75 --- /dev/null +++ b/result/schemas/restrict-CT-attr-ref_0_0 @@ -0,0 +1 @@ +./test/schemas/restrict-CT-attr-ref_0.xml validates diff --git a/result/schemas/restrict-CT-attr-ref_0_0.err b/result/schemas/restrict-CT-attr-ref_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/restriction-attr1_0_0 b/result/schemas/restriction-attr1_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/restriction-attr1_0_0.err b/result/schemas/restriction-attr1_0_0.err new file mode 100644 index 0000000..cdf003d --- /dev/null +++ b/result/schemas/restriction-attr1_0_0.err @@ -0,0 +1 @@ +./test/schemas/restriction-attr1_0.xsd:5: element complexType: Schemas parser error : local complex type, attribute use 'barA': The 'optional' attribute use is inconsistent with the corresponding 'required' attribute use of the base complex type definition '{http://FOO}typeA'. diff --git a/result/schemas/restriction-enum-1_1_0 b/result/schemas/restriction-enum-1_1_0 new file mode 100644 index 0000000..68e26cf --- /dev/null +++ b/result/schemas/restriction-enum-1_1_0 @@ -0,0 +1 @@ +./test/schemas/restriction-enum-1_0.xml fails to validate diff --git a/result/schemas/restriction-enum-1_1_0.err b/result/schemas/restriction-enum-1_1_0.err new file mode 100644 index 0000000..42dee61 --- /dev/null +++ b/result/schemas/restriction-enum-1_1_0.err @@ -0,0 +1 @@ +./test/schemas/restriction-enum-1_0.xml:7: element foo: Schemas validity error : Element 'foo': [facet 'enumeration'] The value 'c' is not an element of the set {'a', 'b', 'd'}. diff --git a/result/schemas/restriction0_0_0 b/result/schemas/restriction0_0_0 new file mode 100644 index 0000000..16ef2bc --- /dev/null +++ b/result/schemas/restriction0_0_0 @@ -0,0 +1 @@ +./test/schemas/restriction0_0.xml validates diff --git a/result/schemas/restriction0_0_0.err b/result/schemas/restriction0_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/scc-no-xmlns_0_0 b/result/schemas/scc-no-xmlns_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/scc-no-xmlns_0_0.err b/result/schemas/scc-no-xmlns_0_0.err new file mode 100644 index 0000000..aad2b68 --- /dev/null +++ b/result/schemas/scc-no-xmlns_0_0.err @@ -0,0 +1 @@ +./test/schemas/scc-no-xmlns_0.xsd:7: element attribute: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}attribute', attribute 'name': The value of the attribute must not match 'xmlns'. diff --git a/result/schemas/scc-no-xsi_0_0 b/result/schemas/scc-no-xsi_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/scc-no-xsi_0_0.err b/result/schemas/scc-no-xsi_0_0.err new file mode 100644 index 0000000..e04e3e4 --- /dev/null +++ b/result/schemas/scc-no-xsi_0_0.err @@ -0,0 +1 @@ +./test/schemas/scc-no-xsi_0.xsd:7: element attribute: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}attribute': The target namespace must not match 'http://www.w3.org/2001/XMLSchema-instance'. diff --git a/result/schemas/seq-dubl-elem1_0_0 b/result/schemas/seq-dubl-elem1_0_0 new file mode 100644 index 0000000..466d3a8 --- /dev/null +++ b/result/schemas/seq-dubl-elem1_0_0 @@ -0,0 +1 @@ +./test/schemas/seq-dubl-elem1_0.xml validates diff --git a/result/schemas/seq-dubl-elem1_0_0.err b/result/schemas/seq-dubl-elem1_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/seq0_0_0 b/result/schemas/seq0_0_0 new file mode 100644 index 0000000..d4c8431 --- /dev/null +++ b/result/schemas/seq0_0_0 @@ -0,0 +1 @@ +./test/schemas/seq0_0.xml validates diff --git a/result/schemas/seq0_0_0.err b/result/schemas/seq0_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/src-attribute1_0_0 b/result/schemas/src-attribute1_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/src-attribute1_0_0.err b/result/schemas/src-attribute1_0_0.err new file mode 100644 index 0000000..368d97c --- /dev/null +++ b/result/schemas/src-attribute1_0_0.err @@ -0,0 +1 @@ +./test/schemas/src-attribute1_0.xsd:9: element attribute: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}attribute': The attributes 'default' and 'fixed' are mutually exclusive. diff --git a/result/schemas/src-attribute2_0_0 b/result/schemas/src-attribute2_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/src-attribute2_0_0.err b/result/schemas/src-attribute2_0_0.err new file mode 100644 index 0000000..ac6df6f --- /dev/null +++ b/result/schemas/src-attribute2_0_0.err @@ -0,0 +1 @@ +./test/schemas/src-attribute2_0.xsd:9: element attribute: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}attribute': The value of the attribute 'use' must be 'optional' if the attribute 'default' is present. diff --git a/result/schemas/src-attribute3-1_0_0 b/result/schemas/src-attribute3-1_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/src-attribute3-1_0_0.err b/result/schemas/src-attribute3-1_0_0.err new file mode 100644 index 0000000..3345b3c --- /dev/null +++ b/result/schemas/src-attribute3-1_0_0.err @@ -0,0 +1 @@ +./test/schemas/src-attribute3-1_0.xsd:9: element attribute: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}attribute': The attribute 'name' is not allowed. diff --git a/result/schemas/src-attribute3-2-form_0_0 b/result/schemas/src-attribute3-2-form_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/src-attribute3-2-form_0_0.err b/result/schemas/src-attribute3-2-form_0_0.err new file mode 100644 index 0000000..ad3667b --- /dev/null +++ b/result/schemas/src-attribute3-2-form_0_0.err @@ -0,0 +1 @@ +./test/schemas/src-attribute3-2-form_0.xsd:10: element attribute: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}attribute': The attribute 'form' is not allowed. diff --git a/result/schemas/src-attribute3-2-st_0_0 b/result/schemas/src-attribute3-2-st_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/src-attribute3-2-st_0_0.err b/result/schemas/src-attribute3-2-st_0_0.err new file mode 100644 index 0000000..ae85e0a --- /dev/null +++ b/result/schemas/src-attribute3-2-st_0_0.err @@ -0,0 +1 @@ +./test/schemas/src-attribute3-2-st_0.xsd:11: element simpleType: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}attribute': The content is not valid. Expected is (annotation?). diff --git a/result/schemas/src-attribute3-2-type_0_0 b/result/schemas/src-attribute3-2-type_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/src-attribute3-2-type_0_0.err b/result/schemas/src-attribute3-2-type_0_0.err new file mode 100644 index 0000000..50016d8 --- /dev/null +++ b/result/schemas/src-attribute3-2-type_0_0.err @@ -0,0 +1 @@ +./test/schemas/src-attribute3-2-type_0.xsd:10: element attribute: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}attribute': The attribute 'type' is not allowed. diff --git a/result/schemas/src-attribute4_0_0 b/result/schemas/src-attribute4_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/src-attribute4_0_0.err b/result/schemas/src-attribute4_0_0.err new file mode 100644 index 0000000..cac6718 --- /dev/null +++ b/result/schemas/src-attribute4_0_0.err @@ -0,0 +1 @@ +./test/schemas/src-attribute4_0.xsd:8: element simpleType: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}attribute': The attribute 'type' and the child are mutually exclusive. diff --git a/result/schemas/src-element1_0_0 b/result/schemas/src-element1_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/src-element1_0_0.err b/result/schemas/src-element1_0_0.err new file mode 100644 index 0000000..9d8b198 --- /dev/null +++ b/result/schemas/src-element1_0_0.err @@ -0,0 +1 @@ +./test/schemas/src-element1_0.xsd:7: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attributes 'default' and 'fixed' are mutually exclusive. diff --git a/result/schemas/src-element2-1_0_0 b/result/schemas/src-element2-1_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/src-element2-1_0_0.err b/result/schemas/src-element2-1_0_0.err new file mode 100644 index 0000000..01d89d6 --- /dev/null +++ b/result/schemas/src-element2-1_0_0.err @@ -0,0 +1 @@ +./test/schemas/src-element2-1_0.xsd:12: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attributes 'ref' and 'name' are mutually exclusive. diff --git a/result/schemas/src-element2-2_0_0 b/result/schemas/src-element2-2_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/src-element2-2_0_0.err b/result/schemas/src-element2-2_0_0.err new file mode 100644 index 0000000..90cd79a --- /dev/null +++ b/result/schemas/src-element2-2_0_0.err @@ -0,0 +1,9 @@ +./test/schemas/src-element2-2_0.xsd:18: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'maxOccurs': The value must be greater than or equal to 1. +./test/schemas/src-element2-2_0.xsd:23: element complexType: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The content is not valid. Expected is (annotation?). +./test/schemas/src-element2-2_0.xsd:29: element simpleType: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The content is not valid. Expected is (annotation?). +./test/schemas/src-element2-2_0.xsd:36: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'type': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'. +./test/schemas/src-element2-2_0.xsd:37: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'nillable': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'. +./test/schemas/src-element2-2_0.xsd:38: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'default': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'. +./test/schemas/src-element2-2_0.xsd:39: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'fixed': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'. +./test/schemas/src-element2-2_0.xsd:40: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'form': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'. +./test/schemas/src-element2-2_0.xsd:41: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'block': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'. diff --git a/result/schemas/src-element3_0_0 b/result/schemas/src-element3_0_0 new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/src-element3_0_0.err b/result/schemas/src-element3_0_0.err new file mode 100644 index 0000000..b8bd817 --- /dev/null +++ b/result/schemas/src-element3_0_0.err @@ -0,0 +1,2 @@ +./test/schemas/src-element3_0.xsd:8: element complexType: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'type' and the child are mutually exclusive. +./test/schemas/src-element3_0.xsd:16: element simpleType: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': The attribute 'type' and the child are mutually exclusive. diff --git a/result/schemas/subst-group-1_0_1 b/result/schemas/subst-group-1_0_1 new file mode 100644 index 0000000..0775cdd --- /dev/null +++ b/result/schemas/subst-group-1_0_1 @@ -0,0 +1 @@ +./test/schemas/subst-group-1_1.xml validates diff --git a/result/schemas/subst-group-1_0_1.err b/result/schemas/subst-group-1_0_1.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/union2_1_1 b/result/schemas/union2_1_1 new file mode 100644 index 0000000..0d4ee15 --- /dev/null +++ b/result/schemas/union2_1_1 @@ -0,0 +1 @@ +./test/schemas/union2_1.xml fails to validate diff --git a/result/schemas/union2_1_1.err b/result/schemas/union2_1_1.err new file mode 100644 index 0000000..a66ad59 --- /dev/null +++ b/result/schemas/union2_1_1.err @@ -0,0 +1,3 @@ +./test/schemas/union2_1.xml:4: element ELEMENTS: Schemas validity error : Element '{urn:test:foo}ELEMENTS': ' + 5 +' is not a valid value of the local union type. diff --git a/result/schemas/union_0_0 b/result/schemas/union_0_0 new file mode 100644 index 0000000..3dbc861 --- /dev/null +++ b/result/schemas/union_0_0 @@ -0,0 +1 @@ +./test/schemas/union_0_0.xml validates diff --git a/result/schemas/union_0_0.err b/result/schemas/union_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/vdv-first0_0_0 b/result/schemas/vdv-first0_0_0 new file mode 100644 index 0000000..6d39ecb --- /dev/null +++ b/result/schemas/vdv-first0_0_0 @@ -0,0 +1 @@ +./test/schemas/vdv-first0_0.xml validates diff --git a/result/schemas/vdv-first0_0_0.err b/result/schemas/vdv-first0_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/vdv-first1_0_0 b/result/schemas/vdv-first1_0_0 new file mode 100644 index 0000000..54f4b15 --- /dev/null +++ b/result/schemas/vdv-first1_0_0 @@ -0,0 +1 @@ +./test/schemas/vdv-first1_0.xml validates diff --git a/result/schemas/vdv-first1_0_0.err b/result/schemas/vdv-first1_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/vdv-first2_0_0 b/result/schemas/vdv-first2_0_0 new file mode 100644 index 0000000..7430eda --- /dev/null +++ b/result/schemas/vdv-first2_0_0 @@ -0,0 +1 @@ +./test/schemas/vdv-first2_0.xml validates diff --git a/result/schemas/vdv-first2_0_0.err b/result/schemas/vdv-first2_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/vdv-first3_0_0 b/result/schemas/vdv-first3_0_0 new file mode 100644 index 0000000..943e3e1 --- /dev/null +++ b/result/schemas/vdv-first3_0_0 @@ -0,0 +1 @@ +./test/schemas/vdv-first3_0.xml validates diff --git a/result/schemas/vdv-first3_0_0.err b/result/schemas/vdv-first3_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/vdv-first4_0_0 b/result/schemas/vdv-first4_0_0 new file mode 100644 index 0000000..bfa9b29 --- /dev/null +++ b/result/schemas/vdv-first4_0_0 @@ -0,0 +1 @@ +./test/schemas/vdv-first4_0.xml validates diff --git a/result/schemas/vdv-first4_0_0.err b/result/schemas/vdv-first4_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/vdv-first4_0_1 b/result/schemas/vdv-first4_0_1 new file mode 100644 index 0000000..19a7ac1 --- /dev/null +++ b/result/schemas/vdv-first4_0_1 @@ -0,0 +1 @@ +./test/schemas/vdv-first4_1.xml fails to validate diff --git a/result/schemas/vdv-first4_0_1.err b/result/schemas/vdv-first4_0_1.err new file mode 100644 index 0000000..1b964b2 --- /dev/null +++ b/result/schemas/vdv-first4_0_1.err @@ -0,0 +1 @@ +./test/schemas/vdv-first4_1.xml:14: element born: Schemas validity error : Element 'born': '196T6-08-22' is not a valid value of the atomic type 'date'. diff --git a/result/schemas/vdv-first4_0_2 b/result/schemas/vdv-first4_0_2 new file mode 100644 index 0000000..fb59b67 --- /dev/null +++ b/result/schemas/vdv-first4_0_2 @@ -0,0 +1 @@ +./test/schemas/vdv-first4_2.xml fails to validate diff --git a/result/schemas/vdv-first4_0_2.err b/result/schemas/vdv-first4_0_2.err new file mode 100644 index 0000000..0a49faa --- /dev/null +++ b/result/schemas/vdv-first4_0_2.err @@ -0,0 +1 @@ +./test/schemas/vdv-first4_2.xml:24: element born: Schemas validity error : Element 'born': [facet 'pattern'] The value '2000-01-20Z' is not accepted by the pattern '[^:Z]*'. diff --git a/result/schemas/vdv-first5_0_0 b/result/schemas/vdv-first5_0_0 new file mode 100644 index 0000000..3f09315 --- /dev/null +++ b/result/schemas/vdv-first5_0_0 @@ -0,0 +1 @@ +./test/schemas/vdv-first5_0.xml validates diff --git a/result/schemas/vdv-first5_0_0.err b/result/schemas/vdv-first5_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/xsd-list-itemType_0_0 b/result/schemas/xsd-list-itemType_0_0 new file mode 100644 index 0000000..5ecd885 --- /dev/null +++ b/result/schemas/xsd-list-itemType_0_0 @@ -0,0 +1 @@ +./test/schemas/xsd-list-itemType_0.xml validates diff --git a/result/schemas/xsd-list-itemType_0_0.err b/result/schemas/xsd-list-itemType_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schemas/xsd-simpleType-varieties_0_0 b/result/schemas/xsd-simpleType-varieties_0_0 new file mode 100644 index 0000000..a66506a --- /dev/null +++ b/result/schemas/xsd-simpleType-varieties_0_0 @@ -0,0 +1 @@ +./test/schemas/xsd-simpleType-varieties_0.xml validates diff --git a/result/schemas/xsd-simpleType-varieties_0_0.err b/result/schemas/xsd-simpleType-varieties_0_0.err new file mode 100644 index 0000000..e69de29 diff --git a/result/schematron/zvon10_0 b/result/schematron/zvon10_0 new file mode 100644 index 0000000..9aae4b1 --- /dev/null +++ b/result/schematron/zvon10_0 @@ -0,0 +1,4 @@ + + + + diff --git a/result/schematron/zvon10_0.err b/result/schematron/zvon10_0.err new file mode 100644 index 0000000..524ecd8 --- /dev/null +++ b/result/schematron/zvon10_0.err @@ -0,0 +1,5 @@ +Pattern: Open model +/AAA line 1: CCC element is not present +Pattern: Closed model +/AAA line 1: CCC element is not present +./test/schematron/zvon10_0.xml fails to validate diff --git a/result/schematron/zvon10_1 b/result/schematron/zvon10_1 new file mode 100644 index 0000000..d82353a --- /dev/null +++ b/result/schematron/zvon10_1 @@ -0,0 +1,5 @@ + + + + + diff --git a/result/schematron/zvon10_1.err b/result/schematron/zvon10_1.err new file mode 100644 index 0000000..9bc361c --- /dev/null +++ b/result/schematron/zvon10_1.err @@ -0,0 +1,6 @@ +Pattern: Open model +/AAA line 1: CCC element is not present +Pattern: Closed model +/AAA line 1: CCC element is not present +/AAA line 1: There is an extra element +./test/schematron/zvon10_1.xml fails to validate diff --git a/result/schematron/zvon11_0 b/result/schematron/zvon11_0 new file mode 100644 index 0000000..49c8005 --- /dev/null +++ b/result/schematron/zvon11_0 @@ -0,0 +1,4 @@ + + + + diff --git a/result/schematron/zvon11_0.err b/result/schematron/zvon11_0.err new file mode 100644 index 0000000..ab4aa74 --- /dev/null +++ b/result/schematron/zvon11_0.err @@ -0,0 +1,2 @@ +Pattern: Attributes present +./test/schematron/zvon11_0.xml validates diff --git a/result/schematron/zvon11_1 b/result/schematron/zvon11_1 new file mode 100644 index 0000000..a5328e0 --- /dev/null +++ b/result/schematron/zvon11_1 @@ -0,0 +1,4 @@ + + + + diff --git a/result/schematron/zvon11_1.err b/result/schematron/zvon11_1.err new file mode 100644 index 0000000..c1ae243 --- /dev/null +++ b/result/schematron/zvon11_1.err @@ -0,0 +1,3 @@ +Pattern: Attributes present +/AAA/BBB line 2: The element must not have an isolated bbb attribute +./test/schematron/zvon11_1.xml fails to validate diff --git a/result/schematron/zvon11_2 b/result/schematron/zvon11_2 new file mode 100644 index 0000000..673a7af --- /dev/null +++ b/result/schematron/zvon11_2 @@ -0,0 +1,4 @@ + + + + diff --git a/result/schematron/zvon11_2.err b/result/schematron/zvon11_2.err new file mode 100644 index 0000000..35117f7 --- /dev/null +++ b/result/schematron/zvon11_2.err @@ -0,0 +1,3 @@ +Pattern: Attributes present +/AAA/BBB line 2: The element must not have an isolated aaa attribute +./test/schematron/zvon11_2.xml fails to validate diff --git a/result/schematron/zvon11_3 b/result/schematron/zvon11_3 new file mode 100644 index 0000000..9aae4b1 --- /dev/null +++ b/result/schematron/zvon11_3 @@ -0,0 +1,4 @@ + + + + diff --git a/result/schematron/zvon11_3.err b/result/schematron/zvon11_3.err new file mode 100644 index 0000000..18517e5 --- /dev/null +++ b/result/schematron/zvon11_3.err @@ -0,0 +1,2 @@ +Pattern: Attributes present +./test/schematron/zvon11_3.xml validates diff --git a/result/schematron/zvon12_0 b/result/schematron/zvon12_0 new file mode 100644 index 0000000..7220804 --- /dev/null +++ b/result/schematron/zvon12_0 @@ -0,0 +1,4 @@ + + + + diff --git a/result/schematron/zvon12_0.err b/result/schematron/zvon12_0.err new file mode 100644 index 0000000..c7e9ed2 --- /dev/null +++ b/result/schematron/zvon12_0.err @@ -0,0 +1,3 @@ +Pattern: Number of characters in an abbreviation +/AAA/BBB line 2: There is not enough letters in the abbreviation +./test/schematron/zvon12_0.xml fails to validate diff --git a/result/schematron/zvon12_1 b/result/schematron/zvon12_1 new file mode 100644 index 0000000..362de34 --- /dev/null +++ b/result/schematron/zvon12_1 @@ -0,0 +1,4 @@ + + + + diff --git a/result/schematron/zvon12_1.err b/result/schematron/zvon12_1.err new file mode 100644 index 0000000..486c0be --- /dev/null +++ b/result/schematron/zvon12_1.err @@ -0,0 +1,2 @@ +Pattern: Number of characters in an abbreviation +./test/schematron/zvon12_1.xml validates diff --git a/result/schematron/zvon12_2 b/result/schematron/zvon12_2 new file mode 100644 index 0000000..bbbf7c7 --- /dev/null +++ b/result/schematron/zvon12_2 @@ -0,0 +1,4 @@ + + + + diff --git a/result/schematron/zvon12_2.err b/result/schematron/zvon12_2.err new file mode 100644 index 0000000..5edaf30 --- /dev/null +++ b/result/schematron/zvon12_2.err @@ -0,0 +1,3 @@ +Pattern: Number of characters in an abbreviation +/AAA/BBB line 2: There is too much letters in the abbreviation +./test/schematron/zvon12_2.xml fails to validate diff --git a/result/schematron/zvon13_0 b/result/schematron/zvon13_0 new file mode 100644 index 0000000..e1295c3 --- /dev/null +++ b/result/schematron/zvon13_0 @@ -0,0 +1,7 @@ + + + 20 + 30 + 10 + 50 + diff --git a/result/schematron/zvon13_0.err b/result/schematron/zvon13_0.err new file mode 100644 index 0000000..ed98cb3 --- /dev/null +++ b/result/schematron/zvon13_0.err @@ -0,0 +1,3 @@ +Pattern: Sum equals 100%. +/Total line 1: The values do not sum to 100%. +./test/schematron/zvon13_0.xml fails to validate diff --git a/result/schematron/zvon13_1 b/result/schematron/zvon13_1 new file mode 100644 index 0000000..401e919 --- /dev/null +++ b/result/schematron/zvon13_1 @@ -0,0 +1,6 @@ + + + 20 + 10 + 50 + diff --git a/result/schematron/zvon13_1.err b/result/schematron/zvon13_1.err new file mode 100644 index 0000000..e0f02c2 --- /dev/null +++ b/result/schematron/zvon13_1.err @@ -0,0 +1,3 @@ +Pattern: Sum equals 100%. +/Total line 1: The values do not sum to 100%. +./test/schematron/zvon13_1.xml fails to validate diff --git a/result/schematron/zvon13_2 b/result/schematron/zvon13_2 new file mode 100644 index 0000000..cb1df2e --- /dev/null +++ b/result/schematron/zvon13_2 @@ -0,0 +1,6 @@ + + + 20 + 30 + 50 + diff --git a/result/schematron/zvon13_2.err b/result/schematron/zvon13_2.err new file mode 100644 index 0000000..dfab61f --- /dev/null +++ b/result/schematron/zvon13_2.err @@ -0,0 +1,2 @@ +Pattern: Sum equals 100%. +./test/schematron/zvon13_2.xml validates diff --git a/result/schematron/zvon14_0 b/result/schematron/zvon14_0 new file mode 100644 index 0000000..c72e0c2 --- /dev/null +++ b/result/schematron/zvon14_0 @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/result/schematron/zvon14_0.err b/result/schematron/zvon14_0.err new file mode 100644 index 0000000..60155da --- /dev/null +++ b/result/schematron/zvon14_0.err @@ -0,0 +1,4 @@ +Pattern: a child of selected elements +/AAA/CCC line 5: Element CCC must not be a child of element AAA +/AAA/DDD/EEE/CCC line 9: Element CCC must not be a child of element EEE +./test/schematron/zvon14_0.xml fails to validate diff --git a/result/schematron/zvon15_0 b/result/schematron/zvon15_0 new file mode 100644 index 0000000..56500fe --- /dev/null +++ b/result/schematron/zvon15_0 @@ -0,0 +1,5 @@ + + + + + diff --git a/result/schematron/zvon15_0.err b/result/schematron/zvon15_0.err new file mode 100644 index 0000000..5234889 --- /dev/null +++ b/result/schematron/zvon15_0.err @@ -0,0 +1,4 @@ +Pattern: id is the only permited attribute name +/AAA line 1: Attribute name is forbidden in element AAA +/AAA/CCC line 3: Attribute color is forbidden in element CCC +./test/schematron/zvon15_0.xml fails to validate diff --git a/result/schematron/zvon1_0 b/result/schematron/zvon1_0 new file mode 100644 index 0000000..9aae4b1 --- /dev/null +++ b/result/schematron/zvon1_0 @@ -0,0 +1,4 @@ + + + + diff --git a/result/schematron/zvon1_0.err b/result/schematron/zvon1_0.err new file mode 100644 index 0000000..0d42184 --- /dev/null +++ b/result/schematron/zvon1_0.err @@ -0,0 +1,8 @@ +Pattern: Print both cases +/AAA line 1: BBB element is present. +/AAA line 1: AAA misses attribute name. +Pattern: Print positive result only +/AAA line 1: BBB element is present. +Pattern: Print negative result only +/AAA line 1: AAA misses attribute name. +./test/schematron/zvon1_0.xml fails to validate diff --git a/result/schematron/zvon1_1 b/result/schematron/zvon1_1 new file mode 100644 index 0000000..0a06953 --- /dev/null +++ b/result/schematron/zvon1_1 @@ -0,0 +1,4 @@ + + + + diff --git a/result/schematron/zvon1_1.err b/result/schematron/zvon1_1.err new file mode 100644 index 0000000..70ee87a --- /dev/null +++ b/result/schematron/zvon1_1.err @@ -0,0 +1,8 @@ +Pattern: Print both cases +/AAA line 1: BBB element is missing. +/AAA line 1: AAA misses attribute name. +Pattern: Print positive result only +Pattern: Print negative result only +/AAA line 1: BBB element is missing. +/AAA line 1: AAA misses attribute name. +./test/schematron/zvon1_1.xml fails to validate diff --git a/result/schematron/zvon2_0 b/result/schematron/zvon2_0 new file mode 100644 index 0000000..695bc8f --- /dev/null +++ b/result/schematron/zvon2_0 @@ -0,0 +1,5 @@ + + + bbbb + cccc + diff --git a/result/schematron/zvon2_0.err b/result/schematron/zvon2_0.err new file mode 100644 index 0000000..f4e4a7f --- /dev/null +++ b/result/schematron/zvon2_0.err @@ -0,0 +1,2 @@ +Pattern: Character @ forbidden +./test/schematron/zvon2_0.xml validates diff --git a/result/schematron/zvon2_1 b/result/schematron/zvon2_1 new file mode 100644 index 0000000..2af2cd0 --- /dev/null +++ b/result/schematron/zvon2_1 @@ -0,0 +1,5 @@ + + + bbbb@bbb.com + ccc@ccc.com + diff --git a/result/schematron/zvon2_1.err b/result/schematron/zvon2_1.err new file mode 100644 index 0000000..28f3e99 --- /dev/null +++ b/result/schematron/zvon2_1.err @@ -0,0 +1,5 @@ +Pattern: Character @ forbidden +/AAA line 1: Text in element AAA must not contain character @ +/AAA/BBB line 2: Text in element BBB must not contain character @ +/AAA/CCC line 3: Text in element CCC must not contain character @ +./test/schematron/zvon2_1.xml fails to validate diff --git a/result/schematron/zvon2_2 b/result/schematron/zvon2_2 new file mode 100644 index 0000000..585cf0c --- /dev/null +++ b/result/schematron/zvon2_2 @@ -0,0 +1,6 @@ + + + bbbb + cccc + aaa@aaa.net + diff --git a/result/schematron/zvon2_2.err b/result/schematron/zvon2_2.err new file mode 100644 index 0000000..40dc7ca --- /dev/null +++ b/result/schematron/zvon2_2.err @@ -0,0 +1,3 @@ +Pattern: Character @ forbidden +/AAA line 1: Text in element AAA must not contain character @ +./test/schematron/zvon2_2.xml fails to validate diff --git a/result/schematron/zvon3_0 b/result/schematron/zvon3_0 new file mode 100644 index 0000000..a8a6ed7 --- /dev/null +++ b/result/schematron/zvon3_0 @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/result/schematron/zvon3_0.err b/result/schematron/zvon3_0.err new file mode 100644 index 0000000..419e729 --- /dev/null +++ b/result/schematron/zvon3_0.err @@ -0,0 +1,6 @@ +Pattern: Attribute test +/AAA/BBB/CCC[1] line 3: attribute name is not present +/AAA/BBB/CCC[2] line 4: attribute name is not present +/AAA/CCC[1] line 6: attribute name is present +/AAA/CCC[2] line 7: attribute name is present +./test/schematron/zvon3_0.xml fails to validate diff --git a/result/schematron/zvon4_0 b/result/schematron/zvon4_0 new file mode 100644 index 0000000..b1e694e --- /dev/null +++ b/result/schematron/zvon4_0 @@ -0,0 +1,7 @@ + + + + + + + diff --git a/result/schematron/zvon4_0.err b/result/schematron/zvon4_0.err new file mode 100644 index 0000000..6aa6b2b --- /dev/null +++ b/result/schematron/zvon4_0.err @@ -0,0 +1,3 @@ +Pattern: Root test +/AAA line 1: Root element is AAA +./test/schematron/zvon4_0.xml fails to validate diff --git a/result/schematron/zvon4_1 b/result/schematron/zvon4_1 new file mode 100644 index 0000000..6b1facc --- /dev/null +++ b/result/schematron/zvon4_1 @@ -0,0 +1,7 @@ + + + + + + + diff --git a/result/schematron/zvon4_1.err b/result/schematron/zvon4_1.err new file mode 100644 index 0000000..4ad324f --- /dev/null +++ b/result/schematron/zvon4_1.err @@ -0,0 +1,3 @@ +Pattern: Root test +/XXX line 1: Root element is XXX, not AAA +./test/schematron/zvon4_1.xml fails to validate diff --git a/result/schematron/zvon5_0 b/result/schematron/zvon5_0 new file mode 100644 index 0000000..d763505 --- /dev/null +++ b/result/schematron/zvon5_0 @@ -0,0 +1,6 @@ + + + + + + diff --git a/result/schematron/zvon5_0.err b/result/schematron/zvon5_0.err new file mode 100644 index 0000000..91ef5f2 --- /dev/null +++ b/result/schematron/zvon5_0.err @@ -0,0 +1,7 @@ +Pattern: Select empty elements CCC +/AAA/BBB/CCC line 3: Source contains an empty element CCC +/AAA/BBB/CCC line 3: [1]An element CCC does not contain any text +/AAA/BBB/CCC line 3: [2]An element CCC does not contain any text +/AAA/BBB/CCC line 3: [1]An element CCC does not contain any child element +/AAA/BBB/CCC line 3: [2]An element CCC does not contain any child element +./test/schematron/zvon5_0.xml fails to validate diff --git a/result/schematron/zvon5_1 b/result/schematron/zvon5_1 new file mode 100644 index 0000000..c76b756 --- /dev/null +++ b/result/schematron/zvon5_1 @@ -0,0 +1,6 @@ + + + + I am CCC element + + diff --git a/result/schematron/zvon5_1.err b/result/schematron/zvon5_1.err new file mode 100644 index 0000000..f4ce6d4 --- /dev/null +++ b/result/schematron/zvon5_1.err @@ -0,0 +1,5 @@ +Pattern: Select empty elements CCC +/AAA/BBB/CCC line 3: Source contains an empty element CCC +/AAA/BBB/CCC line 3: [1]An element CCC does not contain any child element +/AAA/BBB/CCC line 3: [2]An element CCC does not contain any child element +./test/schematron/zvon5_1.xml fails to validate diff --git a/result/schematron/zvon5_2 b/result/schematron/zvon5_2 new file mode 100644 index 0000000..ddc11fe --- /dev/null +++ b/result/schematron/zvon5_2 @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/result/schematron/zvon5_2.err b/result/schematron/zvon5_2.err new file mode 100644 index 0000000..8c69e79 --- /dev/null +++ b/result/schematron/zvon5_2.err @@ -0,0 +1,5 @@ +Pattern: Select empty elements CCC +/AAA/BBB/CCC line 3: Source contains an empty element CCC +/AAA/BBB/CCC line 3: [1]An element CCC does not contain any text +/AAA/BBB/CCC line 3: [2]An element CCC does not contain any text +./test/schematron/zvon5_2.xml fails to validate diff --git a/result/schematron/zvon6_0 b/result/schematron/zvon6_0 new file mode 100644 index 0000000..6539765 --- /dev/null +++ b/result/schematron/zvon6_0 @@ -0,0 +1,4 @@ + + +aaa + diff --git a/result/schematron/zvon6_0.err b/result/schematron/zvon6_0.err new file mode 100644 index 0000000..5cc3b37 --- /dev/null +++ b/result/schematron/zvon6_0.err @@ -0,0 +1,3 @@ +Pattern: Predefined values +/AAA line 1: O.K. +./test/schematron/zvon6_0.xml fails to validate diff --git a/result/schematron/zvon6_1 b/result/schematron/zvon6_1 new file mode 100644 index 0000000..e0c2e73 --- /dev/null +++ b/result/schematron/zvon6_1 @@ -0,0 +1,4 @@ + + + bbb + diff --git a/result/schematron/zvon6_1.err b/result/schematron/zvon6_1.err new file mode 100644 index 0000000..8b728d4 --- /dev/null +++ b/result/schematron/zvon6_1.err @@ -0,0 +1,3 @@ +Pattern: Predefined values +/AAA line 1: O.K. +./test/schematron/zvon6_1.xml fails to validate diff --git a/result/schematron/zvon6_2 b/result/schematron/zvon6_2 new file mode 100644 index 0000000..edc24a9 --- /dev/null +++ b/result/schematron/zvon6_2 @@ -0,0 +1,4 @@ + + + ccc + diff --git a/result/schematron/zvon6_2.err b/result/schematron/zvon6_2.err new file mode 100644 index 0000000..1868934 --- /dev/null +++ b/result/schematron/zvon6_2.err @@ -0,0 +1,3 @@ +Pattern: Predefined values +/AAA line 1: The AAA value is not permitted. +./test/schematron/zvon6_2.xml fails to validate diff --git a/result/schematron/zvon7_0 b/result/schematron/zvon7_0 new file mode 100644 index 0000000..6539765 --- /dev/null +++ b/result/schematron/zvon7_0 @@ -0,0 +1,4 @@ + + +aaa + diff --git a/result/schematron/zvon7_0.err b/result/schematron/zvon7_0.err new file mode 100644 index 0000000..df427d6 --- /dev/null +++ b/result/schematron/zvon7_0.err @@ -0,0 +1,3 @@ +Pattern: Test integer +/AAA line 1: The AAA value is not an integer. +./test/schematron/zvon7_0.xml fails to validate diff --git a/result/schematron/zvon7_1 b/result/schematron/zvon7_1 new file mode 100644 index 0000000..0a4007a --- /dev/null +++ b/result/schematron/zvon7_1 @@ -0,0 +1,4 @@ + + + 12.234 + diff --git a/result/schematron/zvon7_1.err b/result/schematron/zvon7_1.err new file mode 100644 index 0000000..aa1e0a1 --- /dev/null +++ b/result/schematron/zvon7_1.err @@ -0,0 +1,3 @@ +Pattern: Test integer +/AAA line 1: The AAA value is not an integer. +./test/schematron/zvon7_1.xml fails to validate diff --git a/result/schematron/zvon7_2 b/result/schematron/zvon7_2 new file mode 100644 index 0000000..8eb45e3 --- /dev/null +++ b/result/schematron/zvon7_2 @@ -0,0 +1,4 @@ + + +45 + diff --git a/result/schematron/zvon7_2.err b/result/schematron/zvon7_2.err new file mode 100644 index 0000000..abf8cc7 --- /dev/null +++ b/result/schematron/zvon7_2.err @@ -0,0 +1,3 @@ +Pattern: Test integer +/AAA line 1: O.K. +./test/schematron/zvon7_2.xml fails to validate diff --git a/result/schematron/zvon7_3 b/result/schematron/zvon7_3 new file mode 100644 index 0000000..35089dd --- /dev/null +++ b/result/schematron/zvon7_3 @@ -0,0 +1,4 @@ + + +0 + diff --git a/result/schematron/zvon7_3.err b/result/schematron/zvon7_3.err new file mode 100644 index 0000000..5b4b59f --- /dev/null +++ b/result/schematron/zvon7_3.err @@ -0,0 +1,3 @@ +Pattern: Test integer +/AAA line 1: O.K. +./test/schematron/zvon7_3.xml fails to validate diff --git a/result/schematron/zvon7_4 b/result/schematron/zvon7_4 new file mode 100644 index 0000000..0739eb4 --- /dev/null +++ b/result/schematron/zvon7_4 @@ -0,0 +1,4 @@ + + +-45 + diff --git a/result/schematron/zvon7_4.err b/result/schematron/zvon7_4.err new file mode 100644 index 0000000..de1ee89 --- /dev/null +++ b/result/schematron/zvon7_4.err @@ -0,0 +1,3 @@ +Pattern: Test integer +/AAA line 1: O.K. +./test/schematron/zvon7_4.xml fails to validate diff --git a/result/schematron/zvon8_0 b/result/schematron/zvon8_0 new file mode 100644 index 0000000..1932cd0 --- /dev/null +++ b/result/schematron/zvon8_0 @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/result/schematron/zvon8_0.err b/result/schematron/zvon8_0.err new file mode 100644 index 0000000..085e1de --- /dev/null +++ b/result/schematron/zvon8_0.err @@ -0,0 +1,3 @@ +Pattern: Test count +/XXX line 1: O.K. +./test/schematron/zvon8_0.xml fails to validate diff --git a/result/schematron/zvon8_1 b/result/schematron/zvon8_1 new file mode 100644 index 0000000..93e5cfd --- /dev/null +++ b/result/schematron/zvon8_1 @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/result/schematron/zvon8_1.err b/result/schematron/zvon8_1.err new file mode 100644 index 0000000..ae07d05 --- /dev/null +++ b/result/schematron/zvon8_1.err @@ -0,0 +1,3 @@ +Pattern: Test count +/XXX line 1: Some BBB are missing +./test/schematron/zvon8_1.xml fails to validate diff --git a/result/schematron/zvon8_2 b/result/schematron/zvon8_2 new file mode 100644 index 0000000..4eea77b --- /dev/null +++ b/result/schematron/zvon8_2 @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/result/schematron/zvon8_2.err b/result/schematron/zvon8_2.err new file mode 100644 index 0000000..37e8432 --- /dev/null +++ b/result/schematron/zvon8_2.err @@ -0,0 +1,3 @@ +Pattern: Test count +/XXX line 1: Some AAA are missing +./test/schematron/zvon8_2.xml fails to validate diff --git a/result/schematron/zvon9_0 b/result/schematron/zvon9_0 new file mode 100644 index 0000000..1f254ec --- /dev/null +++ b/result/schematron/zvon9_0 @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/result/schematron/zvon9_0.err b/result/schematron/zvon9_0.err new file mode 100644 index 0000000..a39ceeb --- /dev/null +++ b/result/schematron/zvon9_0.err @@ -0,0 +1,2 @@ +Pattern: Test attribute +./test/schematron/zvon9_0.xml validates diff --git a/result/schematron/zvon9_1 b/result/schematron/zvon9_1 new file mode 100644 index 0000000..0dc0df7 --- /dev/null +++ b/result/schematron/zvon9_1 @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/result/schematron/zvon9_1.err b/result/schematron/zvon9_1.err new file mode 100644 index 0000000..44c6f67 --- /dev/null +++ b/result/schematron/zvon9_1.err @@ -0,0 +1,3 @@ +Pattern: Test attribute +/AAA/CCC[1] line 2: Attribute id is used in wrong context +./test/schematron/zvon9_1.xml fails to validate diff --git a/result/schematron/zvon9_2 b/result/schematron/zvon9_2 new file mode 100644 index 0000000..b9218fc --- /dev/null +++ b/result/schematron/zvon9_2 @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/result/schematron/zvon9_2.err b/result/schematron/zvon9_2.err new file mode 100644 index 0000000..20b0884 --- /dev/null +++ b/result/schematron/zvon9_2.err @@ -0,0 +1,3 @@ +Pattern: Test attribute +/AAA/BBB/CCC line 5: Attribute id is missing +./test/schematron/zvon9_2.xml fails to validate diff --git a/result/scripts/base b/result/scripts/base new file mode 100644 index 0000000..f64231a --- /dev/null +++ b/result/scripts/base @@ -0,0 +1,4 @@ +/ > ./test/scripts/base.xml +/ > e > http://example.com/base/ +e > img > http://example.com/base/images/ +img > \ No newline at end of file diff --git a/result/scripts/base.err b/result/scripts/base.err new file mode 100644 index 0000000..e69de29 diff --git a/result/scripts/base2 b/result/scripts/base2 new file mode 100644 index 0000000..93edf37 --- /dev/null +++ b/result/scripts/base2 @@ -0,0 +1,4 @@ +/ > ./test/scripts/base2.xml +/ > e > test/scripts/html/ +e > img > test/scripts/images/ +img > \ No newline at end of file diff --git a/result/scripts/base2.err b/result/scripts/base2.err new file mode 100644 index 0000000..e69de29 diff --git a/result/scripts/set1 b/result/scripts/set1 new file mode 100644 index 0000000..b4c2c9a --- /dev/null +++ b/result/scripts/set1 @@ -0,0 +1,3 @@ +/ > / > + +/ > \ No newline at end of file diff --git a/result/scripts/set1.err b/result/scripts/set1.err new file mode 100644 index 0000000..e69de29 diff --git a/result/scripts/set3 b/result/scripts/set3 new file mode 100644 index 0000000..812b35f --- /dev/null +++ b/result/scripts/set3 @@ -0,0 +1,12 @@ +/ > a > Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT a + default namespace href=bar +a > a > Object is a Node Set : +Set contains 2 nodes: +1 ELEMENT a + default namespace href=bar +2 ELEMENT b +a > + +a > \ No newline at end of file diff --git a/result/scripts/set3.err b/result/scripts/set3.err new file mode 100644 index 0000000..0dd7792 --- /dev/null +++ b/result/scripts/set3.err @@ -0,0 +1,3 @@ +./test/scripts/set3.xml:1: namespace warning : xmlns: URI bar is not absolute +foo + ^ diff --git a/result/scripts/set4 b/result/scripts/set4 new file mode 100644 index 0000000..19e9a58 --- /dev/null +++ b/result/scripts/set4 @@ -0,0 +1,6 @@ +/ > b > b > Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT a:c +b > + +b > \ No newline at end of file diff --git a/result/scripts/set4.err b/result/scripts/set4.err new file mode 100644 index 0000000..e69de29 diff --git a/result/slashdot.rdf b/result/slashdot.rdf new file mode 100644 index 0000000..33008ab --- /dev/null +++ b/result/slashdot.rdf @@ -0,0 +1,65 @@ + + + + + Slashdot:News for Nerds. Stuff that Matters. + http://slashdot.org/ + News for Nerds. Stuff that Matters + + + + Slashdot + http://slashdot.org/images/slashdotlg.gif + http://slashdot.org + + + + 100 Mbit/s on Fibre to the home + http://slashdot.org/articles/99/06/06/1440211.shtml + + + + Gimp 1.2 Preview + http://slashdot.org/articles/99/06/06/1438246.shtml + + + + Sony's AIBO robot Sold Out + http://slashdot.org/articles/99/06/06/1432256.shtml + + + + Ask Slashdot: Another Word for "Hacker"? + http://slashdot.org/askslashdot/99/06/05/1815225.shtml + + + + Corel Linux FAQ + http://slashdot.org/articles/99/06/05/1842218.shtml + + + + Upside downsides MP3.COM. + http://slashdot.org/articles/99/06/05/1558210.shtml + + + + 2 Terabits of Bandwidth + http://slashdot.org/articles/99/06/05/1554258.shtml + + + + Suppression of cold fusion research? + http://slashdot.org/articles/99/06/04/2313200.shtml + + + + California Gov. Halts Wage Info Sale + http://slashdot.org/articles/99/06/04/235256.shtml + + + + Red Hat Announces IPO + http://slashdot.org/articles/99/06/04/0849207.shtml + + diff --git a/result/slashdot.rdf.rde b/result/slashdot.rdf.rde new file mode 100644 index 0000000..fecd24d --- /dev/null +++ b/result/slashdot.rdf.rde @@ -0,0 +1,218 @@ +0 1 rdf:RDF 0 0 +1 14 #text 0 1 + + +1 1 channel 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Slashdot:News for Nerds. Stuff that Matters. +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/ +2 15 link 0 0 +2 14 #text 0 1 + +2 1 description 0 0 +3 3 #text 0 1 News for Nerds. Stuff that Matters +2 15 description 0 0 +2 14 #text 0 1 + +1 15 channel 0 0 +1 14 #text 0 1 + + +1 1 image 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Slashdot +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/images/slashdotlg.gif +2 15 url 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org +2 15 link 0 0 +2 14 #text 0 1 + +1 15 image 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 100 Mbit/s on Fibre to the home +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1440211.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Gimp 1.2 Preview +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1438246.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Sony's AIBO robot Sold Out +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1432256.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Ask Slashdot: Another Word for "Hacker"? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/askslashdot/99/06/05/1815225.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Corel Linux FAQ +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1842218.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Upside downsides MP3.COM. +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1558210.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 2 Terabits of Bandwidth +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1554258.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Suppression of cold fusion research? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/2313200.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 California Gov. Halts Wage Info Sale +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/235256.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Red Hat Announces IPO +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/0849207.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + +0 15 rdf:RDF 0 0 diff --git a/result/slashdot.rdf.rdr b/result/slashdot.rdf.rdr new file mode 100644 index 0000000..fecd24d --- /dev/null +++ b/result/slashdot.rdf.rdr @@ -0,0 +1,218 @@ +0 1 rdf:RDF 0 0 +1 14 #text 0 1 + + +1 1 channel 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Slashdot:News for Nerds. Stuff that Matters. +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/ +2 15 link 0 0 +2 14 #text 0 1 + +2 1 description 0 0 +3 3 #text 0 1 News for Nerds. Stuff that Matters +2 15 description 0 0 +2 14 #text 0 1 + +1 15 channel 0 0 +1 14 #text 0 1 + + +1 1 image 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Slashdot +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/images/slashdotlg.gif +2 15 url 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org +2 15 link 0 0 +2 14 #text 0 1 + +1 15 image 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 100 Mbit/s on Fibre to the home +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1440211.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Gimp 1.2 Preview +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1438246.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Sony's AIBO robot Sold Out +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1432256.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Ask Slashdot: Another Word for "Hacker"? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/askslashdot/99/06/05/1815225.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Corel Linux FAQ +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1842218.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Upside downsides MP3.COM. +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1558210.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 2 Terabits of Bandwidth +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1554258.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Suppression of cold fusion research? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/2313200.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 California Gov. Halts Wage Info Sale +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/235256.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + + +1 1 item 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Red Hat Announces IPO +2 15 title 0 0 +2 14 #text 0 1 + +2 1 link 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/0849207.shtml +2 15 link 0 0 +2 14 #text 0 1 + +1 15 item 0 0 +1 14 #text 0 1 + +0 15 rdf:RDF 0 0 diff --git a/result/slashdot.rdf.sax b/result/slashdot.rdf.sax new file mode 100644 index 0000000..fe54376 --- /dev/null +++ b/result/slashdot.rdf.sax @@ -0,0 +1,221 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(rdf:RDF, xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#', xmlns='http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 4) +SAX.startElement(channel) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Slashdot:News for Nerds. Stuff, 44) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/, 20) +SAX.endElement(link) +SAX.characters( + , 5) +SAX.startElement(description) +SAX.characters(News for Nerds. Stuff that Ma, 35) +SAX.endElement(description) +SAX.characters( + , 3) +SAX.endElement(channel) +SAX.characters( + + , 4) +SAX.startElement(image) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Slashdot, 8) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/images/sla, 41) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org, 19) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(image) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Corel Linux FAQ, 15) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Upside downsides MP3.COM., 25) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(2 Terabits of Bandwidth, 23) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Suppression of cold fusion res, 36) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(California Gov. Halts Wage Inf, 36) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/articles/9, 50) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( + + , 6) +SAX.startElement(item) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Red Hat Announces IPO, 21) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(link) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(link) +SAX.characters( + , 3) +SAX.endElement(item) +SAX.characters( +, 1) +SAX.endElement(rdf:RDF) +SAX.endDocument() diff --git a/result/slashdot.rdf.sax2 b/result/slashdot.rdf.sax2 new file mode 100644 index 0000000..c561cf8 --- /dev/null +++ b/result/slashdot.rdf.sax2 @@ -0,0 +1,221 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(RDF, rdf, 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', 2, xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#', xmlns='http://my.netscape.com/rdf/simple/0.9/', 0, 0) +SAX.characters( + + , 4) +SAX.startElementNs(channel, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Slashdot:News for Nerds. Stuff, 44) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/, 20) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(description, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(News for Nerds. Stuff that Ma, 35) +SAX.endElementNs(description, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(channel, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 4) +SAX.startElementNs(image, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Slashdot, 8) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/images/sla, 41) +SAX.endElementNs(url, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org, 19) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(image, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Corel Linux FAQ, 15) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Upside downsides MP3.COM., 25) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(2 Terabits of Bandwidth, 23) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Suppression of cold fusion res, 36) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(California Gov. Halts Wage Inf, 36) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 50) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + + , 6) +SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(Red Hat Announces IPO, 21) +SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 5) +SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( + , 3) +SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/') +SAX.characters( +, 1) +SAX.endElementNs(RDF, rdf, 'http://www.w3.org/1999/02/22-rdf-syntax-ns#') +SAX.endDocument() diff --git a/result/slashdot.xml b/result/slashdot.xml new file mode 100644 index 0000000..b648d5e --- /dev/null +++ b/result/slashdot.xml @@ -0,0 +1,113 @@ + + + + 100 Mbit/s on Fibre to the home + http://slashdot.org/articles/99/06/06/1440211.shtml + + CmdrTaco + wouldn't-it-be-nice + internet + 20 +
    articles
    + topicinternet.jpg +
    + + Gimp 1.2 Preview + http://slashdot.org/articles/99/06/06/1438246.shtml + + CmdrTaco + stuff-to-read + gimp + 12 +
    articles
    + topicgimp.gif +
    + + Sony's AIBO robot Sold Out + http://slashdot.org/articles/99/06/06/1432256.shtml + + CmdrTaco + stuff-to-see + tech + 10 +
    articles
    + topictech2.jpg +
    + + Ask Slashdot: Another Word for "Hacker"? + http://slashdot.org/askslashdot/99/06/05/1815225.shtml + + Cliff + hacker-vs-cracker + news + 385 +
    askslashdot
    + topicnews.gif +
    + + Corel Linux FAQ + http://slashdot.org/articles/99/06/05/1842218.shtml + + CmdrTaco + stuff-to-read + corel + 164 +
    articles
    + topiccorel.gif +
    + + Upside downsides MP3.COM. + http://slashdot.org/articles/99/06/05/1558210.shtml + + CmdrTaco + stuff-to-think-about + music + 48 +
    articles
    + topicmusic.gif +
    + + 2 Terabits of Bandwidth + http://slashdot.org/articles/99/06/05/1554258.shtml + + CmdrTaco + faster-porn + internet + 66 +
    articles
    + topicinternet.jpg +
    + + Suppression of cold fusion research? + http://slashdot.org/articles/99/06/04/2313200.shtml + + Hemos + possibly-probably + science + 217 +
    articles
    + topicscience.gif +
    + + California Gov. Halts Wage Info Sale + http://slashdot.org/articles/99/06/04/235256.shtml + + Hemos + woo-hoo! + usa + 16 +
    articles
    + topicus.gif +
    + + Red Hat Announces IPO + http://slashdot.org/articles/99/06/04/0849207.shtml + + Justin + details-sketchy + redhat + 155 +
    articles
    + topicredhat.gif +
    +
    diff --git a/result/slashdot.xml.rde b/result/slashdot.xml.rde new file mode 100644 index 0000000..56b6836 --- /dev/null +++ b/result/slashdot.xml.rde @@ -0,0 +1,514 @@ +0 1 ultramode 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 100 Mbit/s on Fibre to the home +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1440211.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:39:59 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 wouldn't-it-be-nice +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 20 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Gimp 1.2 Preview +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1438246.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:38:40 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 gimp +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 12 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicgimp.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Sony's AIBO robot Sold Out +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1432256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:32:51 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-see +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 tech +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 10 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topictech2.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Ask Slashdot: Another Word for "Hacker"? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/askslashdot/99/06/05/1815225.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 20:00:00 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Cliff +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 hacker-vs-cracker +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 news +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 385 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 askslashdot +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicnews.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Corel Linux FAQ +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1842218.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 18:42:06 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 corel +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 164 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topiccorel.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Upside downsides MP3.COM. +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1558210.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 15:56:45 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-think-about +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 music +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 48 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicmusic.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 2 Terabits of Bandwidth +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1554258.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 15:53:43 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 faster-porn +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 66 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Suppression of cold fusion research? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/2313200.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 23:12:29 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Hemos +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 possibly-probably +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 science +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 217 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicscience.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 California Gov. Halts Wage Info Sale +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/235256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 23:05:34 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Hemos +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 woo-hoo! +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 usa +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 16 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicus.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Red Hat Announces IPO +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/0849207.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 19:30:18 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Justin +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 details-sketchy +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 redhat +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 155 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicredhat.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +0 15 ultramode 0 0 diff --git a/result/slashdot.xml.rdr b/result/slashdot.xml.rdr new file mode 100644 index 0000000..56b6836 --- /dev/null +++ b/result/slashdot.xml.rdr @@ -0,0 +1,514 @@ +0 1 ultramode 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 100 Mbit/s on Fibre to the home +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1440211.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:39:59 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 wouldn't-it-be-nice +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 20 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Gimp 1.2 Preview +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1438246.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:38:40 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 gimp +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 12 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicgimp.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Sony's AIBO robot Sold Out +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1432256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:32:51 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-see +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 tech +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 10 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topictech2.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Ask Slashdot: Another Word for "Hacker"? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/askslashdot/99/06/05/1815225.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 20:00:00 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Cliff +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 hacker-vs-cracker +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 news +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 385 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 askslashdot +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicnews.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Corel Linux FAQ +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1842218.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 18:42:06 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 corel +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 164 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topiccorel.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Upside downsides MP3.COM. +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1558210.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 15:56:45 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-think-about +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 music +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 48 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicmusic.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 2 Terabits of Bandwidth +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1554258.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 15:53:43 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 faster-porn +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 66 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Suppression of cold fusion research? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/2313200.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 23:12:29 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Hemos +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 possibly-probably +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 science +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 217 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicscience.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 California Gov. Halts Wage Info Sale +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/235256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 23:05:34 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Hemos +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 woo-hoo! +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 usa +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 16 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicus.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Red Hat Announces IPO +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/0849207.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 19:30:18 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Justin +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 details-sketchy +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 redhat +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 155 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicredhat.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +0 15 ultramode 0 0 diff --git a/result/slashdot.xml.sax b/result/slashdot.xml.sax new file mode 100644 index 0000000..63b5f0d --- /dev/null +++ b/result/slashdot.xml.sax @@ -0,0 +1,517 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(ultramode) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-06 14:39:59, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(wouldn't-it-be-nice, 19) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(internet, 8) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(20, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicinternet.jpg, 17) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-06 14:38:40, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-read, 13) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(gimp, 4) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(12, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicgimp.gif, 13) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-06 14:32:51, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-see, 12) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(tech, 4) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(10, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topictech2.jpg, 14) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-05 20:00:00, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(Cliff, 5) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(hacker-vs-cracker, 17) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(news, 4) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(385, 3) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(askslashdot, 11) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicnews.gif, 13) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Corel Linux FAQ, 15) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-05 18:42:06, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-read, 13) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(corel, 5) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(164, 3) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topiccorel.gif, 14) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Upside downsides MP3.COM., 25) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-05 15:56:45, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-think-about, 20) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(music, 5) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(48, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicmusic.gif, 14) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(2 Terabits of Bandwidth, 23) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-05 15:53:43, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(faster-porn, 11) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(internet, 8) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(66, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicinternet.jpg, 17) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Suppression of cold fusion res, 36) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-04 23:12:29, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(Hemos, 5) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(possibly-probably, 17) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(science, 7) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(217, 3) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicscience.gif, 16) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(California Gov. Halts Wage Inf, 36) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 50) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-04 23:05:34, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(Hemos, 5) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(woo-hoo!, 8) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(usa, 3) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(16, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicus.gif, 11) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Red Hat Announces IPO, 21) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-04 19:30:18, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(Justin, 6) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(details-sketchy, 15) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(redhat, 6) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(155, 3) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicredhat.gif, 15) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( +, 1) +SAX.endElement(ultramode) +SAX.endDocument() diff --git a/result/slashdot.xml.sax2 b/result/slashdot.xml.sax2 new file mode 100644 index 0000000..2ead70d --- /dev/null +++ b/result/slashdot.xml.sax2 @@ -0,0 +1,517 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(ultramode, NULL, NULL, 0, 0, 0) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:39:59, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(wouldn't-it-be-nice, 19) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(20, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:38:40, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(gimp, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(12, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicgimp.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:32:51, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-see, 12) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(tech, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(10, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topictech2.jpg, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 20:00:00, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Cliff, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(hacker-vs-cracker, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(news, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(385, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(askslashdot, 11) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicnews.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Corel Linux FAQ, 15) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 18:42:06, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(corel, 5) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(164, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topiccorel.gif, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Upside downsides MP3.COM., 25) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 15:56:45, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-think-about, 20) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(music, 5) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(48, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicmusic.gif, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(2 Terabits of Bandwidth, 23) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 15:53:43, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(faster-porn, 11) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(66, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Suppression of cold fusion res, 36) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 23:12:29, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Hemos, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(possibly-probably, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(science, 7) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(217, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicscience.gif, 16) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(California Gov. Halts Wage Inf, 36) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 50) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 23:05:34, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Hemos, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(woo-hoo!, 8) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(usa, 3) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(16, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicus.gif, 11) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Red Hat Announces IPO, 21) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 19:30:18, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Justin, 6) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(details-sketchy, 15) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(redhat, 6) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(155, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicredhat.gif, 15) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(ultramode, NULL, NULL) +SAX.endDocument() diff --git a/result/slashdot16.xml b/result/slashdot16.xml new file mode 100644 index 0000000..f6a7f2a Binary files /dev/null and b/result/slashdot16.xml differ diff --git a/result/slashdot16.xml.rde b/result/slashdot16.xml.rde new file mode 100644 index 0000000..cb7a86c --- /dev/null +++ b/result/slashdot16.xml.rde @@ -0,0 +1,718 @@ +0 1 ultramode 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 100 Mbit/s on Fibre to the home +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1440211.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:39:59 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 wouldn't-it-be-nice +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 20 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Gimp 1.2 Preview +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1438246.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:38:40 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 gimp +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 12 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicgimp.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Sony's AIBO robot Sold Out +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1432256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:32:51 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-see +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 tech +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 10 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topictech2.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Ask Slashdot: Another Word for "Hacker"? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/askslashdot/99/06/05/1815225.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 20:00:00 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Cliff +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 hacker-vs-cracker +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 news +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 385 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 askslashdot +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicnews.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 100 Mbit/s on Fibre to the home +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1440211.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:39:59 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 wouldn't-it-be-nice +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 20 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Gimp 1.2 Preview +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1438246.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:38:40 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 gimp +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 12 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicgimp.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Sony's AIBO robot Sold Out +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1432256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:32:51 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-see +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 tech +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 10 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topictech2.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Ask Slashdot: Another Word for "Hacker"? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/askslashdot/99/06/05/1815225.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 20:00:00 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Cliff +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 hacker-vs-cracker +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 news +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 385 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 askslashdot +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicnews.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Corel Linux FAQ +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1842218.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 18:42:06 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 corel +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 164 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topiccorel.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Upside downsides MP3.COM. +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1558210.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 15:56:45 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-think-about +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 music +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 48 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicmusic.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 2 Terabits of Bandwidth +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1554258.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 15:53:43 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 faster-porn +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 66 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Suppression of cold fusion research? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/2313200.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 23:12:29 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Hemos +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 possibly-probably +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 science +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 217 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicscience.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 California Gov. Halts Wage Info Sale +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/235256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 23:05:34 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Hemos +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 woo-hoo! +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 usa +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 16 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicus.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Red Hat Announces IPO +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/0849207.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 19:30:18 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Justin +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 details-sketchy +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 redhat +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 155 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicredhat.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +0 15 ultramode 0 0 diff --git a/result/slashdot16.xml.rdr b/result/slashdot16.xml.rdr new file mode 100644 index 0000000..cb7a86c --- /dev/null +++ b/result/slashdot16.xml.rdr @@ -0,0 +1,718 @@ +0 1 ultramode 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 100 Mbit/s on Fibre to the home +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1440211.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:39:59 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 wouldn't-it-be-nice +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 20 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Gimp 1.2 Preview +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1438246.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:38:40 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 gimp +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 12 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicgimp.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Sony's AIBO robot Sold Out +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1432256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:32:51 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-see +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 tech +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 10 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topictech2.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Ask Slashdot: Another Word for "Hacker"? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/askslashdot/99/06/05/1815225.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 20:00:00 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Cliff +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 hacker-vs-cracker +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 news +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 385 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 askslashdot +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicnews.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 100 Mbit/s on Fibre to the home +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1440211.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:39:59 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 wouldn't-it-be-nice +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 20 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Gimp 1.2 Preview +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1438246.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:38:40 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 gimp +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 12 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicgimp.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Sony's AIBO robot Sold Out +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/06/1432256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-06 14:32:51 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-see +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 tech +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 10 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topictech2.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Ask Slashdot: Another Word for "Hacker"? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/askslashdot/99/06/05/1815225.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 20:00:00 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Cliff +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 hacker-vs-cracker +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 news +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 385 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 askslashdot +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicnews.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Corel Linux FAQ +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1842218.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 18:42:06 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-read +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 corel +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 164 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topiccorel.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Upside downsides MP3.COM. +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1558210.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 15:56:45 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 stuff-to-think-about +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 music +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 48 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicmusic.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 2 Terabits of Bandwidth +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/05/1554258.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-05 15:53:43 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 CmdrTaco +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 faster-porn +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 internet +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 66 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicinternet.jpg +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Suppression of cold fusion research? +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/2313200.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 23:12:29 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Hemos +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 possibly-probably +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 science +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 217 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicscience.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 California Gov. Halts Wage Info Sale +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/235256.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 23:05:34 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Hemos +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 woo-hoo! +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 usa +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 16 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicus.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +1 1 story 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Red Hat Announces IPO +2 15 title 0 0 +2 14 #text 0 1 + +2 1 url 0 0 +3 3 #text 0 1 http://slashdot.org/articles/99/06/04/0849207.shtml +2 15 url 0 0 +2 14 #text 0 1 + +2 1 time 0 0 +3 3 #text 0 1 1999-06-04 19:30:18 +2 15 time 0 0 +2 14 #text 0 1 + +2 1 author 0 0 +3 3 #text 0 1 Justin +2 15 author 0 0 +2 14 #text 0 1 + +2 1 department 0 0 +3 3 #text 0 1 details-sketchy +2 15 department 0 0 +2 14 #text 0 1 + +2 1 topic 0 0 +3 3 #text 0 1 redhat +2 15 topic 0 0 +2 14 #text 0 1 + +2 1 comments 0 0 +3 3 #text 0 1 155 +2 15 comments 0 0 +2 14 #text 0 1 + +2 1 section 0 0 +3 3 #text 0 1 articles +2 15 section 0 0 +2 14 #text 0 1 + +2 1 image 0 0 +3 3 #text 0 1 topicredhat.gif +2 15 image 0 0 +2 14 #text 0 1 + +1 15 story 0 0 +1 14 #text 0 1 + +0 15 ultramode 0 0 diff --git a/result/slashdot16.xml.sax b/result/slashdot16.xml.sax new file mode 100644 index 0000000..07cfaf0 --- /dev/null +++ b/result/slashdot16.xml.sax @@ -0,0 +1,721 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(ultramode) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-06 14:39:59, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(wouldn't-it-be-nice, 19) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(internet, 8) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(20, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicinternet.jpg, 17) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-06 14:38:40, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-read, 13) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(gimp, 4) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(12, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicgimp.gif, 13) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-06 14:32:51, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-see, 12) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(tech, 4) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(10, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topictech2.jpg, 14) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-05 20:00:00, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(Cliff, 5) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(hacker-vs-cracker, 17) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(news, 4) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(385, 3) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(askslashdot, 11) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicnews.gif, 13) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 3) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-06 14:39:59, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(wouldn't-it-be-nice, 19) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(internet, 8) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(20, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicinternet.jpg, 17) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-06 14:38:40, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-read, 13) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(gimp, 4) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(12, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicgimp.gif, 13) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-06 14:32:51, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-see, 12) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(tech, 4) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(10, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topictech2.jpg, 14) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-05 20:00:00, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(Cliff, 5) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(hacker-vs-cracker, 17) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(news, 4) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(385, 3) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(askslashdot, 11) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicnews.gif, 13) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( +, 1) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Corel Linux FAQ, 15) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-05 18:42:06, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-read, 13) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(corel, 5) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(164, 3) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topiccorel.gif, 14) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Upside downsides MP3.COM., 25) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-05 15:56:45, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(stuff-to-think-about, 20) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(music, 5) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(48, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicmusic.gif, 14) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(2 Terabits of Bandwidth, 23) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-05 15:53:43, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(CmdrTaco, 8) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(faster-porn, 11) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(internet, 8) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(66, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicinternet.jpg, 17) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Suppression of cold fusion res, 36) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-04 23:12:29, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(Hemos, 5) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(possibly-probably, 17) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(science, 7) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(217, 3) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicscience.gif, 16) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(California Gov. Halts Wage Inf, 36) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 50) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-04 23:05:34, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(Hemos, 5) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(woo-hoo!, 8) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(usa, 3) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(16, 2) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicus.gif, 11) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( + , 2) +SAX.startElement(story) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Red Hat Announces IPO, 21) +SAX.endElement(title) +SAX.characters( + , 5) +SAX.startElement(url) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElement(url) +SAX.characters( + , 5) +SAX.startElement(time) +SAX.characters(1999-06-04 19:30:18, 19) +SAX.endElement(time) +SAX.characters( + , 5) +SAX.startElement(author) +SAX.characters(Justin, 6) +SAX.endElement(author) +SAX.characters( + , 5) +SAX.startElement(department) +SAX.characters(details-sketchy, 15) +SAX.endElement(department) +SAX.characters( + , 5) +SAX.startElement(topic) +SAX.characters(redhat, 6) +SAX.endElement(topic) +SAX.characters( + , 5) +SAX.startElement(comments) +SAX.characters(155, 3) +SAX.endElement(comments) +SAX.characters( + , 5) +SAX.startElement(section) +SAX.characters(articles, 8) +SAX.endElement(section) +SAX.characters( + , 5) +SAX.startElement(image) +SAX.characters(topicredhat.gif, 15) +SAX.endElement(image) +SAX.characters( + , 3) +SAX.endElement(story) +SAX.characters( +, 1) +SAX.endElement(ultramode) +SAX.endDocument() diff --git a/result/slashdot16.xml.sax2 b/result/slashdot16.xml.sax2 new file mode 100644 index 0000000..785e699 --- /dev/null +++ b/result/slashdot16.xml.sax2 @@ -0,0 +1,721 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(ultramode, NULL, NULL, 0, 0, 0) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:39:59, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(wouldn't-it-be-nice, 19) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(20, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:38:40, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(gimp, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(12, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicgimp.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:32:51, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-see, 12) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(tech, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(10, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topictech2.jpg, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 20:00:00, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Cliff, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(hacker-vs-cracker, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(news, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(385, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(askslashdot, 11) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicnews.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(100 Mbit/s on Fibre to the hom, 31) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:39:59, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(wouldn't-it-be-nice, 19) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(20, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Gimp 1.2 Preview, 16) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:38:40, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(gimp, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(12, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicgimp.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Sony's AIBO robot Sold Out, 26) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-06 14:32:51, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-see, 12) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(tech, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(10, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topictech2.jpg, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Ask Slashdot: Another Word for, 40) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/askslashdo, 54) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 20:00:00, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Cliff, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(hacker-vs-cracker, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(news, 4) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(385, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(askslashdot, 11) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicnews.gif, 13) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Corel Linux FAQ, 15) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 18:42:06, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-read, 13) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(corel, 5) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(164, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topiccorel.gif, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Upside downsides MP3.COM., 25) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 15:56:45, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(stuff-to-think-about, 20) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(music, 5) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(48, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicmusic.gif, 14) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(2 Terabits of Bandwidth, 23) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-05 15:53:43, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(CmdrTaco, 8) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(faster-porn, 11) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(internet, 8) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(66, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicinternet.jpg, 17) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Suppression of cold fusion res, 36) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 23:12:29, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Hemos, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(possibly-probably, 17) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(science, 7) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(217, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicscience.gif, 16) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(California Gov. Halts Wage Inf, 36) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 50) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 23:05:34, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Hemos, 5) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(woo-hoo!, 8) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(usa, 3) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(16, 2) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicus.gif, 11) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(story, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Red Hat Announces IPO, 21) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(url, NULL, NULL, 0, 0, 0) +SAX.characters(http://slashdot.org/articles/9, 51) +SAX.endElementNs(url, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(time, NULL, NULL, 0, 0, 0) +SAX.characters(1999-06-04 19:30:18, 19) +SAX.endElementNs(time, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(author, NULL, NULL, 0, 0, 0) +SAX.characters(Justin, 6) +SAX.endElementNs(author, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(department, NULL, NULL, 0, 0, 0) +SAX.characters(details-sketchy, 15) +SAX.endElementNs(department, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(topic, NULL, NULL, 0, 0, 0) +SAX.characters(redhat, 6) +SAX.endElementNs(topic, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(comments, NULL, NULL, 0, 0, 0) +SAX.characters(155, 3) +SAX.endElementNs(comments, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(section, NULL, NULL, 0, 0, 0) +SAX.characters(articles, 8) +SAX.endElementNs(section, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(image, NULL, NULL, 0, 0, 0) +SAX.characters(topicredhat.gif, 15) +SAX.endElementNs(image, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(story, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(ultramode, NULL, NULL) +SAX.endDocument() diff --git a/result/svg1 b/result/svg1 new file mode 100644 index 0000000..359bd45 --- /dev/null +++ b/result/svg1 @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/result/svg1.rde b/result/svg1.rde new file mode 100644 index 0000000..91497d2 --- /dev/null +++ b/result/svg1.rde @@ -0,0 +1,477 @@ +0 10 svg 0 0 +0 1 svg 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +0 15 svg 0 0 diff --git a/result/svg1.rdr b/result/svg1.rdr new file mode 100644 index 0000000..91497d2 --- /dev/null +++ b/result/svg1.rdr @@ -0,0 +1,477 @@ +0 10 svg 0 0 +0 1 svg 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +0 15 svg 0 0 diff --git a/result/svg1.sax b/result/svg1.sax new file mode 100644 index 0000000..b09f01f --- /dev/null +++ b/result/svg1.sax @@ -0,0 +1,613 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.externalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.startElement(svg, width='242px', height='383px') +SAX.characters( +, 1) +SAX.startElement(g, style='stroke: #000000') +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #f2cc99') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 69,18 82,8 99,3 118,5 135,12 149,21 156,13 165,9 177,13 183,28 180,50 164,91 155,107 154,114 151,121 141,127 139,136 155,206 157,251 126,342 133,357 128,376 83,376 75,368 67,350 61,350 53,369 4,369 2,361 5,354 12,342 16,321 4,257 4,244 7,218 9,179 26,127 43,93 32,77 30,70 24,67 16,49 17,35 18,23 30,12 40,7 53,7 62,12 69,18 69,18 69,18') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #e5b27f') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 142,79 136,74 138,82 133,78 133,84 127,78 128,85 124,80 125,87 119,82 119,90 125,99 125,96 128,100 128,94 131,98 132,93 135,97 136,93 138,97 139,94 141,98 143,94 144,85 142,79 142,79 142,79') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #eb8080') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 127,101 132,100 137,99 144,101 143,105 135,110 127,101 127,101 127,101') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #f2cc99') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 178,229 157,248 139,296 126,349 137,356 158,357 183,342 212,332 235,288 235,261 228,252 212,250 188,251 178,229 178,229 178,229') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #9c826b') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 56,229 48,241 48,250 57,281 63,325 71,338 81,315 76,321 79,311 83,301 75,308 80,298 73,303 76,296 71,298 74,292 69,293 74,284 78,278 71,278 74,274 68,273 70,268 66,267 68,261 60,266 62,259 65,253 57,258 59,251 55,254 55,248 60,237 54,240 58,234 54,236 56,229 56,229 56,229') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 74,363 79,368 81,368 85,362 89,363 92,370 96,373 101,372 108,361 110,371 113,373 116,371 120,358 122,363 123,371 126,371 129,367 132,357 135,361 130,376 127,377 94,378 84,376 76,371 74,363 74,363 74,363') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 212,250 219,251 228,258 236,270 235,287 225,304 205,332 177,343 171,352 158,357 166,352 168,346 168,339 165,333 155,327 155,323 161,320 165,316 169,316 167,312 171,313 168,308 173,309 170,306 177,306 175,308 177,311 174,311 176,316 171,315 174,319 168,320 168,323 175,327 179,332 183,326 184,332 189,323 190,328 194,320 194,325 199,316 201,320 204,313 206,316 208,310 211,305 219,298 226,288 229,279 228,266 224,259 217,253 212,250 212,250 212,250') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 151,205 151,238 149,252 141,268 128,282 121,301 130,300 126,313 118,324 116,337 120,346 133,352 133,340 137,333 145,329 156,327 153,319 153,291 157,271 170,259 178,277 193,250 174,216 151,205 151,205 151,205') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 78,127 90,142 95,155 108,164 125,167 139,175 150,206 152,191 141,140 121,148 100,136 78,127 78,127 78,127') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 21,58 35,63 38,68 32,69 42,74 40,79 47,80 54,83 45,94 34,81 32,73 24,66 21,58 21,58 21,58') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 71,34 67,34 66,27 59,24 54,17 48,17 39,22 30,26 28,31 31,39 38,46 29,45 36,54 41,61 41,70 50,69 54,71 55,58 67,52 76,43 76,39 68,44 71,34 71,34 71,34') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 139,74 141,83 143,89 144,104 148,104 155,106 154,86 157,77 155,72 150,77 144,77 139,74 139,74 139,74') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 105,44 102,53 108,58 111,62 112,55 105,44 105,44 105,44') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 141,48 141,54 144,58 139,62 137,66 136,59 137,52 141,48 141,48 141,48') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 98,135 104,130 105,134 108,132 108,135 112,134 113,137 116,136 116,139 119,139 124,141 128,140 133,138 140,133 139,140 126,146 104,144 98,135 98,135 98,135') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 97,116 103,119 103,116 111,118 116,117 122,114 127,107 135,111 142,107 141,114 145,118 149,121 145,125 140,124 127,121 113,125 100,124 97,116 97,116 97,116') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 147,33 152,35 157,34 153,31 160,31 156,28 161,28 159,24 163,25 163,21 165,22 170,23 167,17 172,21 174,18 175,23 176,22 177,28 177,33 174,37 176,39 174,44 171,49 168,53 164,57 159,68 156,70 154,60 150,51 146,43 144,35 147,33 147,33 147,33') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 85,72 89,74 93,75 100,76 105,75 102,79 94,79 88,76 85,72 85,72 85,72') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 86,214 79,221 76,232 82,225 78,239 82,234 78,245 81,243 79,255 84,250 84,267 87,254 90,271 90,257 95,271 93,256 95,249 92,252 93,243 89,253 89,241 86,250 87,236 83,245 87,231 82,231 90,219 84,221 86,214 86,214 86,214') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #ffcc7f') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 93,68 96,72 100,73 106,72 108,66 105,63 100,62 93,68 93,68 93,68') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 144,64 142,68 142,73 146,74 150,73 154,64 149,62 144,64 144,64 144,64') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #9c826b') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 57,91 42,111 52,105 41,117 53,112 46,120 53,116 50,124 57,119 55,127 61,122 60,130 67,126 66,134 71,129 72,136 77,130 76,137 80,133 82,138 86,135 96,135 94,129 86,124 83,117 77,123 79,117 73,120 75,112 68,116 71,111 65,114 69,107 63,110 68,102 61,107 66,98 61,103 63,97 57,99 57,91 57,91 57,91') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 83,79 76,79 67,82 75,83 65,88 76,87 65,92 76,91 68,96 77,95 70,99 80,98 72,104 80,102 76,108 85,103 92,101 87,98 93,96 86,94 91,93 85,91 93,89 99,89 105,93 107,85 102,82 92,80 83,79 83,79 83,79') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 109,77 111,83 109,89 113,94 117,90 117,81 114,78 109,77 109,77 109,77') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 122,128 127,126 134,127 136,129 134,130 130,128 124,129 122,128 122,128 122,128') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 78,27 82,32 80,33 82,36 78,37 82,40 78,42 81,46 76,47 78,49 74,50 82,52 87,50 83,48 91,46 86,45 91,42 88,40 92,37 86,34 90,31 86,29 89,26 78,27 78,27 78,27') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 82,17 92,20 79,21 90,25 81,25 94,28 93,26 101,30 101,26 107,33 108,28 111,40 113,34 115,45 117,39 119,54 121,46 124,58 126,47 129,59 130,49 134,58 133,44 137,48 133,37 137,40 133,32 126,20 135,26 132,19 138,23 135,17 142,18 132,11 116,6 94,6 78,11 92,12 80,14 90,16 82,17 82,17 82,17') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 142,234 132,227 124,223 115,220 110,225 118,224 127,229 135,236 122,234 115,237 113,242 121,238 139,243 121,245 111,254 95,254 102,244 104,235 110,229 100,231 104,224 113,216 122,215 132,217 141,224 145,230 149,240 142,234 142,234 142,234') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 115,252 125,248 137,249 143,258 134,255 125,254 115,252 115,252 115,252') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 114,212 130,213 140,219 147,225 144,214 137,209 128,207 114,212 114,212 114,212') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 102,263 108,258 117,257 131,258 116,260 109,265 102,263 102,263 102,263') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 51,241 35,224 40,238 23,224 31,242 19,239 28,247 17,246 25,250 37,254 39,263 44,271 47,294 48,317 51,328 60,351 60,323 53,262 47,246 51,241 51,241 51,241') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 2,364 9,367 14,366 18,355 20,364 26,366 31,357 35,364 39,364 42,357 47,363 53,360 59,357 54,369 7,373 2,364 2,364 2,364') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 7,349 19,345 25,339 18,341 23,333 28,326 23,326 27,320 23,316 25,311 20,298 15,277 12,264 9,249 10,223 3,248 5,261 15,307 17,326 11,343 7,349 7,349 7,349') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 11,226 15,231 25,236 18,227 11,226 11,226 11,226') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 13,214 19,217 32,227 23,214 16,208 15,190 24,148 31,121 24,137 14,170 8,189 13,214 13,214 13,214') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 202,254 195,258 199,260 193,263 197,263 190,268 196,268 191,273 188,282 200,272 194,272 201,266 197,265 204,262 200,258 204,256 202,254 202,254 202,254') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #845433') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 151,213 165,212 179,225 189,246 187,262 179,275 176,263 177,247 171,233 163,230 165,251 157,264 146,298 145,321 133,326 143,285 154,260 153,240 151,213 151,213 151,213') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 91,132 95,145 97,154 104,148 107,155 109,150 111,158 115,152 118,159 120,153 125,161 126,155 133,164 132,154 137,163 137,152 142,163 147,186 152,192 148,167 141,143 124,145 105,143 91,132 91,132 91,132') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #9c826b') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 31,57 23,52 26,51 20,44 23,42 21,36 22,29 25,23 24,32 30,43 26,41 30,50 26,48 31,57 31,57 31,57') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 147,21 149,28 155,21 161,16 167,14 175,15 173,11 161,9 147,21 147,21 147,21') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 181,39 175,51 169,57 171,65 165,68 165,75 160,76 162,91 171,71 180,51 181,39 181,39 181,39') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 132,346 139,348 141,346 142,341 147,342 143,355 133,350 132,346 132,346 132,346') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 146,355 151,352 155,348 157,343 160,349 151,356 147,357 146,355 146,355 146,355') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 99,266 100,281 94,305 86,322 78,332 72,346 73,331 91,291 99,266 99,266 99,266') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 20,347 32,342 45,340 54,345 45,350 42,353 38,350 31,353 29,356 23,350 19,353 15,349 20,347 20,347 20,347') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 78,344 86,344 92,349 88,358 84,352 78,344 78,344 78,344') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 93,347 104,344 117,345 124,354 121,357 116,351 112,351 108,355 102,351 93,347 93,347 93,347') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 105,12 111,18 113,24 113,29 119,34 116,23 112,16 105,12 105,12 105,12') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 122,27 125,34 127,43 128,34 125,29 122,27 122,27 122,27') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 115,13 122,19 122,15 113,10 115,13 115,13 115,13') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #ffe5b2') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 116,172 107,182 98,193 98,183 90,199 89,189 84,207 88,206 87,215 95,206 93,219 91,230 98,216 97,226 104,214 112,209 104,208 113,202 126,200 139,207 132,198 142,203 134,192 142,195 134,187 140,185 130,181 136,177 126,177 125,171 116,180 116,172 116,172 116,172') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 74,220 67,230 67,221 59,235 63,233 60,248 70,232 65,249 71,243 67,256 73,250 69,262 73,259 71,267 76,262 72,271 78,270 76,275 82,274 78,290 86,279 86,289 92,274 88,275 87,264 82,270 82,258 77,257 78,247 73,246 77,233 72,236 74,220 74,220 74,220') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 133,230 147,242 148,250 145,254 138,247 129,246 142,245 138,241 128,237 137,238 133,230 133,230 133,230') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 133,261 125,261 116,263 111,267 125,265 133,261 133,261 133,261') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 121,271 109,273 103,279 99,305 92,316 85,327 83,335 89,340 97,341 94,336 101,336 96,331 103,330 97,327 108,325 99,322 109,321 100,318 110,317 105,314 110,312 107,310 113,308 105,306 114,303 105,301 115,298 107,295 115,294 108,293 117,291 109,289 117,286 109,286 118,283 112,281 118,279 114,278 119,276 115,274 121,271 121,271 121,271') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 79,364 74,359 74,353 76,347 80,351 83,356 82,360 79,364 79,364 79,364') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 91,363 93,356 97,353 103,355 105,360 103,366 99,371 94,368 91,363 91,363 91,363') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 110,355 114,353 118,357 117,363 113,369 111,362 110,355 110,355 110,355') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 126,354 123,358 124,367 126,369 129,361 129,357 126,354 126,354 126,354') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 30,154 24,166 20,182 23,194 29,208 37,218 41,210 41,223 46,214 46,227 52,216 52,227 61,216 59,225 68,213 73,219 70,207 77,212 69,200 77,202 70,194 78,197 68,187 76,182 64,182 58,175 58,185 53,177 50,186 46,171 44,182 39,167 36,172 36,162 30,166 30,154 30,154 30,154') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 44,130 41,137 45,136 43,150 48,142 48,157 53,150 52,164 60,156 61,169 64,165 66,175 70,167 74,176 77,168 80,183 85,172 90,182 93,174 98,181 99,173 104,175 105,169 114,168 102,163 95,157 94,166 90,154 87,162 82,149 75,159 72,148 68,155 67,143 62,148 62,138 58,145 56,133 52,142 52,128 49,134 47,125 44,130 44,130 44,130') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 13,216 19,219 36,231 22,223 16,222 22,227 12,224 13,220 16,220 13,216 13,216 13,216') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 10,231 14,236 25,239 27,237 19,234 10,231 10,231 10,231') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 9,245 14,242 25,245 13,245 9,245 9,245 9,245') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 33,255 26,253 18,254 25,256 18,258 27,260 18,263 27,265 19,267 29,270 21,272 29,276 21,278 30,281 22,283 31,287 24,288 32,292 23,293 34,298 26,299 37,303 32,305 39,309 33,309 39,314 34,314 40,318 34,317 40,321 34,321 41,326 33,326 40,330 33,332 39,333 33,337 42,337 54,341 49,337 52,335 47,330 50,330 45,325 49,325 45,321 48,321 45,316 46,306 45,286 43,274 36,261 33,255 33,255 33,255') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 7,358 9,351 14,351 17,359 11,364 7,358 7,358 7,358') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 44,354 49,351 52,355 49,361 44,354 44,354 44,354') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 32,357 37,353 40,358 36,361 32,357 32,357 32,357') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 139,334 145,330 154,330 158,334 154,341 152,348 145,350 149,340 147,336 141,339 139,345 136,342 136,339 139,334 139,334 139,334') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 208,259 215,259 212,255 220,259 224,263 225,274 224,283 220,292 208,300 206,308 203,304 199,315 197,309 195,318 193,313 190,322 190,316 185,325 182,318 180,325 172,321 178,320 176,313 186,312 180,307 188,307 184,303 191,302 186,299 195,294 187,290 197,288 192,286 201,283 194,280 203,277 198,275 207,271 200,269 209,265 204,265 212,262 208,259 208,259 208,259') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 106,126 106,131 109,132 111,134 115,132 115,135 119,133 118,137 123,137 128,137 133,134 136,130 136,127 132,124 118,128 112,128 106,126 106,126 106,126') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 107,114 101,110 98,102 105,97 111,98 119,102 121,108 118,112 113,115 107,114 107,114 107,114') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 148,106 145,110 146,116 150,118 152,111 151,107 148,106 148,106 148,106') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 80,55 70,52 75,58 63,57 72,61 57,61 67,66 57,67 62,69 54,71 61,73 54,77 63,78 53,85 60,84 56,90 69,84 63,82 75,76 70,75 77,72 72,71 78,69 72,66 81,67 78,64 82,63 80,60 86,62 80,55 80,55 80,55') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 87,56 91,52 96,50 102,56 98,56 92,60 87,56 87,56 87,56') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 85,68 89,73 98,76 106,74 96,73 91,70 85,68 85,68 85,68') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 115,57 114,64 111,64 115,75 122,81 122,74 126,79 126,74 131,78 130,72 133,77 131,68 126,61 119,57 115,57 115,57 115,57') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 145,48 143,53 147,59 151,59 150,55 145,48 145,48 145,48') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 26,22 34,15 43,10 52,10 59,16 47,15 32,22 26,22 26,22 26,22') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 160,19 152,26 149,34 154,33 152,30 157,30 155,26 158,27 157,23 161,23 160,19 160,19 160,19') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 98,117 105,122 109,122 105,117 113,120 121,120 130,112 128,108 123,103 123,99 128,101 132,106 135,109 142,105 142,101 145,101 145,91 148,101 145,105 136,112 135,116 143,124 148,120 150,122 142,128 133,122 121,125 112,126 103,125 100,129 96,124 98,117 98,117 98,117') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 146,118 152,118 152,115 149,115 146,118 146,118 146,118') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 148,112 154,111 154,109 149,109 148,112 148,112 148,112') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 106,112 108,115 114,116 118,114 106,112 106,112 106,112') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 108,108 111,110 116,110 119,108 108,108 108,108 108,108') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 106,104 109,105 117,106 115,104 106,104 106,104 106,104') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 50,25 41,26 34,33 39,43 49,58 36,51 47,68 55,69 54,59 61,57 74,46 60,52 67,42 57,48 61,40 54,45 60,36 59,29 48,38 52,30 47,32 50,25 50,25 50,25') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 147,34 152,41 155,49 161,53 157,47 164,47 158,43 168,44 159,40 164,37 169,37 164,33 169,34 165,28 170,30 170,25 173,29 175,27 176,32 173,36 175,39 172,42 172,46 168,49 170,55 162,57 158,63 155,58 153,50 149,46 147,34 147,34 147,34') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 155,71 159,80 157,93 157,102 155,108 150,101 149,93 154,101 152,91 151,83 155,79 155,71 155,71 155,71') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 112,78 115,81 114,91 112,87 113,82 112,78 112,78 112,78') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 78,28 64,17 58,11 47,9 36,10 28,16 21,26 18,41 20,51 23,61 33,65 28,68 37,74 36,81 43,87 48,90 43,100 40,98 39,90 31,80 30,72 22,71 17,61 14,46 16,28 23,17 33,9 45,6 54,6 65,12 78,28 78,28 78,28') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 67,18 76,9 87,5 101,2 118,3 135,8 149,20 149,26 144,19 132,12 121,9 105,7 89,8 76,14 70,20 67,18 67,18 67,18') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 56,98 48,106 56,103 47,112 56,110 52,115 57,113 52,121 62,115 58,123 65,119 63,125 69,121 68,127 74,125 74,129 79,128 83,132 94,135 93,129 85,127 81,122 76,126 75,121 71,124 71,117 66,121 66,117 62,117 64,112 60,113 60,110 57,111 61,105 57,107 60,101 55,102 56,98 56,98 56,98') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 101,132 103,138 106,134 106,139 112,136 111,142 115,139 114,143 119,142 125,145 131,142 135,138 140,134 140,129 143,135 145,149 150,171 149,184 145,165 141,150 136,147 132,151 131,149 126,152 125,150 121,152 117,148 111,152 110,148 105,149 104,145 98,150 96,138 94,132 94,130 98,132 101,132 101,132 101,132') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 41,94 32,110 23,132 12,163 6,190 7,217 5,236 3,247 9,230 12,211 12,185 18,160 26,134 35,110 43,99 41,94 41,94 41,94') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 32,246 41,250 50,257 52,267 53,295 53,323 59,350 54,363 51,365 44,366 42,360 40,372 54,372 59,366 62,353 71,352 75,335 73,330 66,318 68,302 64,294 67,288 63,286 63,279 59,275 58,267 56,262 50,247 42,235 44,246 32,236 35,244 32,246 32,246 32,246') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 134,324 146,320 159,322 173,327 179,337 179,349 172,355 158,357 170,350 174,343 170,333 163,328 152,326 134,329 134,324 134,324 134,324') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 173,339 183,334 184,338 191,329 194,332 199,323 202,325 206,318 209,320 213,309 221,303 228,296 232,289 234,279 233,269 230,262 225,256 219,253 208,252 198,252 210,249 223,250 232,257 237,265 238,277 238,291 232,305 221,323 218,335 212,342 200,349 178,348 173,339 173,339 173,339') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 165,296 158,301 156,310 156,323 162,324 159,318 162,308 162,304 165,296 165,296 165,296') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 99,252 105,244 107,234 115,228 121,228 131,235 122,233 113,235 109,246 121,239 133,243 121,243 110,251 99,252 99,252 99,252') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 117,252 124,247 134,249 136,253 126,252 117,252 117,252 117,252') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 117,218 132,224 144,233 140,225 132,219 117,218 117,218 117,218') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 122,212 134,214 143,221 141,213 132,210 122,212 122,212 122,212') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 69,352 70,363 76,373 86,378 97,379 108,379 120,377 128,378 132,373 135,361 133,358 132,366 127,375 121,374 121,362 119,367 117,374 110,376 110,362 107,357 106,371 104,375 97,376 90,375 90,368 86,362 83,364 86,369 85,373 78,370 73,362 71,351 69,352 69,352 69,352') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 100,360 96,363 99,369 102,364 100,360 100,360 100,360') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 115,360 112,363 114,369 117,364 115,360 115,360 115,360') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 127,362 125,364 126,369 128,365 127,362 127,362 127,362') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 5,255 7,276 11,304 15,320 13,334 6,348 2,353 0,363 5,372 12,374 25,372 38,372 44,369 42,367 36,368 31,369 30,360 27,368 20,370 16,361 15,368 10,369 3,366 3,359 6,352 11,348 17,331 19,316 12,291 9,274 5,255 5,255 5,255') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 10,358 7,362 10,366 11,362 10,358 10,358 10,358') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 25,357 22,360 24,366 27,360 25,357 25,357 25,357') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 37,357 34,361 36,365 38,361 37,357 37,357 37,357') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 49,356 46,359 47,364 50,360 49,356 49,356 49,356') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 130,101 132,102 135,101 139,102 143,103 142,101 137,100 133,100 130,101 130,101 130,101') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 106,48 105,52 108,56 109,52 106,48 106,48 106,48') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 139,52 139,56 140,60 142,58 141,56 139,52 139,52 139,52') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 25,349 29,351 30,355 33,350 37,348 42,351 45,347 49,345 44,343 36,345 25,349 25,349 25,349') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 98,347 105,351 107,354 109,349 115,349 120,353 118,349 113,346 104,346 98,347 98,347 98,347') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 83,348 87,352 87,357 89,351 87,348 83,348 83,348 83,348') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 155,107 163,107 170,107 186,108 175,109 155,109 155,107 155,107 155,107') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 153,114 162,113 175,112 192,114 173,114 154,115 153,114 153,114 153,114') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 152,118 164,120 180,123 197,129 169,123 151,120 152,118 152,118 152,118') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 68,109 87,106 107,106 106,108 88,108 68,109 68,109 68,109') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 105,111 95,112 79,114 71,116 85,115 102,113 105,111 105,111 105,111') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 108,101 98,99 87,99 78,99 93,100 105,102 108,101 108,101 108,101') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 85,63 91,63 97,60 104,60 108,62 111,69 112,75 110,74 108,71 103,73 106,69 105,65 103,64 103,67 102,70 99,70 97,66 94,67 97,72 88,67 84,66 85,63 85,63 85,63') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 140,74 141,66 144,61 150,61 156,62 153,70 150,73 152,65 150,65 151,68 149,71 146,71 144,66 143,70 143,74 140,74 140,74 140,74') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 146,20 156,11 163,9 172,9 178,14 182,18 184,32 182,42 182,52 177,58 176,67 171,76 165,90 157,105 160,92 164,85 168,78 167,73 173,66 172,62 175,59 174,55 177,53 180,46 181,29 179,21 173,13 166,11 159,13 153,18 148,23 146,20 146,20 146,20') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 150,187 148,211 150,233 153,247 148,267 135,283 125,299 136,292 131,313 122,328 122,345 129,352 133,359 133,367 137,359 148,356 140,350 131,347 129,340 132,332 140,328 137,322 140,304 154,265 157,244 155,223 161,220 175,229 186,247 185,260 176,275 178,287 185,277 188,261 196,253 189,236 174,213 150,187 150,187 150,187') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 147,338 142,341 143,345 141,354 147,343 147,338 147,338 147,338') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 157,342 156,349 150,356 157,353 163,346 162,342 157,342 157,342 157,342') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 99,265 96,284 92,299 73,339 73,333 87,300 99,265 99,265 99,265') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.endElement(svg) +SAX.endDocument() diff --git a/result/svg1.sax2 b/result/svg1.sax2 new file mode 100644 index 0000000..7b81459 --- /dev/null +++ b/result/svg1.sax2 @@ -0,0 +1,613 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.externalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.startElementNs(svg, NULL, NULL, 0, 2, 0, width='242p...', 5, height='383p...', 5) +SAX.characters( +, 1) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 69,...', 337) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 142...', 190) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 127...', 71) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 178...', 128) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 56,...', 273) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 74,...', 203) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 212...', 448) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 151...', 208) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 106) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 21,...', 90) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 71,...', 150) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 139...', 101) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 105...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 141...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 98,...', 156) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 97,...', 156) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 238) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 85,...', 69) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 86,...', 217) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 93,...', 65) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 144...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 57,...', 294) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 83,...', 194) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 109...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 122...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 156) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 82,...', 284) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 142...', 239) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 114...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 102...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 51,...', 154) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 2,3...', 120) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 7,3...', 154) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 11,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 13,...', 97) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 202...', 152) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 151...', 168) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 91,...', 202) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 31,...', 96) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 76) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 181...', 91) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 132...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 146...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 99,...', 78) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 20,...', 105) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 93,...', 92) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 105...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 122...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 116...', 260) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 74,...', 245) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 133...', 104) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 133...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 121...', 334) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 79,...', 70) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 91,...', 80) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 110...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 126...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 30,...', 266) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 44,...', 319) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 13,...', 84) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 10,...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 9,2...', 45) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 33,...', 385) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 7,3...', 51) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 44,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 32,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 139...', 128) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 208...', 360) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 152) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 107...', 93) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 148...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 80,...', 192) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 87,...', 55) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 85,...', 55) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 119) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 145...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 26,...', 60) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 160...', 91) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 98,...', 265) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 146...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 148...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 108...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 50,...', 144) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 231) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 155...', 102) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 112...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 195) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 67,...', 109) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 56,...', 276) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 101...', 307) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 41,...', 116) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 32,...', 245) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 134...', 136) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 173...', 280) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 165...', 88) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 99,...', 124) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 117...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 117...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 122...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 69,...', 262) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 100...', 54) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 127...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 5,2...', 218) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 10,...', 48) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 25,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 37,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 49,...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 130...', 88) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 49) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 139...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 25,...', 91) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 98,...', 92) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 83,...', 56) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 155...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 153...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 152...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 68,...', 58) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 105...', 68) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 108...', 65) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 85,...', 156) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 140...', 126) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 146...', 237) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 150...', 320) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 64) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 157...', 72) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 99,...', 63) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.endElementNs(svg, NULL, NULL) +SAX.endDocument() diff --git a/result/svg2 b/result/svg2 new file mode 100644 index 0000000..6c3990c --- /dev/null +++ b/result/svg2 @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + Java Font definition:Dialog 0 + + + Java Font definition:Helvetica 0 + + + + this is text + + + + Java Font definition:Dialog 0 + + + Java Font definition:Helvetica 700 + + + + sadfsadfsad + + + + + + + + + + + Java Font definition:Dialog 700 + + + Java Font definition:Dialog 700 + + diff --git a/result/svg2.rde b/result/svg2.rde new file mode 100644 index 0000000..1eab152 --- /dev/null +++ b/result/svg2.rde @@ -0,0 +1,178 @@ +0 10 svg 0 0 +0 1 svg 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 rect 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 ellipse 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Dialog 0 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Helvetica 0 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 text 0 0 +3 3 #text 0 1 this is text +2 15 text 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Dialog 0 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Helvetica 700 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 text 0 0 +3 3 #text 0 1 sadfsadfsad +2 15 text 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 ellipse 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Dialog 700 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Dialog 700 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +0 15 svg 0 0 diff --git a/result/svg2.rdr b/result/svg2.rdr new file mode 100644 index 0000000..1eab152 --- /dev/null +++ b/result/svg2.rdr @@ -0,0 +1,178 @@ +0 10 svg 0 0 +0 1 svg 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 rect 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 ellipse 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 polyline 1 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Dialog 0 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Helvetica 0 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 text 0 0 +3 3 #text 0 1 this is text +2 15 text 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Dialog 0 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Helvetica 700 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 text 0 0 +3 3 #text 0 1 sadfsadfsad +2 15 text 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 ellipse 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Dialog 700 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +2 1 g 0 0 +3 14 #text 0 1 + +3 1 desc 0 0 +4 3 #text 0 1 Java Font definition:Dialog 700 +3 15 desc 0 0 +3 14 #text 0 1 + +2 15 g 0 0 +2 14 #text 0 1 + +1 15 g 0 0 +0 15 svg 0 0 diff --git a/result/svg2.sax b/result/svg2.sax new file mode 100644 index 0000000..0134545 --- /dev/null +++ b/result/svg2.sax @@ -0,0 +1,189 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.externalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.startElement(svg, width='268px', height='207px') +SAX.characters( +, 1) +SAX.startElement(g, style='stroke: #000000') +SAX.characters( + , 5) +SAX.startElement(path, d=' M 29 28 ') +SAX.endElement(path) +SAX.characters( + , 5) +SAX.startElement(path, d=' L 19 74 ') +SAX.endElement(path) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='stroke: #800040') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 32,100 72,50 90,82 73,16 120,64 152,9 177,107') +SAX.endElement(polyline) +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='stroke: #000000') +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='stroke: #0000ff') +SAX.characters( + , 5) +SAX.startElement(rect, x='30', y='101', width='51', height='33') +SAX.endElement(rect) +SAX.characters( +, 1) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #0000ff') +SAX.characters( + , 5) +SAX.startElement(ellipse, cx='182', cy='127', major='37', minor='31', angle='90') +SAX.endElement(ellipse) +SAX.characters( +, 1) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #ff0000') +SAX.characters( + , 5) +SAX.startElement(polyline, verts=' 78,180 76,151 131,149 136,182 135,182 134,183 127,185 117,186 109,192 104,194 98,199 96,200 95,201 94,202 92,202 85,202 70,200 54,199 47,198 46,197 45,197 37,195 26,193 17,187 9,181 8,181 7,176 6,175 6,173 6,172 6,170 8,164 8,163 8,162 9,162 10,162 11,162 13,162 20,162 26,162 27,162 28,162 30,162 30,163 31,163 32,164 34,166 35,166 36,167 36,168 37,169 38,169 39,169 41,170 43,170 45,170 47,170 49,170 50,168 50,161 50,160 50,159 47,162 78,180') +SAX.endElement(polyline) +SAX.characters( + , 5) +SAX.startElement(g) +SAX.characters( + , 6) +SAX.startElement(desc) +SAX.characters( Java Font definition:Dialog 0, 30) +SAX.endElement(desc) +SAX.characters( + , 5) +SAX.endElement(g) +SAX.characters( + , 4) +SAX.startElement(g) +SAX.characters( + , 6) +SAX.startElement(desc) +SAX.characters( Java Font definition:Helvetic, 33) +SAX.endElement(desc) +SAX.characters( + , 5) +SAX.endElement(g) +SAX.characters( +, 1) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='stroke: #000000') +SAX.characters( + , 5) +SAX.startElement(text, x='188', y='36') +SAX.characters(this is text, 12) +SAX.endElement(text) +SAX.characters( +, 1) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='stroke: #000000') +SAX.characters( + , 5) +SAX.startElement(g) +SAX.characters( + , 6) +SAX.startElement(desc) +SAX.characters( Java Font definition:Dialog 0, 30) +SAX.endElement(desc) +SAX.characters( + , 5) +SAX.endElement(g) +SAX.characters( + , 4) +SAX.startElement(g) +SAX.characters( + , 6) +SAX.startElement(desc) +SAX.characters( Java Font definition:Helvetic, 35) +SAX.endElement(desc) +SAX.characters( + , 5) +SAX.endElement(g) +SAX.characters( +, 1) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='stroke: #008080') +SAX.characters( + , 5) +SAX.startElement(text, x='176', y='85') +SAX.characters(sadfsadfsad, 11) +SAX.endElement(text) +SAX.characters( +, 1) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='stroke: #000000') +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #800040') +SAX.characters( + , 5) +SAX.startElement(ellipse, cx='208', cy='180', major='45', minor='31', angle='0') +SAX.endElement(ellipse) +SAX.characters( +, 1) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='stroke: #000000') +SAX.characters( +, 2) +SAX.endElement(g) +SAX.characters( +, 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 5) +SAX.startElement(g) +SAX.characters( + , 6) +SAX.startElement(desc) +SAX.characters( Java Font definition:Dialog 7, 32) +SAX.endElement(desc) +SAX.characters( + , 5) +SAX.endElement(g) +SAX.characters( + , 4) +SAX.startElement(g) +SAX.characters( + , 6) +SAX.startElement(desc) +SAX.characters( Java Font definition:Dialog 7, 32) +SAX.endElement(desc) +SAX.characters( + , 5) +SAX.endElement(g) +SAX.characters( +, 1) +SAX.endElement(g) +SAX.endElement(svg) +SAX.endDocument() diff --git a/result/svg2.sax2 b/result/svg2.sax2 new file mode 100644 index 0000000..ab73992 --- /dev/null +++ b/result/svg2.sax2 @@ -0,0 +1,189 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.externalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd) +SAX.startElementNs(svg, NULL, NULL, 0, 2, 0, width='268p...', 5, height='207p...', 5) +SAX.characters( +, 1) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d=' M 2...', 9) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d=' L 1...', 9) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 32,...', 46) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(rect, NULL, NULL, 0, 4, 0, x='30" ...', 2, y='101"...', 3, width='51" ...', 2, height='33"/...', 2) +SAX.endElementNs(rect, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(ellipse, NULL, NULL, 0, 5, 0, cx='182"...', 3, cy='127"...', 3, major='37" ...', 2, minor='31" ...', 2, angle='90"/...', 2) +SAX.endElementNs(ellipse, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 445) +SAX.endElementNs(polyline, NULL, NULL) +SAX.characters( + , 5) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Dialog 0, 30) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Helvetic, 33) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(text, NULL, NULL, 0, 2, 0, x='188"...', 3, y='36" ...', 2) +SAX.characters(this is text, 12) +SAX.endElementNs(text, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Dialog 0, 30) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Helvetic, 35) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( + , 5) +SAX.startElementNs(text, NULL, NULL, 0, 2, 0, x='176"...', 3, y='85" ...', 2) +SAX.characters(sadfsadfsad, 11) +SAX.endElementNs(text, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(ellipse, NULL, NULL, 0, 5, 0, cx='208"...', 3, cy='180"...', 3, major='45" ...', 2, minor='31" ...', 2, angle='0"/>...', 1) +SAX.endElementNs(ellipse, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15) +SAX.characters( +, 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 5) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Dialog 7, 32) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 4) +SAX.startElementNs(g, NULL, NULL, 0, 0, 0) +SAX.characters( + , 6) +SAX.startElementNs(desc, NULL, NULL, 0, 0, 0) +SAX.characters( Java Font definition:Dialog 7, 32) +SAX.endElementNs(desc, NULL, NULL) +SAX.characters( + , 5) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(g, NULL, NULL) +SAX.endElementNs(svg, NULL, NULL) +SAX.endDocument() diff --git a/result/svg3 b/result/svg3 new file mode 100644 index 0000000..c4994b8 --- /dev/null +++ b/result/svg3 @@ -0,0 +1,723 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/result/svg3.rde b/result/svg3.rde new file mode 100644 index 0000000..e4642a9 --- /dev/null +++ b/result/svg3.rde @@ -0,0 +1,2164 @@ +0 1 svg 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +0 15 svg 0 0 diff --git a/result/svg3.rdr b/result/svg3.rdr new file mode 100644 index 0000000..e4642a9 --- /dev/null +++ b/result/svg3.rdr @@ -0,0 +1,2164 @@ +0 1 svg 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +1 1 g 0 0 +2 14 #text 0 1 + +2 1 path 1 0 +2 14 #text 0 1 + +1 15 g 0 0 +1 14 #text 0 1 + +0 15 svg 0 0 diff --git a/result/svg3.sax b/result/svg3.sax new file mode 100644 index 0000000..3bb3da3 --- /dev/null +++ b/result/svg3.sax @@ -0,0 +1,2407 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(svg) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M77.696 284.285C77.696 284.285 77.797 286.179 76.973 286.16C76.149 286.141 59.695 238.066 39.167 240.309C39.167 240.309 56.95 232.956 77.696 284.285z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M81.226 281.262C81.226 281.262 80.677 283.078 79.908 282.779C79.14 282.481 80.023 231.675 59.957 226.801C59.957 226.801 79.18 225.937 81.226 281.262z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M108.716 323.59C108.716 323.59 110.352 324.55 109.882 325.227C109.411 325.904 60.237 313.102 50.782 331.459C50.782 331.459 54.461 312.572 108.716 323.59z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M105.907 333.801C105.907 333.801 107.763 334.197 107.529 334.988C107.296 335.779 56.593 339.121 53.403 359.522C53.403 359.522 50.945 340.437 105.907 333.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M101.696 328.276C101.696 328.276 103.474 328.939 103.128 329.687C102.782 330.435 52.134 326.346 46.002 346.064C46.002 346.064 46.354 326.825 101.696 328.276z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M90.991 310.072C90.991 310.072 92.299 311.446 91.66 311.967C91.021 312.488 47.278 286.634 33.131 301.676C33.131 301.676 41.872 284.533 90.991 310.072z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M83.446 314.263C83.446 314.263 84.902 315.48 84.326 316.071C83.75 316.661 37.362 295.922 25.008 312.469C25.008 312.469 31.753 294.447 83.446 314.263z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M80.846 318.335C80.846 318.335 82.454 319.343 81.964 320.006C81.474 320.669 32.692 306.446 22.709 324.522C22.709 324.522 26.934 305.749 80.846 318.335z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M91.58 318.949C91.58 318.949 92.702 320.48 92.001 320.915C91.3 321.35 51.231 290.102 35.273 303.207C35.273 303.207 46.138 287.326 91.58 318.949z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M71.8 290C71.8 290 72.4 291.8 71.6 292C70.8 292.2 42.2 250.2 22.999 257.8C22.999 257.8 38.2 246 71.8 290z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M72.495 296.979C72.495 296.979 73.47 298.608 72.731 298.975C71.993 299.343 35.008 264.499 17.899 276.061C17.899 276.061 30.196 261.261 72.495 296.979z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.172') +SAX.characters( + , 3) +SAX.startElement(path, d='M72.38 301.349C72.38 301.349 73.502 302.88 72.801 303.315C72.1 303.749 32.031 272.502 16.073 285.607C16.073 285.607 26.938 269.726 72.38 301.349z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M70.17 303.065C70.673 309.113 71.661 315.682 73.4 318.801C73.4 318.801 69.8 331.201 78.6 344.401C78.6 344.401 78.2 351.601 79.8 354.801C79.8 354.801 83.8 363.201 88.6 364.001C92.484 364.648 101.207 367.717 111.068 369.121C111.068 369.121 128.2 383.201 125 396.001C125 396.001 124.6 412.401 121 414.001C121 414.001 132.6 402.801 123 419.601L118.6 438.401C118.6 438.401 144.2 416.801 128.6 435.201L118.6 461.201C118.6 461.201 138.2 442.801 131 451.201L127.8 460.001C127.8 460.001 171 432.801 140.2 462.401C140.2 462.401 148.2 458.801 152.6 461.601C152.6 461.601 159.4 460.401 158.6 462.001C158.6 462.001 137.8 472.401 134.2 490.801C134.2 490.801 142.6 480.801 139.4 491.601L139.8 503.201C139.8 503.201 143.8 481.601 143.4 519.201C143.4 519.201 162.6 501.201 151 522.001L151 538.801C151 538.801 166.2 522.401 159.8 535.201C159.8 535.201 169.8 526.401 165.8 541.601C165.8 541.601 165 552.001 169.4 540.801C169.4 540.801 185.4 510.201 179.4 536.401C179.4 536.401 178.6 555.601 183.4 540.801C183.4 540.801 183.8 551.201 193 558.401C193 558.401 191.8 507.601 204.6 543.601L208.6 560.001C208.6 560.001 211.4 550.801 211 545.601C211 545.601 225.8 529.201 219 553.601C219 553.601 234.2 530.801 231 544.001C231 544.001 223.4 560.001 225 564.801C225 564.801 241.8 530.001 243 528.401C243 528.401 241 570.802 251.8 534.801C251.8 534.801 257.4 546.801 254.6 551.201C254.6 551.201 262.6 543.201 261.8 540.001C261.8 540.001 266.4 531.801 269.2 545.401C269.2 545.401 271 554.801 272.6 551.601C272.6 551.601 276.6 575.602 277.8 552.801C277.8 552.801 279.4 539.201 272.2 527.601C272.2 527.601 273 524.401 270.2 520.401C270.2 520.401 283.8 542.001 276.6 513.201C276.6 513.201 287.801 521.201 289.001 521.201C289.001 521.201 275.4 498.001 284.2 502.801C284.2 502.801 279 492.401 297.001 504.401C297.001 504.401 281 488.401 298.601 498.001C298.601 498.001 306.601 504.401 299.001 494.401C299.001 494.401 284.6 478.401 306.601 496.401C306.601 496.401 318.201 512.801 319.001 515.601C319.001 515.601 309.001 486.401 304.601 483.601C304.601 483.601 313.001 447.201 354.201 462.801C354.201 462.801 361.001 480.001 365.401 461.601C365.401 461.601 378.201 455.201 389.401 482.801C389.401 482.801 393.401 469.201 392.601 466.401C392.601 466.401 399.401 467.601 398.601 466.401C398.601 466.401 411.801 470.801 413.001 470.001C413.001 470.001 419.801 476.801 420.201 473.201C420.201 473.201 429.401 476.001 427.401 472.401C427.401 472.401 436.201 488.001 436.601 491.601L439.001 477.601L441.001 480.401C441.001 480.401 442.601 472.801 441.801 471.601C441.001 470.401 461.801 478.401 466.601 499.201L468.601 507.601C468.601 507.601 474.601 492.801 473.001 488.801C473.001 488.801 478.201 489.601 478.601 494.001C478.601 494.001 482.601 470.801 477.801 464.801C477.801 464.801 482.201 464.001 483.401 467.601L483.401 460.401C483.401 460.401 490.601 461.201 490.601 458.801C490.601 458.801 495.001 454.801 497.001 459.601C497.001 459.601 484.601 424.401 503.001 443.601C503.001 443.601 510.201 454.401 506.601 435.601C503.001 416.801 499.001 415.201 503.801 414.801C503.801 414.801 504.601 411.201 502.601 409.601C500.601 408.001 503.801 409.601 503.801 409.601C503.801 409.601 508.601 413.601 503.401 391.601C503.401 391.601 509.801 393.201 497.801 364.001C497.801 364.001 500.601 361.601 496.601 353.201C496.601 353.201 504.601 357.601 507.401 356.001C507.401 356.001 507.001 354.401 503.801 350.401C503.801 350.401 482.201 295.6 502.601 317.601C502.601 317.601 514.451 331.151 508.051 308.351C508.051 308.351 498.94 284.341 499.717 280.045L70.17 303.065z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226; stroke:#000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M499.717 280.245C500.345 280.426 502.551 281.55 503.801 283.2C503.801 283.2 510.601 294 505.401 275.6C505.401 275.6 496.201 246.8 505.001 258C505.001 258 511.001 265.2 507.801 251.6C503.936 235.173 501.401 228.8 501.401 228.8C501.401 228.8 513.001 233.6 486.201 194L495.001 197.6C495.001 197.6 475.401 158 453.801 152.8L445.801 146.8C445.801 146.8 484.201 108.8 471.401 72C471.401 72 464.601 66.8 455.001 76C455.001 76 448.601 80.8 442.601 79.2C442.601 79.2 411.801 80.4 409.801 80.4C407.801 80.4 373.001 43.2 307.401 60.8C307.401 60.8 302.201 62.8 297.801 61.6C297.801 61.6 279.4 45.6 230.6 68.4C230.6 68.4 220.6 70.4 219 70.4C217.4 70.4 214.6 70.4 206.6 76.8C198.6 83.2 198.2 84 196.2 85.6C196.2 85.6 179.8 96.8 175 97.6C175 97.6 163.4 104 159 114L155.4 115.2C155.4 115.2 153.8 122.4 153.4 123.6C153.4 123.6 148.6 127.2 147.8 132.8C147.8 132.8 139 138.8 139.4 143.2C139.4 143.2 137.8 148.4 137 153.2C137 153.2 129.8 158 130.6 160.8C130.6 160.8 123 174.8 124.2 181.6C124.2 181.6 117.8 181.2 115 183.6C115 183.6 114.2 188.4 112.6 188.8C112.6 188.8 109.8 190 112.2 194C112.2 194 110.6 196.8 110.2 198.4C110.2 198.4 111 201.2 106.6 206.8C106.6 206.8 100.2 225.6 102.2 230.8C102.2 230.8 102.6 235.6 99.8 237.2C99.8 237.2 96.2 236.8 104.6 248.8C104.6 248.8 105.4 250 102.2 252.4C102.2 252.4 85 256 82.6 272.4C82.6 272.4 69 287.2 69 292.4C69 294.705 69.271 297.852 69.97 302.465C69.97 302.465 69.4 310.801 97 311.601C124.6 312.401 499.717 280.245 499.717 280.245z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226') +SAX.characters( + , 3) +SAX.startElement(path, d='M84.4 302.6C59.4 263.2 73.8 319.601 73.8 319.601C82.6 354.001 212.2 316.401 212.2 316.401C212.2 316.401 381.001 286 392.201 282C403.401 278 498.601 284.4 498.601 284.4L493.001 267.6C428.201 221.2 409.001 244.4 395.401 240.4C381.801 236.4 384.201 246 381.001 246.8C377.801 247.6 338.601 222.8 332.201 223.6C325.801 224.4 300.459 200.649 315.401 232.4C331.401 266.4 257 271.6 240.2 260.4C223.4 249.2 247.4 278.8 247.4 278.8C265.8 298.8 231.4 282 231.4 282C197 269.2 173 294.8 169.8 295.6C166.6 296.4 161.8 299.6 161 293.2C160.2 286.8 152.69 270.099 121 296.4C101 313.001 87.2 291 87.2 291L84.4 302.6z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #e87f3a') +SAX.characters( + , 3) +SAX.startElement(path, d='M333.51 225.346C327.11 226.146 301.743 202.407 316.71 234.146C333.31 269.346 258.31 273.346 241.51 262.146C224.709 250.946 248.71 280.546 248.71 280.546C267.11 300.546 232.709 283.746 232.709 283.746C198.309 270.946 174.309 296.546 171.109 297.346C167.909 298.146 163.109 301.346 162.309 294.946C161.509 288.546 154.13 272.012 122.309 298.146C101.073 315.492 87.582 294.037 87.582 294.037L84.382 304.146C59.382 264.346 74.454 322.655 74.454 322.655C83.255 357.056 213.509 318.146 213.509 318.146C213.509 318.146 382.31 287.746 393.51 283.746C404.71 279.746 499.038 286.073 499.038 286.073L493.51 268.764C428.71 222.364 410.31 246.146 396.71 242.146C383.11 238.146 385.51 247.746 382.31 248.546C379.11 249.346 339.91 224.546 333.51 225.346z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ea8c4d') +SAX.characters( + , 3) +SAX.startElement(path, d='M334.819 227.091C328.419 227.891 303.685 203.862 318.019 235.891C334.219 272.092 259.619 275.092 242.819 263.892C226.019 252.692 250.019 282.292 250.019 282.292C268.419 302.292 234.019 285.492 234.019 285.492C199.619 272.692 175.618 298.292 172.418 299.092C169.218 299.892 164.418 303.092 163.618 296.692C162.818 290.292 155.57 273.925 123.618 299.892C101.145 317.983 87.964 297.074 87.964 297.074L84.364 305.692C60.564 266.692 75.109 325.71 75.109 325.71C83.909 360.11 214.819 319.892 214.819 319.892C214.819 319.892 383.619 289.492 394.819 285.492C406.019 281.492 499.474 287.746 499.474 287.746L494.02 269.928C429.219 223.528 411.619 247.891 398.019 243.891C384.419 239.891 386.819 249.491 383.619 250.292C380.419 251.092 341.219 226.291 334.819 227.091z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ec9961') +SAX.characters( + , 3) +SAX.startElement(path, d='M336.128 228.837C329.728 229.637 304.999 205.605 319.328 237.637C336.128 275.193 260.394 276.482 244.128 265.637C227.328 254.437 251.328 284.037 251.328 284.037C269.728 304.037 235.328 287.237 235.328 287.237C200.928 274.437 176.928 300.037 173.728 300.837C170.528 301.637 165.728 304.837 164.928 298.437C164.128 292.037 157.011 275.839 124.927 301.637C101.218 320.474 88.345 300.11 88.345 300.11L84.345 307.237C62.545 270.437 75.764 328.765 75.764 328.765C84.564 363.165 216.128 321.637 216.128 321.637C216.128 321.637 384.928 291.237 396.129 287.237C407.329 283.237 499.911 289.419 499.911 289.419L494.529 271.092C429.729 224.691 412.929 249.637 399.329 245.637C385.728 241.637 388.128 251.237 384.928 252.037C381.728 252.837 342.528 228.037 336.128 228.837z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #eea575') +SAX.characters( + , 3) +SAX.startElement(path, d='M337.438 230.583C331.037 231.383 306.814 207.129 320.637 239.383C337.438 278.583 262.237 278.583 245.437 267.383C228.637 256.183 252.637 285.783 252.637 285.783C271.037 305.783 236.637 288.983 236.637 288.983C202.237 276.183 178.237 301.783 175.037 302.583C171.837 303.383 167.037 306.583 166.237 300.183C165.437 293.783 158.452 277.752 126.237 303.383C101.291 322.965 88.727 303.146 88.727 303.146L84.327 308.783C64.527 273.982 76.418 331.819 76.418 331.819C85.218 366.22 217.437 323.383 217.437 323.383C217.437 323.383 386.238 292.983 397.438 288.983C408.638 284.983 500.347 291.092 500.347 291.092L495.038 272.255C430.238 225.855 414.238 251.383 400.638 247.383C387.038 243.383 389.438 252.983 386.238 253.783C383.038 254.583 343.838 229.783 337.438 230.583z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #f1b288') +SAX.characters( + , 3) +SAX.startElement(path, d='M338.747 232.328C332.347 233.128 306.383 209.677 321.947 241.128C341.147 279.928 263.546 280.328 246.746 269.128C229.946 257.928 253.946 287.528 253.946 287.528C272.346 307.528 237.946 290.728 237.946 290.728C203.546 277.928 179.546 303.528 176.346 304.328C173.146 305.128 168.346 308.328 167.546 301.928C166.746 295.528 159.892 279.665 127.546 305.128C101.364 325.456 89.109 306.183 89.109 306.183L84.309 310.328C66.309 277.128 77.073 334.874 77.073 334.874C85.873 369.274 218.746 325.128 218.746 325.128C218.746 325.128 387.547 294.728 398.747 290.728C409.947 286.728 500.783 292.764 500.783 292.764L495.547 273.419C430.747 227.019 415.547 253.128 401.947 249.128C388.347 245.128 390.747 254.728 387.547 255.528C384.347 256.328 345.147 231.528 338.747 232.328z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #f3bf9c') +SAX.characters( + , 3) +SAX.startElement(path, d='M340.056 234.073C333.655 234.873 307.313 211.613 323.255 242.873C343.656 282.874 264.855 282.074 248.055 270.874C231.255 259.674 255.255 289.274 255.255 289.274C273.655 309.274 239.255 292.474 239.255 292.474C204.855 279.674 180.855 305.274 177.655 306.074C174.455 306.874 169.655 310.074 168.855 303.674C168.055 297.274 161.332 281.578 128.855 306.874C101.436 327.947 89.491 309.219 89.491 309.219L84.291 311.874C68.291 281.674 77.727 337.929 77.727 337.929C86.527 372.329 220.055 326.874 220.055 326.874C220.055 326.874 388.856 296.474 400.056 292.474C411.256 288.474 501.22 294.437 501.22 294.437L496.056 274.583C431.256 228.183 416.856 254.874 403.256 250.874C389.656 246.873 392.056 256.474 388.856 257.274C385.656 258.074 346.456 233.273 340.056 234.073z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #f5ccb0') +SAX.characters( + , 3) +SAX.startElement(path, d='M341.365 235.819C334.965 236.619 307.523 213.944 324.565 244.619C346.565 284.219 266.164 283.819 249.364 272.619C232.564 261.419 256.564 291.019 256.564 291.019C274.964 311.019 240.564 294.219 240.564 294.219C206.164 281.419 182.164 307.019 178.964 307.819C175.764 308.619 170.964 311.819 170.164 305.419C169.364 299.019 162.773 283.492 130.164 308.619C101.509 330.438 89.873 312.256 89.873 312.256L84.273 313.419C69.872 285.019 78.382 340.983 78.382 340.983C87.182 375.384 221.364 328.619 221.364 328.619C221.364 328.619 390.165 298.219 401.365 294.219C412.565 290.219 501.656 296.11 501.656 296.11L496.565 275.746C431.765 229.346 418.165 256.619 404.565 252.619C390.965 248.619 393.365 258.219 390.165 259.019C386.965 259.819 347.765 235.019 341.365 235.819z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #f8d8c4') +SAX.characters( + , 3) +SAX.startElement(path, d='M342.674 237.565C336.274 238.365 308.832 215.689 325.874 246.365C347.874 285.965 267.474 285.565 250.674 274.365C233.874 263.165 257.874 292.765 257.874 292.765C276.274 312.765 241.874 295.965 241.874 295.965C207.473 283.165 183.473 308.765 180.273 309.565C177.073 310.365 172.273 313.565 171.473 307.165C170.673 300.765 164.214 285.405 131.473 310.365C101.582 332.929 90.255 315.293 90.255 315.293L84.255 314.965C70.654 288.564 79.037 344.038 79.037 344.038C87.837 378.438 222.673 330.365 222.673 330.365C222.673 330.365 391.474 299.965 402.674 295.965C413.874 291.965 502.093 297.783 502.093 297.783L497.075 276.91C432.274 230.51 419.474 258.365 405.874 254.365C392.274 250.365 394.674 259.965 391.474 260.765C388.274 261.565 349.074 236.765 342.674 237.565z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #fae5d7') +SAX.characters( + , 3) +SAX.startElement(path, d='M343.983 239.31C337.583 240.11 310.529 217.223 327.183 248.11C349.183 288.91 268.783 287.31 251.983 276.11C235.183 264.91 259.183 294.51 259.183 294.51C277.583 314.51 243.183 297.71 243.183 297.71C208.783 284.91 184.783 310.51 181.583 311.31C178.382 312.11 173.582 315.31 172.782 308.91C171.982 302.51 165.654 287.318 132.782 312.11C101.655 335.42 90.637 318.329 90.637 318.329L84.236 316.51C71.236 292.51 79.691 347.093 79.691 347.093C88.491 381.493 223.983 332.11 223.983 332.11C223.983 332.11 392.783 301.71 403.983 297.71C415.183 293.71 502.529 299.456 502.529 299.456L497.583 278.074C432.783 231.673 420.783 260.11 407.183 256.11C393.583 252.11 395.983 261.71 392.783 262.51C389.583 263.31 350.383 238.51 343.983 239.31z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #fcf2eb') +SAX.characters( + , 3) +SAX.startElement(path, d='M345.292 241.055C338.892 241.855 312.917 218.411 328.492 249.855C349.692 292.656 270.092 289.056 253.292 277.856C236.492 266.656 260.492 296.256 260.492 296.256C278.892 316.256 244.492 299.456 244.492 299.456C210.092 286.656 186.092 312.256 182.892 313.056C179.692 313.856 174.892 317.056 174.092 310.656C173.292 304.256 167.095 289.232 134.092 313.856C101.727 337.911 91.018 321.365 91.018 321.365L84.218 318.056C71.418 294.856 80.346 350.147 80.346 350.147C89.146 384.547 225.292 333.856 225.292 333.856C225.292 333.856 394.093 303.456 405.293 299.456C416.493 295.456 502.965 301.128 502.965 301.128L498.093 279.237C433.292 232.837 422.093 261.856 408.493 257.856C394.893 253.855 397.293 263.456 394.093 264.256C390.892 265.056 351.692 240.255 345.292 241.055z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 3) +SAX.startElement(path, d='M84.2 319.601C71.4 297.6 81 353.201 81 353.201C89.8 387.601 226.6 335.601 226.6 335.601C226.6 335.601 395.401 305.2 406.601 301.2C417.801 297.2 503.401 302.8 503.401 302.8L498.601 280.4C433.801 234 423.401 263.6 409.801 259.6C396.201 255.6 398.601 265.2 395.401 266C392.201 266.8 353.001 242 346.601 242.8C340.201 243.6 314.981 219.793 329.801 251.6C352.028 299.307 269.041 289.227 254.6 279.6C237.8 268.4 261.8 298 261.8 298C280.2 318.001 245.8 301.2 245.8 301.2C211.4 288.4 187.4 314.001 184.2 314.801C181 315.601 176.2 318.801 175.4 312.401C174.6 306 168.535 291.144 135.4 315.601C101.8 340.401 91.4 324.401 91.4 324.401L84.2 319.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M125.8 349.601C125.8 349.601 118.6 361.201 139.4 374.401C139.4 374.401 140.8 375.801 122.8 371.601C122.8 371.601 116.6 369.601 115 359.201C115 359.201 110.2 354.801 105.4 349.201C100.6 343.601 125.8 349.601 125.8 349.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M265.8 302C265.8 302 283.498 328.821 282.9 333.601C281.6 344.001 281.4 353.601 284.6 357.601C287.801 361.601 296.601 394.801 296.601 394.801C296.601 394.801 296.201 396.001 308.601 358.001C308.601 358.001 320.201 342.001 300.201 323.601C300.201 323.601 265 294.8 265.8 302z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M145.8 376.401C145.8 376.401 157 383.601 142.6 414.801L149 412.401C149 412.401 148.2 423.601 145 426.001L152.2 422.801C152.2 422.801 157 430.801 153 435.601C153 435.601 169.8 443.601 169 450.001C169 450.001 175.4 442.001 171.4 435.601C167.4 429.201 160.2 433.201 161 414.801L152.2 418.001C152.2 418.001 157.8 409.201 157.8 402.801L149.8 405.201C149.8 405.201 165.269 378.623 154.6 377.201C148.6 376.401 145.8 376.401 145.8 376.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M178.2 393.201C178.2 393.201 181 388.801 178.2 389.601C175.4 390.401 144.2 405.201 138.2 414.801C138.2 414.801 172.6 390.401 178.2 393.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M188.6 401.201C188.6 401.201 191.4 396.801 188.6 397.601C185.8 398.401 154.6 413.201 148.6 422.801C148.6 422.801 183 398.401 188.6 401.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M201.8 386.001C201.8 386.001 204.6 381.601 201.8 382.401C199 383.201 167.8 398.001 161.8 407.601C161.8 407.601 196.2 383.201 201.8 386.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M178.6 429.601C178.6 429.601 178.6 423.601 175.8 424.401C173 425.201 137 442.801 131 452.401C131 452.401 173 426.801 178.6 429.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M179.8 418.801C179.8 418.801 181 414.001 178.2 414.801C176.2 414.801 149.8 426.401 143.8 436.001C143.8 436.001 173.4 414.401 179.8 418.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M165.4 466.401L155.4 474.001C155.4 474.001 165.8 466.401 169.4 467.601C169.4 467.601 162.6 478.801 161.8 484.001C161.8 484.001 172.2 471.201 177.8 471.601C177.8 471.601 185.4 472.001 185.4 482.801C185.4 482.801 191 472.401 194.2 472.801C194.2 472.801 195.4 479.201 194.2 486.001C194.2 486.001 198.2 478.401 202.2 480.001C202.2 480.001 208.6 478.001 207.8 489.601C207.8 489.601 207.8 500.001 207 502.801C207 502.801 212.6 476.401 215 476.001C215 476.001 223 474.801 227.8 483.601C227.8 483.601 223.8 476.001 228.6 478.001C228.6 478.001 239.4 479.601 242.6 486.401C242.6 486.401 235.8 474.401 241.4 477.601C241.4 477.601 248.2 477.601 249.4 484.001C249.4 484.001 257.8 505.201 259.8 506.801C259.8 506.801 252.2 485.201 253.8 485.201C253.8 485.201 251.8 473.201 257 488.001C257 488.001 253.8 474.001 259.4 474.801C265 475.601 269.4 485.601 277.8 483.201C277.8 483.201 287.401 488.801 289.401 419.601L165.4 466.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M170.2 373.601C170.2 373.601 185 367.601 225 373.601C225 373.601 232.2 374.001 239 365.201C245.8 356.401 272.6 349.201 279 351.201L288.601 357.601L289.401 358.801C289.401 358.801 301.801 369.201 302.201 376.801C302.601 384.401 287.801 432.401 278.2 448.401C268.6 464.401 259 476.801 239.8 474.401C239.8 474.401 219 470.401 193.4 474.401C193.4 474.401 164.2 472.801 161.4 464.801C158.6 456.801 172.6 441.601 172.6 441.601C172.6 441.601 177 433.201 175.8 418.801C174.6 404.401 175 376.401 170.2 373.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #e5668c') +SAX.characters( + , 3) +SAX.startElement(path, d='M192.2 375.601C200.6 394.001 171 459.201 171 459.201C169 460.801 183.66 466.846 193.8 464.401C204.746 461.763 245 466.001 245 466.001C268.6 450.401 281.4 406.001 281.4 406.001C281.4 406.001 291.801 382.001 274.2 378.801C256.6 375.601 192.2 375.601 192.2 375.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #b23259') +SAX.characters( + , 3) +SAX.startElement(path, d='M190.169 406.497C193.495 393.707 195.079 381.906 192.2 375.601C192.2 375.601 254.6 382.001 265.8 361.201C270.041 353.326 284.801 384.001 284.4 393.601C284.4 393.601 221.4 408.001 206.6 396.801L190.169 406.497z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #a5264c') +SAX.characters( + , 3) +SAX.startElement(path, d='M194.6 422.801C194.6 422.801 196.6 430.001 194.2 434.001C194.2 434.001 192.6 434.801 191.4 435.201C191.4 435.201 192.6 438.801 198.6 440.401C198.6 440.401 200.6 444.801 203 445.201C205.4 445.601 210.2 451.201 214.2 450.001C218.2 448.801 229.4 444.801 229.4 444.801C229.4 444.801 235 441.601 243.8 445.201C243.8 445.201 246.175 444.399 246.6 440.401C247.1 435.701 250.2 432.001 252.2 430.001C254.2 428.001 263.8 415.201 262.6 414.801C261.4 414.401 194.6 422.801 194.6 422.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ff727f; stroke:#000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M190.2 374.401C190.2 374.401 187.4 396.801 190.6 405.201C193.8 413.601 193 415.601 192.2 419.601C191.4 423.601 195.8 433.601 201.4 439.601L213.4 441.201C213.4 441.201 228.6 437.601 237.8 440.401C237.8 440.401 246.794 441.744 250.2 426.801C250.2 426.801 255 420.401 262.2 417.601C269.4 414.801 276.6 373.201 272.6 365.201C268.6 357.201 254.2 352.801 238.2 368.401C222.2 384.001 220.2 367.201 190.2 374.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M191.8 449.201C191.8 449.201 191 447.201 186.6 446.801C186.6 446.801 164.2 443.201 155.8 430.801C155.8 430.801 149 425.201 153.4 436.801C153.4 436.801 163.8 457.201 170.6 460.001C170.6 460.001 187 464.001 191.8 449.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc3f4c') +SAX.characters( + , 3) +SAX.startElement(path, d='M271.742 385.229C272.401 377.323 274.354 368.709 272.6 365.201C266.154 352.307 249.181 357.695 238.2 368.401C222.2 384.001 220.2 367.201 190.2 374.401C190.2 374.401 188.455 388.364 189.295 398.376C189.295 398.376 226.6 386.801 227.4 392.401C227.4 392.401 229 389.201 238.2 389.201C247.4 389.201 270.142 388.029 271.742 385.229z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#a51926; stroke-width:2') +SAX.characters( + , 3) +SAX.startElement(path, d='M228.6 375.201C228.6 375.201 233.4 380.001 229.8 389.601C229.8 389.601 215.4 405.601 217.4 419.601') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M180.6 460.001C180.6 460.001 176.2 447.201 185 454.001C185 454.001 189.8 456.001 188.6 457.601C187.4 459.201 181.8 463.201 180.6 460.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M185.64 461.201C185.64 461.201 182.12 450.961 189.16 456.401C189.16 456.401 193.581 458.849 192.04 459.281C187.48 460.561 192.04 463.121 185.64 461.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M190.44 461.201C190.44 461.201 186.92 450.961 193.96 456.401C193.96 456.401 198.335 458.711 196.84 459.281C193.48 460.561 196.84 463.121 190.44 461.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M197.04 461.401C197.04 461.401 193.52 451.161 200.56 456.601C200.56 456.601 204.943 458.933 203.441 459.481C200.48 460.561 203.441 463.321 197.04 461.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M203.52 461.321C203.52 461.321 200 451.081 207.041 456.521C207.041 456.521 210.881 458.121 209.921 459.401C208.961 460.681 209.921 463.241 203.52 461.321z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M210.2 462.001C210.2 462.001 205.4 449.601 214.6 456.001C214.6 456.001 219.4 458.001 218.2 459.601C217 461.201 218.2 464.401 210.2 462.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#a5264c; stroke-width:2') +SAX.characters( + , 3) +SAX.startElement(path, d='M181.8 444.801C181.8 444.801 195 442.001 201 445.201C201 445.201 207 446.401 208.2 446.001C209.4 445.601 212.6 445.201 212.6 445.201') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#a5264c; stroke-width:2') +SAX.characters( + , 3) +SAX.startElement(path, d='M215.8 453.601C215.8 453.601 227.8 440.001 239.8 444.401C246.816 446.974 245.8 443.601 246.6 440.801C247.4 438.001 247.6 433.801 252.6 430.801') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M233 437.601C233 437.601 229 426.801 226.2 439.601C223.4 452.401 220.2 456.001 218.6 458.801C218.6 458.801 218.6 464.001 227 463.601C227 463.601 237.8 463.201 238.2 460.401C238.6 457.601 237 446.001 233 437.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#a5264c; stroke-width:2') +SAX.characters( + , 3) +SAX.startElement(path, d='M247 444.801C247 444.801 250.6 442.401 253 443.601') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#a5264c; stroke-width:2') +SAX.characters( + , 3) +SAX.startElement(path, d='M253.5 428.401C253.5 428.401 256.4 423.501 261.2 422.701') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #b2b2b2') +SAX.characters( + , 3) +SAX.startElement(path, d='M174.2 465.201C174.2 465.201 192.2 468.401 196.6 466.801C196.6 466.801 205.4 466.801 197 468.801C197 468.801 184.2 468.801 176.2 467.601C176.2 467.601 164.6 462.001 174.2 465.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M188.2 372.001C188.2 372.001 205.8 372.001 207.8 372.801C207.8 372.801 215 403.601 211.4 411.201C211.4 411.201 210.2 414.001 207.4 408.401C207.4 408.401 189 375.601 185.8 373.601C182.6 371.601 187 372.001 188.2 372.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M111.1 369.301C111.1 369.301 120 371.001 132.6 373.601C132.6 373.601 137.4 396.001 140.6 400.801C143.8 405.601 140.2 405.601 136.6 402.801C133 400.001 118.2 386.001 116.2 381.601C114.2 377.201 111.1 369.301 111.1 369.301z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M132.961 373.818C132.961 373.818 138.761 375.366 139.77 377.581C140.778 379.795 138.568 383.092 138.568 383.092C138.568 383.092 137.568 386.397 136.366 384.235C135.164 382.072 132.292 374.412 132.961 373.818z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M133 373.601C133 373.601 136.6 378.801 140.2 378.801C143.8 378.801 144.182 378.388 147 379.001C151.6 380.001 151.2 378.001 157.8 379.201C160.44 379.681 163 378.801 165.8 380.001C168.6 381.201 171.8 380.401 173 378.401C174.2 376.401 179 372.201 179 372.201C179 372.201 166.2 374.001 163.4 374.801C163.4 374.801 141 376.001 133 373.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M177.6 373.801C177.6 373.801 171.15 377.301 170.75 379.701C170.35 382.101 176 385.801 176 385.801C176 385.801 178.75 390.401 179.35 388.001C179.95 385.601 178.4 374.201 177.6 373.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M140.115 379.265C140.115 379.265 147.122 390.453 147.339 379.242C147.339 379.242 147.896 377.984 146.136 377.962C140.061 377.886 141.582 373.784 140.115 379.265z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M147.293 379.514C147.293 379.514 155.214 390.701 154.578 379.421C154.578 379.421 154.585 379.089 152.832 378.936C148.085 378.522 148.43 374.004 147.293 379.514z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M154.506 379.522C154.506 379.522 162.466 390.15 161.797 380.484C161.797 380.484 161.916 379.251 160.262 378.95C156.37 378.244 156.159 374.995 154.506 379.522z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffcc; stroke:#000000; stroke-width:0.5') +SAX.characters( + , 3) +SAX.startElement(path, d='M161.382 379.602C161.382 379.602 169.282 391.163 169.63 381.382C169.63 381.382 171.274 380.004 169.528 379.782C163.71 379.042 164.508 374.588 161.382 379.602z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #e5e5b2') +SAX.characters( + , 3) +SAX.startElement(path, d='M125.208 383.132L117.55 381.601C114.95 376.601 112.85 370.451 112.85 370.451C112.85 370.451 119.2 371.451 131.7 374.251C131.7 374.251 132.576 377.569 134.048 383.364L125.208 383.132z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #e5e5b2') +SAX.characters( + , 3) +SAX.startElement(path, d='M190.276 378.47C188.61 375.964 187.293 374.206 186.643 373.8C183.63 371.917 187.773 372.294 188.902 372.294C188.902 372.294 205.473 372.294 207.356 373.047C207.356 373.047 207.88 375.289 208.564 378.68C208.564 378.68 198.476 376.67 190.276 378.47z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226') +SAX.characters( + , 3) +SAX.startElement(path, d='M243.88 240.321C271.601 244.281 297.121 208.641 298.881 198.96C300.641 189.28 290.521 177.4 290.521 177.4C291.841 174.32 287.001 160.24 281.721 151C276.441 141.76 260.54 142.734 243 141.76C227.16 140.88 208.68 164.2 207.36 165.96C206.04 167.72 212.2 206.001 213.52 211.721C214.84 217.441 212.2 243.841 212.2 243.841C246.44 234.741 216.16 236.361 243.88 240.321z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ea8e51') +SAX.characters( + , 3) +SAX.startElement(path, d='M208.088 166.608C206.792 168.336 212.84 205.921 214.136 211.537C215.432 217.153 212.84 243.073 212.84 243.073C245.512 234.193 216.728 235.729 243.944 239.617C271.161 243.505 296.217 208.513 297.945 199.008C299.673 189.504 289.737 177.84 289.737 177.84C291.033 174.816 286.281 160.992 281.097 151.92C275.913 142.848 260.302 143.805 243.08 142.848C227.528 141.984 209.384 164.88 208.088 166.608z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #efaa7c') +SAX.characters( + , 3) +SAX.startElement(path, d='M208.816 167.256C207.544 168.952 213.48 205.841 214.752 211.353C216.024 216.865 213.48 242.305 213.48 242.305C244.884 233.145 217.296 235.097 244.008 238.913C270.721 242.729 295.313 208.385 297.009 199.056C298.705 189.728 288.953 178.28 288.953 178.28C290.225 175.312 285.561 161.744 280.473 152.84C275.385 143.936 260.063 144.875 243.16 143.936C227.896 143.088 210.088 165.56 208.816 167.256z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #f4c6a8') +SAX.characters( + , 3) +SAX.startElement(path, d='M209.544 167.904C208.296 169.568 214.12 205.761 215.368 211.169C216.616 216.577 214.12 241.537 214.12 241.537C243.556 232.497 217.864 234.465 244.072 238.209C270.281 241.953 294.409 208.257 296.073 199.105C297.737 189.952 288.169 178.72 288.169 178.72C289.417 175.808 284.841 162.496 279.849 153.76C274.857 145.024 259.824 145.945 243.24 145.024C228.264 144.192 210.792 166.24 209.544 167.904z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #f9e2d3') +SAX.characters( + , 3) +SAX.startElement(path, d='M210.272 168.552C209.048 170.184 214.76 205.681 215.984 210.985C217.208 216.289 214.76 240.769 214.76 240.769C242.628 231.849 218.432 233.833 244.136 237.505C269.841 241.177 293.505 208.129 295.137 199.152C296.769 190.176 287.385 179.16 287.385 179.16C288.609 176.304 284.121 163.248 279.225 154.68C274.329 146.112 259.585 147.015 243.32 146.112C228.632 145.296 211.496 166.92 210.272 168.552z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 3) +SAX.startElement(path, d='M244.2 236.8C269.4 240.4 292.601 208 294.201 199.2C295.801 190.4 286.601 179.6 286.601 179.6C287.801 176.8 283.4 164 278.6 155.6C273.8 147.2 259.346 148.086 243.4 147.2C229 146.4 212.2 167.6 211 169.2C209.8 170.8 215.4 205.6 216.6 210.8C217.8 216 215.4 240 215.4 240C240.9 231.4 219 233.2 244.2 236.8z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M290.601 202.8C290.601 202.8 262.8 210.4 251.2 208.8C251.2 208.8 235.4 202.2 226.6 224C226.6 224 223 231.2 221 233.2C219 235.2 290.601 202.8 290.601 202.8z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M294.401 200.6C294.401 200.6 265.4 212.8 255.4 212.4C255.4 212.4 239 207.8 230.6 222.4C230.6 222.4 222.2 231.6 219 233.2C219 233.2 218.6 234.8 225 230.8L235.4 236C235.4 236 250.2 245.6 259.8 229.6C259.8 229.6 263.8 218.4 263.8 216.4C263.8 214.4 285 208.8 286.601 208.4C288.201 208 294.801 203.8 294.401 200.6z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #99cc32') +SAX.characters( + , 3) +SAX.startElement(path, d='M247 236.514C240.128 236.514 231.755 232.649 231.755 226.4C231.755 220.152 240.128 213.887 247 213.887C253.874 213.887 259.446 218.952 259.446 225.2C259.446 231.449 253.874 236.514 247 236.514z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #659900') +SAX.characters( + , 3) +SAX.startElement(path, d='M243.377 219.83C238.531 220.552 233.442 222.055 233.514 221.839C235.054 217.22 241.415 213.887 247 213.887C251.296 213.887 255.084 215.865 257.32 218.875C257.32 218.875 252.004 218.545 243.377 219.83z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 3) +SAX.startElement(path, d='M255.4 219.6C255.4 219.6 251 216.4 251 218.6C251 218.6 254.6 223 255.4 219.6z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M245.4 227.726C242.901 227.726 240.875 225.7 240.875 223.2C240.875 220.701 242.901 218.675 245.4 218.675C247.9 218.675 249.926 220.701 249.926 223.2C249.926 225.7 247.9 227.726 245.4 227.726z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226') +SAX.characters( + , 3) +SAX.startElement(path, d='M141.4 214.4C141.4 214.4 138.2 193.2 140.6 188.8C140.6 188.8 151.4 178.8 151 175.2C151 175.2 150.6 157.2 149.4 156.4C148.2 155.6 140.6 149.6 134.6 156C134.6 156 124.2 174 125 180.4L125 182.4C125 182.4 117.4 182 115.8 184C115.8 184 114.6 189.2 113.4 189.6C113.4 189.6 110.6 192 112.6 194.8C112.6 194.8 110.6 197.2 111 201.2L118.6 205.2C118.6 205.2 120.6 219.6 131.4 224.8C136.236 227.129 139.4 220.4 141.4 214.4z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 3) +SAX.startElement(path, d='M140.4 212.56C140.4 212.56 137.52 193.48 139.68 189.52C139.68 189.52 149.4 180.52 149.04 177.28C149.04 177.28 148.68 161.08 147.6 160.36C146.52 159.64 139.68 154.24 134.28 160C134.28 160 124.92 176.2 125.64 181.96L125.64 183.76C125.64 183.76 118.8 183.4 117.36 185.2C117.36 185.2 116.28 189.88 115.2 190.24C115.2 190.24 112.68 192.4 114.48 194.92C114.48 194.92 112.68 197.08 113.04 200.68L119.88 204.28C119.88 204.28 121.68 217.24 131.4 221.92C135.752 224.015 138.6 217.96 140.4 212.56z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #eb955c') +SAX.characters( + , 3) +SAX.startElement(path, d='M148.95 157.39C147.86 156.53 140.37 150.76 134.52 157C134.52 157 124.38 174.55 125.16 180.79L125.16 182.74C125.16 182.74 117.75 182.35 116.19 184.3C116.19 184.3 115.02 189.37 113.85 189.76C113.85 189.76 111.12 192.1 113.07 194.83C113.07 194.83 111.12 197.17 111.51 201.07L118.92 204.97C118.92 204.97 120.87 219.01 131.4 224.08C136.114 226.35 139.2 219.79 141.15 213.94C141.15 213.94 138.03 193.27 140.37 188.98C140.37 188.98 150.9 179.23 150.51 175.72C150.51 175.72 150.12 158.17 148.95 157.39z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #f2b892') +SAX.characters( + , 3) +SAX.startElement(path, d='M148.5 158.38C147.52 157.46 140.14 151.92 134.44 158C134.44 158 124.56 175.1 125.32 181.18L125.32 183.08C125.32 183.08 118.1 182.7 116.58 184.6C116.58 184.6 115.44 189.54 114.3 189.92C114.3 189.92 111.64 192.2 113.54 194.86C113.54 194.86 111.64 197.14 112.02 200.94L119.24 204.74C119.24 204.74 121.14 218.42 131.4 223.36C135.994 225.572 139 219.18 140.9 213.48C140.9 213.48 137.86 193.34 140.14 189.16C140.14 189.16 150.4 179.66 150.02 176.24C150.02 176.24 149.64 159.14 148.5 158.38z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #f8dcc8') +SAX.characters( + , 3) +SAX.startElement(path, d='M148.05 159.37C147.18 158.39 139.91 153.08 134.36 159C134.36 159 124.74 175.65 125.48 181.57L125.48 183.42C125.48 183.42 118.45 183.05 116.97 184.9C116.97 184.9 115.86 189.71 114.75 190.08C114.75 190.08 112.16 192.3 114.01 194.89C114.01 194.89 112.16 197.11 112.53 200.81L119.56 204.51C119.56 204.51 121.41 217.83 131.4 222.64C135.873 224.794 138.8 218.57 140.65 213.02C140.65 213.02 137.69 193.41 139.91 189.34C139.91 189.34 149.9 180.09 149.53 176.76C149.53 176.76 149.16 160.11 148.05 159.37z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 3) +SAX.startElement(path, d='M140.4 212.46C140.4 212.46 137.52 193.48 139.68 189.52C139.68 189.52 149.4 180.52 149.04 177.28C149.04 177.28 148.68 161.08 147.6 160.36C146.84 159.32 139.68 154.24 134.28 160C134.28 160 124.92 176.2 125.64 181.96L125.64 183.76C125.64 183.76 118.8 183.4 117.36 185.2C117.36 185.2 116.28 189.88 115.2 190.24C115.2 190.24 112.68 192.4 114.48 194.92C114.48 194.92 112.68 197.08 113.04 200.68L119.88 204.28C119.88 204.28 121.68 217.24 131.4 221.92C135.752 224.015 138.6 217.86 140.4 212.46z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M137.3 206.2C137.3 206.2 115.7 196 114.8 195.2C114.8 195.2 123.9 203.4 124.7 203.4C125.5 203.4 137.3 206.2 137.3 206.2z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M120.2 200C120.2 200 138.6 203.6 138.6 208C138.6 210.912 138.357 224.331 133 222.8C124.6 220.4 128.2 206 120.2 200z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #99cc32') +SAX.characters( + , 3) +SAX.startElement(path, d='M128.6 203.8C128.6 203.8 137.578 205.274 138.6 208C139.2 209.6 139.863 217.908 134.4 219C129.848 219.911 127.618 209.69 128.6 203.8z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M214.595 246.349C214.098 244.607 215.409 244.738 217.2 244.2C219.2 243.6 231.4 239.8 232.2 237.2C233 234.6 246.2 239 246.2 239C248 239.8 252.4 242.4 252.4 242.4C257.2 243.6 263.8 244 263.8 244C266.2 245 269.6 247.8 269.6 247.8C284.2 258 296.601 250.8 296.601 250.8C316.601 244.2 310.601 227 310.601 227C307.601 218 310.801 214.6 310.801 214.6C311.001 210.8 318.201 217.2 318.201 217.2C320.801 221.4 321.601 226.4 321.601 226.4C329.601 237.6 326.201 219.8 326.201 219.8C326.401 218.8 323.601 215.2 323.601 214C323.601 212.8 321.801 209.4 321.801 209.4C318.801 206 321.201 199 321.201 199C323.001 185.2 320.801 187 320.801 187C319.601 185.2 310.401 195.2 310.401 195.2C308.201 198.6 302.201 200.2 302.201 200.2C299.401 202 296.001 200.6 296.001 200.6C293.401 200.2 287.801 207.2 287.801 207.2C290.601 207 293.001 211.4 295.401 211.6C297.801 211.8 299.601 209.2 301.201 208.6C302.801 208 305.601 213.8 305.601 213.8C306.001 216.4 300.401 221.2 300.401 221.2C300.001 225.8 298.401 224.2 298.401 224.2C295.401 223.6 294.201 227.4 293.201 232C292.201 236.6 288.001 237 288.001 237C286.401 244.4 285.2 241.4 285.2 241.4C285 235.8 279 241.6 279 241.6C277.8 243.6 273.2 241.4 273.2 241.4C266.4 239.4 268.8 237.4 268.8 237.4C270.6 235.2 281.8 237.4 281.8 237.4C284 235.8 276 231.8 276 231.8C275.4 230 276.4 225.6 276.4 225.6C277.6 222.4 284.4 216.8 284.4 216.8C293.801 215.6 291.001 214 291.001 214C284.801 208.8 279 216.4 279 216.4C276.8 222.6 259.4 237.6 259.4 237.6C254.6 241 257.2 234.2 253.2 237.6C249.2 241 228.6 232 228.6 232C217.038 230.807 214.306 246.549 210.777 243.429C210.777 243.429 216.195 251.949 214.595 246.349z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M409.401 80C409.401 80 383.801 88 381.001 106.8C381.001 106.8 378.601 129.6 399.001 147.2C399.001 147.2 399.401 153.6 401.401 156.8C401.401 156.8 399.801 161.6 418.601 154L445.801 145.6C445.801 145.6 452.201 143.2 457.401 134.4C462.601 125.6 477.801 106.8 474.201 81.6C474.201 81.6 475.401 70.4 469.401 70C469.401 70 461.001 68.4 453.801 76C453.801 76 447.001 79.2 444.601 78.8L409.401 80z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M464.022 79.01C464.022 79.01 466.122 70.08 461.282 74.92C461.282 74.92 454.242 80.64 446.761 80.64C446.761 80.64 432.241 82.84 427.841 96.04C427.841 96.04 423.881 122.88 431.801 128.6C431.801 128.6 436.641 136.08 443.681 129.48C450.722 122.88 466.222 92.65 464.022 79.01z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #323232') +SAX.characters( + , 3) +SAX.startElement(path, d='M463.648 79.368C463.648 79.368 465.738 70.624 460.986 75.376C460.986 75.376 454.074 80.992 446.729 80.992C446.729 80.992 432.473 83.152 428.153 96.112C428.153 96.112 424.265 122.464 432.041 128.08C432.041 128.08 436.793 135.424 443.705 128.944C450.618 122.464 465.808 92.76 463.648 79.368z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #666666') +SAX.characters( + , 3) +SAX.startElement(path, d='M463.274 79.726C463.274 79.726 465.354 71.168 460.69 75.832C460.69 75.832 453.906 81.344 446.697 81.344C446.697 81.344 432.705 83.464 428.465 96.184C428.465 96.184 424.649 122.048 432.281 127.56C432.281 127.56 436.945 134.768 443.729 128.408C450.514 122.048 465.394 92.87 463.274 79.726z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #999999') +SAX.characters( + , 3) +SAX.startElement(path, d='M462.9 80.084C462.9 80.084 464.97 71.712 460.394 76.288C460.394 76.288 453.738 81.696 446.665 81.696C446.665 81.696 432.937 83.776 428.777 96.256C428.777 96.256 425.033 121.632 432.521 127.04C432.521 127.04 437.097 134.112 443.753 127.872C450.41 121.632 464.98 92.98 462.9 80.084z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M462.526 80.442C462.526 80.442 464.586 72.256 460.098 76.744C460.098 76.744 453.569 82.048 446.633 82.048C446.633 82.048 433.169 84.088 429.089 96.328C429.089 96.328 425.417 121.216 432.761 126.52C432.761 126.52 437.249 133.456 443.777 127.336C450.305 121.216 464.566 93.09 462.526 80.442z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 3) +SAX.startElement(path, d='M462.151 80.8C462.151 80.8 464.201 72.8 459.801 77.2C459.801 77.2 453.401 82.4 446.601 82.4C446.601 82.4 433.401 84.4 429.401 96.4C429.401 96.4 425.801 120.8 433.001 126C433.001 126 437.401 132.8 443.801 126.8C450.201 120.8 464.151 93.2 462.151 80.8z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #992600') +SAX.characters( + , 3) +SAX.startElement(path, d='M250.6 284C250.6 284 230.2 264.8 222.2 264C222.2 264 187.8 260 173 278C173 278 190.6 257.6 218.2 263.2C218.2 263.2 196.6 258.8 184.2 262C184.2 262 167.4 262 157.8 276L155 280.8C155 280.8 159 266 177.4 260C177.4 260 200.2 255.2 211 260C211 260 189.4 253.2 179.4 255.2C179.4 255.2 149 252.8 136.2 279.2C136.2 279.2 140.2 264.8 155 257.6C155 257.6 168.6 248.8 189 251.6C189 251.6 203.4 254.8 208.6 257.2C213.8 259.6 212.6 256.8 204.2 252C204.2 252 198.6 242 184.6 242.4C184.6 242.4 141.8 246 131.4 258C131.4 258 145 246.8 155.4 244C155.4 244 177.8 236 186.2 236.8C186.2 236.8 211 237.8 218.6 233.8C218.6 233.8 207.4 238.8 210.6 242C213.8 245.2 220.6 252.8 220.6 254C220.6 255.2 244.8 277.3 248.4 281.7L250.6 284z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M389 478C389 478 373.5 441.5 361 432C361 432 387 448 390.5 466C390.5 466 390.5 476 389 478z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M436 485.5C436 485.5 409.5 430.5 391 406.5C391 406.5 434.5 444 439.5 470.5L440 476L437 473.5C437 473.5 436.5 482.5 436 485.5z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M492.5 437C492.5 437 430 377.5 428.5 375C428.5 375 489 441 492 448.5C492 448.5 490 439.5 492.5 437z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M304 480.5C304 480.5 323.5 428.5 342.5 451C342.5 451 357.5 461 357 464C357 464 353 457.5 335 458C335 458 316 455 304 480.5z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M494.5 353C494.5 353 449.5 324.5 442 323C430.193 320.639 491.5 352 496.5 362.5C496.5 362.5 498.5 360 494.5 353z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M343.801 459.601C343.801 459.601 364.201 457.601 371.001 450.801L375.401 454.401L393.001 416.001L396.601 421.201C396.601 421.201 411.001 406.401 410.201 398.401C409.401 390.401 423.001 404.401 423.001 404.401C423.001 404.401 422.201 392.801 429.401 399.601C429.401 399.601 427.001 384.001 435.401 392.001C435.401 392.001 424.864 361.844 447.401 387.601C453.001 394.001 448.601 387.201 448.601 387.201C448.601 387.201 422.601 339.201 444.201 353.601C444.201 353.601 446.201 330.801 445.001 326.401C443.801 322.001 441.801 299.6 437.001 294.4C432.201 289.2 437.401 287.6 443.001 292.8C443.001 292.8 431.801 268.8 445.001 280.8C445.001 280.8 441.401 265.6 437.001 262.8C437.001 262.8 431.401 245.6 446.601 256.4C446.601 256.4 442.201 244 439.001 240.8C439.001 240.8 427.401 213.2 434.601 218L439.001 221.6C439.001 221.6 432.201 207.6 438.601 212C445.001 216.4 445.001 216 445.001 216C445.001 216 423.801 182.8 444.201 200.4C444.201 200.4 436.042 186.482 432.601 179.6C432.601 179.6 413.801 159.2 428.201 165.6L433.001 167.2C433.001 167.2 424.201 157.2 416.201 155.6C408.201 154 418.601 147.6 425.001 149.6C431.401 151.6 447.001 159.2 447.001 159.2C447.001 159.2 459.801 178 463.801 178.4C463.801 178.4 443.801 170.8 449.801 178.8C449.801 178.8 464.201 192.8 457.001 192.4C457.001 192.4 451.001 199.6 455.801 208.4C455.801 208.4 437.342 190.009 452.201 215.6L459.001 232C459.001 232 434.601 207.2 445.801 229.2C445.801 229.2 463.001 252.8 465.001 253.2C467.001 253.6 471.401 262.4 471.401 262.4L467.001 260.4L472.201 269.2C472.201 269.2 461.001 257.2 467.001 270.4L472.601 284.8C472.601 284.8 452.201 262.8 465.801 292.4C465.801 292.4 449.401 287.2 458.201 304.4C458.201 304.4 456.601 320.401 457.001 325.601C457.401 330.801 458.601 359.201 454.201 367.201C449.801 375.201 460.201 394.401 462.201 398.401C464.201 402.401 467.801 413.201 459.001 404.001C450.201 394.801 454.601 400.401 456.601 409.201C458.601 418.001 464.601 433.601 463.801 439.201C463.801 439.201 462.601 440.401 459.401 436.801C459.401 436.801 444.601 414.001 446.201 428.401C446.201 428.401 445.001 436.401 441.801 445.201C441.801 445.201 438.601 456.001 438.601 447.201C438.601 447.201 435.401 430.401 432.601 438.001C429.801 445.601 426.201 451.601 423.401 454.001C420.601 456.401 415.401 433.601 414.201 444.001C414.201 444.001 402.201 431.601 397.401 448.001L385.801 464.401C385.801 464.401 385.401 452.001 384.201 458.001C384.201 458.001 354.201 464.001 343.801 459.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M309.401 102.8C309.401 102.8 297.801 94.8 293.801 95.2C289.801 95.6 321.401 86.4 362.601 114C362.601 114 367.401 116.8 371.001 116.4C371.001 116.4 374.201 118.8 371.401 122.4C371.401 122.4 362.601 132 373.801 143.2C373.801 143.2 392.201 150 386.601 141.2C386.601 141.2 397.401 145.2 399.801 149.2C402.201 153.2 401.001 149.2 401.001 149.2C401.001 149.2 394.601 142 388.601 136.8C388.601 136.8 383.401 134.8 380.601 126.4C377.801 118 375.401 108 379.801 104.8C379.801 104.8 375.801 109.2 376.601 105.2C377.401 101.2 381.001 97.6 382.601 97.2C384.201 96.8 400.601 81 407.401 80.6C407.401 80.6 398.201 82 395.201 81C392.201 80 365.601 68.6 359.601 67.4C359.601 67.4 342.801 60.8 354.801 62.8C354.801 62.8 390.601 66.6 408.801 79.8C408.801 79.8 401.601 71.4 383.201 64.4C383.201 64.4 361.001 51.8 325.801 56.8C325.801 56.8 308.001 60 300.201 61.8C300.201 61.8 297.601 61.2 297.001 60.8C296.401 60.4 284.6 51.4 257 58.4C257 58.4 240 63 231.4 67.8C231.4 67.8 216.2 69 212.6 72.2C212.6 72.2 194 86.8 192 87.6C190 88.4 178.6 96 177.8 96.4C177.8 96.4 202.4 89.8 204.8 87.4C207.2 85 224.6 82.4 227 83.8C229.4 85.2 237.8 84.6 228.2 85.2C228.2 85.2 303.801 100 304.601 102C305.401 104 309.401 102.8 309.401 102.8z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226') +SAX.characters( + , 3) +SAX.startElement(path, d='M380.801 93.6C380.801 93.6 370.601 86.2 368.601 86.2C366.601 86.2 354.201 76 350.001 76.4C345.801 76.8 333.601 66.8 306.201 75C306.201 75 305.601 73 309.201 72.2C309.201 72.2 315.601 70 316.001 69.4C316.001 69.4 336.201 65.2 343.401 68.8C343.401 68.8 352.601 71.4 358.801 77.6C358.801 77.6 370.001 80.8 373.201 79.8C373.201 79.8 382.001 82 382.401 83.8C382.401 83.8 388.201 86.8 386.401 89.4C386.401 89.4 386.801 91 380.801 93.6z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226') +SAX.characters( + , 3) +SAX.startElement(path, d='M368.33 91.491C369.137 92.123 370.156 92.221 370.761 93.03C370.995 93.344 370.706 93.67 370.391 93.767C369.348 94.084 368.292 93.514 367.15 94.102C366.748 94.309 366.106 94.127 365.553 93.978C363.921 93.537 362.092 93.512 360.401 94.2C358.416 93.071 356.056 93.655 353.975 92.654C353.917 92.627 353.695 92.973 353.621 92.946C350.575 91.801 346.832 92.084 344.401 89.8C341.973 89.388 339.616 88.926 337.188 88.246C335.37 87.737 333.961 86.748 332.341 85.916C330.964 85.208 329.507 84.686 327.973 84.314C326.11 83.862 324.279 83.974 322.386 83.454C322.293 83.429 322.101 83.773 322.019 83.746C321.695 83.638 321.405 83.055 321.234 83.108C319.553 83.63 318.065 82.658 316.401 83C315.223 81.776 313.495 82.021 311.949 81.579C308.985 80.731 305.831 82.001 302.801 81C306.914 79.158 311.601 80.39 315.663 78.321C317.991 77.135 320.653 78.237 323.223 77.477C323.71 77.333 324.401 77.131 324.801 77.8C324.935 77.665 325.117 77.426 325.175 77.454C327.625 78.611 329.94 79.885 332.422 80.951C332.763 81.097 333.295 80.865 333.547 81.067C335.067 82.283 337.01 82.18 338.401 83.4C340.099 82.898 341.892 83.278 343.621 82.654C343.698 82.627 343.932 82.968 343.965 82.946C345.095 82.198 346.25 82.469 347.142 82.773C347.48 82.888 348.143 83.135 348.448 83.209C349.574 83.485 350.43 83.965 351.609 84.148C351.723 84.166 351.908 83.826 351.98 83.854C353.103 84.292 354.145 84.236 354.801 85.4C354.936 85.265 355.101 85.027 355.183 85.054C356.21 85.392 356.859 86.147 357.96 86.388C358.445 86.494 359.057 87.12 359.633 87.296C362.025 88.027 363.868 89.556 366.062 90.451C366.821 90.761 367.697 90.995 368.33 91.491z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226') +SAX.characters( + , 3) +SAX.startElement(path, d='M291.696 77.261C289.178 75.536 286.81 74.43 284.368 72.644C284.187 72.511 283.827 72.681 283.625 72.559C282.618 71.95 281.73 71.369 280.748 70.673C280.209 70.291 279.388 70.302 278.88 70.044C276.336 68.752 273.707 68.194 271.2 67C271.882 66.362 273.004 66.606 273.6 65.8C273.795 66.08 274.033 66.364 274.386 66.173C276.064 65.269 277.914 65.116 279.59 65.206C281.294 65.298 283.014 65.603 284.789 65.875C285.096 65.922 285.295 66.445 285.618 66.542C287.846 67.205 290.235 66.68 292.354 67.518C293.945 68.147 295.515 68.97 296.754 70.245C297.006 70.505 296.681 70.806 296.401 71C296.789 70.891 297.062 71.097 297.173 71.41C297.257 71.649 297.257 71.951 297.173 72.19C297.061 72.502 296.782 72.603 296.408 72.654C295.001 72.844 296.773 71.464 296.073 71.912C294.8 72.726 295.546 74.132 294.801 75.4C294.521 75.206 294.291 74.988 294.401 74.6C294.635 75.122 294.033 75.412 293.865 75.728C293.48 76.453 292.581 77.868 291.696 77.261z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226') +SAX.characters( + , 3) +SAX.startElement(path, d='M259.198 84.609C256.044 83.815 252.994 83.93 249.978 82.654C249.911 82.626 249.688 82.973 249.624 82.946C248.258 82.352 247.34 81.386 246.264 80.34C245.351 79.452 243.693 79.839 242.419 79.352C242.095 79.228 241.892 78.716 241.591 78.677C240.372 78.52 239.445 77.571 238.4 77C240.736 76.205 243.147 76.236 245.609 75.852C245.722 75.834 245.867 76.155 246 76.155C246.136 76.155 246.266 75.934 246.4 75.8C246.595 76.08 246.897 76.406 247.154 76.152C247.702 75.612 248.258 75.802 248.798 75.842C248.942 75.852 249.067 76.155 249.2 76.155C249.336 76.155 249.467 75.844 249.6 75.844C249.736 75.845 249.867 76.155 250 76.155C250.136 76.155 250.266 75.934 250.4 75.8C251.092 76.582 251.977 76.028 252.799 76.207C253.837 76.434 254.104 77.582 255.178 77.88C259.893 79.184 264.03 81.329 268.393 83.416C268.7 83.563 268.91 83.811 268.8 84.2C269.067 84.2 269.38 84.112 269.57 84.244C270.628 84.976 271.669 85.524 272.366 86.622C272.582 86.961 272.253 87.368 272.02 87.316C267.591 86.321 263.585 85.713 259.198 84.609z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226') +SAX.characters( + , 3) +SAX.startElement(path, d='M245.338 128.821C243.746 127.602 243.162 125.571 242.034 123.779C241.82 123.439 242.094 123.125 242.411 123.036C242.971 122.877 243.514 123.355 243.923 123.557C245.668 124.419 247.203 125.661 249.2 125.8C251.19 128.034 255.45 128.419 255.457 131.8C255.458 132.659 254.03 131.741 253.6 132.6C251.149 131.597 248.76 131.7 246.38 130.233C245.763 129.852 246.093 129.399 245.338 128.821z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cc7226') +SAX.characters( + , 3) +SAX.startElement(path, d='M217.8 76.244C217.935 76.245 224.966 76.478 224.949 76.592C224.904 76.901 217.174 77.95 216.81 77.78C216.646 77.704 209.134 80.134 209 80C209.268 79.865 217.534 76.244 217.8 76.244z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M233.2 86C233.2 86 218.4 87.8 214 89C209.6 90.2 191 97.8 188 99.8C188 99.8 174.6 105.2 157.6 125.2C157.6 125.2 165.2 121.8 167.4 119C167.4 119 181 106.4 180.8 109C180.8 109 193 100.4 192.4 102.6C192.4 102.6 216.8 91.4 214.8 94.6C214.8 94.6 236.4 90 235.4 92C235.4 92 254.2 96.4 251.4 96.6C251.4 96.6 245.6 97.8 252 101.4C252 101.4 248.6 105.8 243.2 101.8C237.8 97.8 240.8 100 235.8 101C235.8 101 233.2 101.8 228.6 97.8C228.6 97.8 223 93.2 214.2 96.8C214.2 96.8 183.6 109.4 181.6 110C181.6 110 178 112.8 175.6 116.4C175.6 116.4 169.8 120.8 166.8 122.2C166.8 122.2 154 133.8 152.8 135.2C152.8 135.2 149.4 140.4 148.6 140.8C148.6 140.8 155 137 157 135C157 135 171 125 176.4 124.2C176.4 124.2 180.8 121.2 181.6 119.8C181.6 119.8 196 110.6 200.2 110.6C200.2 110.6 209.4 115.8 211.8 108.8C211.8 108.8 217.6 107 223.2 108.2C223.2 108.2 226.4 105.6 225.6 103.4C225.6 103.4 227.2 101.6 228.2 105.4C228.2 105.4 231.6 109 236.4 107C236.4 107 240.4 106.8 238.4 109.2C238.4 109.2 234 113 222.2 113.2C222.2 113.2 209.8 113.8 193.4 121.4C193.4 121.4 163.6 131.8 154.4 142.2C154.4 142.2 148 151 142.6 152.2C142.6 152.2 136.8 153 130.8 160.4C130.8 160.4 140.6 154.6 149.6 154.6C149.6 154.6 153.6 152.2 149.8 155.8C149.8 155.8 146.2 163.4 147.8 168.8C147.8 168.8 147.2 174 146.4 175.6C146.4 175.6 138.6 188.4 138.6 190.8C138.6 193.2 139.8 203 140.2 203.6C140.6 204.2 139.2 202 143 204.4C146.8 206.8 149.6 208.4 150.4 211.2C151.2 214 148.4 205.8 148.2 204C148 202.2 143.8 195 144.6 192.6C144.6 192.6 145.6 193.6 146.4 195C146.4 195 145.8 194.4 146.4 190.8C146.4 190.8 147.2 185.6 148.6 182.4C150 179.2 152 175.4 152.4 174.6C152.8 173.8 152.8 168 154.2 170.6L157.6 173.2C157.6 173.2 154.8 170.6 157 168.4C157 168.4 156 162.8 157.8 160.2C157.8 160.2 164.8 151.8 166.4 150.8C168 149.8 166.6 150.2 166.6 150.2C166.6 150.2 172.6 146 166.8 147.6C166.8 147.6 162.8 149.2 159.8 149.2C159.8 149.2 152.2 151.2 156.2 147C160.2 142.8 170.2 137.4 174 137.6L174.8 139.2L186 136.8L184.8 137.6C184.8 137.6 184.6 137.4 188.8 137C193 136.6 198.8 138 200.2 136.2C201.6 134.4 205 133.4 204.6 134.8C204.2 136.2 204 138.2 204 138.2C204 138.2 209 132.4 208.4 134.6C207.8 136.8 199.6 142 198.2 148.2L208.6 140L212.2 137C212.2 137 215.8 139.2 216 137.6C216.2 136 220.8 130.2 222 130.4C223.2 130.6 225.2 127.8 225 130.4C224.8 133 232.4 138.4 232.4 138.4C232.4 138.4 235.6 136.6 237 138C238.4 139.4 242.6 118.2 242.6 118.2L267.6 107.6L311.201 104.2L294.201 97.4L233.2 86z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#4c0000; stroke-width:2') +SAX.characters( + , 3) +SAX.startElement(path, d='M251.4 285C251.4 285 236.4 268.2 228 265.6C228 265.6 214.6 258.8 190 266.6') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#4c0000; stroke-width:2') +SAX.characters( + , 3) +SAX.startElement(path, d='M224.8 264.2C224.8 264.2 199.6 256.2 184.2 260.4C184.2 260.4 165.8 262.4 157.4 276.2') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#4c0000; stroke-width:2') +SAX.characters( + , 3) +SAX.startElement(path, d='M221.2 263C221.2 263 204.2 255.8 189.4 253.6C189.4 253.6 172.8 251 156.2 258.2C156.2 258.2 144 264.2 138.6 274.4') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#4c0000; stroke-width:2') +SAX.characters( + , 3) +SAX.startElement(path, d='M222.2 263.4C222.2 263.4 206.8 252.4 205.8 251C205.8 251 198.8 240 185.8 239.6C185.8 239.6 164.4 240.4 147.2 248.4') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M220.895 254.407C222.437 255.87 249.4 284.8 249.4 284.8C284.6 321.401 256.6 287.2 256.6 287.2C249 282.4 239.8 263.6 239.8 263.6C238.6 260.8 253.8 270.8 253.8 270.8C257.8 271.6 271.4 290.8 271.4 290.8C264.6 288.4 269.4 295.6 269.4 295.6C272.2 297.6 292.601 313.201 292.601 313.201C296.201 317.201 300.201 318.801 300.201 318.801C314.201 313.601 307.801 326.801 307.801 326.801C310.201 333.601 315.801 322.001 315.801 322.001C327.001 305.2 310.601 307.601 310.601 307.601C280.6 310.401 273.8 294.4 273.8 294.4C271.4 292 280.2 294.4 280.2 294.4C288.601 296.4 273 282 273 282C275.4 282 284.6 288.8 284.6 288.8C295.001 298 297.001 296 297.001 296C315.001 287.2 325.401 294.8 325.401 294.8C327.401 296.4 321.801 303.2 323.401 308.401C325.001 313.601 329.801 326.001 329.801 326.001C327.401 327.601 327.801 338.401 327.801 338.401C344.601 361.601 335.001 359.601 335.001 359.601C319.401 359.201 334.201 366.801 334.201 366.801C337.401 368.801 346.201 376.001 346.201 376.001C343.401 374.801 341.801 380.001 341.801 380.001C346.601 384.001 343.801 388.801 343.801 388.801C337.801 390.001 336.601 394.001 336.601 394.001C343.401 402.001 333.401 402.401 333.401 402.401C337.001 406.801 332.201 418.801 332.201 418.801C327.401 418.801 321.001 424.401 321.001 424.401C323.401 429.201 313.001 434.801 313.001 434.801C304.601 436.401 307.401 443.201 307.401 443.201C299.401 449.201 297.001 465.201 297.001 465.201C296.201 475.601 293.801 478.801 299.001 476.801C304.201 474.801 303.401 462.401 303.401 462.401C298.601 446.801 341.401 430.801 341.401 430.801C345.401 429.201 346.201 424.001 346.201 424.001C348.201 424.401 357.001 432.001 357.001 432.001C364.601 443.201 365.001 434.001 365.001 434.001C366.201 430.401 364.601 424.401 364.601 424.401C370.601 402.801 356.601 396.401 356.601 396.401C346.601 362.801 360.601 371.201 360.601 371.201C363.401 376.801 374.201 382.001 374.201 382.001L377.801 379.601C376.201 374.801 384.601 368.801 384.601 368.801C387.401 375.201 393.401 367.201 393.401 367.201C397.001 342.801 409.401 357.201 409.401 357.201C413.401 358.401 414.601 351.601 414.601 351.601C418.201 341.201 414.601 327.601 414.601 327.601C418.201 327.201 427.801 333.201 427.801 333.201C430.601 329.601 421.401 312.801 425.401 315.201C429.401 317.601 433.801 319.201 433.801 319.201C434.601 317.201 424.601 304.801 424.601 304.801C420.201 302 415.001 281.6 415.001 281.6C422.201 285.2 412.201 270 412.201 270C412.201 266.8 418.201 255.6 418.201 255.6C417.401 248.8 418.201 249.2 418.201 249.2C421.001 250.4 429.001 252 422.201 245.6C415.401 239.2 423.001 234.4 423.001 234.4C427.401 231.6 413.801 232 413.801 232C408.601 227.6 409.001 223.6 409.001 223.6C417.001 225.6 402.601 211.2 400.201 207.6C397.801 204 407.401 198.8 407.401 198.8C420.601 195.2 409.001 192 409.001 192C389.401 192.4 400.201 181.6 400.201 181.6C406.201 182 404.601 179.6 404.601 179.6C399.401 178.4 389.801 172 389.801 172C385.801 168.4 389.401 169.2 389.401 169.2C406.201 170.4 377.401 159.2 377.401 159.2C385.401 159.2 367.401 148.8 367.401 148.8C365.401 147.2 362.201 139.6 362.201 139.6C356.201 134.4 351.401 127.6 351.401 127.6C351.001 123.2 346.201 118.4 346.201 118.4C334.601 104.8 329.001 105.2 329.001 105.2C314.201 101.6 309.001 102.4 309.001 102.4L256.2 106.8C229.8 119.6 237.6 140.6 237.6 140.6C244 149 253.2 145.2 253.2 145.2C257.8 139 269.4 141.2 269.4 141.2C289.801 144.4 287.201 140.8 287.201 140.8C284.801 136.2 268.6 130 268.4 129.4C268.2 128.8 259.4 125.4 259.4 125.4C256.4 124.2 252 115 252 115C248.8 111.6 264.6 117.4 264.6 117.4C263.4 118.4 270.8 122.4 270.8 122.4C288.201 121.4 298.801 132.2 298.801 132.2C309.601 148.8 309.801 140.6 309.801 140.6C312.601 131.2 300.801 110 300.801 110C301.201 108 309.401 114.6 309.401 114.6C310.801 112.6 311.601 118.4 311.601 118.4C311.801 120.8 315.601 128.8 315.601 128.8C318.401 141.8 322.001 134.4 322.001 134.4L326.601 143.8C328.001 146.4 322.001 154 322.001 154C321.801 156.8 322.601 156.6 317.001 164.2C311.401 171.8 314.801 176.2 314.801 176.2C313.401 182.8 322.201 182.4 322.201 182.4C324.801 184.6 328.201 184.6 328.201 184.6C330.001 186.6 332.401 186 332.401 186C334.001 182.2 340.201 184.2 340.201 184.2C341.601 181.8 349.801 181.4 349.801 181.4C350.801 178.8 351.201 177.2 354.601 176.6C358.001 176 333.401 133 333.401 133C339.801 132.2 331.601 119.8 331.601 119.8C329.401 113.2 340.801 127.8 343.001 129.2C345.201 130.6 346.201 132.8 344.601 132.6C343.001 132.4 341.201 134.6 342.601 134.8C344.001 135 357.001 150 360.401 160.2C363.801 170.4 369.801 174.4 376.001 180.4C382.201 186.4 381.401 210.6 381.401 210.6C381.001 219.4 387.001 230 387.001 230C389.001 233.8 384.801 252 384.801 252C382.801 254.2 384.201 255 384.201 255C385.201 256.2 392.001 269.4 392.001 269.4C390.201 269.2 393.801 272.8 393.801 272.8C399.001 278.8 392.601 275.8 392.601 275.8C386.601 274.2 393.601 284 393.601 284C394.801 285.8 385.801 281.2 385.801 281.2C376.601 280.6 388.201 287.8 388.201 287.8C396.801 295 385.401 290.6 385.401 290.6C380.801 288.8 384.001 295.6 384.001 295.6C387.201 297.2 404.401 304.2 404.401 304.2C404.801 308.001 401.801 313.001 401.801 313.001C402.201 317.001 400.001 320.401 400.001 320.401C398.801 328.601 398.201 329.401 398.201 329.401C394.001 329.601 386.601 343.401 386.601 343.401C384.801 346.001 374.601 358.001 374.601 358.001C372.601 365.001 354.601 357.801 354.601 357.801C348.001 361.201 350.001 357.801 350.001 357.801C349.601 355.601 354.401 349.601 354.401 349.601C361.401 347.001 358.801 336.201 358.801 336.201C362.801 334.801 351.601 332.001 351.801 330.801C352.001 329.601 357.801 328.201 357.801 328.201C365.801 326.201 361.401 323.801 361.401 323.801C360.801 319.801 363.801 314.201 363.801 314.201C375.401 313.401 363.801 297.2 363.801 297.2C353.001 289.6 352.001 283.8 352.001 283.8C364.601 275.6 356.401 263.2 356.601 259.6C356.801 256 358.001 234.4 358.001 234.4C356.001 228.2 353.001 214.6 353.001 214.6C355.201 209.4 362.601 196.8 362.601 196.8C365.401 192.6 374.201 187.8 372.001 184.8C369.801 181.8 362.001 183.6 362.001 183.6C354.201 182.2 354.801 187.4 354.801 187.4C353.201 188.4 352.401 193.4 352.401 193.4C351.68 201.333 342.801 207.6 342.801 207.6C331.601 213.8 340.801 217.8 340.801 217.8C346.801 224.4 337.001 224.6 337.001 224.6C326.001 222.8 334.201 233 334.201 233C345.001 245.8 342.001 248.6 342.001 248.6C331.801 249.6 344.401 258.8 344.401 258.8C344.401 258.8 343.601 256.8 343.801 258.6C344.001 260.4 347.001 264.6 347.801 266.6C348.601 268.6 344.601 268.8 344.601 268.8C345.201 278.4 329.801 274.2 329.801 274.2C329.801 274.2 329.801 274.2 328.201 274.4C326.601 274.6 315.401 273.8 309.601 271.6C303.801 269.4 297.001 269.4 297.001 269.4C297.001 269.4 293.001 271.2 285.4 271C277.8 270.8 269.8 273.6 269.8 273.6C265.4 273.2 274 268.8 274.2 269C274.4 269.2 280 263.6 272 264.2C250.203 265.835 239.4 255.6 239.4 255.6C237.4 254.2 234.8 251.4 234.8 251.4C224.8 249.4 236.2 263.8 236.2 263.8C237.4 265.2 236 266.2 236 266.2C235.2 264.6 227.4 259.2 227.4 259.2C224.589 258.227 223.226 256.893 220.895 254.407z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #4c0000') +SAX.characters( + , 3) +SAX.startElement(path, d='M197 242.8C197 242.8 208.6 248.4 211.2 251.2C213.8 254 227.8 265.4 227.8 265.4C227.8 265.4 222.4 263.4 219.8 261.6C217.2 259.8 206.4 251.6 206.4 251.6C206.4 251.6 202.6 245.6 197 242.8z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #99cc32') +SAX.characters( + , 3) +SAX.startElement(path, d='M138.991 211.603C139.328 211.455 138.804 208.743 138.6 208.2C137.578 205.474 128.6 204 128.6 204C128.373 205.365 128.318 206.961 128.424 208.599C128.424 208.599 133.292 214.118 138.991 211.603z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #659900') +SAX.characters( + , 3) +SAX.startElement(path, d='M138.991 211.403C138.542 211.561 138.976 208.669 138.8 208.2C137.778 205.474 128.6 203.9 128.6 203.9C128.373 205.265 128.318 206.861 128.424 208.499C128.424 208.499 132.692 213.618 138.991 211.403z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M134.6 211.546C133.975 211.546 133.469 210.406 133.469 209C133.469 207.595 133.975 206.455 134.6 206.455C135.225 206.455 135.732 207.595 135.732 209C135.732 210.406 135.225 211.546 134.6 211.546z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M134.6 209z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M89 309.601C89 309.601 83.4 319.601 108.2 313.601C108.2 313.601 122.2 312.401 124.6 310.001C125.8 310.801 134.166 313.734 137 314.401C143.8 316.001 152.2 306 152.2 306C152.2 306 156.8 295.5 159.6 295.5C162.4 295.5 159.2 297.1 159.2 297.1C159.2 297.1 152.6 307.201 153 308.801C153 308.801 147.8 328.801 131.8 329.601C131.8 329.601 115.65 330.551 117 336.401C117 336.401 125.8 334.001 128.2 336.401C128.2 336.401 139 336.001 131 342.401L124.2 354.001C124.2 354.001 124.34 357.919 114.2 354.401C104.4 351.001 94.1 338.101 94.1 338.101C94.1 338.101 78.15 323.551 89 309.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #e59999') +SAX.characters( + , 3) +SAX.startElement(path, d='M87.8 313.601C87.8 313.601 85.8 323.201 122.6 312.801C122.6 312.801 127 312.801 129.4 313.601C131.8 314.401 143.8 317.201 145.8 316.001C145.8 316.001 138.6 329.601 127 328.001C127 328.001 113.8 329.601 114.2 334.401C114.2 334.401 118.2 341.601 123 344.001C123 344.001 125.8 346.401 125.4 349.601C125 352.801 122.2 354.401 120.2 355.201C118.2 356.001 115 352.801 113.4 352.801C111.8 352.801 103.4 346.401 99 341.601C94.6 336.801 86.2 324.801 86.6 322.001C87 319.201 87.8 313.601 87.8 313.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #b26565') +SAX.characters( + , 3) +SAX.startElement(path, d='M91 331.051C93.6 335.001 96.8 339.201 99 341.601C103.4 346.401 111.8 352.801 113.4 352.801C115 352.801 118.2 356.001 120.2 355.201C122.2 354.401 125 352.801 125.4 349.601C125.8 346.401 123 344.001 123 344.001C119.934 342.468 117.194 338.976 115.615 336.653C115.615 336.653 115.8 339.201 110.6 338.401C105.4 337.601 100.2 334.801 98.6 331.601C97 328.401 94.6 326.001 96.2 329.601C97.8 333.201 100.2 336.801 101.8 337.201C103.4 337.601 103 338.801 100.6 338.401C98.2 338.001 95.4 337.601 91 332.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #992600') +SAX.characters( + , 3) +SAX.startElement(path, d='M88.4 310.001C88.4 310.001 90.2 296.4 91.4 292.4C91.4 292.4 90.6 285.6 93 281.4C95.4 277.2 97.4 271 100.4 265.6C103.4 260.2 103.6 256.2 107.6 254.6C111.6 253 117.6 244.4 120.4 243.4C123.2 242.4 123 243.2 123 243.2C123 243.2 129.8 228.4 143.4 232.4C143.4 232.4 127.2 229.6 143 220.2C143 220.2 138.2 221.3 141.5 214.3C143.701 209.632 143.2 216.4 132.2 228.2C132.2 228.2 127.2 236.8 122 239.8C116.8 242.8 104.8 249.8 103.6 253.6C102.4 257.4 99.2 263.2 97.2 264.8C95.2 266.4 92.4 270.6 92 274C92 274 90.8 278 89.4 279.2C88 280.4 87.8 283.6 87.8 285.6C87.8 287.6 85.8 290.4 86 292.8C86 292.8 86.8 311.801 86.4 313.801L88.4 310.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 3) +SAX.startElement(path, d='M79.8 314.601C79.8 314.601 77.8 313.201 73.4 319.201C73.4 319.201 80.7 352.201 80.7 353.601C80.7 353.601 81.8 351.501 80.5 344.301C79.2 337.101 78.3 324.401 78.3 324.401L79.8 314.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #992600') +SAX.characters( + , 3) +SAX.startElement(path, d='M101.4 254C101.4 254 83.8 257.2 84.2 286.4L83.4 311.201C83.4 311.201 82.2 285.6 81 284C79.8 282.4 83.8 271.2 80.6 277.2C80.6 277.2 66.6 291.2 74.6 312.401C74.6 312.401 76.1 315.701 73.1 311.101C73.1 311.101 68.5 298.5 69.6 292.1C69.6 292.1 69.8 289.9 71.7 287.1C71.7 287.1 80.3 275.4 83 273.1C83 273.1 84.8 258.7 100.2 253.5C100.2 253.5 105.9 251.2 101.4 254z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M240.8 187.8C241.46 187.446 241.451 186.476 242.031 186.303C243.18 185.959 243.344 184.892 243.862 184.108C244.735 182.789 244.928 181.256 245.51 179.765C245.782 179.065 245.809 178.11 245.496 177.45C244.322 174.969 243.62 172.52 242.178 170.094C241.91 169.644 241.648 168.85 241.447 168.252C240.984 166.868 239.727 165.877 238.867 164.557C238.579 164.116 239.104 163.191 238.388 163.107C237.491 163.002 236.042 162.422 235.809 163.448C235.221 166.035 236.232 168.558 237.2 171C236.418 171.692 236.752 172.613 236.904 173.38C237.614 176.986 236.416 180.338 235.655 183.812C235.632 183.916 235.974 184.114 235.946 184.176C234.724 186.862 233.272 189.307 231.453 191.688C230.695 192.68 229.823 193.596 229.326 194.659C228.958 195.446 228.55 196.412 228.8 197.4C225.365 200.18 223.115 204.025 220.504 207.871C220.042 208.551 220.333 209.76 220.884 210.029C221.697 210.427 222.653 209.403 223.123 208.557C223.512 207.859 223.865 207.209 224.356 206.566C224.489 206.391 224.31 205.972 224.445 205.851C227.078 203.504 228.747 200.568 231.2 198.2C233.15 197.871 234.687 196.873 236.435 195.86C236.743 195.681 237.267 195.93 237.557 195.735C239.31 194.558 239.308 192.522 239.414 190.612C239.464 189.728 239.66 188.411 240.8 187.8z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M231.959 183.334C232.083 183.257 231.928 182.834 232.037 182.618C232.199 182.294 232.602 182.106 232.764 181.782C232.873 181.566 232.71 181.186 232.846 181.044C235.179 178.597 235.436 175.573 234.4 172.6C235.424 171.98 235.485 170.718 235.06 169.871C234.207 168.171 234.014 166.245 233.039 164.702C232.237 163.433 230.659 162.189 229.288 163.492C228.867 163.892 228.546 164.679 228.824 165.391C228.888 165.554 229.173 165.7 229.146 165.782C229.039 166.106 228.493 166.33 228.487 166.602C228.457 168.098 227.503 169.609 228.133 170.938C228.905 172.567 229.724 174.424 230.4 176.2C229.166 178.316 230.199 180.765 228.446 182.642C228.31 182.788 228.319 183.174 228.441 183.376C228.733 183.862 229.139 184.268 229.625 184.56C229.827 184.681 230.175 184.683 230.375 184.559C230.953 184.197 231.351 183.71 231.959 183.334z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M294.771 173.023C296.16 174.815 296.45 177.61 294.401 179C294.951 182.309 298.302 180.33 300.401 179.8C300.292 179.412 300.519 179.068 300.802 179.063C301.859 179.048 302.539 178.016 303.601 178.2C304.035 176.643 305.673 175.941 306.317 174.561C308.043 170.866 307.452 166.593 304.868 163.347C304.666 163.093 304.883 162.576 304.759 162.214C304.003 160.003 301.935 159.688 300.001 159C298.824 155.125 298.163 151.094 296.401 147.4C294.787 147.15 294.089 145.411 292.752 144.691C291.419 143.972 290.851 145.551 290.892 146.597C290.899 146.802 291.351 147.026 291.181 147.391C291.105 147.555 290.845 147.666 290.845 147.8C290.846 147.935 291.067 148.066 291.201 148.2C290.283 149.02 288.86 149.497 288.565 150.642C287.611 154.352 290.184 157.477 291.852 160.678C292.443 161.813 291.707 163.084 290.947 164.292C290.509 164.987 290.617 166.114 290.893 166.97C291.645 169.301 293.236 171.04 294.771 173.023z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M257.611 191.409C256.124 193.26 252.712 195.829 255.629 197.757C255.823 197.886 256.193 197.89 256.366 197.756C258.387 196.191 260.39 195.288 262.826 194.706C262.95 194.677 263.224 195.144 263.593 194.983C265.206 194.28 267.216 194.338 268.4 193C272.167 193.224 275.732 192.108 279.123 190.8C280.284 190.352 281.554 189.793 282.755 189.291C284.131 188.715 285.335 187.787 286.447 186.646C286.58 186.51 286.934 186.6 287.201 186.6C287.161 185.737 288.123 185.61 288.37 184.988C288.462 184.756 288.312 184.36 288.445 184.258C290.583 182.628 291.503 180.61 290.334 178.233C290.049 177.655 289.8 177.037 289.234 176.561C288.149 175.65 287.047 176.504 286 176.2C285.841 176.828 285.112 176.656 284.726 176.854C283.867 177.293 282.534 176.708 281.675 177.146C280.313 177.841 279.072 178.01 277.65 178.387C277.338 178.469 276.56 178.373 276.4 179C276.266 178.866 276.118 178.632 276.012 178.654C274.104 179.05 272.844 179.264 271.543 180.956C271.44 181.089 270.998 180.91 270.839 181.045C269.882 181.853 269.477 183.087 268.376 183.759C268.175 183.882 267.823 183.714 267.629 183.843C266.983 184.274 266.616 184.915 265.974 185.362C265.645 185.591 265.245 185.266 265.277 185.01C265.522 183.063 266.175 181.276 265.6 179.4C267.677 176.88 270.194 174.931 272 172.2C272.015 170.034 272.707 167.888 272.594 165.811C272.584 165.618 272.296 164.885 272.17 164.538C271.858 163.684 272.764 162.618 271.92 161.894C270.516 160.691 269.224 161.567 268.4 163C266.562 163.39 264.496 164.083 262.918 162.849C261.911 162.062 261.333 161.156 260.534 160.1C259.549 158.798 259.884 157.362 259.954 155.798C259.96 155.67 259.645 155.534 259.645 155.4C259.646 155.265 259.866 155.134 260 155C259.294 154.374 259.019 153.316 258 153C258.305 151.908 257.629 151.024 256.758 150.722C254.763 150.031 253.086 151.943 251.194 152.016C250.68 152.035 250.213 150.997 249.564 150.672C249.132 150.456 248.428 150.423 248.066 150.689C247.378 151.193 246.789 151.307 246.031 151.512C244.414 151.948 243.136 153.042 241.656 153.897C240.171 154.754 239.216 156.191 238.136 157.511C237.195 158.663 237.059 161.077 238.479 161.577C240.322 162.227 241.626 159.524 243.592 159.85C243.904 159.901 244.11 160.212 244 160.6C244.389 160.709 244.607 160.48 244.8 160.2C245.658 161.219 246.822 161.556 247.76 162.429C248.73 163.333 250.476 162.915 251.491 163.912C253.02 165.414 252.461 168.095 254.4 169.4C253.814 170.713 253.207 171.99 252.872 173.417C252.59 174.623 253.584 175.82 254.795 175.729C256.053 175.635 256.315 174.876 256.8 173.8C257.067 174.067 257.536 174.364 257.495 174.58C257.038 176.967 256.011 178.96 255.553 181.391C255.494 181.708 255.189 181.91 254.8 181.8C254.332 185.949 250.28 188.343 247.735 191.508C247.332 192.01 247.328 193.259 247.737 193.662C249.14 195.049 251.1 193.503 252.8 193C253.013 191.794 253.872 190.852 255.204 190.908C255.46 190.918 255.695 190.376 256.019 190.246C256.367 190.108 256.869 190.332 257.155 190.134C258.884 188.939 260.292 187.833 262.03 186.644C262.222 186.513 262.566 186.672 262.782 186.564C263.107 186.402 263.294 186.015 263.617 185.83C263.965 185.63 264.207 185.92 264.4 186.2C263.754 186.549 263.75 187.506 263.168 187.708C262.393 187.976 261.832 188.489 261.158 188.936C260.866 189.129 260.207 188.881 260.103 189.06C259.505 190.088 258.321 190.526 257.611 191.409z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M202.2 142C202.2 142 192.962 139.128 181.8 164.8C181.8 164.8 179.4 170 177 172C174.6 174 163.4 177.6 161.4 181.6L151 197.6C151 197.6 165.8 181.6 169 179.2C169 179.2 177 170.8 173.8 177.6C173.8 177.6 159.8 188.4 161 197.6C161 197.6 155.4 212 154.6 214C154.6 214 170.6 182 173 180.8C175.4 179.6 176.6 179.6 175.4 183.2C174.2 186.8 173.8 203.2 171 205.2C171 205.2 179 184.8 178.2 181.6C178.2 181.6 181.4 178 183.8 183.2L182.6 199.2L187 211.2C187 211.2 184.6 200 186.2 184.4C186.2 184.4 184.2 174 188.2 179.6C192.2 185.2 201.8 191.2 201.8 196C201.8 196 196.6 178.4 187.4 173.6L183.4 179.6L182.2 177.6C182.2 177.6 178.6 176.8 183 170C187.4 163.2 187 162.4 187 162.4C187 162.4 193.4 169.6 195 169.6C195 169.6 208.2 162 209.4 186.4C209.4 186.4 216.2 172 207 165.2C207 165.2 192.2 163.2 193.4 158L200.6 145.6C204.2 140.4 202.6 143.2 202.6 143.2z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M182.2 158.4C182.2 158.4 169.4 158.4 166.2 163.6L159 173.2C159 173.2 176.2 163.2 180.2 162C184.2 160.8 182.2 158.4 182.2 158.4z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M142.2 164.8C142.2 164.8 140.2 166 139.8 168.8C139.4 171.6 137 172 137.8 174.8C138.6 177.6 140.6 180 140.6 176C140.6 172 142.2 170 143 168.8C143.8 167.6 145.4 163.2 142.2 164.8z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M133.4 226C133.4 226 125 222 121.8 218.4C118.6 214.8 119.052 219.966 114.2 219.6C108.353 219.159 109.4 203.2 109.4 203.2L105.4 210.8C105.4 210.8 104.2 225.2 112.2 222.8C116.107 221.628 117.4 223.2 115.8 224C114.2 224.8 121.4 225.2 118.6 226.8C115.8 228.4 130.2 223.2 127.8 233.6L133.4 226z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M120.8 240.4C120.8 240.4 105.4 244.8 101.8 235.2C101.8 235.2 97 237.6 99.2 240.6C101.4 243.6 102.6 244 102.6 244C102.6 244 108 245.2 107.4 246C106.8 246.8 104.4 250.2 104.4 250.2C104.4 250.2 114.6 244.2 120.8 240.4z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 3) +SAX.startElement(path, d='M349.201 318.601C348.774 320.735 347.103 321.536 345.201 322.201C343.284 321.243 340.686 318.137 338.801 320.201C338.327 319.721 337.548 319.661 337.204 318.999C336.739 318.101 337.011 317.055 336.669 316.257C336.124 314.985 335.415 313.619 335.601 312.201C337.407 311.489 338.002 309.583 337.528 307.82C337.459 307.563 337.03 307.366 337.23 307.017C337.416 306.694 337.734 306.467 338.001 306.2C337.866 306.335 337.721 306.568 337.61 306.548C337 306.442 337.124 305.805 337.254 305.418C337.839 303.672 339.853 303.408 341.201 304.6C341.457 304.035 341.966 304.229 342.401 304.2C342.351 303.621 342.759 303.094 342.957 302.674C343.475 301.576 345.104 302.682 345.901 302.07C346.977 301.245 348.04 300.546 349.118 301.149C350.927 302.162 352.636 303.374 353.835 305.115C354.41 305.949 354.65 307.23 354.592 308.188C354.554 308.835 353.173 308.483 352.83 309.412C352.185 311.16 354.016 311.679 354.772 313.017C354.97 313.366 354.706 313.67 354.391 313.768C353.98 313.896 353.196 313.707 353.334 314.16C354.306 317.353 351.55 318.031 349.201 318.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff') +SAX.characters( + , 3) +SAX.startElement(path, d='M339.6 338.201C339.593 336.463 337.992 334.707 339.201 333.001C339.336 333.135 339.467 333.356 339.601 333.356C339.736 333.356 339.867 333.135 340.001 333.001C341.496 335.217 345.148 336.145 345.006 338.991C344.984 339.438 343.897 340.356 344.801 341.001C342.988 342.349 342.933 344.719 342.001 346.601C340.763 346.315 339.551 345.952 338.401 345.401C338.753 343.915 338.636 342.231 339.456 340.911C339.89 340.213 339.603 339.134 339.6 338.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M173.4 329.201C173.4 329.201 156.542 339.337 170.6 324.001C179.4 314.401 189.4 308.801 189.4 308.801C189.4 308.801 199.8 304.4 203.4 303.2C207 302 222.2 296.8 225.4 296.4C228.6 296 238.2 292 245 296C251.8 300 259.8 304.4 259.8 304.4C259.8 304.4 243.4 296 239.8 298.4C236.2 300.8 229 300.4 223 303.6C223 303.6 208.2 308.001 205 310.001C201.8 312.001 191.4 323.601 189.8 322.801C188.2 322.001 190.2 321.601 191.4 318.801C192.6 316.001 190.6 314.401 182.6 320.801C174.6 327.201 173.4 329.201 173.4 329.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M180.805 323.234C180.805 323.234 182.215 310.194 190.693 311.859C190.693 311.859 198.919 307.689 201.641 305.721C201.641 305.721 209.78 304.019 211.09 303.402C229.569 294.702 244.288 299.221 244.835 298.101C245.381 296.982 265.006 304.099 268.615 308.185C269.006 308.628 258.384 302.588 248.686 300.697C240.413 299.083 218.811 300.944 207.905 306.48C204.932 307.989 195.987 313.773 193.456 313.662C190.925 313.55 180.805 323.234 180.805 323.234z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M177 348.801C177 348.801 161.8 346.401 178.6 344.801C178.6 344.801 196.6 342.801 200.6 337.601C200.6 337.601 214.2 328.401 217 328.001C219.8 327.601 249.8 320.401 250.2 318.001C250.6 315.601 256.2 315.601 257.8 316.401C259.4 317.201 258.6 318.401 255.8 319.201C253 320.001 221.8 336.401 215.4 337.601C209 338.801 197.4 346.401 192.6 347.601C187.8 348.801 177 348.801 177 348.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M196.52 341.403C196.52 341.403 187.938 340.574 196.539 339.755C196.539 339.755 205.355 336.331 207.403 333.668C207.403 333.668 214.367 328.957 215.8 328.753C217.234 328.548 231.194 324.861 231.399 323.633C231.604 322.404 265.67 309.823 270.09 313.013C273.001 315.114 263.1 313.437 253.466 317.847C252.111 318.467 218.258 333.054 214.981 333.668C211.704 334.283 205.765 338.174 203.307 338.788C200.85 339.403 196.52 341.403 196.52 341.403z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M188.6 343.601C188.6 343.601 193.8 343.201 192.6 344.801C191.4 346.401 189 345.601 189 345.601L188.6 343.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M181.4 345.201C181.4 345.201 186.6 344.801 185.4 346.401C184.2 348.001 181.8 347.201 181.8 347.201L181.4 345.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M171 346.801C171 346.801 176.2 346.401 175 348.001C173.8 349.601 171.4 348.801 171.4 348.801L171 346.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M163.4 347.601C163.4 347.601 168.6 347.201 167.4 348.801C166.2 350.401 163.8 349.601 163.8 349.601L163.4 347.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M201.8 308.001C201.8 308.001 206.2 308.001 205 309.601C203.8 311.201 200.6 310.801 200.6 310.801L201.8 308.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M191.8 313.601C191.8 313.601 198.306 311.46 195.8 314.801C194.6 316.401 192.2 315.601 192.2 315.601L191.8 313.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M180.6 318.401C180.6 318.401 185.8 318.001 184.6 319.601C183.4 321.201 181 320.401 181 320.401L180.6 318.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M173 324.401C173 324.401 178.2 324.001 177 325.601C175.8 327.201 173.4 326.401 173.4 326.401L173 324.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M166.2 329.201C166.2 329.201 171.4 328.801 170.2 330.401C169 332.001 166.6 331.201 166.6 331.201L166.2 329.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M205.282 335.598C205.282 335.598 212.203 335.066 210.606 337.195C209.009 339.325 205.814 338.26 205.814 338.26L205.282 335.598z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M215.682 330.798C215.682 330.798 222.603 330.266 221.006 332.395C219.409 334.525 216.214 333.46 216.214 333.46L215.682 330.798z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M226.482 326.398C226.482 326.398 233.403 325.866 231.806 327.995C230.209 330.125 227.014 329.06 227.014 329.06L226.482 326.398z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M236.882 321.598C236.882 321.598 243.803 321.066 242.206 323.195C240.609 325.325 237.414 324.26 237.414 324.26L236.882 321.598z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M209.282 303.598C209.282 303.598 216.203 303.066 214.606 305.195C213.009 307.325 209.014 307.06 209.014 307.06L209.282 303.598z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M219.282 300.398C219.282 300.398 226.203 299.866 224.606 301.995C223.009 304.125 218.614 303.86 218.614 303.86L219.282 300.398z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M196.6 340.401C196.6 340.401 201.8 340.001 200.6 341.601C199.4 343.201 197 342.401 197 342.401L196.6 340.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #992600') +SAX.characters( + , 3) +SAX.startElement(path, d='M123.4 241.2C123.4 241.2 119 250 118.6 253.2C118.6 253.2 119.4 244.4 120.6 242.4C121.8 240.4 123.4 241.2 123.4 241.2z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #992600') +SAX.characters( + , 3) +SAX.startElement(path, d='M105 255.2C105 255.2 101.8 269.6 102.2 272.4C102.2 272.4 101 260.8 101.4 259.6C101.8 258.4 105 255.2 105 255.2z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M125.8 180.6L125.6 183.8L123.4 184C123.4 184 137.6 196.6 138.2 204.2C138.2 204.2 139 196 125.8 180.6z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M129.784 181.865C129.353 181.449 129.572 180.704 129.164 180.444C128.355 179.928 130.462 179.871 130.234 179.155C129.851 177.949 130.038 177.928 129.916 176.652C129.859 176.054 130.447 174.514 130.832 174.074C132.278 172.422 130.954 169.49 132.594 167.939C132.898 167.65 133.274 167.098 133.559 166.68C134.218 165.717 135.402 165.229 136.352 164.401C136.67 164.125 136.469 163.298 137.038 163.39C137.752 163.505 138.993 163.375 138.948 164.216C138.835 166.336 137.506 168.056 136.226 169.724C136.677 170.428 136.219 171.063 135.935 171.62C134.6 174.24 134.789 177.081 134.615 179.921C134.61 180.006 134.303 180.084 134.311 180.137C134.664 182.472 135.248 184.671 136.127 186.9C136.493 187.83 136.964 188.725 137.114 189.652C137.225 190.338 137.328 191.171 136.92 191.876C138.955 194.766 137.646 197.417 138.815 200.948C139.022 201.573 140.714 203.487 140.251 203.326C137.738 202.455 137.626 202.057 137.449 201.304C137.303 200.681 136.973 199.304 136.736 198.702C136.672 198.538 136.501 196.654 136.423 196.532C134.91 194.15 136.268 194.326 134.898 191.968C133.47 191.288 132.504 190.184 131.381 189.022C131.183 188.818 132.326 188.094 132.145 187.881C131.053 186.592 129.9 185.825 130.236 184.332C130.391 183.642 130.528 182.585 129.784 181.865z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M126.2 183.6C126.2 183.6 126.6 190.4 129 192C131.4 193.6 130.2 192.8 127 191.6C123.8 190.4 125 189.6 125 189.6C125 189.6 122.2 190 124.6 192C127 194 130.6 196.4 129 196.4C127.4 196.4 119.8 192.4 119.8 189.6C119.8 186.8 118.8 182.7 118.8 182.7C118.8 182.7 119.9 181.9 124.7 182C124.7 182 126.1 182.7 126.2 183.6z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M125.4 202.2C125.4 202.2 116.88 199.409 98.4 202.8C98.4 202.8 107.431 200.722 126.2 203C136.5 204.25 125.4 202.2 125.4 202.2z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M127.498 202.129C127.498 202.129 119.252 198.611 100.547 200.392C100.547 200.392 109.725 199.103 128.226 202.995C138.38 205.131 127.498 202.129 127.498 202.129z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M129.286 202.222C129.286 202.222 121.324 198.101 102.539 198.486C102.539 198.486 111.787 197.882 129.948 203.14C139.914 206.025 129.286 202.222 129.286 202.222z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M130.556 202.445C130.556 202.445 123.732 198.138 106.858 197.04C106.858 197.04 115.197 197.21 131.078 203.319C139.794 206.672 130.556 202.445 130.556 202.445z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M245.84 212.961C245.84 212.961 244.91 213.605 245.124 212.424C245.339 211.243 273.547 198.073 277.161 198.323C277.161 198.323 246.913 211.529 245.84 212.961z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M242.446 213.6C242.446 213.6 241.57 214.315 241.691 213.121C241.812 211.927 268.899 196.582 272.521 196.548C272.521 196.548 243.404 212.089 242.446 213.6z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M239.16 214.975C239.16 214.975 238.332 215.747 238.374 214.547C238.416 213.348 258.233 197.851 268.045 195.977C268.045 195.977 250.015 204.104 239.16 214.975z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M236.284 216.838C236.284 216.838 235.539 217.532 235.577 216.453C235.615 215.373 253.449 201.426 262.28 199.74C262.28 199.74 246.054 207.054 236.284 216.838z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M204.6 364.801C204.6 364.801 189.4 362.401 206.2 360.801C206.2 360.801 224.2 358.801 228.2 353.601C228.2 353.601 241.8 344.401 244.6 344.001C247.4 343.601 263.8 340.001 264.2 337.601C264.6 335.201 270.6 332.801 272.2 333.601C273.8 334.401 273.8 343.601 271 344.401C268.2 345.201 249.4 352.401 243 353.601C236.6 354.801 225 362.401 220.2 363.601C215.4 364.801 204.6 364.801 204.6 364.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M277.6 327.401C277.6 327.401 274.6 329.001 273.4 331.601C273.4 331.601 267 342.201 252.8 345.401C252.8 345.401 229.8 354.401 222 356.401C222 356.401 208.6 361.401 201.2 360.601C201.2 360.601 194.2 360.801 200.4 362.401C200.4 362.401 220.6 360.401 224 358.601C224 358.601 239.6 353.401 242.6 350.801C245.6 348.201 263.8 343.201 266 341.201C268.2 339.201 278 330.801 277.6 327.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M218.882 358.911C218.882 358.911 224.111 358.685 222.958 360.234C221.805 361.784 219.357 360.91 219.357 360.91L218.882 358.911z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M211.68 360.263C211.68 360.263 216.908 360.037 215.756 361.586C214.603 363.136 212.155 362.263 212.155 362.263L211.68 360.263z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M201.251 361.511C201.251 361.511 206.48 361.284 205.327 362.834C204.174 364.383 201.726 363.51 201.726 363.51L201.251 361.511z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M193.617 362.055C193.617 362.055 198.846 361.829 197.693 363.378C196.54 364.928 194.092 364.054 194.092 364.054L193.617 362.055z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M235.415 351.513C235.415 351.513 242.375 351.212 240.84 353.274C239.306 355.336 236.047 354.174 236.047 354.174L235.415 351.513z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M245.73 347.088C245.73 347.088 251.689 343.787 251.155 348.849C250.885 351.405 246.362 349.749 246.362 349.749L245.73 347.088z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M254.862 344.274C254.862 344.274 262.021 340.573 260.287 346.035C259.509 348.485 255.493 346.935 255.493 346.935L254.862 344.274z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M264.376 339.449C264.376 339.449 268.735 334.548 269.801 341.21C270.207 343.748 265.008 342.11 265.008 342.11L264.376 339.449z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M226.834 355.997C226.834 355.997 232.062 355.77 230.91 357.32C229.757 358.869 227.308 357.996 227.308 357.996L226.834 355.997z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M262.434 234.603C262.434 234.603 261.708 235.268 261.707 234.197C261.707 233.127 279.191 219.863 288.034 218.479C288.034 218.479 271.935 225.208 262.434 234.603z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M265.4 298.4C265.4 298.4 287.401 320.801 296.601 324.401C296.601 324.401 305.801 335.601 301.801 361.601C301.801 361.601 298.601 369.201 295.401 348.401C295.401 348.401 298.601 323.201 287.401 339.201C287.401 339.201 279 329.301 285.4 329.601C285.4 329.601 288.601 331.601 289.001 330.001C289.401 328.401 281.4 314.801 264.2 300.4C247 286 265.4 298.4 265.4 298.4z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M207 337.201C207 337.201 206.8 335.401 208.6 336.201C210.4 337.001 304.601 343.201 336.201 367.201C336.201 367.201 291.001 344.001 207 337.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M217.4 332.801C217.4 332.801 217.2 331.001 219 331.801C220.8 332.601 357.401 331.601 381.001 364.001C381.001 364.001 359.001 338.801 217.4 332.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M229 328.801C229 328.801 228.8 327.001 230.6 327.801C232.4 328.601 405.801 315.601 429.401 348.001C429.401 348.001 419.801 322.401 229 328.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M239 324.001C239 324.001 238.8 322.201 240.6 323.001C242.4 323.801 364.601 285.2 388.201 317.601C388.201 317.601 374.801 293 239 324.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M181 346.801C181 346.801 180.8 345.001 182.6 345.801C184.4 346.601 202.2 348.801 204.2 387.601C204.2 387.601 197 345.601 181 346.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M172.2 348.401C172.2 348.401 172 346.601 173.8 347.401C175.6 348.201 189.8 343.601 187 382.401C187 382.401 188.2 347.201 172.2 348.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M164.2 348.801C164.2 348.801 164 347.001 165.8 347.801C167.6 348.601 183 349.201 170.6 371.601C170.6 371.601 180.2 347.601 164.2 348.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M211.526 304.465C211.526 304.465 211.082 306.464 212.631 305.247C228.699 292.622 261.141 233.72 316.826 228.086C316.826 228.086 278.518 215.976 211.526 304.465z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M222.726 302.665C222.726 302.665 221.363 301.472 223.231 300.847C225.099 300.222 337.541 227.72 376.826 235.686C376.826 235.686 349.719 228.176 222.726 302.665z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M201.885 308.767C201.885 308.767 201.376 310.366 203.087 309.39C212.062 304.27 215.677 247.059 259.254 245.804C259.254 245.804 226.843 231.09 201.885 308.767z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M181.962 319.793C181.962 319.793 180.885 321.079 182.838 320.825C193.084 319.493 214.489 278.222 258.928 283.301C258.928 283.301 226.962 268.955 181.962 319.793z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M193.2 313.667C193.2 313.667 192.389 315.136 194.258 314.511C204.057 311.237 217.141 266.625 261.729 263.078C261.729 263.078 227.603 255.135 193.2 313.667z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M174.922 324.912C174.922 324.912 174.049 325.954 175.631 325.748C183.93 324.669 201.268 291.24 237.264 295.354C237.264 295.354 211.371 283.734 174.922 324.912z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M167.323 330.821C167.323 330.821 166.318 331.866 167.909 331.748C172.077 331.439 202.715 298.36 221.183 313.862C221.183 313.862 209.168 295.139 167.323 330.821z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M236.855 298.898C236.855 298.898 235.654 297.543 237.586 297.158C239.518 296.774 360.221 239.061 398.184 251.927C398.184 251.927 372.243 241.053 236.855 298.898z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M203.4 363.201C203.4 363.201 203.2 361.401 205 362.201C206.8 363.001 222.2 363.601 209.8 386.001C209.8 386.001 219.4 362.001 203.4 363.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M213.8 361.601C213.8 361.601 213.6 359.801 215.4 360.601C217.2 361.401 235 363.601 237 402.401C237 402.401 229.8 360.401 213.8 361.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M220.6 360.001C220.6 360.001 220.4 358.201 222.2 359.001C224 359.801 248.6 363.201 272.2 395.601C272.2 395.601 236.6 358.801 220.6 360.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M228.225 357.972C228.225 357.972 227.788 356.214 229.678 356.768C231.568 357.322 252.002 355.423 290.099 389.599C290.099 389.599 243.924 354.656 228.225 357.972z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M238.625 353.572C238.625 353.572 238.188 351.814 240.078 352.368C241.968 352.922 276.802 357.423 328.499 392.399C328.499 392.399 254.324 350.256 238.625 353.572z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M198.2 342.001C198.2 342.001 198 340.201 199.8 341.001C201.6 341.801 255 344.401 285.4 371.201C285.4 371.201 250.499 346.426 198.2 342.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M188.2 346.001C188.2 346.001 188 344.201 189.8 345.001C191.6 345.801 216.2 349.201 239.8 381.601C239.8 381.601 204.2 344.801 188.2 346.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M249.503 348.962C249.503 348.962 248.938 347.241 250.864 347.655C252.79 348.068 287.86 350.004 341.981 381.098C341.981 381.098 264.317 346.704 249.503 348.962z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M257.903 346.562C257.903 346.562 257.338 344.841 259.264 345.255C261.19 345.668 296.26 347.604 350.381 378.698C350.381 378.698 273.317 343.904 257.903 346.562z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #ffffff; stroke:#000000; stroke-width:0.1') +SAX.characters( + , 3) +SAX.startElement(path, d='M267.503 341.562C267.503 341.562 266.938 339.841 268.864 340.255C270.79 340.668 313.86 345.004 403.582 379.298C403.582 379.298 282.917 338.904 267.503 341.562z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M156.2 348.401C156.2 348.401 161.4 348.001 160.2 349.601C159 351.201 156.6 350.401 156.6 350.401L156.2 348.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M187 362.401C187 362.401 192.2 362.001 191 363.601C189.8 365.201 187.4 364.401 187.4 364.401L187 362.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M178.2 362.001C178.2 362.001 183.4 361.601 182.2 363.201C181 364.801 178.6 364.001 178.6 364.001L178.2 362.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M82.831 350.182C82.831 350.182 87.876 351.505 86.218 352.624C84.561 353.744 82.554 352.202 82.554 352.202L82.831 350.182z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M84.831 340.582C84.831 340.582 89.876 341.905 88.218 343.024C86.561 344.144 84.554 342.602 84.554 342.602L84.831 340.582z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M77.631 336.182C77.631 336.182 82.676 337.505 81.018 338.624C79.361 339.744 77.354 338.202 77.354 338.202L77.631 336.182z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M157.4 411.201C157.4 411.201 155.8 411.201 151.8 413.201C149.8 413.201 138.6 416.801 133 426.801C133 426.801 145.4 417.201 157.4 411.201z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M245.116 503.847C245.257 504.105 245.312 504.525 245.604 504.542C246.262 504.582 247.495 504.883 247.37 504.247C246.522 499.941 245.648 495.004 241.515 493.197C240.876 492.918 239.434 493.331 239.36 494.215C239.233 495.739 239.116 497.088 239.425 498.554C239.725 499.975 241.883 499.985 242.8 498.601C243.736 500.273 244.168 502.116 245.116 503.847z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M234.038 508.581C234.786 509.994 234.659 511.853 236.074 512.416C236.814 512.71 238.664 511.735 238.246 510.661C237.444 508.6 237.056 506.361 235.667 504.55C235.467 504.288 235.707 503.755 235.547 503.427C234.953 502.207 233.808 501.472 232.4 501.801C231.285 504.004 232.433 506.133 233.955 507.842C234.091 507.994 233.925 508.37 234.038 508.581z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M194.436 503.391C194.328 503.014 194.29 502.551 194.455 502.23C194.986 501.197 195.779 500.075 195.442 499.053C195.094 497.997 193.978 498.179 193.328 498.748C192.193 499.742 192.144 501.568 191.453 502.927C191.257 503.313 191.308 503.886 190.867 504.277C190.393 504.698 189.953 506.222 190.049 506.793C190.102 507.106 189.919 517.014 190.141 516.751C190.76 516.018 193.81 506.284 193.879 505.392C193.936 504.661 194.668 504.196 194.436 503.391z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M168.798 496.599C171.432 494.1 174.222 491.139 173.78 487.427C173.664 486.451 171.889 486.978 171.702 487.824C170.9 491.449 168.861 494.11 166.293 496.502C164.097 498.549 162.235 504.893 162 505.401C165.697 500.145 167.954 497.399 168.798 496.599z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M155.224 490.635C155.747 490.265 155.445 489.774 155.662 489.442C156.615 487.984 157.916 486.738 157.934 485C157.937 484.723 157.559 484.414 157.224 484.638C156.947 484.822 156.605 484.952 156.497 485.082C154.467 487.531 153.067 490.202 151.624 493.014C151.441 493.371 150.297 497.862 150.61 497.973C150.849 498.058 152.569 493.877 152.779 493.763C154.042 493.077 154.054 491.462 155.224 490.635z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M171.957 510.179C172.401 509.31 173.977 508.108 173.864 507.219C173.746 506.291 174.214 504.848 173.302 505.536C172.045 506.484 168.596 507.833 168.326 513.641C168.3 514.212 171.274 511.519 171.957 510.179z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M186.4 493.001C186.8 492.333 187.508 492.806 187.967 492.543C188.615 492.171 189.226 491.613 189.518 490.964C190.488 488.815 192.257 486.995 192.4 484.601C190.909 483.196 190.23 485.236 189.6 486.201C188.277 484.554 187.278 486.428 185.978 486.947C185.908 486.975 185.695 486.628 185.62 486.655C184.443 487.095 183.763 488.176 182.765 488.957C182.594 489.091 182.189 488.911 182.042 489.047C181.39 489.65 180.417 489.975 180.137 490.657C179.027 493.364 175.887 495.459 174 503.001C174.381 503.91 178.512 496.359 178.999 495.661C179.835 494.465 179.953 497.322 181.229 496.656C181.28 496.629 181.466 496.867 181.6 497.001C181.794 496.721 182.012 496.492 182.4 496.601C182.4 496.201 182.266 495.645 182.467 495.486C183.704 494.509 183.62 493.441 184.4 492.201C184.858 492.99 185.919 492.271 186.4 493.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M246.2 547.401C246.2 547.401 253.6 527.001 249.2 515.801C249.2 515.801 260.6 537.401 256 548.601C256 548.601 255.6 538.201 251.6 533.201C251.6 533.201 247.6 546.001 246.2 547.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M231.4 544.801C231.4 544.801 236.8 536.001 228.8 517.601C228.8 517.601 228 538.001 221.2 549.001C221.2 549.001 235.4 528.801 231.4 544.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M221.4 542.801C221.4 542.801 221.2 522.801 221.6 519.801C221.6 519.801 217.8 536.401 207.6 546.001C207.6 546.001 222 534.001 221.4 542.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M211.8 510.801C211.8 510.801 217.8 524.401 207.8 542.801C207.8 542.801 214.2 530.601 209.4 523.601C209.4 523.601 212 520.201 211.8 510.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M192.6 542.401C192.6 542.401 191.6 526.801 193.4 524.601C193.4 524.601 193.6 518.201 193.2 517.201C193.2 517.201 197.2 511.001 197.4 518.401C197.4 518.401 198.8 526.201 201.6 530.801C201.6 530.801 205.2 536.201 205 542.601C205 542.601 195 512.401 192.6 542.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M189 514.801C189 514.801 182.4 525.601 180.6 544.601C180.6 544.601 179.2 538.401 183 524.001C183 524.001 187.2 508.601 189 514.801z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M167.2 534.601C167.2 534.601 172.2 529.201 173.6 524.201C173.6 524.201 177.2 508.401 170.8 517.001C170.8 517.001 171 525.001 162.8 532.401C162.8 532.401 167.6 530.001 167.2 534.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M161.4 529.601C161.4 529.601 164.8 512.201 165.6 511.401C165.6 511.401 167.4 508.001 164.6 511.201C164.6 511.201 155.8 530.401 151.8 537.001C151.8 537.001 159.8 527.801 161.4 529.601z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M155.6 513.001C155.6 513.001 167.2 490.601 145.4 516.401C145.4 516.401 156.4 506.601 155.6 513.001z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M140.2 498.401C140.2 498.401 145 479.601 147.6 479.801C147.6 479.801 155.8 470.801 149.2 481.401C149.2 481.401 143.2 491.001 143.8 500.801C143.8 500.801 143.2 491.201 140.2 498.401z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M470.5 487C470.5 487 458.5 477 456 473.5C456 473.5 469.5 492 469.5 499C469.5 499 472 491.5 470.5 487z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M476 465C476 465 455 450 451.5 442.5C451.5 442.5 478 472 478 476.5C478 476.5 478.5 467.5 476 465z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M493 311C493 311 481 303 479.5 305C479.5 305 490 311.5 492.5 320C492.5 320 491 311 493 311z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='fill: #cccccc') +SAX.characters( + , 3) +SAX.startElement(path, d='M501.5 391.5L484 379.5C484 379.5 503 396.5 503.5 400.5L501.5 391.5z') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M110.75 369L132.75 373.75') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M161 531C161 531 160.5 527.5 151.5 538') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M166.5 536C166.5 536 168.5 529.5 162 534') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( + , 2) +SAX.startElement(g, style='stroke:#000000') +SAX.characters( + , 3) +SAX.startElement(path, d='M220.5 544.5C220.5 544.5 222 533.5 210.5 546.5') +SAX.endElement(path) +SAX.characters( + , 2) +SAX.endElement(g) +SAX.characters( +, 1) +SAX.endElement(svg) +SAX.endDocument() diff --git a/result/svg3.sax2 b/result/svg3.sax2 new file mode 100644 index 0000000..b63dff0 --- /dev/null +++ b/result/svg3.sax2 @@ -0,0 +1,2407 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(svg, NULL, NULL, 0, 0, 0) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M77....', 149) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M81....', 149) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M108...', 153) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M105...', 157) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M101...', 157) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M90....', 150) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M83....', 149) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M80....', 151) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M91....', 144) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M71....', 105) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M72....', 150) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M72....', 145) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 29) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M70....', 3523) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 29) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M499...', 1458) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M84....', 598) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M333...', 739) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M334...', 757) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M336...', 760) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M337...', 761) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M338...', 762) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M340...', 760) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M341...', 760) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M342...', 760) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M343...', 725) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M345...', 762) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M84....', 637) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 221) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M265...', 273) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M145...', 431) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M178...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M178...', 131) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M179...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M165...', 911) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M170...', 501) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M192...', 262) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 209) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M194...', 475) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 29) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 405) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M191...', 219) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M271...', 327) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M228...', 98) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M180...', 137) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M185...', 152) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 152) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M197...', 154) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M203...', 154) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M210...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 132) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M215...', 142) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M233...', 211) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M247...', 50) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M253...', 56) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M174...', 179) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 219) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M111...', 221) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M132...', 208) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M133...', 334) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M177...', 183) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M147...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M154...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M161...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 182) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 247) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M243...', 361) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M208...', 393) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M208...', 393) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M209...', 393) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M210...', 393) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M244...', 301) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M290...', 155) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M294...', 309) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M247...', 193) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M243...', 200) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M255...', 77) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 191) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M141...', 411) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 486) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M148...', 494) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M148...', 484) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M148...', 495) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 486) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M137...', 119) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M120...', 115) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M128...', 132) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M214...', 1619) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M409...', 389) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M464...', 271) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M463...', 289) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M463...', 287) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M462...', 280) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M462...', 289) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M462...', 250) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M250...', 709) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M389...', 91) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M436...', 125) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M492...', 99) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M304...', 123) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M494...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M343...', 2441) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M309...', 1201) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M380...', 429) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M368...', 1598) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M291...', 929) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M259...', 1006) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 383) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M217...', 181) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M233...', 2425) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M251...', 74) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M224...', 84) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M221...', 112) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M222...', 114) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M220...', 6993) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M197...', 185) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M138...', 193) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M138...', 197) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M134...', 195) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M134...', 11) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M89 ...', 570) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M87....', 491) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M91 ...', 497) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M88....', 626) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M79....', 183) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M101...', 359) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M240...', 1223) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M231...', 816) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M294...', 902) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M257...', 3281) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M202...', 837) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M182...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M142...', 177) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M133...', 289) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M120...', 215) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M349...', 1047) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M339...', 444) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M173...', 503) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M180...', 445) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M177...', 379) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M196...', 438) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 109) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 113) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M171...', 105) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M163...', 113) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M191...', 114) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M180...', 109) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M173...', 105) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M166...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M205...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M215...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M226...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M236...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M209...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M219...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M196...', 109) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M123...', 117) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M105...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 101) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M129...', 1246) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M126...', 311) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 125) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M127...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M129...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M130...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 157) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M242...', 154) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M239...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M236...', 157) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M204...', 387) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M277...', 379) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M218...', 127) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M211...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M193...', 128) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M235...', 128) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M254...', 129) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M264...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M226...', 126) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M262...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M265...', 363) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M207...', 143) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M217...', 147) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M229...', 143) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M239...', 137) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 133) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M172...', 135) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M164...', 137) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M211...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M222...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 158) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M193...', 155) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M174...', 159) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M167...', 160) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M236...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M203...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M213...', 135) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M220...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M228...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M238...', 161) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M198...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M249...', 159) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M257...', 159) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M267...', 159) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M156...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M187...', 105) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M178...', 111) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M82....', 121) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M84....', 121) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M77....', 121) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M157...', 137) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 349) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M234...', 346) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M194...', 445) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M168...', 247) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M155...', 396) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M171...', 206) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M186...', 803) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M246...', 179) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M231...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M221...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M211...', 139) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M192...', 261) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M189...', 131) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M167...', 181) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M161...', 183) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M155...', 99) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 181) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M470...', 101) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M476...', 97) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M493...', 91) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M501...', 67) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M110...', 25) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M161...', 38) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M166...', 40) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( + , 2) +SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14) +SAX.characters( + , 3) +SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M220...', 46) +SAX.endElementNs(path, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(g, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(svg, NULL, NULL) +SAX.endDocument() diff --git a/result/title.xml b/result/title.xml new file mode 100644 index 0000000..1b3fe07 --- /dev/null +++ b/result/title.xml @@ -0,0 +1,2 @@ + +my title diff --git a/result/title.xml.rde b/result/title.xml.rde new file mode 100644 index 0000000..b0d2be0 --- /dev/null +++ b/result/title.xml.rde @@ -0,0 +1,3 @@ +0 1 title 0 0 +1 3 #text 0 1 my title +0 15 title 0 0 diff --git a/result/title.xml.rdr b/result/title.xml.rdr new file mode 100644 index 0000000..b0d2be0 --- /dev/null +++ b/result/title.xml.rdr @@ -0,0 +1,3 @@ +0 1 title 0 0 +1 3 #text 0 1 my title +0 15 title 0 0 diff --git a/result/title.xml.sax b/result/title.xml.sax new file mode 100644 index 0000000..2af71e9 --- /dev/null +++ b/result/title.xml.sax @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(title) +SAX.characters(my title, 8) +SAX.endElement(title) +SAX.endDocument() diff --git a/result/title.xml.sax2 b/result/title.xml.sax2 new file mode 100644 index 0000000..6fa4fa9 --- /dev/null +++ b/result/title.xml.sax2 @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(my title, 8) +SAX.endElementNs(title, NULL, NULL) +SAX.endDocument() diff --git a/result/tstblanks.xml b/result/tstblanks.xml new file mode 100644 index 0000000..2561859 --- /dev/null +++ b/result/tstblanks.xml @@ -0,0 +1,2 @@ + +content diff --git a/result/tstblanks.xml.rde b/result/tstblanks.xml.rde new file mode 100644 index 0000000..7d2e5fa --- /dev/null +++ b/result/tstblanks.xml.rde @@ -0,0 +1,3 @@ +0 1 a 0 0 +1 3 #text 0 1 content +0 15 a 0 0 diff --git a/result/tstblanks.xml.rdr b/result/tstblanks.xml.rdr new file mode 100644 index 0000000..7d2e5fa --- /dev/null +++ b/result/tstblanks.xml.rdr @@ -0,0 +1,3 @@ +0 1 a 0 0 +1 3 #text 0 1 content +0 15 a 0 0 diff --git a/result/tstblanks.xml.sax b/result/tstblanks.xml.sax new file mode 100644 index 0000000..a1f7b8b --- /dev/null +++ b/result/tstblanks.xml.sax @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(a, test='passed') +SAX.characters(content, 7) +SAX.endElement(a) +SAX.endDocument() diff --git a/result/tstblanks.xml.sax2 b/result/tstblanks.xml.sax2 new file mode 100644 index 0000000..45563a4 --- /dev/null +++ b/result/tstblanks.xml.sax2 @@ -0,0 +1,6 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(a, NULL, NULL, 0, 1, 0, test='pass...', 6) +SAX.characters(content, 7) +SAX.endElementNs(a, NULL, NULL) +SAX.endDocument() diff --git a/result/utf16bebom.xml b/result/utf16bebom.xml new file mode 100644 index 0000000..3b5466d Binary files /dev/null and b/result/utf16bebom.xml differ diff --git a/result/utf16bebom.xml.rde b/result/utf16bebom.xml.rde new file mode 100644 index 0000000..f69338a --- /dev/null +++ b/result/utf16bebom.xml.rde @@ -0,0 +1,4 @@ +0 8 #comment 0 1 This file is encoded in UTF-16BE +0 1 repository 0 0 +1 1 namespace 1 0 +0 15 repository 0 0 diff --git a/result/utf16bebom.xml.rdr b/result/utf16bebom.xml.rdr new file mode 100644 index 0000000..f69338a --- /dev/null +++ b/result/utf16bebom.xml.rdr @@ -0,0 +1,4 @@ +0 8 #comment 0 1 This file is encoded in UTF-16BE +0 1 repository 0 0 +1 1 namespace 1 0 +0 15 repository 0 0 diff --git a/result/utf16bebom.xml.sax b/result/utf16bebom.xml.sax new file mode 100644 index 0000000..5b74a6d --- /dev/null +++ b/result/utf16bebom.xml.sax @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This file is encoded in UTF-16BE ) +SAX.startElement(repository, repositroy_id='test') +SAX.startElement(namespace, name='test') +SAX.endElement(namespace) +SAX.endElement(repository) +SAX.endDocument() diff --git a/result/utf16bebom.xml.sax2 b/result/utf16bebom.xml.sax2 new file mode 100644 index 0000000..4326890 --- /dev/null +++ b/result/utf16bebom.xml.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This file is encoded in UTF-16BE ) +SAX.startElementNs(repository, NULL, NULL, 0, 1, 0, repositroy_id='test...', 4) +SAX.startElementNs(namespace, NULL, NULL, 0, 1, 0, name='test...', 4) +SAX.endElementNs(namespace, NULL, NULL) +SAX.endElementNs(repository, NULL, NULL) +SAX.endDocument() diff --git a/result/utf16bom.xml b/result/utf16bom.xml new file mode 100644 index 0000000..6ea296e Binary files /dev/null and b/result/utf16bom.xml differ diff --git a/result/utf16bom.xml.rde b/result/utf16bom.xml.rde new file mode 100644 index 0000000..0fb84c6 --- /dev/null +++ b/result/utf16bom.xml.rde @@ -0,0 +1,3 @@ +0 1 repository 0 0 +1 1 namespace 1 0 +0 15 repository 0 0 diff --git a/result/utf16bom.xml.rdr b/result/utf16bom.xml.rdr new file mode 100644 index 0000000..0fb84c6 --- /dev/null +++ b/result/utf16bom.xml.rdr @@ -0,0 +1,3 @@ +0 1 repository 0 0 +1 1 namespace 1 0 +0 15 repository 0 0 diff --git a/result/utf16bom.xml.sax b/result/utf16bom.xml.sax new file mode 100644 index 0000000..bd9386e --- /dev/null +++ b/result/utf16bom.xml.sax @@ -0,0 +1,7 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(repository, repositroy_id='test') +SAX.startElement(namespace, name='test') +SAX.endElement(namespace) +SAX.endElement(repository) +SAX.endDocument() diff --git a/result/utf16bom.xml.sax2 b/result/utf16bom.xml.sax2 new file mode 100644 index 0000000..2b2db15 --- /dev/null +++ b/result/utf16bom.xml.sax2 @@ -0,0 +1,7 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(repository, NULL, NULL, 0, 1, 0, repositroy_id='test...', 4) +SAX.startElementNs(namespace, NULL, NULL, 0, 1, 0, name='test...', 4) +SAX.endElementNs(namespace, NULL, NULL) +SAX.endElementNs(repository, NULL, NULL) +SAX.endDocument() diff --git a/result/utf16lebom.xml b/result/utf16lebom.xml new file mode 100644 index 0000000..933640c Binary files /dev/null and b/result/utf16lebom.xml differ diff --git a/result/utf16lebom.xml.rde b/result/utf16lebom.xml.rde new file mode 100644 index 0000000..32a91e4 --- /dev/null +++ b/result/utf16lebom.xml.rde @@ -0,0 +1,4 @@ +0 8 #comment 0 1 This file is encoded in UTF-16LE +0 1 repository 0 0 +1 1 namespace 1 0 +0 15 repository 0 0 diff --git a/result/utf16lebom.xml.rdr b/result/utf16lebom.xml.rdr new file mode 100644 index 0000000..32a91e4 --- /dev/null +++ b/result/utf16lebom.xml.rdr @@ -0,0 +1,4 @@ +0 8 #comment 0 1 This file is encoded in UTF-16LE +0 1 repository 0 0 +1 1 namespace 1 0 +0 15 repository 0 0 diff --git a/result/utf16lebom.xml.sax b/result/utf16lebom.xml.sax new file mode 100644 index 0000000..e699631 --- /dev/null +++ b/result/utf16lebom.xml.sax @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This file is encoded in UTF-16LE ) +SAX.startElement(repository, repositroy_id='test') +SAX.startElement(namespace, name='test') +SAX.endElement(namespace) +SAX.endElement(repository) +SAX.endDocument() diff --git a/result/utf16lebom.xml.sax2 b/result/utf16lebom.xml.sax2 new file mode 100644 index 0000000..3b62346 --- /dev/null +++ b/result/utf16lebom.xml.sax2 @@ -0,0 +1,8 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.comment( This file is encoded in UTF-16LE ) +SAX.startElementNs(repository, NULL, NULL, 0, 1, 0, repositroy_id='test...', 4) +SAX.startElementNs(namespace, NULL, NULL, 0, 1, 0, name='test...', 4) +SAX.endElementNs(namespace, NULL, NULL) +SAX.endElementNs(repository, NULL, NULL) +SAX.endDocument() diff --git a/result/utf8bom.xml b/result/utf8bom.xml new file mode 100644 index 0000000..f4e5164 --- /dev/null +++ b/result/utf8bom.xml @@ -0,0 +1,2 @@ + + diff --git a/result/utf8bom.xml.rde b/result/utf8bom.xml.rde new file mode 100644 index 0000000..55ad211 --- /dev/null +++ b/result/utf8bom.xml.rde @@ -0,0 +1 @@ +0 1 foo 1 0 diff --git a/result/utf8bom.xml.rdr b/result/utf8bom.xml.rdr new file mode 100644 index 0000000..55ad211 --- /dev/null +++ b/result/utf8bom.xml.rdr @@ -0,0 +1 @@ +0 1 foo 1 0 diff --git a/result/utf8bom.xml.sax b/result/utf8bom.xml.sax new file mode 100644 index 0000000..792eb94 --- /dev/null +++ b/result/utf8bom.xml.sax @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(foo) +SAX.endElement(foo) +SAX.endDocument() diff --git a/result/utf8bom.xml.sax2 b/result/utf8bom.xml.sax2 new file mode 100644 index 0000000..cf7f20f --- /dev/null +++ b/result/utf8bom.xml.sax2 @@ -0,0 +1,5 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(foo, NULL, NULL, 0, 0, 0) +SAX.endElementNs(foo, NULL, NULL) +SAX.endDocument() diff --git a/result/valid/127772.xml b/result/valid/127772.xml new file mode 100644 index 0000000..c1e128f --- /dev/null +++ b/result/valid/127772.xml @@ -0,0 +1,5 @@ + + + + b text + diff --git a/result/valid/127772.xml.err b/result/valid/127772.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/127772.xml.err.rdr b/result/valid/127772.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/694228.xml b/result/valid/694228.xml new file mode 100644 index 0000000..057c926 --- /dev/null +++ b/result/valid/694228.xml @@ -0,0 +1,5 @@ + + + + &entity; + diff --git a/result/valid/694228.xml.err b/result/valid/694228.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/694228.xml.err.rdr b/result/valid/694228.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/737840.xml b/result/valid/737840.xml new file mode 100644 index 0000000..433c6d6 --- /dev/null +++ b/result/valid/737840.xml @@ -0,0 +1,10 @@ + + + + + +]> + + ⌖ + diff --git a/result/valid/737840.xml.err b/result/valid/737840.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/737840.xml.err.rdr b/result/valid/737840.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/766956.xml b/result/valid/766956.xml new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/766956.xml.err b/result/valid/766956.xml.err new file mode 100644 index 0000000..b4ac1e5 --- /dev/null +++ b/result/valid/766956.xml.err @@ -0,0 +1,9 @@ +test/valid/dtds/766956.dtd:2: parser error : PEReference: expecting ';' +%ä%ent; + ^ +test/valid/dtds/766956.dtd:2: parser error : Content error in the external subset +%ä%ent; + ^ +Entity: line 1: +value +^ diff --git a/result/valid/766956.xml.err.rdr b/result/valid/766956.xml.err.rdr new file mode 100644 index 0000000..4286379 --- /dev/null +++ b/result/valid/766956.xml.err.rdr @@ -0,0 +1,10 @@ +test/valid/dtds/766956.dtd:2: parser error : PEReference: expecting ';' +%ä%ent; + ^ +test/valid/dtds/766956.dtd:2: parser error : Content error in the external subset +%ä%ent; + ^ +Entity: line 1: +value +^ +./test/valid/766956.xml : failed to parse diff --git a/result/valid/781333.xml b/result/valid/781333.xml new file mode 100644 index 0000000..45dc451 --- /dev/null +++ b/result/valid/781333.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/result/valid/781333.xml.err b/result/valid/781333.xml.err new file mode 100644 index 0000000..b401b49 --- /dev/null +++ b/result/valid/781333.xml.err @@ -0,0 +1,3 @@ +./test/valid/781333.xml:4: element a: validity error : Element a content does not follow the DTD, expecting ( ..., got + + ^ diff --git a/result/valid/781333.xml.err.rdr b/result/valid/781333.xml.err.rdr new file mode 100644 index 0000000..5ff5699 --- /dev/null +++ b/result/valid/781333.xml.err.rdr @@ -0,0 +1,6 @@ +./test/valid/781333.xml:4: element a: validity error : Element a content does not follow the DTD, expecting ( ..., got + + ^ +./test/valid/781333.xml:5: element a: validity error : Element a content does not follow the DTD, Expecting more child + +^ diff --git a/result/valid/REC-xml-19980210.xml b/result/valid/REC-xml-19980210.xml new file mode 100644 index 0000000..4460b3e --- /dev/null +++ b/result/valid/REC-xml-19980210.xml @@ -0,0 +1,4154 @@ + + + + + + + + + + +"> + +'"> + + + + + + + + +amp, +lt, +gt, +apos, +quot"> + + +]> + + + +
    +Extensible Markup Language (XML) 1.0 + +REC-xml-&iso6.doc.date; +W3C Recommendation +&draft.day;&draft.month;&draft.year; + + + +http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date; + +http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.xml + +http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.html + +http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.pdf + +http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.ps + + + +http://www.w3.org/TR/REC-xml + + + +http://www.w3.org/TR/PR-xml-971208 + + + +Tim Bray +Textuality and Netscape +tbray@textuality.com +Jean Paoli +Microsoft +jeanpa@microsoft.com +C. M. Sperberg-McQueen +University of Illinois at Chicago +cmsmcq@uic.edu + + +

    The Extensible Markup Language (XML) is a subset of +SGML that is completely described in this document. Its goal is to +enable generic SGML to be served, received, and processed on the Web +in the way that is now possible with HTML. XML has been designed for +ease of implementation and for interoperability with both SGML and +HTML.

    +
    + +

    This document has been reviewed by W3C Members and +other interested parties and has been endorsed by the +Director as a W3C Recommendation. It is a stable +document and may be used as reference material or cited +as a normative reference from another document. W3C's +role in making the Recommendation is to draw attention +to the specification and to promote its widespread +deployment. This enhances the functionality and +interoperability of the Web.

    +

    +This document specifies a syntax created by subsetting an existing, +widely used international text processing standard (Standard +Generalized Markup Language, ISO 8879:1986(E) as amended and +corrected) for use on the World Wide Web. It is a product of the W3C +XML Activity, details of which can be found at http://www.w3.org/XML. A list of +current W3C Recommendations and other technical documents can be found +at http://www.w3.org/TR. +

    +

    This specification uses the term URI, which is defined by , a work in progress expected to update and . +

    +

    The list of known errors in this specification is +available at +http://www.w3.org/XML/xml-19980210-errata.

    +

    Please report errors in this document to +xml-editor@w3.org. +

    +
    + + + +

    Chicago, Vancouver, Mountain View, et al.: +World-Wide Web Consortium, XML Working Group, 1996, 1997.

    +
    + +

    Created in electronic form.

    +
    + +English +Extended Backus-Naur Form (formal grammar) + + + +1997-12-03 : CMSMcQ : yet further changes +1997-12-02 : TB : further changes (see TB to XML WG, +2 December 1997) +1997-12-02 : CMSMcQ : deal with as many corrections and +comments from the proofreaders as possible: +entify hard-coded document date in pubdate element, +change expansion of entity WebSGML, +update status description as per Dan Connolly (am not sure +about refernece to Berners-Lee et al.), +add 'The' to abstract as per WG decision, +move Relationship to Existing Standards to back matter and +combine with References, +re-order back matter so normative appendices come first, +re-tag back matter so informative appendices are tagged informdiv1, +remove XXX XXX from list of 'normative' specs in prose, +move some references from Other References to Normative References, +add RFC 1738, 1808, and 2141 to Other References (they are not +normative since we do not require the processor to enforce any +rules based on them), +add reference to 'Fielding draft' (Berners-Lee et al.), +move notation section to end of body, +drop URIchar non-terminal and use SkipLit instead, +lose stray reference to defunct nonterminal 'markupdecls', +move reference to Aho et al. into appendix (Tim's right), +add prose note saying that hash marks and fragment identifiers are +NOT part of the URI formally speaking, and are NOT legal in +system identifiers (processor 'may' signal an error). +Work through: +Tim Bray reacting to James Clark, +Tim Bray on his own, +Eve Maler, + +NOT DONE YET: +change binary / text to unparsed / parsed. +handle James's suggestion about < in attriubte values +uppercase hex characters, +namechar list, + +1997-12-01 : JB : add some column-width parameters +1997-12-01 : CMSMcQ : begin round of changes to incorporate +recent WG decisions and other corrections: +binding sources of character encoding info (27 Aug / 3 Sept), +correct wording of Faust quotation (restore dropped line), +drop SDD from EncodingDecl, +change text at version number 1.0, +drop misleading (wrong!) sentence about ignorables and extenders, +modify definition of PCData to make bar on msc grammatical, +change grammar's handling of internal subset (drop non-terminal markupdecls), +change definition of includeSect to allow conditional sections, +add integral-declaration constraint on internal subset, +drop misleading / dangerous sentence about relationship of +entities with system storage objects, +change table body tag to htbody as per EM change to DTD, +add rule about space normalization in public identifiers, +add description of how to generate our name-space rules from +Unicode character database (needs further work!). + +1997-10-08 : TB : Removed %-constructs again, new rules +for PE appearance. +1997-10-01 : TB : Case-sensitive markup; cleaned up +element-type defs, lotsa little edits for style +1997-09-25 : TB : Change to elm's new DTD, with +substantial detail cleanup as a side-effect +1997-07-24 : CMSMcQ : correct error (lost *) in definition +of ignoreSectContents (thanks to Makoto Murata) +Allow all empty elements to have end-tags, consistent with +SGML TC (as per JJC). +1997-07-23 : CMSMcQ : pre-emptive strike on pending corrections: +introduce the term 'empty-element tag', note that all empty elements +may use it, and elements declared EMPTY must use it. +Add WFC requiring encoding decl to come first in an entity. +Redefine notations to point to PIs as well as binary entities. +Change autodetection table by removing bytes 3 and 4 from +examples with Byte Order Mark. +Add content model as a term and clarify that it applies to both +mixed and element content. + +1997-06-30 : CMSMcQ : change date, some cosmetic changes, +changes to productions for choice, seq, Mixed, NotationType, +Enumeration. Follow James Clark's suggestion and prohibit +conditional sections in internal subset. TO DO: simplify +production for ignored sections as a result, since we don't +need to worry about parsers which don't expand PErefs finding +a conditional section. +1997-06-29 : TB : various edits +1997-06-29 : CMSMcQ : further changes: +Suppress old FINAL EDIT comments and some dead material. +Revise occurrences of % in grammar to exploit Henry Thompson's pun, +especially markupdecl and attdef. +Remove RMD requirement relating to element content (?). + +1997-06-28 : CMSMcQ : Various changes for 1 July draft: +Add text for draconian error handling (introduce +the term Fatal Error). +RE deleta est (changing wording from +original announcement to restrict the requirement to validating +parsers). +Tag definition of validating processor and link to it. +Add colon as name character. +Change def of %operator. +Change standard definitions of lt, gt, amp. +Strip leading zeros from #x00nn forms. +1997-04-02 : CMSMcQ : final corrections of editorial errors +found in last night's proofreading. Reverse course once more on +well-formed: Webster's Second hyphenates it, and that's enough +for me. +1997-04-01 : CMSMcQ : corrections from JJC, EM, HT, and self +1997-03-31 : Tim Bray : many changes +1997-03-29 : CMSMcQ : some Henry Thompson (on entity handling), +some Charles Goldfarb, some ERB decisions (PE handling in miscellaneous +declarations. Changed Ident element to accept def attribute. +Allow normalization of Unicode characters. move def of systemliteral +into section on literals. +1997-03-28 : CMSMcQ : make as many corrections as possible, from +Terry Allen, Norbert Mikula, James Clark, Jon Bosak, Henry Thompson, +Paul Grosso, and self. Among other things: give in on "well formed" +(Terry is right), tentatively rename QuotedCData as AttValue +and Literal as EntityValue to be more informative, since attribute +values are the only place QuotedCData was used, and +vice versa for entity text and Literal. (I'd call it Entity Text, +but 8879 uses that name for both internal and external entities.) +1997-03-26 : CMSMcQ : resynch the two forks of this draft, reapply +my changes dated 03-20 and 03-21. Normalize old 'may not' to 'must not' +except in the one case where it meant 'may or may not'. +1997-03-21 : TB : massive changes on plane flight from Chicago +to Vancouver +1997-03-21 : CMSMcQ : correct as many reported errors as possible. + +1997-03-20 : CMSMcQ : correct typos listed in CMSMcQ hand copy of spec. +1997-03-20 : CMSMcQ : cosmetic changes preparatory to revision for +WWW conference April 1997: restore some of the internal entity +references (e.g. to docdate, etc.), change character xA0 to &nbsp; +and define nbsp as &#160;, and refill a lot of paragraphs for +legibility. +1996-11-12 : CMSMcQ : revise using Tim's edits: +Add list type of NUMBERED and change most lists either to +BULLETS or to NUMBERED. +Suppress QuotedNames, Names (not used). +Correct trivial-grammar doc type decl. +Rename 'marked section' as 'CDATA section' passim. +Also edits from James Clark: +Define the set of characters from which [^abc] subtracts. +Charref should use just [0-9] not Digit. +Location info needs cleaner treatment: remove? (ERB +question). +One example of a PI has wrong pic. +Clarify discussion of encoding names. +Encoding failure should lead to unspecified results; don't +prescribe error recovery. +Don't require exposure of entity boundaries. +Ignore white space in element content. +Reserve entity names of the form u-NNNN. +Clarify relative URLs. +And some of my own: +Correct productions for content model: model cannot +consist of a name, so "elements ::= cp" is no good. + +1996-11-11 : CMSMcQ : revise for style. +Add new rhs to entity declaration, for parameter entities. +1996-11-10 : CMSMcQ : revise for style. +Fix / complete section on names, characters. +Add sections on parameter entities, conditional sections. +Still to do: Add compatibility note on deterministic content models. +Finish stylistic revision. +1996-10-31 : TB : Add Entity Handling section +1996-10-30 : TB : Clean up term & termdef. Slip in +ERB decision re EMPTY. +1996-10-28 : TB : Change DTD. Implement some of Michael's +suggestions. Change comments back to //. Introduce language for +XML namespace reservation. Add section on white-space handling. +Lots more cleanup. +1996-10-24 : CMSMcQ : quick tweaks, implement some ERB +decisions. Characters are not integers. Comments are /* */ not //. +Add bibliographic refs to 10646, HyTime, Unicode. +Rename old Cdata as MsData since it's only seen +in marked sections. Call them attribute-value pairs not +name-value pairs, except once. Internal subset is optional, needs +'?'. Implied attributes should be signaled to the app, not +have values supplied by processor. +1996-10-16 : TB : track down & excise all DSD references; +introduce some EBNF for entity declarations. +1996-10-?? : TB : consistency check, fix up scraps so +they all parse, get formatter working, correct a few productions. +1996-10-10/11 : CMSMcQ : various maintenance, stylistic, and +organizational changes: +Replace a few literals with xmlpio and +pic entities, to make them consistent and ensure we can change pic +reliably when the ERB votes. +Drop paragraph on recognizers from notation section. +Add match, exact match to terminology. +Move old 2.2 XML Processors and Apps into intro. +Mention comments, PIs, and marked sections in discussion of +delimiter escaping. +Streamline discussion of doctype decl syntax. +Drop old section of 'PI syntax' for doctype decl, and add +section on partial-DTD summary PIs to end of Logical Structures +section. +Revise DSD syntax section to use Tim's subset-in-a-PI +mechanism. +1996-10-10 : TB : eliminate name recognizers (and more?) +1996-10-09 : CMSMcQ : revise for style, consistency through 2.3 +(Characters) +1996-10-09 : CMSMcQ : re-unite everything for convenience, +at least temporarily, and revise quickly +1996-10-08 : TB : first major homogenization pass +1996-10-08 : TB : turn "current" attribute on div type into +CDATA +1996-10-02 : TB : remould into skeleton + entities +1996-09-30 : CMSMcQ : add a few more sections prior to exchange + with Tim. +1996-09-20 : CMSMcQ : finish transcribing notes. +1996-09-19 : CMSMcQ : begin transcribing notes for draft. +1996-09-13 : CMSMcQ : made outline from notes of 09-06, +do some housekeeping + + +
    + + +Introduction +

    Extensible Markup Language, abbreviated XML, describes a class of +data objects called XML documents and +partially describes the behavior of +computer programs which process them. XML is an application profile or +restricted form of SGML, the Standard Generalized Markup +Language . +By construction, XML documents +are conforming SGML documents. +

    +

    XML documents are made up of storage units called entities, which contain either parsed +or unparsed data. +Parsed data is made up of characters, +some +of which form character data, +and some of which form markup. +Markup encodes a description of the document's storage layout and +logical structure. XML provides a mechanism to impose constraints on +the storage layout and logical structure.

    +

    A software module +called an XML processor is used to read XML documents +and provide access to their content and structure. It is assumed that an XML processor is +doing its work on behalf of another module, called the +application. This specification describes the +required behavior of an XML processor in terms of how it must read XML +data and the information it must provide to the application.

    + + +Origin and Goals +

    XML was developed by an XML Working Group (originally known as the +SGML Editorial Review Board) formed under the auspices of the World +Wide Web Consortium (W3C) in 1996. +It was chaired by Jon Bosak of Sun +Microsystems with the active participation of an XML Special +Interest Group (previously known as the SGML Working Group) also +organized by the W3C. The membership of the XML Working Group is given +in an appendix. Dan Connolly served as the WG's contact with the W3C. +

    +

    The design goals for XML are: +

    XML shall be straightforwardly usable over the +Internet.

    +

    XML shall support a wide variety of applications.

    +

    XML shall be compatible with SGML.

    +

    It shall be easy to write programs which process XML +documents.

    +

    The number of optional features in XML is to be kept to the +absolute minimum, ideally zero.

    +

    XML documents should be human-legible and reasonably +clear.

    +

    The XML design should be prepared quickly.

    +

    The design of XML shall be formal and concise.

    +

    XML documents shall be easy to create.

    +

    Terseness in XML markup is of minimal importance.

    +

    +

    This specification, +together with associated standards +(Unicode and ISO/IEC 10646 for characters, +Internet RFC 1766 for language identification tags, +ISO 639 for language name codes, and +ISO 3166 for country name codes), +provides all the information necessary to understand +XML Version &XML.version; +and construct computer programs to process it.

    +

    This version of the XML specification + +&doc.distribution;.

    + +
    + + + + + +Terminology + +

    The terminology used to describe XML documents is defined in the body of +this specification. +The terms defined in the following list are used in building those +definitions and in describing the actions of an XML processor: + + + +

    Conforming documents and XML +processors are permitted to but need not behave as +described.

    + + + +

    Conforming documents and XML processors +are required to behave as described; otherwise they are in error. + +

    +
    + + +

    A violation of the rules of this +specification; results are +undefined. Conforming software may detect and report an error and may +recover from it.

    +
    + + +

    An error +which a conforming XML processor +must detect and report to the application. +After encountering a fatal error, the +processor may continue +processing the data to search for further errors and may report such +errors to the application. In order to support correction of errors, +the processor may make unprocessed data from the document (with +intermingled character data and markup) available to the application. +Once a fatal error is detected, however, the processor must not +continue normal processing (i.e., it must not +continue to pass character data and information about the document's +logical structure to the application in the normal way). +

    +
    + + +

    Conforming software may or must (depending on the modal verb in the +sentence) behave as described; if it does, it must +provide users a means to enable or disable the behavior +described.

    +
    + + +

    A rule which applies to all +valid XML documents. +Violations of validity constraints are errors; they must, at user option, +be reported by +validating XML processors.

    +
    + + +

    A rule which applies to all well-formed XML documents. +Violations of well-formedness constraints are +fatal errors.

    +
    + + + +

    (Of strings or names:) +Two strings or names being compared must be identical. +Characters with multiple possible representations in ISO/IEC 10646 (e.g. +characters with +both precomposed and base+diacritic forms) match only if they have the +same representation in both strings. +At user option, processors may normalize such characters to +some canonical form. +No case folding is performed. +(Of strings and rules in the grammar:) +A string matches a grammatical production if it belongs to the +language generated by that production. +(Of content and content models:) +An element matches its declaration when it conforms +in the fashion described in the constraint +. + +

    +
    + + +

    A feature of +XML included solely to ensure that XML remains compatible with SGML. +

    +
    + + +

    A +non-binding recommendation included to increase the chances that XML +documents can be processed by the existing installed base of SGML +processors which predate the +&WebSGML;.

    +
    + +

    +
    + + +
    + + + +Documents + +

    +A data object is an +XML document if it is +well-formed, as +defined in this specification. +A well-formed XML document may in addition be +valid if it meets certain further +constraints.

    + +

    Each XML document has both a logical and a physical structure. +Physically, the document is composed of units called entities. An entity may refer to other entities to cause their +inclusion in the document. A document begins in a "root" or document entity. +Logically, the document is composed of declarations, elements, +comments, +character references, and +processing +instructions, all of which are indicated in the document by explicit +markup. +The logical and physical structures must nest properly, as described +in . +

    + + +Well-Formed XML Documents + +

    +A textual object is +a well-formed XML document if: + +

    Taken as a whole, it +matches the production labeled document.

    +

    It +meets all the well-formedness constraints given in this specification.

    +
    +

    Each of the parsed entities +which is referenced directly or indirectly within the document is +well-formed.

    +

    +

    + +Document +document +prolog +element +Misc* + +

    +

    Matching the document production +implies that: + +

    It contains one or more +elements.

    + + +

    There is exactly +one element, called the root, or document element, no +part of which appears in the content of any other element. +For all other elements, if the start-tag is in the content of another +element, the end-tag is in the content of the same element. More +simply stated, the elements, delimited by start- and end-tags, nest +properly within each other. +

    + +

    +

    As a consequence +of this, +for each non-root element +C in the document, there is one other element P +in the document such that +C is in the content of P, but is not in +the content of any other element that is in the content of +P. +P is referred to as the +parent of C, and C as a +child of P.

    + + +Characters + +

    A parsed entity contains +text, a sequence of +characters, +which may represent markup or character data. +A character +is an atomic unit of text as specified by +ISO/IEC 10646 . +Legal characters are tab, carriage return, line feed, and the legal +graphic characters of Unicode and ISO/IEC 10646. +The use of "compatibility characters", as defined in section 6.8 +of , is discouraged. + + +Character Range + +Char +#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] +| [#x10000-#x10FFFF] +any Unicode character, excluding the +surrogate blocks, FFFE, and FFFF. + + +

    + +

    The mechanism for encoding character code points into bit patterns may +vary from entity to entity. All XML processors must accept the UTF-8 +and UTF-16 encodings of 10646; the mechanisms for signaling which of +the two is in use, or for bringing other encodings into play, are +discussed later, in . +

    + +
    + + +Common Syntactic Constructs + +

    This section defines some symbols used widely in the grammar.

    +

    S (white space) consists of one or more space (#x20) +characters, carriage returns, line feeds, or tabs. + + +White Space + +S +(#x20 | #x9 | #xD | #xA)+ + + +

    +

    Characters are classified for convenience as letters, digits, or other +characters. Letters consist of an alphabetic or syllabic +base character possibly +followed by one or more combining characters, or of an ideographic +character. +Full definitions of the specific characters in each class +are given in .

    +

    A Name is a token +beginning with a letter or one of a few punctuation characters, and continuing +with letters, digits, hyphens, underscores, colons, or full stops, together +known as name characters. +Names beginning with the string "xml", or any string +which would match (('X'|'x') ('M'|'m') ('L'|'l')), are +reserved for standardization in this or future versions of this +specification. +

    + +

    The colon character within XML names is reserved for experimentation with +name spaces. +Its meaning is expected to be +standardized at some future point, at which point those documents +using the colon for experimental purposes may need to be updated. +(There is no guarantee that any name-space mechanism +adopted for XML will in fact use the colon as a name-space delimiter.) +In practice, this means that authors should not use the colon in XML +names except as part of name-space experiments, but that XML processors +should accept the colon as a name character.

    +
    +

    An +Nmtoken (name token) is any mixture of +name characters. + +Names and Tokens +NameChar +Letter +| Digit +| '.' | '-' | '_' | ':' +| CombiningChar +| Extender + +Name +(Letter | '_' | ':') +(NameChar)* +Names +Name +(S Name)* +Nmtoken +(NameChar)+ +Nmtokens +Nmtoken (S Nmtoken)* + +

    +

    Literal data is any quoted string not containing +the quotation mark used as a delimiter for that string. +Literals are used +for specifying the content of internal entities +(EntityValue), +the values of attributes (AttValue), +and external identifiers +(SystemLiteral). +Note that a SystemLiteral +can be parsed without scanning for markup. + +Literals +EntityValue +'"' +([^%&"] +| PEReference +| Reference)* +'"' + +|  +"'" +([^%&'] +| PEReference +| Reference)* +"'" + +AttValue +'"' +([^<&"] +| Reference)* +'"' + +|  +"'" +([^<&'] +| Reference)* +"'" + +SystemLiteral +('"' [^"]* '"') | ("'" [^']* "'") + + +PubidLiteral +'"' PubidChar* +'"' +| "'" (PubidChar - "'")* "'" + +PubidChar +#x20 | #xD | #xA +| [a-zA-Z0-9] +| [-'()+,./:=?;!*#@$_%] + + +

    + +
    + + +Character Data and Markup + +

    Text consists of intermingled +character +data and markup. +Markup takes the form of +start-tags, +end-tags, +empty-element tags, +entity references, +character references, +comments, +CDATA section delimiters, +document type declarations, and +processing instructions. + +

    +

    All text that is not markup +constitutes the character data of +the document.

    +

    The ampersand character (&) and the left angle bracket (<) +may appear in their literal form only when used as markup +delimiters, or within a comment, a +processing instruction, +or a CDATA section. + +They are also legal within the literal entity +value of an internal entity declaration; see +. + +If they are needed elsewhere, +they must be escaped +using either numeric character references +or the strings +"&amp;" and "&lt;" respectively. +The right angle +bracket (>) may be represented using the string +"&gt;", and must, for +compatibility, +be escaped using +"&gt;" or a character reference +when it appears in the string +"]]>" +in content, +when that string is not marking the end of +a CDATA section. +

    +

    +In the content of elements, character data +is any string of characters which does +not contain the start-delimiter of any markup. +In a CDATA section, character data +is any string of characters not including the CDATA-section-close +delimiter, "]]>".

    +

    +To allow attribute values to contain both single and double quotes, the +apostrophe or single-quote character (') may be represented as +"&apos;", and the double-quote character (") as +"&quot;". + +Character Data + +CharData +[^<&]* - ([^<&]* ']]>' [^<&]*) + + +

    +
    + + +Comments + +

    Comments may +appear anywhere in a document outside other +markup; in addition, +they may appear within the document type declaration +at places allowed by the grammar. +They are not part of the document's character +data; an XML +processor may, but need not, make it possible for an application to +retrieve the text of comments. +For compatibility, the string +"--" (double-hyphen) must not occur within +comments. + +Comments +Comment +'<!--' +((Char - '-') +| ('-' (Char - '-')))* +'-->' + + +

    +

    An example of a comment: +<!&como; declarations for <head> & <body> &comc;> +

    +
    + + +Processing Instructions + +

    Processing +instructions (PIs) allow documents to contain instructions +for applications. + + +Processing Instructions +PI +'<?' PITarget +(S +(Char* - +(Char* &pic; Char*)))? +&pic; +PITarget +Name - +(('X' | 'x') ('M' | 'm') ('L' | 'l')) + + +PIs are not part of the document's character +data, but must be passed through to the application. The +PI begins with a target (PITarget) used +to identify the application to which the instruction is directed. +The target names "XML", "xml", and so on are +reserved for standardization in this or future versions of this +specification. +The +XML Notation mechanism +may be used for +formal declaration of PI targets. +

    +
    + + +CDATA Sections + +

    CDATA sections +may occur +anywhere character data may occur; they are +used to escape blocks of text containing characters which would +otherwise be recognized as markup. CDATA sections begin with the +string "<![CDATA[" and end with the string +"]]>": + +CDATA Sections +CDSect +CDStart +CData +CDEnd +CDStart +'<![CDATA[' + +CData +(Char* - +(Char* ']]>' Char*)) + + +CDEnd +']]>' + + + +Within a CDATA section, only the CDEnd string is +recognized as markup, so that left angle brackets and ampersands may occur in +their literal form; they need not (and cannot) be escaped using +"&lt;" and "&amp;". CDATA sections +cannot nest. +

    + +

    An example of a CDATA section, in which "<greeting>" and +"</greeting>" +are recognized as character data, not +markup: +<![CDATA[<greeting>Hello, world!</greeting>]]> +

    +
    + + +Prolog and Document Type Declaration + +

    XML documents +may, and should, +begin with an XML declaration which specifies +the version of +XML being used. +For example, the following is a complete XML document, well-formed but not +valid: + +Hello, world! +]]> +and so is this: +Hello, world! +]]> +

    + +

    The version number "1.0" should be used to indicate +conformance to this version of this specification; it is an error +for a document to use the value "1.0" +if it does not conform to this version of this specification. +It is the intent +of the XML working group to give later versions of this specification +numbers other than "1.0", but this intent does not +indicate a +commitment to produce any future versions of XML, nor if any are produced, to +use any particular numbering scheme. +Since future versions are not ruled out, this construct is provided +as a means to allow the possibility of automatic version recognition, should +it become necessary. +Processors may signal an error if they receive documents labeled with +versions they do not support. +

    +

    The function of the markup in an XML document is to describe its +storage and logical structure and to associate attribute-value pairs +with its logical structures. XML provides a mechanism, the document type declaration, to define +constraints on the logical structure and to support the use of +predefined storage units. + +An XML document is +valid if it has an associated document type +declaration and if the document +complies with the constraints expressed in it.

    +

    The document type declaration must appear before +the first element in the document. + +Prolog + +prolog +XMLDecl? +Misc* +(doctypedecl +Misc*)? +XMLDecl +&xmlpio; +VersionInfo +EncodingDecl? +SDDecl? +S? +&pic; + +VersionInfo +S 'version' Eq +(' VersionNum ' +| " VersionNum ") + +Eq +S? '=' S? + +VersionNum +([a-zA-Z0-9_.:] | '-')+ + +Misc +Comment | PI | +S + +

    + +

    The XML +document type declaration +contains or points to +markup declarations +that provide a grammar for a +class of documents. +This grammar is known as a document type definition, +or DTD. +The document type declaration can point to an external subset (a +special kind of +external entity) containing markup +declarations, or can +contain the markup declarations directly in an internal subset, or can do +both. +The DTD for a document consists of both subsets taken +together. +

    +

    +A markup declaration is +an element type declaration, +an attribute-list declaration, +an entity declaration, or +a notation declaration. + +These declarations may be contained in whole or in part +within parameter entities, +as described in the well-formedness and validity constraints below. +For fuller information, see +.

    + +Document Type Definition + +doctypedecl +'<!DOCTYPE' S +Name (S +ExternalID)? +S? ('[' +(markupdecl +| PEReference +| S)* +']' +S?)? '>' + + +markupdecl +elementdecl +| AttlistDecl +| EntityDecl +| NotationDecl +| PI +| Comment + + + + + + + + +

    The markup declarations may be made up in whole or in part of +the replacement text of +parameter entities. +The productions later in this specification for +individual nonterminals (elementdecl, +AttlistDecl, and so on) describe +the declarations after all the parameter entities have been +included.

    + + +Root Element Type +

    +The Name in the document type declaration must +match the element type of the root element. +

    +
    + + +Proper Declaration/PE Nesting +

    Parameter-entity +replacement text must be properly nested +with markup declarations. +That is to say, if either the first character +or the last character of a markup +declaration (markupdecl above) +is contained in the replacement text for a +parameter-entity reference, +both must be contained in the same replacement text.

    +
    + +PEs in Internal Subset +

    In the internal DTD subset, +parameter-entity references +can occur only where markup declarations can occur, not +within markup declarations. (This does not apply to +references that occur in +external parameter entities or to the external subset.) +

    +
    +

    +Like the internal subset, the external subset and +any external parameter entities referred to in the DTD +must consist of a series of complete markup declarations of the types +allowed by the non-terminal symbol +markupdecl, interspersed with white space +or parameter-entity references. +However, portions of the contents +of the +external subset or of external parameter entities may conditionally be ignored +by using +the conditional section +construct; this is not allowed in the internal subset. + + +External Subset + +extSubset +TextDecl? +extSubsetDecl +extSubsetDecl +( +markupdecl +| conditionalSect +| PEReference +| S +)* + + +

    +

    The external subset and external parameter entities also differ +from the internal subset in that in them, +parameter-entity references +are permitted within markup declarations, +not only between markup declarations.

    +

    An example of an XML document with a document type declaration: + + +Hello, world! +]]> +The system identifier +"hello.dtd" gives the URI of a DTD for the document.

    +

    The declarations can also be given locally, as in this +example: + + +]> +Hello, world! +]]> +If both the external and internal subsets are used, the +internal subset is considered to occur before the external subset. + +This has the effect that entity and attribute-list declarations in the +internal subset take precedence over those in the external subset. +

    +
    + + +Standalone Document Declaration +

    Markup declarations can affect the content of the document, +as passed from an XML processor +to an application; examples are attribute defaults and entity +declarations. +The standalone document declaration, +which may appear as a component of the XML declaration, signals +whether or not there are such declarations which appear external to +the document entity. + +Standalone Document Declaration + +SDDecl + +S +'standalone' Eq +(("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no') '"')) + + + +

    +

    +In a standalone document declaration, the value "yes" indicates +that there +are no markup declarations external to the document +entity (either in the DTD external subset, or in an +external parameter entity referenced from the internal subset) +which affect the information passed from the XML processor to +the application. +The value "no" indicates that there are or may be such +external markup declarations. +Note that the standalone document declaration only +denotes the presence of external declarations; the presence, in a +document, of +references to external entities, when those entities are +internally declared, +does not change its standalone status.

    +

    If there are no external markup declarations, the standalone document +declaration has no meaning. +If there are external markup declarations but there is no standalone +document declaration, the value "no" is assumed.

    +

    Any XML document for which standalone="no" holds can +be converted algorithmically to a standalone document, +which may be desirable for some network delivery applications.

    + +Standalone Document Declaration +

    The standalone document declaration must have +the value "no" if any external markup declarations +contain declarations of:

    +

    attributes with default values, if +elements to which +these attributes apply appear in the document without +specifications of values for these attributes, or

    +

    entities (other than &magicents;), +if references to those +entities appear in the document, or

    +
    +

    attributes with values subject to +normalization, where the +attribute appears in the document with a value which will +change as a result of normalization, or

    +
    + +

    element types with element content, +if white space occurs +directly within any instance of those types. +

    +
    + +
    +

    An example XML declaration with a standalone document declaration:<?xml version="&XML.version;" standalone='yes'?>

    +
    + +White Space Handling + +

    In editing XML documents, it is often convenient to use "white space" +(spaces, tabs, and blank lines, denoted by the nonterminal +S in this specification) to +set apart the markup for greater readability. Such white space is typically +not intended for inclusion in the delivered version of the document. +On the other hand, "significant" white space that should be preserved in the +delivered version is common, for example in poetry and +source code.

    +

    An XML processor +must always pass all characters in a document that are not +markup through to the application. A +validating XML processor must also inform the application +which of these characters constitute white space appearing +in element content. +

    +

    A special attribute +named xml:space may be attached to an element +to signal an intention that in that element, +white space should be preserved by applications. +In valid documents, this attribute, like any other, must be +declared if it is used. +When declared, it must be given as an +enumerated type whose only +possible values are "default" and "preserve". +For example:]]>

    +

    The value "default" signals that applications' +default white-space processing modes are acceptable for this element; the +value "preserve" indicates the intent that applications preserve +all the white space. +This declared intent is considered to apply to all elements within the content +of the element where it is specified, unless overridden with another instance +of the xml:space attribute. +

    +

    The root element of any document +is considered to have signaled no intentions as regards application space +handling, unless it provides a value for +this attribute or the attribute is declared with a default value. +

    + +
    + +End-of-Line Handling +

    XML parsed entities are often stored in +computer files which, for editing convenience, are organized into lines. +These lines are typically separated by some combination of the characters +carriage-return (#xD) and line-feed (#xA).

    +

    To simplify the tasks of applications, +wherever an external parsed entity or the literal entity value +of an internal parsed entity contains either the literal +two-character sequence "#xD#xA" or a standalone literal +#xD, an XML processor must +pass to the application the single character #xA. +(This behavior can +conveniently be produced by normalizing all +line breaks to #xA on input, before parsing.) +

    +
    + +Language Identification +

    In document processing, it is often useful to +identify the natural or formal language +in which the content is +written. +A special attribute named +xml:lang may be inserted in +documents to specify the +language used in the contents and attribute values +of any element in an XML document. +In valid documents, this attribute, like any other, must be +declared if it is used. +The values of the attribute are language identifiers as defined +by , "Tags for the Identification of Languages": + +Language Identification +LanguageID +Langcode +('-' Subcode)* +Langcode +ISO639Code | +IanaCode | +UserCode + +ISO639Code +([a-z] | [A-Z]) ([a-z] | [A-Z]) +IanaCode +('i' | 'I') '-' ([a-z] | [A-Z])+ +UserCode +('x' | 'X') '-' ([a-z] | [A-Z])+ +Subcode +([a-z] | [A-Z])+ + +The Langcode may be any of the following: + +

    a two-letter language code as defined by +, "Codes +for the representation of names of languages"

    +

    a language identifier registered with the Internet +Assigned Numbers Authority ; these begin with the +prefix "i-" (or "I-")

    +

    a language identifier assigned by the user, or agreed on +between parties in private use; these must begin with the +prefix "x-" or "X-" in order to ensure that they do not conflict +with names later standardized or registered with IANA

    +

    +

    There may be any number of Subcode segments; if +the first +subcode segment exists and the Subcode consists of two +letters, then it must be a country code from +, "Codes +for the representation of names of countries." +If the first +subcode consists of more than two letters, it must be +a subcode for the language in question registered with IANA, +unless the Langcode begins with the prefix +"x-" or +"X-".

    +

    It is customary to give the language code in lower case, and +the country code (if any) in upper case. +Note that these values, unlike other names in XML documents, +are case insensitive.

    +

    For example: +The quick brown fox jumps over the lazy dog.

    +

    What colour is it?

    +

    What color is it?

    + + Habe nun, ach! Philosophie, + Juristerei, und Medizin + und leider auch Theologie + durchaus studiert mit heiem Bemh'n. + ]]>

    + +

    The intent declared with xml:lang is considered to apply to +all attributes and content of the element where it is specified, +unless overridden with an instance of xml:lang +on another element within that content.

    + +

    A simple declaration for xml:lang might take +the form +xml:lang NMTOKEN #IMPLIED +but specific default values may also be given, if appropriate. In a +collection of French poems for English students, with glosses and +notes in English, the xml:lang attribute might be declared this way: + + + ]]> +

    + +
    +
    + + + +Logical Structures + +

    Each XML document contains one or more +elements, the boundaries of which are +either delimited by start-tags +and end-tags, or, for empty elements, by an empty-element tag. Each element has a type, +identified by name, sometimes called its "generic +identifier" (GI), and may have a set of +attribute specifications. Each attribute specification +has a name and a value. +

    +Element +element +EmptyElemTag +| STag content +ETag + + + + +

    This specification does not constrain the semantics, use, or (beyond +syntax) names of the element types and attributes, except that names +beginning with a match to (('X'|'x')('M'|'m')('L'|'l')) +are reserved for standardization in this or future versions of this +specification. +

    + +Element Type Match +

    +The Name in an element's end-tag must match +the element type in +the start-tag. +

    +
    + +Element Valid +

    An element is +valid if +there is a declaration matching +elementdecl where the +Name matches the element type, and +one of the following holds:

    + +

    The declaration matches EMPTY and the element has no +content.

    +

    The declaration matches children and +the sequence of +child elements +belongs to the language generated by the regular expression in +the content model, with optional white space (characters +matching the nonterminal S) between each pair +of child elements.

    +

    The declaration matches Mixed and +the content consists of character +data and child elements +whose types match names in the content model.

    +

    The declaration matches ANY, and the types +of any child elements have +been declared.

    +
    +
    + + +Start-Tags, End-Tags, and Empty-Element Tags + +

    The beginning of every +non-empty XML element is marked by a start-tag. + +Start-tag + +STag +'<' Name +(S Attribute)* +S? '>' + + +Attribute +Name Eq +AttValue + + + + + +The Name in +the start- and end-tags gives the +element's type. + +The Name-AttValue pairs are +referred to as +the attribute specifications of the element, +with the +Name in each pair +referred to as the attribute name and +the content of the +AttValue (the text between the +' or " delimiters) +as the attribute value. +

    + +Unique Att Spec +

    +No attribute name may appear more than once in the same start-tag +or empty-element tag. +

    +
    + +Attribute Value Type +

    +The attribute must have been declared; the value must be of the type +declared for it. +(For attribute types, see .) +

    +
    + +No External Entity References +

    +Attribute values cannot contain direct or indirect entity references +to external entities. +

    +
    + +No < in Attribute Values +

    The replacement text of any entity +referred to directly or indirectly in an attribute +value (other than "&lt;") must not contain +a <. +

    +

    An example of a start-tag: +<termdef id="dt-dog" term="dog">

    +

    The end of every element +that begins with a start-tag must +be marked by an end-tag +containing a name that echoes the element's type as given in the +start-tag: + +End-tag + +ETag +'</' Name +S? '>' + + +

    +

    An example of an end-tag:</termdef>

    +

    The +text between the start-tag and +end-tag is called the element's +content: + +Content of Elements + +content +(element | CharData +| Reference | CDSect +| PI | Comment)* + + + +

    +

    If an element is empty, +it must be represented either by a start-tag immediately followed +by an end-tag or by an empty-element tag. +An +empty-element tag takes a special form: + +Tags for Empty Elements + +EmptyElemTag +'<' Name (S +Attribute)* S? +'/>' + + + + +

    +

    Empty-element tags may be used for any element which has no +content, whether or not it is declared using the keyword +EMPTY. +For interoperability, the empty-element +tag must be used, and can only be used, for elements which are +declared EMPTY.

    +

    Examples of empty elements: +<IMG align="left" + src="http://www.w3.org/Icons/WWW/w3c_home" /> +<br></br> +<br/>

    +
    + + +Element Type Declarations + +

    The element structure of an +XML document may, for +validation purposes, +be constrained +using element type and attribute-list declarations. +An element type declaration constrains the element's +content. +

    + +

    Element type declarations often constrain which element types can +appear as children of the element. +At user option, an XML processor may issue a warning +when a declaration mentions an element type for which no declaration +is provided, but this is not an error.

    +

    An element +type declaration takes the form: + +Element Type Declaration + +elementdecl +'<!ELEMENT' S +Name +S +contentspec +S? '>' + +contentspec +'EMPTY' +| 'ANY' +| Mixed +| children + + + + +where the Name gives the element type +being declared. +

    + + +Unique Element Type Declaration +

    +No element type may be declared more than once. +

    +
    + +

    Examples of element type declarations: +<!ELEMENT br EMPTY> +<!ELEMENT p (#PCDATA|emph)* > +<!ELEMENT %name.para; %content.para; > +<!ELEMENT container ANY>

    + + +Element Content + +

    An element type has +element content when elements of that +type must contain only child +elements (no character data), optionally separated by +white space (characters matching the nonterminal +S). + +In this case, the +constraint includes a content model, a simple grammar governing +the allowed types of the child +elements and the order in which they are allowed to appear. +The grammar is built on +content particles (cps), which consist of names, +choice lists of content particles, or +sequence lists of content particles: + +Element-content Models + +children +(choice +| seq) +('?' | '*' | '+')? +cp +(Name +| choice +| seq) +('?' | '*' | '+')? +choice +'(' S? cp +( S? '|' S? cp )* +S? ')' + +seq +'(' S? cp +( S? ',' S? cp )* +S? ')' + + + + +where each Name is the type of an element which may +appear as a child. +Any content +particle in a choice list may appear in the element content at the location where +the choice list appears in the grammar; +content particles occurring in a sequence list must each +appear in the element content in the +order given in the list. +The optional character following a name or list governs +whether the element or the content particles in the list may occur one +or more (+), zero or more (*), or zero or +one times (?). +The absence of such an operator means that the element or content particle +must appear exactly once. +This syntax +and meaning are identical to those used in the productions in this +specification.

    +

    +The content of an element matches a content model if and only if it is +possible to trace out a path through the content model, obeying the +sequence, choice, and repetition operators and matching each element in +the content against an element type in the content model. For compatibility, it is an error +if an element in the document can +match more than one occurrence of an element type in the content model. +For more information, see . + + +

    + +Proper Group/PE Nesting +

    Parameter-entity +replacement text must be properly nested +with parenthetized groups. +That is to say, if either of the opening or closing parentheses +in a choice, seq, or +Mixed construct +is contained in the replacement text for a +parameter entity, +both must be contained in the same replacement text.

    +

    For interoperability, +if a parameter-entity reference appears in a +choice, seq, or +Mixed construct, its replacement text +should not be empty, and +neither the first nor last non-blank +character of the replacement text should be a connector +(| or ,). +

    +
    +

    Examples of element-content models: +<!ELEMENT spec (front, body, back?)> +<!ELEMENT div1 (head, (p | list | note)*, div2*)> +<!ELEMENT dictionary-body (%div.mix; | %dict.mix;)*>

    +
    + + +Mixed Content + +

    An element +type has +mixed content when elements of that type may contain +character data, optionally interspersed with +child elements. +In this case, the types of the child elements +may be constrained, but not their order or their number of occurrences: + +Mixed-content Declaration + +Mixed +'(' S? +'#PCDATA' +(S? +'|' +S? +Name)* +S? +')*' +| '(' S? '#PCDATA' S? ')' + + + + + + +where the Names give the types of elements +that may appear as children. +

    + +No Duplicate Types +

    The same name must not appear more than once in a single mixed-content +declaration. +

    +

    Examples of mixed content declarations: +<!ELEMENT p (#PCDATA|a|ul|b|i|em)*> +<!ELEMENT p (#PCDATA | %font; | %phrase; | %special; | %form;)* > +<!ELEMENT b (#PCDATA)>

    +
    +
    + + +Attribute-List Declarations + +

    Attributes are used to associate +name-value pairs with elements. +Attribute specifications may appear only within start-tags +and empty-element tags; +thus, the productions used to +recognize them appear in . +Attribute-list +declarations may be used: + +

    To define the set of attributes pertaining to a given +element type.

    +

    To establish type constraints for these +attributes.

    +

    To provide default values +for attributes.

    + +

    +

    +Attribute-list declarations specify the name, data type, and default +value (if any) of each attribute associated with a given element type: + +Attribute-list Declaration +AttlistDecl +'<!ATTLIST' S +Name +AttDef* +S? '>' + +AttDef +S Name +S AttType +S DefaultDecl + + +The Name in the +AttlistDecl rule is the type of an element. At +user option, an XML processor may issue a warning if attributes are +declared for an element type not itself declared, but this is not an +error. The Name in the +AttDef rule is +the name of the attribute.

    +

    +When more than one AttlistDecl is provided for a +given element type, the contents of all those provided are merged. When +more than one definition is provided for the same attribute of a +given element type, the first declaration is binding and later +declarations are ignored. +For interoperability, writers of DTDs +may choose to provide at most one attribute-list declaration +for a given element type, at most one attribute definition +for a given attribute name, and at least one attribute definition +in each attribute-list declaration. +For interoperability, an XML processor may at user option +issue a warning when more than one attribute-list declaration is +provided for a given element type, or more than one attribute definition +is provided +for a given attribute, but this is not an error. +

    + + +Attribute Types + +

    XML attribute types are of three kinds: a string type, a +set of tokenized types, and enumerated types. The string type may take +any literal string as a value; the tokenized types have varying lexical +and semantic constraints, as noted: + +Attribute Types + +AttType +StringType +| TokenizedType +| EnumeratedType + + +StringType +'CDATA' + +TokenizedType +'ID' + + + +| 'IDREF' + +| 'IDREFS' + +| 'ENTITY' + +| 'ENTITIES' + +| 'NMTOKEN' + +| 'NMTOKENS' + + + +

    + +ID +

    +Values of type ID must match the +Name production. +A name must not appear more than once in +an XML document as a value of this type; i.e., ID values must uniquely +identify the elements which bear them. +

    +
    + +One ID per Element Type +

    No element type may have more than one ID attribute specified.

    +
    + +ID Attribute Default +

    An ID attribute must have a declared default of #IMPLIED or +#REQUIRED.

    +
    + +IDREF +

    +Values of type IDREF must match +the Name production, and +values of type IDREFS must match +Names; +each Name must match the value of an ID attribute on +some element in the XML document; i.e. IDREF values must +match the value of some ID attribute. +

    +
    + +Entity Name +

    +Values of type ENTITY +must match the Name production, +values of type ENTITIES must match +Names; +each Name must +match the +name of an unparsed entity declared in the +DTD. +

    +
    + +Name Token +

    +Values of type NMTOKEN must match the +Nmtoken production; +values of type NMTOKENS must +match Nmtokens. +

    +
    + +

    Enumerated attributes can take one +of a list of values provided in the declaration. There are two +kinds of enumerated types: + +Enumerated Attribute Types +EnumeratedType +NotationType +| Enumeration + +NotationType +'NOTATION' +S +'(' +S? +Name +(S? '|' S? +Name)* +S? ')' + + +Enumeration +'(' S? +Nmtoken +(S? '|' +S? +Nmtoken)* +S? +')' + + +A NOTATION attribute identifies a +notation, declared in the +DTD with associated system and/or public identifiers, to +be used in interpreting the element to which the attribute +is attached. +

    + + +Notation Attributes +

    +Values of this type must match +one of the notation names included in +the declaration; all notation names in the declaration must +be declared. +

    +
    + +Enumeration +

    +Values of this type +must match one of the Nmtoken tokens in the +declaration. +

    +
    +

    For interoperability, the same +Nmtoken should not occur more than once in the +enumerated attribute types of a single element type. +

    +
    + + +Attribute Defaults + +

    An attribute declaration provides +information on whether +the attribute's presence is required, and if not, how an XML processor should +react if a declared attribute is absent in a document. + +Attribute Defaults + +DefaultDecl +'#REQUIRED' +| '#IMPLIED' +| (('#FIXED' S)? AttValue) + + + + + + + + +

    +

    In an attribute declaration, #REQUIRED means that the +attribute must always be provided, #IMPLIED that no default +value is provided. + +If the +declaration +is neither #REQUIRED nor #IMPLIED, then the +AttValue value contains the declared +default value; the #FIXED keyword states that +the attribute must always have the default value. +If a default value +is declared, when an XML processor encounters an omitted attribute, it +is to behave as though the attribute were present with +the declared default value.

    + +Required Attribute +

    If the default declaration is the keyword #REQUIRED, then +the attribute must be specified for +all elements of the type in the attribute-list declaration. +

    + +Attribute Default Legal +

    +The declared +default value must meet the lexical constraints of the declared attribute type. +

    +
    + +Fixed Attribute Default +

    If an attribute has a default value declared with the +#FIXED keyword, instances of that attribute must +match the default value. +

    + +

    Examples of attribute-list declarations: +<!ATTLIST termdef + id ID #REQUIRED + name CDATA #IMPLIED> +<!ATTLIST list + type (bullets|ordered|glossary) "ordered"> +<!ATTLIST form + method CDATA #FIXED "POST">

    +
    + +Attribute-Value Normalization +

    Before the value of an attribute is passed to the application +or checked for validity, the +XML processor must normalize it as follows: + +

    a character reference is processed by appending the referenced +character to the attribute value

    +

    an entity reference is processed by recursively processing the +replacement text of the entity

    +

    a whitespace character (#x20, #xD, #xA, #x9) is processed by +appending #x20 to the normalized value, except that only a single #x20 +is appended for a "#xD#xA" sequence that is part of an external +parsed entity or the literal entity value of an internal parsed +entity

    +

    other characters are processed by appending them to the normalized +value

    +
    +

    +

    If the declared value is not CDATA, then the XML processor must +further process the normalized attribute value by discarding any +leading and trailing space (#x20) characters, and by replacing +sequences of space (#x20) characters by a single space (#x20) +character.

    +

    +All attributes for which no declaration has been read should be treated +by a non-validating parser as if declared +CDATA. +

    +
    +
    + +Conditional Sections +

    +Conditional sections are portions of the +document type declaration external subset +which are +included in, or excluded from, the logical structure of the DTD based on +the keyword which governs them. + +Conditional Section + +conditionalSect +includeSect +| ignoreSect + + +includeSect +'<![' S? 'INCLUDE' S? '[' + +extSubsetDecl +']]>' + + +ignoreSect +'<![' S? 'IGNORE' S? '[' +ignoreSectContents* +']]>' + + +ignoreSectContents +Ignore +('<![' ignoreSectContents ']]>' +Ignore)* +Ignore +Char* - +(Char* ('<![' | ']]>') +Char*) + + + + +

    +

    Like the internal and external DTD subsets, a conditional section +may contain one or more complete declarations, +comments, processing instructions, +or nested conditional sections, intermingled with white space. +

    +

    If the keyword of the +conditional section is INCLUDE, then the contents of the conditional +section are part of the DTD. +If the keyword of the conditional +section is IGNORE, then the contents of the conditional section are +not logically part of the DTD. +Note that for reliable parsing, the contents of even ignored +conditional sections must be read in order to +detect nested conditional sections and ensure that the end of the +outermost (ignored) conditional section is properly detected. +If a conditional section with a +keyword of INCLUDE occurs within a larger conditional +section with a keyword of IGNORE, both the outer and the +inner conditional sections are ignored.

    +

    If the keyword of the conditional section is a +parameter-entity reference, the parameter entity must be replaced by its +content before the processor decides whether to +include or ignore the conditional section.

    +

    An example: +<!ENTITY % draft 'INCLUDE' > +<!ENTITY % final 'IGNORE' > + +<![%draft;[ +<!ELEMENT book (comments*, title, body, supplements?)> +]]> +<![%final;[ +<!ELEMENT book (title, body, supplements?)> +]]> + +

    +
    + + + + +
    + + + +Physical Structures + +

    An XML document may consist +of one or many storage units. These are called +entities; they all have content and are all +(except for the document entity, see below, and +the external DTD subset) +identified by name. + +Each XML document has one entity +called the document entity, which serves +as the starting point for the XML +processor and may contain the whole document.

    +

    Entities may be either parsed or unparsed. +A parsed entity's +contents are referred to as its +replacement text; +this text is considered an +integral part of the document.

    + +

    An +unparsed entity +is a resource whose contents may or may not be +text, and if text, may not be XML. +Each unparsed entity +has an associated notation, identified by name. +Beyond a requirement +that an XML processor make the identifiers for the entity and +notation available to the application, +XML places no constraints on the contents of unparsed entities. +

    +

    +Parsed entities are invoked by name using entity references; +unparsed entities by name, given in the value of ENTITY +or ENTITIES +attributes.

    +

    General entities +are entities for use within the document content. +In this specification, general entities are sometimes referred +to with the unqualified term entity when this leads +to no ambiguity. +Parameter entities +are parsed entities for use within the DTD. +These two types of entities use different forms of reference and +are recognized in different contexts. +Furthermore, they occupy different namespaces; a parameter entity and +a general entity with the same name are two distinct entities. +

    + + +Character and Entity References +

    +A character reference refers to a specific character in the +ISO/IEC 10646 character set, for example one not directly accessible from +available input devices. + +Character Reference +CharRef +'&#' [0-9]+ ';' +| '&hcro;' [0-9a-fA-F]+ ';' + + + + +Legal Character +

    Characters referred to using character references must +match the production for +Char.

    + +If the character reference begins with "&#x", the digits and +letters up to the terminating ; provide a hexadecimal +representation of the character's code point in ISO/IEC 10646. +If it begins just with "&#", the digits up to the terminating +; provide a decimal representation of the character's +code point. + +

    +

    An entity +reference refers to the content of a named entity. +References to +parsed general entities +use ampersand (&) and semicolon (;) as +delimiters. + +Parameter-entity references use percent-sign (%) and +semicolon +(;) as delimiters. +

    + +Entity Reference +Reference +EntityRef +| CharRef +EntityRef +'&' Name ';' + + + + + +PEReference +'%' Name ';' + + + + + + + +Entity Declared +

    In a document without any DTD, a document with only an internal +DTD subset which contains no parameter entity references, or a document with +"standalone='yes'", +the Name given in the entity reference must +match that in an +entity declaration, except that +well-formed documents need not declare +any of the following entities: &magicents;. +The declaration of a parameter entity must precede any reference to it. +Similarly, the declaration of a general entity must precede any +reference to it which appears in a default value in an attribute-list +declaration.

    +

    Note that if entities are declared in the external subset or in +external parameter entities, a non-validating processor is +not obligated to read +and process their declarations; for such documents, the rule that +an entity must be declared is a well-formedness constraint only +if standalone='yes'.

    +
    + +Entity Declared +

    In a document with an external subset or external parameter +entities with "standalone='no'", +the Name given in the entity reference must match that in an +entity declaration. +For interoperability, valid documents should declare the entities +&magicents;, in the form +specified in . +The declaration of a parameter entity must precede any reference to it. +Similarly, the declaration of a general entity must precede any +reference to it which appears in a default value in an attribute-list +declaration.

    +
    + + +Parsed Entity +

    +An entity reference must not contain the name of an unparsed entity. Unparsed entities may be referred +to only in attribute values declared to +be of type ENTITY or ENTITIES. +

    +
    + +No Recursion +

    +A parsed entity must not contain a recursive reference to itself, +either directly or indirectly. +

    +
    + +In DTD +

    +Parameter-entity references may only appear in the +DTD. +

    +
    +

    Examples of character and entity references: +Type <key>less-than</key> (&hcro;3C;) to save options. +This document was prepared on &docdate; and +is classified &security-level;.

    +

    Example of a parameter-entity reference: + + + +%ISOLat2;]]>

    +
    + + +Entity Declarations + +

    +Entities are declared thus: + +Entity Declaration + +EntityDecl +GEDecl | PEDecl + + +GEDecl +'<!ENTITY' S Name +S EntityDef +S? '>' + +PEDecl +'<!ENTITY' S '%' S +Name S +PEDef S? '>' + + +EntityDef +EntityValue +| (ExternalID +NDataDecl?) + + + +PEDef +EntityValue +| ExternalID + + +The Name identifies the entity in an +entity reference or, in the case of an +unparsed entity, in the value of an ENTITY or ENTITIES +attribute. +If the same entity is declared more than once, the first declaration +encountered is binding; at user option, an XML processor may issue a +warning if entities are declared multiple times. +

    + + +Internal Entities + +

    If +the entity definition is an +EntityValue, +the defined entity is called an internal entity. +There is no separate physical +storage object, and the content of the entity is given in the +declaration. +Note that some processing of entity and character references in the +literal entity value may be required to +produce the correct replacement +text: see . +

    +

    An internal entity is a parsed +entity.

    +

    Example of an internal entity declaration: +<!ENTITY Pub-Status "This is a pre-release of the + specification.">

    +
    + + +External Entities + +

    If the entity is not +internal, it is an external +entity, declared as follows: + +External Entity Declaration + +ExternalID +'SYSTEM' S +SystemLiteral +| 'PUBLIC' S +PubidLiteral +S +SystemLiteral + + +NDataDecl +S 'NDATA' S +Name + + +If the NDataDecl is present, this is a +general unparsed +entity; otherwise it is a parsed entity.

    + +Notation Declared +

    +The Name must match the declared name of a +notation. +

    +
    +

    The +SystemLiteral +is called the entity's system identifier. It is a URI, +which may be used to retrieve the entity. +Note that the hash mark (#) and fragment identifier +frequently used with URIs are not, formally, part of the URI itself; +an XML processor may signal an error if a fragment identifier is +given as part of a system identifier. +Unless otherwise provided by information outside the scope of this +specification (e.g. a special XML element type defined by a particular +DTD, or a processing instruction defined by a particular application +specification), relative URIs are relative to the location of the +resource within which the entity declaration occurs. +A URI might thus be relative to the +document entity, to the entity +containing the external DTD subset, +or to some other external parameter entity. +

    +

    An XML processor should handle a non-ASCII character in a URI by +representing the character in UTF-8 as one or more bytes, and then +escaping these bytes with the URI escaping mechanism (i.e., by +converting each byte to %HH, where HH is the hexadecimal notation of the +byte value).

    +

    +In addition to a system identifier, an external identifier may +include a public identifier. +An XML processor attempting to retrieve the entity's content may use the public +identifier to try to generate an alternative URI. If the processor +is unable to do so, it must use the URI specified in the system +literal. Before a match is attempted, all strings +of white space in the public identifier must be normalized to single space characters (#x20), +and leading and trailing white space must be removed.

    +

    Examples of external entity declarations: +<!ENTITY open-hatch + SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml"> +<!ENTITY open-hatch + PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN" + "http://www.textuality.com/boilerplate/OpenHatch.xml"> +<!ENTITY hatch-pic + SYSTEM "../grafix/OpenHatch.gif" + NDATA gif >

    +
    + +
    + + +Parsed Entities + +The Text Declaration +

    External parsed entities may each begin with a text +declaration. + +Text Declaration + +TextDecl +&xmlpio; +VersionInfo? +EncodingDecl +S? &pic; + + + +

    +

    The text declaration must be provided literally, not +by reference to a parsed entity. +No text declaration may appear at any position other than the beginning of +an external parsed entity.

    +
    + +Well-Formed Parsed Entities +

    The document entity is well-formed if it matches the production labeled +document. +An external general +parsed entity is well-formed if it matches the production labeled +extParsedEnt. +An external parameter +entity is well-formed if it matches the production labeled +extPE. + +Well-Formed External Parsed Entity +extParsedEnt +TextDecl? +content + +extPE +TextDecl? +extSubsetDecl + + +An internal general parsed entity is well-formed if its replacement text +matches the production labeled +content. +All internal parameter entities are well-formed by definition. +

    +

    A consequence of well-formedness in entities is that the logical +and physical structures in an XML document are properly nested; no +start-tag, +end-tag, +empty-element tag, +element, +comment, +processing instruction, +character +reference, or +entity reference +can begin in one entity and end in another.

    +
    + +Character Encoding in Entities + +

    Each external parsed entity in an XML document may use a different +encoding for its characters. All XML processors must be able to read +entities in either UTF-8 or UTF-16. + +

    +

    Entities encoded in UTF-16 must +begin with the Byte Order Mark described by ISO/IEC 10646 Annex E and +Unicode Appendix B (the ZERO WIDTH NO-BREAK SPACE character, #xFEFF). +This is an encoding signature, not part of either the markup or the +character data of the XML document. +XML processors must be able to use this character to +differentiate between UTF-8 and UTF-16 encoded documents.

    +

    Although an XML processor is required to read only entities in +the UTF-8 and UTF-16 encodings, it is recognized that other encodings are +used around the world, and it may be desired for XML processors +to read entities that use them. +Parsed entities which are stored in an encoding other than +UTF-8 or UTF-16 must begin with a text +declaration containing an encoding declaration: + +Encoding Declaration +EncodingDecl +S +'encoding' Eq +('"' EncName '"' | +"'" EncName "'" ) + + +EncName +[A-Za-z] ([A-Za-z0-9._] | '-')* +Encoding name contains only Latin characters + + +In the document entity, the encoding +declaration is part of the XML declaration. +The EncName is the name of the encoding used. +

    + +

    In an encoding declaration, the values +"UTF-8", +"UTF-16", +"ISO-10646-UCS-2", and +"ISO-10646-UCS-4" should be +used for the various encodings and transformations of Unicode / +ISO/IEC 10646, the values +"ISO-8859-1", +"ISO-8859-2", ... +"ISO-8859-9" should be used for the parts of ISO 8859, and +the values +"ISO-2022-JP", +"Shift_JIS", and +"EUC-JP" +should be used for the various encoded forms of JIS X-0208-1997. XML +processors may recognize other encodings; it is recommended that +character encodings registered (as charsets) +with the Internet Assigned Numbers +Authority , other than those just listed, should be +referred to +using their registered names. +Note that these registered names are defined to be +case-insensitive, so processors wishing to match against them +should do so in a case-insensitive +way.

    +

    In the absence of information provided by an external +transport protocol (e.g. HTTP or MIME), +it is an error for an entity including +an encoding declaration to be presented to the XML processor +in an encoding other than that named in the declaration, +for an encoding declaration to occur other than at the beginning +of an external entity, or for +an entity which begins with neither a Byte Order Mark nor an encoding +declaration to use an encoding other than UTF-8. +Note that since ASCII +is a subset of UTF-8, ordinary ASCII entities do not strictly need +an encoding declaration.

    + +

    It is a fatal error when an XML processor +encounters an entity with an encoding that it is unable to process.

    +

    Examples of encoding declarations: +<?xml encoding='UTF-8'?> +<?xml encoding='EUC-JP'?>

    +
    +
    + +XML Processor Treatment of Entities and References +

    The table below summarizes the contexts in which character references, +entity references, and invocations of unparsed entities might appear and the +required behavior of an XML processor in +each case. +The labels in the leftmost column describe the recognition context: + + +

    as a reference +anywhere after the start-tag and +before the end-tag of an element; corresponds +to the nonterminal content.

    + + + +

    as a reference within either the value of an attribute in a +start-tag, or a default +value in an attribute declaration; +corresponds to the nonterminal +AttValue.

    + + +

    as a Name, not a reference, appearing either as +the value of an +attribute which has been declared as type ENTITY, or as one of +the space-separated tokens in the value of an attribute which has been +declared as type ENTITIES.

    +
    + +

    as a reference +within a parameter or internal entity's +literal entity value in +the entity's declaration; corresponds to the nonterminal +EntityValue.

    + +

    as a reference within either the internal or external subsets of the +DTD, but outside +of an EntityValue or +AttValue.

    +
    +

    + + + +Entity Type +Character + + +Parameter +Internal +General +External Parsed +General +Unparsed + + + +Reference +in Content +Not recognized +Included +Included if validating +Forbidden +Included + + +Reference +in Attribute Value +Not recognized +Included in literal +Forbidden +Forbidden +Included + + +Occurs as +Attribute Value +Not recognized +Forbidden +Forbidden +Notify +Not recognized + + +Reference +in EntityValue +Included in literal +Bypassed +Bypassed +Forbidden +Included + + +Reference +in DTD +Included as PE +Forbidden +Forbidden +Forbidden +Forbidden + + + + +Not Recognized +

    Outside the DTD, the % character has no +special significance; thus, what would be parameter entity references in the +DTD are not recognized as markup in content. +Similarly, the names of unparsed entities are not recognized except +when they appear in the value of an appropriately declared attribute. +

    +
    + +Included +

    An entity is +included when its +replacement text is retrieved +and processed, in place of the reference itself, +as though it were part of the document at the location the +reference was recognized. +The replacement text may contain both +character data +and (except for parameter entities) markup, +which must be recognized in +the usual way, except that the replacement text of entities used to escape +markup delimiters (the entities &magicents;) is always treated as +data. (The string "AT&amp;T;" expands to +"AT&T;" and the remaining ampersand is not recognized +as an entity-reference delimiter.) +A character reference is included when the indicated +character is processed in place of the reference itself. +

    +
    + +Included If Validating +

    When an XML processor recognizes a reference to a parsed entity, in order +to validate +the document, the processor must +include its +replacement text. +If the entity is external, and the processor is not +attempting to validate the XML document, the +processor may, but need not, +include the entity's replacement text. +If a non-validating parser does not include the replacement text, +it must inform the application that it recognized, but did not +read, the entity.

    +

    This rule is based on the recognition that the automatic inclusion +provided by the SGML and XML entity mechanism, primarily designed +to support modularity in authoring, is not necessarily +appropriate for other applications, in particular document browsing. +Browsers, for example, when encountering an external parsed entity reference, +might choose to provide a visual indication of the entity's +presence and retrieve it for display only on demand. +

    +
    + +Forbidden +

    The following are forbidden, and constitute +fatal errors: + +

    the appearance of a reference to an +unparsed entity. +

    +

    the appearance of any character or general-entity reference in the +DTD except within an EntityValue or +AttValue.

    +

    a reference to an external entity in an attribute value.

    +
    + +

    +
    + +Included in Literal +

    When an entity reference appears in an +attribute value, or a parameter entity reference appears in a literal entity +value, its replacement text is +processed in place of the reference itself as though it +were part of the document at the location the reference was recognized, +except that a single or double quote character in the replacement text +is always treated as a normal data character and will not terminate the +literal. +For example, this is well-formed: + +]]> +while this is not: +<!ENTITY EndAttr "27'" > +<element attribute='a-&EndAttr;> +

    + +Notify +

    When the name of an unparsed +entity appears as a token in the +value of an attribute of declared type ENTITY or ENTITIES, +a validating processor must inform the +application of the system +and public (if any) +identifiers for both the entity and its associated +notation.

    +
    + +Bypassed +

    When a general entity reference appears in the +EntityValue in an entity declaration, +it is bypassed and left as is.

    +
    + +Included as PE +

    Just as with external parsed entities, parameter entities +need only be included if +validating. +When a parameter-entity reference is recognized in the DTD +and included, its +replacement +text is enlarged by the attachment of one leading and one following +space (#x20) character; the intent is to constrain the replacement +text of parameter +entities to contain an integral number of grammatical tokens in the DTD. +

    +
    + +
    + +Construction of Internal Entity Replacement Text +

    In discussing the treatment +of internal entities, it is +useful to distinguish two forms of the entity's value. +The literal +entity value is the quoted string actually +present in the entity declaration, corresponding to the +non-terminal EntityValue. +The replacement +text is the content of the entity, after +replacement of character references and parameter-entity +references. +

    + +

    The literal entity value +as given in an internal entity declaration +(EntityValue) may contain character, +parameter-entity, and general-entity references. +Such references must be contained entirely within the +literal entity value. +The actual replacement text that is +included as described above +must contain the replacement text of any +parameter entities referred to, and must contain the character +referred to, in place of any character references in the +literal entity value; however, +general-entity references must be left as-is, unexpanded. +For example, given the following declarations: + + + +]]> +then the replacement text for the entity "book" is: +La Peste: Albert Camus, + 1947 ditions Gallimard. &rights; +The general-entity reference "&rights;" would be expanded +should the reference "&book;" appear in the document's +content or an attribute value.

    +

    These simple rules may have complex interactions; for a detailed +discussion of a difficult example, see +. +

    + +
    + +Predefined Entities +

    Entity and character +references can both be used to escape the left angle bracket, +ampersand, and other delimiters. A set of general entities +(&magicents;) is specified for this purpose. +Numeric character references may also be used; they are +expanded immediately when recognized and must be treated as +character data, so the numeric character references +"&#60;" and "&#38;" may be used to +escape < and & when they occur +in character data.

    +

    All XML processors must recognize these entities whether they +are declared or not. +For interoperability, +valid XML documents should declare these +entities, like any others, before using them. +If the entities in question are declared, they must be declared +as internal entities whose replacement text is the single +character being escaped or a character reference to +that character, as shown below. + + + + + +]]> +Note that the < and & characters +in the declarations of "lt" and "amp" +are doubly escaped to meet the requirement that entity replacement +be well-formed. +

    +
    + + +Notation Declarations + +

    Notations identify by +name the format of unparsed +entities, the +format of elements which bear a notation attribute, +or the application to which +a processing instruction is +addressed.

    +

    +Notation declarations +provide a name for the notation, for use in +entity and attribute-list declarations and in attribute specifications, +and an external identifier for the notation which may allow an XML +processor or its client application to locate a helper application +capable of processing data in the given notation. + +Notation Declarations +NotationDecl +'<!NOTATION' S Name +S +(ExternalID | +PublicID) +S? '>' +PublicID +'PUBLIC' S +PubidLiteral + + +

    +

    XML processors must provide applications with the name and external +identifier(s) of any notation declared and referred to in an attribute +value, attribute definition, or entity declaration. They may +additionally resolve the external identifier into the +system identifier, +file name, or other information needed to allow the +application to call a processor for data in the notation described. (It +is not an error, however, for XML documents to declare and refer to +notations for which notation-specific applications are not available on +the system where the XML processor or application is running.)

    +
    + + + +Document Entity + +

    The document +entity serves as the root of the entity +tree and a starting-point for an XML +processor. +This specification does +not specify how the document entity is to be located by an XML +processor; unlike other entities, the document entity has no name and might +well appear on a processor input stream +without any identification at all.

    +
    + + +
    + + + +Conformance + + +Validating and Non-Validating Processors +

    Conforming XML processors fall into two +classes: validating and non-validating.

    +

    Validating and non-validating processors alike must report +violations of this specification's well-formedness constraints +in the content of the +document entity and any +other parsed entities that +they read.

    +

    +Validating processors must report +violations of the constraints expressed by the declarations in the +DTD, and +failures to fulfill the validity constraints given +in this specification. + +To accomplish this, validating XML processors must read and process the entire +DTD and all external parsed entities referenced in the document. +

    +

    Non-validating processors are required to check only the +document entity, including +the entire internal DTD subset, for well-formedness. + +While they are not required to check the document for validity, +they are required to +process all the declarations they read in the +internal DTD subset and in any parameter entity that they +read, up to the first reference +to a parameter entity that they do not read; that is to +say, they must +use the information in those declarations to +normalize attribute values, +include the replacement text of +internal entities, and supply +default attribute values. + +They must not process +entity declarations or +attribute-list declarations +encountered after a reference to a parameter entity that is not +read, since the entity may have contained overriding declarations. +

    +
    + +Using XML Processors +

    The behavior of a validating XML processor is highly predictable; it +must read every piece of a document and report all well-formedness and +validity violations. +Less is required of a non-validating processor; it need not read any +part of the document other than the document entity. +This has two effects that may be important to users of XML processors: + +

    Certain well-formedness errors, specifically those that require +reading external entities, may not be detected by a non-validating processor. +Examples include the constraints entitled +Entity Declared, +Parsed Entity, and +No Recursion, as well +as some of the cases described as +forbidden in +.

    +

    The information passed from the processor to the application may +vary, depending on whether the processor reads +parameter and external entities. +For example, a non-validating processor may not +normalize attribute values, +include the replacement text of +internal entities, or supply +default attribute values, +where doing so depends on having read declarations in +external or parameter entities.

    + +

    +

    For maximum reliability in interoperating between different XML +processors, applications which use non-validating processors should not +rely on any behaviors not required of such processors. +Applications which require facilities such as the use of default +attributes or internal entities which are declared in external +entities should use validating XML processors.

    +
    +
    + + +Notation + +

    The formal grammar of XML is given in this specification using a simple +Extended Backus-Naur Form (EBNF) notation. Each rule in the grammar defines +one symbol, in the form +symbol ::= expression

    +

    Symbols are written with an initial capital letter if they are +defined by a regular expression, or with an initial lower case letter +otherwise. +Literal strings are quoted. + +

    + +

    Within the expression on the right-hand side of a rule, the following +expressions are used to match strings of one or more characters: + + + +

    where N is a hexadecimal integer, the +expression matches the character in ISO/IEC 10646 whose canonical +(UCS-4) +code value, when interpreted as an unsigned binary number, has +the value indicated. The number of leading zeros in the +#xN form is insignificant; the number of leading +zeros in the corresponding code value +is governed by the character +encoding in use and is not significant for XML.

    + + + +

    matches any character +with a value in the range(s) indicated (inclusive).

    +
    + + +

    matches any character +with a value outside the +range indicated.

    +
    + + +

    matches any character +with a value not among the characters given.

    +
    + + +

    matches a literal string matching +that given inside the double quotes.

    +
    + + +

    matches a literal string matching +that given inside the single quotes.

    +
    + +These symbols may be combined to match more complex patterns as follows, +where A and B represent simple expressions: + + + +

    expression is treated as a unit +and may be combined as described in this list.

    +
    + + +

    matches A or nothing; optional A.

    +
    + + +

    matches A followed by B.

    +
    + + +

    matches A or B but not both.

    +
    + + +

    matches any string that matches A but does not match +B. +

    +
    + + +

    matches one or more occurrences of A.

    +
    + + +

    matches zero or more occurrences of A.

    +
    + +
    +Other notations used in the productions are: + + + +

    comment.

    +
    + + +

    well-formedness constraint; this identifies by name a +constraint on +well-formed documents +associated with a production.

    +
    + + +

    validity constraint; this identifies by name a constraint on +valid documents associated with +a production.

    +
    +
    +

    + + + + + + + + + +References + +Normative References + + + +(Internet Assigned Numbers Authority) Official Names for +Character Sets, +ed. Keld Simonsen et al. +See ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets. + + + +IETF (Internet Engineering Task Force). +RFC 1766: Tags for the Identification of Languages, +ed. H. Alvestrand. +1995. + + + +(International Organization for Standardization). +ISO 639:1988 (E). +Code for the representation of names of languages. +[Geneva]: International Organization for +Standardization, 1988. + + +(International Organization for Standardization). +ISO 3166-1:1997 (E). +Codes for the representation of names of countries and their subdivisions +— Part 1: Country codes +[Geneva]: International Organization for +Standardization, 1997. + +ISO +(International Organization for Standardization). +ISO/IEC 10646-1993 (E). Information technology — Universal +Multiple-Octet Coded Character Set (UCS) — Part 1: +Architecture and Basic Multilingual Plane. +[Geneva]: International Organization for +Standardization, 1993 (plus amendments AM 1 through AM 7). + + +The Unicode Consortium. +The Unicode Standard, Version 2.0. +Reading, Mass.: Addison-Wesley Developers Press, 1996. + + + + + +Other References + + + +Aho, Alfred V., +Ravi Sethi, and Jeffrey D. Ullman. +Compilers: Principles, Techniques, and Tools. +Reading: Addison-Wesley, 1986, rpt. corr. 1988. + + +Berners-Lee, T., R. Fielding, and L. Masinter. +Uniform Resource Identifiers (URI): Generic Syntax and +Semantics. +1997. +(Work in progress; see updates to RFC1738.) + +Brggemann-Klein, Anne. +Regular Expressions into Finite Automata. +Extended abstract in I. Simon, Hrsg., LATIN 1992, +S. 97-98. Springer-Verlag, Berlin 1992. +Full Version in Theoretical Computer Science 120: 197-213, 1993. + + + +Brggemann-Klein, Anne, +and Derick Wood. +Deterministic Regular Languages. +Universitt Freiburg, Institut fr Informatik, +Bericht 38, Oktober 1991. + + +James Clark. +Comparison of SGML and XML. See +http://www.w3.org/TR/NOTE-sgml-xml-971215. + + +IETF (Internet Engineering Task Force). +RFC 1738: Uniform Resource Locators (URL), +ed. T. Berners-Lee, L. Masinter, M. McCahill. +1994. + + + +IETF (Internet Engineering Task Force). +RFC 1808: Relative Uniform Resource Locators, +ed. R. Fielding. +1995. + + + +IETF (Internet Engineering Task Force). +RFC 2141: URN Syntax, +ed. R. Moats. +1997. + + +ISO +(International Organization for Standardization). +ISO 8879:1986(E). Information processing — Text and Office +Systems — Standard Generalized Markup Language (SGML). First +edition — 1986-10-15. [Geneva]: International Organization for +Standardization, 1986. + + + +ISO +(International Organization for Standardization). +ISO/IEC 10744-1992 (E). Information technology — +Hypermedia/Time-based Structuring Language (HyTime). + +[Geneva]: International Organization for +Standardization, 1992. +Extended Facilities Annexe. +[Geneva]: International Organization for +Standardization, 1996. + + + + + + + + +Character Classes +

    Following the characteristics defined in the Unicode standard, +characters are classed as base characters (among others, these +contain the alphabetic characters of the Latin alphabet, without +diacritics), ideographic characters, and combining characters (among +others, this class contains most diacritics); these classes combine +to form the class of letters. Digits and extenders are +also distinguished. + +Characters + +Letter +BaseChar +| Ideographic +BaseChar +[#x0041-#x005A] +| [#x0061-#x007A] +| [#x00C0-#x00D6] +| [#x00D8-#x00F6] +| [#x00F8-#x00FF] +| [#x0100-#x0131] +| [#x0134-#x013E] +| [#x0141-#x0148] +| [#x014A-#x017E] +| [#x0180-#x01C3] +| [#x01CD-#x01F0] +| [#x01F4-#x01F5] +| [#x01FA-#x0217] +| [#x0250-#x02A8] +| [#x02BB-#x02C1] +| #x0386 +| [#x0388-#x038A] +| #x038C +| [#x038E-#x03A1] +| [#x03A3-#x03CE] +| [#x03D0-#x03D6] +| #x03DA +| #x03DC +| #x03DE +| #x03E0 +| [#x03E2-#x03F3] +| [#x0401-#x040C] +| [#x040E-#x044F] +| [#x0451-#x045C] +| [#x045E-#x0481] +| [#x0490-#x04C4] +| [#x04C7-#x04C8] +| [#x04CB-#x04CC] +| [#x04D0-#x04EB] +| [#x04EE-#x04F5] +| [#x04F8-#x04F9] +| [#x0531-#x0556] +| #x0559 +| [#x0561-#x0586] +| [#x05D0-#x05EA] +| [#x05F0-#x05F2] +| [#x0621-#x063A] +| [#x0641-#x064A] +| [#x0671-#x06B7] +| [#x06BA-#x06BE] +| [#x06C0-#x06CE] +| [#x06D0-#x06D3] +| #x06D5 +| [#x06E5-#x06E6] +| [#x0905-#x0939] +| #x093D +| [#x0958-#x0961] +| [#x0985-#x098C] +| [#x098F-#x0990] +| [#x0993-#x09A8] +| [#x09AA-#x09B0] +| #x09B2 +| [#x09B6-#x09B9] +| [#x09DC-#x09DD] +| [#x09DF-#x09E1] +| [#x09F0-#x09F1] +| [#x0A05-#x0A0A] +| [#x0A0F-#x0A10] +| [#x0A13-#x0A28] +| [#x0A2A-#x0A30] +| [#x0A32-#x0A33] +| [#x0A35-#x0A36] +| [#x0A38-#x0A39] +| [#x0A59-#x0A5C] +| #x0A5E +| [#x0A72-#x0A74] +| [#x0A85-#x0A8B] +| #x0A8D +| [#x0A8F-#x0A91] +| [#x0A93-#x0AA8] +| [#x0AAA-#x0AB0] +| [#x0AB2-#x0AB3] +| [#x0AB5-#x0AB9] +| #x0ABD +| #x0AE0 +| [#x0B05-#x0B0C] +| [#x0B0F-#x0B10] +| [#x0B13-#x0B28] +| [#x0B2A-#x0B30] +| [#x0B32-#x0B33] +| [#x0B36-#x0B39] +| #x0B3D +| [#x0B5C-#x0B5D] +| [#x0B5F-#x0B61] +| [#x0B85-#x0B8A] +| [#x0B8E-#x0B90] +| [#x0B92-#x0B95] +| [#x0B99-#x0B9A] +| #x0B9C +| [#x0B9E-#x0B9F] +| [#x0BA3-#x0BA4] +| [#x0BA8-#x0BAA] +| [#x0BAE-#x0BB5] +| [#x0BB7-#x0BB9] +| [#x0C05-#x0C0C] +| [#x0C0E-#x0C10] +| [#x0C12-#x0C28] +| [#x0C2A-#x0C33] +| [#x0C35-#x0C39] +| [#x0C60-#x0C61] +| [#x0C85-#x0C8C] +| [#x0C8E-#x0C90] +| [#x0C92-#x0CA8] +| [#x0CAA-#x0CB3] +| [#x0CB5-#x0CB9] +| #x0CDE +| [#x0CE0-#x0CE1] +| [#x0D05-#x0D0C] +| [#x0D0E-#x0D10] +| [#x0D12-#x0D28] +| [#x0D2A-#x0D39] +| [#x0D60-#x0D61] +| [#x0E01-#x0E2E] +| #x0E30 +| [#x0E32-#x0E33] +| [#x0E40-#x0E45] +| [#x0E81-#x0E82] +| #x0E84 +| [#x0E87-#x0E88] +| #x0E8A +| #x0E8D +| [#x0E94-#x0E97] +| [#x0E99-#x0E9F] +| [#x0EA1-#x0EA3] +| #x0EA5 +| #x0EA7 +| [#x0EAA-#x0EAB] +| [#x0EAD-#x0EAE] +| #x0EB0 +| [#x0EB2-#x0EB3] +| #x0EBD +| [#x0EC0-#x0EC4] +| [#x0F40-#x0F47] +| [#x0F49-#x0F69] +| [#x10A0-#x10C5] +| [#x10D0-#x10F6] +| #x1100 +| [#x1102-#x1103] +| [#x1105-#x1107] +| #x1109 +| [#x110B-#x110C] +| [#x110E-#x1112] +| #x113C +| #x113E +| #x1140 +| #x114C +| #x114E +| #x1150 +| [#x1154-#x1155] +| #x1159 +| [#x115F-#x1161] +| #x1163 +| #x1165 +| #x1167 +| #x1169 +| [#x116D-#x116E] +| [#x1172-#x1173] +| #x1175 +| #x119E +| #x11A8 +| #x11AB +| [#x11AE-#x11AF] +| [#x11B7-#x11B8] +| #x11BA +| [#x11BC-#x11C2] +| #x11EB +| #x11F0 +| #x11F9 +| [#x1E00-#x1E9B] +| [#x1EA0-#x1EF9] +| [#x1F00-#x1F15] +| [#x1F18-#x1F1D] +| [#x1F20-#x1F45] +| [#x1F48-#x1F4D] +| [#x1F50-#x1F57] +| #x1F59 +| #x1F5B +| #x1F5D +| [#x1F5F-#x1F7D] +| [#x1F80-#x1FB4] +| [#x1FB6-#x1FBC] +| #x1FBE +| [#x1FC2-#x1FC4] +| [#x1FC6-#x1FCC] +| [#x1FD0-#x1FD3] +| [#x1FD6-#x1FDB] +| [#x1FE0-#x1FEC] +| [#x1FF2-#x1FF4] +| [#x1FF6-#x1FFC] +| #x2126 +| [#x212A-#x212B] +| #x212E +| [#x2180-#x2182] +| [#x3041-#x3094] +| [#x30A1-#x30FA] +| [#x3105-#x312C] +| [#xAC00-#xD7A3] + +Ideographic +[#x4E00-#x9FA5] +| #x3007 +| [#x3021-#x3029] + +CombiningChar +[#x0300-#x0345] +| [#x0360-#x0361] +| [#x0483-#x0486] +| [#x0591-#x05A1] +| [#x05A3-#x05B9] +| [#x05BB-#x05BD] +| #x05BF +| [#x05C1-#x05C2] +| #x05C4 +| [#x064B-#x0652] +| #x0670 +| [#x06D6-#x06DC] +| [#x06DD-#x06DF] +| [#x06E0-#x06E4] +| [#x06E7-#x06E8] +| [#x06EA-#x06ED] +| [#x0901-#x0903] +| #x093C +| [#x093E-#x094C] +| #x094D +| [#x0951-#x0954] +| [#x0962-#x0963] +| [#x0981-#x0983] +| #x09BC +| #x09BE +| #x09BF +| [#x09C0-#x09C4] +| [#x09C7-#x09C8] +| [#x09CB-#x09CD] +| #x09D7 +| [#x09E2-#x09E3] +| #x0A02 +| #x0A3C +| #x0A3E +| #x0A3F +| [#x0A40-#x0A42] +| [#x0A47-#x0A48] +| [#x0A4B-#x0A4D] +| [#x0A70-#x0A71] +| [#x0A81-#x0A83] +| #x0ABC +| [#x0ABE-#x0AC5] +| [#x0AC7-#x0AC9] +| [#x0ACB-#x0ACD] +| [#x0B01-#x0B03] +| #x0B3C +| [#x0B3E-#x0B43] +| [#x0B47-#x0B48] +| [#x0B4B-#x0B4D] +| [#x0B56-#x0B57] +| [#x0B82-#x0B83] +| [#x0BBE-#x0BC2] +| [#x0BC6-#x0BC8] +| [#x0BCA-#x0BCD] +| #x0BD7 +| [#x0C01-#x0C03] +| [#x0C3E-#x0C44] +| [#x0C46-#x0C48] +| [#x0C4A-#x0C4D] +| [#x0C55-#x0C56] +| [#x0C82-#x0C83] +| [#x0CBE-#x0CC4] +| [#x0CC6-#x0CC8] +| [#x0CCA-#x0CCD] +| [#x0CD5-#x0CD6] +| [#x0D02-#x0D03] +| [#x0D3E-#x0D43] +| [#x0D46-#x0D48] +| [#x0D4A-#x0D4D] +| #x0D57 +| #x0E31 +| [#x0E34-#x0E3A] +| [#x0E47-#x0E4E] +| #x0EB1 +| [#x0EB4-#x0EB9] +| [#x0EBB-#x0EBC] +| [#x0EC8-#x0ECD] +| [#x0F18-#x0F19] +| #x0F35 +| #x0F37 +| #x0F39 +| #x0F3E +| #x0F3F +| [#x0F71-#x0F84] +| [#x0F86-#x0F8B] +| [#x0F90-#x0F95] +| #x0F97 +| [#x0F99-#x0FAD] +| [#x0FB1-#x0FB7] +| #x0FB9 +| [#x20D0-#x20DC] +| #x20E1 +| [#x302A-#x302F] +| #x3099 +| #x309A + +Digit +[#x0030-#x0039] +| [#x0660-#x0669] +| [#x06F0-#x06F9] +| [#x0966-#x096F] +| [#x09E6-#x09EF] +| [#x0A66-#x0A6F] +| [#x0AE6-#x0AEF] +| [#x0B66-#x0B6F] +| [#x0BE7-#x0BEF] +| [#x0C66-#x0C6F] +| [#x0CE6-#x0CEF] +| [#x0D66-#x0D6F] +| [#x0E50-#x0E59] +| [#x0ED0-#x0ED9] +| [#x0F20-#x0F29] + +Extender +#x00B7 +| #x02D0 +| #x02D1 +| #x0387 +| #x0640 +| #x0E46 +| #x0EC6 +| #x3005 +| [#x3031-#x3035] +| [#x309D-#x309E] +| [#x30FC-#x30FE] + + + + +

    +

    The character classes defined here can be derived from the +Unicode character database as follows: + + +

    Name start characters must have one of the categories Ll, Lu, +Lo, Lt, Nl.

    + + +

    Name characters other than Name-start characters +must have one of the categories Mc, Me, Mn, Lm, or Nd.

    +
    + +

    Characters in the compatibility area (i.e. with character code +greater than #xF900 and less than #xFFFE) are not allowed in XML +names.

    +
    + +

    Characters which have a font or compatibility decomposition (i.e. those +with a "compatibility formatting tag" in field 5 of the database -- +marked by field 5 beginning with a "<") are not allowed.

    +
    + +

    The following characters are treated as name-start characters +rather than name characters, because the property file classifies +them as Alphabetic: [#x02BB-#x02C1], #x0559, #x06E5, #x06E6.

    +
    + +

    Characters #x20DD-#x20E0 are excluded (in accordance with +Unicode, section 5.14).

    +
    + +

    Character #x00B7 is classified as an extender, because the +property list so identifies it.

    +
    + +

    Character #x0387 is added as a name character, because #x00B7 +is its canonical equivalent.

    +
    + +

    Characters ':' and '_' are allowed as name-start characters.

    +
    + +

    Characters '-' and '.' are allowed as name characters.

    +
    + +

    +
    + +XML and SGML + +

    XML is designed to be a subset of SGML, in that every +valid XML document should also be a +conformant SGML document. +For a detailed comparison of the additional restrictions that XML places on +documents beyond those of SGML, see . +

    +
    + +Expansion of Entity and Character References +

    This appendix contains some examples illustrating the +sequence of entity- and character-reference recognition and +expansion, as specified in .

    +

    +If the DTD contains the declaration +An ampersand (&#38;) may be escaped +numerically (&#38;#38;) or with a general entity +(&amp;).

    " > +]]> +then the XML processor will recognize the character references +when it parses the entity declaration, and resolve them before +storing the following string as the +value of the entity "example": +An ampersand (&) may be escaped +numerically (&#38;) or with a general entity +(&amp;).

    +]]>
    +A reference in the document to "&example;" +will cause the text to be reparsed, at which time the +start- and end-tags of the "p" element will be recognized +and the three references will be recognized and expanded, +resulting in a "p" element with the following content +(all data, no delimiters or markup): + +

    +

    A more complex example will illustrate the rules and their +effects fully. In the following example, the line numbers are +solely for reference. + +2 +4 +5 ' > +6 %xx; +7 ]> +8 This sample shows a &tricky; method. +]]> +This produces the following: + +

    in line 4, the reference to character 37 is expanded immediately, +and the parameter entity "xx" is stored in the symbol +table with the value "%zz;". Since the replacement text +is not rescanned, the reference to parameter entity "zz" +is not recognized. (And it would be an error if it were, since +"zz" is not yet declared.)

    +

    in line 5, the character reference "&#60;" is +expanded immediately and the parameter entity "zz" is +stored with the replacement text +"<!ENTITY tricky "error-prone" >", +which is a well-formed entity declaration.

    +

    in line 6, the reference to "xx" is recognized, +and the replacement text of "xx" (namely +"%zz;") is parsed. The reference to "zz" +is recognized in its turn, and its replacement text +("<!ENTITY tricky "error-prone" >") is parsed. +The general entity "tricky" has now been +declared, with the replacement text "error-prone".

    +

    +in line 8, the reference to the general entity "tricky" is +recognized, and it is expanded, so the full content of the +"test" element is the self-describing (and ungrammatical) string +This sample shows a error-prone method. +

    + +

    +
    + +Deterministic Content Models +

    For compatibility, it is +required +that content models in element type declarations be deterministic. +

    + +

    SGML +requires deterministic content models (it calls them +"unambiguous"); XML processors built using SGML systems may +flag non-deterministic content models as errors.

    +

    For example, the content model ((b, c) | (b, d)) is +non-deterministic, because given an initial b the parser +cannot know which b in the model is being matched without +looking ahead to see which element follows the b. +In this case, the two references to +b can be collapsed +into a single reference, making the model read +(b, (c | d)). An initial b now clearly +matches only a single name in the content model. The parser doesn't +need to look ahead to see what follows; either c or +d would be accepted.

    +

    More formally: a finite state automaton may be constructed from the +content model using the standard algorithms, e.g. algorithm 3.5 +in section 3.9 +of Aho, Sethi, and Ullman . +In many such algorithms, a follow set is constructed for each +position in the regular expression (i.e., each leaf +node in the +syntax tree for the regular expression); +if any position has a follow set in which +more than one following position is +labeled with the same element type name, +then the content model is in error +and may be reported as an error. +

    +

    Algorithms exist which allow many but not all non-deterministic +content models to be reduced automatically to equivalent deterministic +models; see Brggemann-Klein 1991 .

    +
    + +Autodetection of Character Encodings +

    The XML encoding declaration functions as an internal label on each +entity, indicating which character encoding is in use. Before an XML +processor can read the internal label, however, it apparently has to +know what character encoding is in use—which is what the internal label +is trying to indicate. In the general case, this is a hopeless +situation. It is not entirely hopeless in XML, however, because XML +limits the general case in two ways: each implementation is assumed +to support only a finite set of character encodings, and the XML +encoding declaration is restricted in position and content in order to +make it feasible to autodetect the character encoding in use in each +entity in normal cases. Also, in many cases other sources of information +are available in addition to the XML data stream itself. +Two cases may be distinguished, +depending on whether the XML entity is presented to the +processor without, or with, any accompanying +(external) information. We consider the first case first. +

    +

    +Because each XML entity not in UTF-8 or UTF-16 format must +begin with an XML encoding declaration, in which the first characters +must be '<?xml', any conforming processor can detect, +after two to four octets of input, which of the following cases apply. +In reading this list, it may help to know that in UCS-4, '<' is +"#x0000003C" and '?' is "#x0000003F", and the Byte +Order Mark required of UTF-16 data streams is "#xFEFF".

    +

    + + +

    00 00 00 3C: UCS-4, big-endian machine (1234 order)

    + + +

    3C 00 00 00: UCS-4, little-endian machine (4321 order)

    +
    + +

    00 00 3C 00: UCS-4, unusual octet order (2143)

    +
    + +

    00 3C 00 00: UCS-4, unusual octet order (3412)

    +
    + +

    FE FF: UTF-16, big-endian

    +
    + +

    FF FE: UTF-16, little-endian

    +
    + +

    00 3C 00 3F: UTF-16, big-endian, no Byte Order Mark +(and thus, strictly speaking, in error)

    +
    + +

    3C 00 3F 00: UTF-16, little-endian, no Byte Order Mark +(and thus, strictly speaking, in error)

    +
    + +

    3C 3F 78 6D: UTF-8, ISO 646, ASCII, some part of ISO 8859, +Shift-JIS, EUC, or any other 7-bit, 8-bit, or mixed-width encoding +which ensures that the characters of ASCII have their normal positions, +width, +and values; the actual encoding declaration must be read to +detect which of these applies, but since all of these encodings +use the same bit patterns for the ASCII characters, the encoding +declaration itself may be read reliably +

    +
    + +

    4C 6F A7 94: EBCDIC (in some flavor; the full +encoding declaration must be read to tell which code page is in +use)

    +
    + +

    other: UTF-8 without an encoding declaration, or else +the data stream is corrupt, fragmentary, or enclosed in +a wrapper of some kind

    +
    + +

    +

    +This level of autodetection is enough to read the XML encoding +declaration and parse the character-encoding identifier, which is +still necessary to distinguish the individual members of each family +of encodings (e.g. to tell UTF-8 from 8859, and the parts of 8859 +from each other, or to distinguish the specific EBCDIC code page in +use, and so on). +

    +

    +Because the contents of the encoding declaration are restricted to +ASCII characters, a processor can reliably read the entire encoding +declaration as soon as it has detected which family of encodings is in +use. Since in practice, all widely used character encodings fall into +one of the categories above, the XML encoding declaration allows +reasonably reliable in-band labeling of character encodings, even when +external sources of information at the operating-system or +transport-protocol level are unreliable. +

    +

    +Once the processor has detected the character encoding in use, it can +act appropriately, whether by invoking a separate input routine for +each case, or by calling the proper conversion function on each +character of input. +

    +

    +Like any self-labeling system, the XML encoding declaration will not +work if any software changes the entity's character set or encoding +without updating the encoding declaration. Implementors of +character-encoding routines should be careful to ensure the accuracy +of the internal and external information used to label the entity. +

    +

    The second possible case occurs when the XML entity is accompanied +by encoding information, as in some file systems and some network +protocols. +When multiple sources of information are available, + +their relative +priority and the preferred method of handling conflict should be +specified as part of the higher-level protocol used to deliver XML. +Rules for the relative priority of the internal label and the +MIME-type label in an external header, for example, should be part of the +RFC document defining the text/xml and application/xml MIME types. In +the interests of interoperability, however, the following rules +are recommended. + +

    If an XML entity is in a file, the Byte-Order Mark +and encoding-declaration PI are used (if present) to determine the +character encoding. All other heuristics and sources of information +are solely for error recovery. +

    +

    If an XML entity is delivered with a +MIME type of text/xml, then the charset parameter +on the MIME type determines the +character encoding method; all other heuristics and sources of +information are solely for error recovery. +

    +

    If an XML entity is delivered +with a +MIME type of application/xml, then the Byte-Order Mark and +encoding-declaration PI are used (if present) to determine the +character encoding. All other heuristics and sources of +information are solely for error recovery. +

    + +These rules apply only in the absence of protocol-level documentation; +in particular, when the MIME types text/xml and application/xml are +defined, the recommendations of the relevant RFC will supersede +these rules. +

    + +
    + + +W3C XML Working Group + +

    This specification was prepared and approved for publication by the +W3C XML Working Group (WG). WG approval of this specification does +not necessarily imply that all WG members voted for its approval. +The current and former members of the XML WG are:

    + + +Jon Bosak, SunChair +James ClarkTechnical Lead +Tim Bray, Textuality and NetscapeXML Co-editor +Jean Paoli, MicrosoftXML Co-editor +C. M. Sperberg-McQueen, U. of Ill.XML +Co-editor +Dan Connolly, W3CW3C Liaison +Paula Angerstein, Texcel +Steve DeRose, INSO +Dave Hollander, HP +Eliot Kimber, ISOGEN +Eve Maler, ArborText +Tom Magliery, NCSA +Murray Maloney, Muzmo and Grif +Makoto Murata, Fuji Xerox Information Systems +Joel Nava, Adobe +Conleth O'Connell, Vignette +Peter Sharpe, SoftQuad +John Tigue, DataChannel + + +
    +
    +
    + diff --git a/result/valid/REC-xml-19980210.xml.err b/result/valid/REC-xml-19980210.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/REC-xml-19980210.xml.err.rdr b/result/valid/REC-xml-19980210.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/UTF16Entity.xml b/result/valid/UTF16Entity.xml new file mode 100644 index 0000000..63cbba2 --- /dev/null +++ b/result/valid/UTF16Entity.xml @@ -0,0 +1,8 @@ + + + + + +]> + &utf16b; &utf16l; diff --git a/result/valid/UTF16Entity.xml.err b/result/valid/UTF16Entity.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/UTF16Entity.xml.err.rdr b/result/valid/UTF16Entity.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/cond_sect1.xml b/result/valid/cond_sect1.xml new file mode 100755 index 0000000..dd2e5b4 --- /dev/null +++ b/result/valid/cond_sect1.xml @@ -0,0 +1,8 @@ + + + +]> + + text + diff --git a/result/valid/cond_sect1.xml.err b/result/valid/cond_sect1.xml.err new file mode 100755 index 0000000..e69de29 diff --git a/result/valid/cond_sect1.xml.err.rdr b/result/valid/cond_sect1.xml.err.rdr new file mode 100755 index 0000000..e69de29 diff --git a/result/valid/cond_sect2.xml b/result/valid/cond_sect2.xml new file mode 100755 index 0000000..e69de29 diff --git a/result/valid/cond_sect2.xml.err b/result/valid/cond_sect2.xml.err new file mode 100755 index 0000000..9a7624b --- /dev/null +++ b/result/valid/cond_sect2.xml.err @@ -0,0 +1,9 @@ +test/valid/dtds/cond_sect2.dtd:15: parser error : All markup of the conditional section is not in the same entity + %ent; + ^ +Entity: line 1: +]]> +^ +test/valid/dtds/cond_sect2.dtd:17: parser error : Content error in the external subset + +^ diff --git a/result/valid/cond_sect2.xml.err.rdr b/result/valid/cond_sect2.xml.err.rdr new file mode 100755 index 0000000..fd3cb75 --- /dev/null +++ b/result/valid/cond_sect2.xml.err.rdr @@ -0,0 +1,10 @@ +test/valid/dtds/cond_sect2.dtd:15: parser error : All markup of the conditional section is not in the same entity + %ent; + ^ +Entity: line 1: +]]> +^ +test/valid/dtds/cond_sect2.dtd:17: parser error : Content error in the external subset + +^ +./test/valid/cond_sect2.xml : failed to parse diff --git a/result/valid/dia.xml b/result/valid/dia.xml new file mode 100644 index 0000000..01e3253 --- /dev/null +++ b/result/valid/dia.xml @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/result/valid/dia.xml.err b/result/valid/dia.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/dia.xml.err.rdr b/result/valid/dia.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/id1.xml b/result/valid/id1.xml new file mode 100644 index 0000000..4f0b9f7 --- /dev/null +++ b/result/valid/id1.xml @@ -0,0 +1,13 @@ + + + + + + +]> + + + + + diff --git a/result/valid/id1.xml.err b/result/valid/id1.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/id1.xml.err.rdr b/result/valid/id1.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/id2.xml b/result/valid/id2.xml new file mode 100644 index 0000000..0cef4a6 --- /dev/null +++ b/result/valid/id2.xml @@ -0,0 +1,14 @@ + + + + + + +"> +]> + + + &dest; + + diff --git a/result/valid/id2.xml.err b/result/valid/id2.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/id2.xml.err.rdr b/result/valid/id2.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/id3.xml b/result/valid/id3.xml new file mode 100644 index 0000000..623603c --- /dev/null +++ b/result/valid/id3.xml @@ -0,0 +1,14 @@ + + + + + + + +]> + + + &dest; + + diff --git a/result/valid/id3.xml.err b/result/valid/id3.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/id3.xml.err.rdr b/result/valid/id3.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/index.xml b/result/valid/index.xml new file mode 100644 index 0000000..734fa4d --- /dev/null +++ b/result/valid/index.xml @@ -0,0 +1,808 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + 20011022T154508Z + + + + + afp.com + 20011022 + mmd--deutsch--journal--spo + 1 + urn:NewsML:afp.com:20011022:mmd--deutsch--journal--spo:1 + + HINTERGRUND + + + + 20011022T154508Z + 20011022T154508Z + + + + + + + + + + + + + + Berliner SPD fhrt Gesprche mit FDP und Grnen + + + + + + INFOGRAFIK: Das Berliner Wahlergebnis + + + + + + Schwierige Koalitionsverhandlungen in Berlin + + + + + + Die Lieblingsfarben des Kanzlers sind Rot Gelb Grn + + + + + + INFOGRAFIK: Wen whlt Wowereit? + + + + + + CDU ist auch in kommunalen Rathusern der Verlierer + + + + + + Gutes Abschneiden der PDS hat verschiedene Grnde + + + + + + Ans Regieren hat sich Klaus Wowereit gewhnt + + + + + + Steffel brachte CDU nicht auf Erfolgskurs + + + + + + Sibyll Klotz: Vollblutpolitikerin mit "Berliner Schnauze" + + + + + + Mit Gysi muss weiter gerechnet werden + + + + + + Rexrodt - das Stehaufmnnchen der Berliner FDP + + + + + + diff --git a/result/valid/index.xml.err b/result/valid/index.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/index.xml.err.rdr b/result/valid/index.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/mixed_ns.xml b/result/valid/mixed_ns.xml new file mode 100644 index 0000000..d8aedb8 --- /dev/null +++ b/result/valid/mixed_ns.xml @@ -0,0 +1,16 @@ + + + + + + + +]> +
    + Some text. + + Some text. + + Some text. + diff --git a/result/valid/mixed_ns.xml.err b/result/valid/mixed_ns.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/mixed_ns.xml.err.rdr b/result/valid/mixed_ns.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/notes.xml b/result/valid/notes.xml new file mode 100644 index 0000000..6ab3aa3 --- /dev/null +++ b/result/valid/notes.xml @@ -0,0 +1,3 @@ + + + diff --git a/result/valid/notes.xml.err b/result/valid/notes.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/notes.xml.err.rdr b/result/valid/notes.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/ns.xml b/result/valid/ns.xml new file mode 100644 index 0000000..ddade86 --- /dev/null +++ b/result/valid/ns.xml @@ -0,0 +1,7 @@ + + + + +]> + diff --git a/result/valid/ns.xml.err b/result/valid/ns.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/ns.xml.err.rdr b/result/valid/ns.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/ns2.xml b/result/valid/ns2.xml new file mode 100644 index 0000000..a4c30a8 --- /dev/null +++ b/result/valid/ns2.xml @@ -0,0 +1,11 @@ + + + + + + +]> + + + diff --git a/result/valid/ns2.xml.err b/result/valid/ns2.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/ns2.xml.err.rdr b/result/valid/ns2.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/objednavka.xml b/result/valid/objednavka.xml new file mode 100644 index 0000000..b0ffd92 --- /dev/null +++ b/result/valid/objednavka.xml @@ -0,0 +1,39 @@ + + + + + Jan Novák + Bělehradská 147 + Praha 2 + 12000 + + + Petra Nováková + Anglická 15 + Praha 2 + 12000 + + DPD + dobírka + 2004-11-14 + 2004-11-19 + + + 2N7-516 + Sekačka na trávu + 1 + 2999 + http://example.org/sekacka.html + + + Q3Y-116 + Travní semeno + 2.5 + 127.50 + + + + <Řádka>O dodávku mám zájem pouze v případě, že se jedná o trávu v odrůdě konopí. + <Řádka>Dále jsem se chtěl zeptat, zda je doprava zdarma. + + diff --git a/result/valid/objednavka.xml.err b/result/valid/objednavka.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/objednavka.xml.err.rdr b/result/valid/objednavka.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/rss.xml b/result/valid/rss.xml new file mode 100644 index 0000000..642fb80 --- /dev/null +++ b/result/valid/rss.xml @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + +PP + + diff --git a/result/valid/rss.xml.err b/result/valid/rss.xml.err new file mode 100644 index 0000000..2ec7c9e --- /dev/null +++ b/result/valid/rss.xml.err @@ -0,0 +1,3 @@ +./test/valid/rss.xml:177: element rss: validity error : Element rss does not carry attribute version + + ^ diff --git a/result/valid/rss.xml.err.rdr b/result/valid/rss.xml.err.rdr new file mode 100644 index 0000000..2ec7c9e --- /dev/null +++ b/result/valid/rss.xml.err.rdr @@ -0,0 +1,3 @@ +./test/valid/rss.xml:177: element rss: validity error : Element rss does not carry attribute version + + ^ diff --git a/result/valid/t10.xml b/result/valid/t10.xml new file mode 100644 index 0000000..b60f2f9 --- /dev/null +++ b/result/valid/t10.xml @@ -0,0 +1,12 @@ + + + + +]> + + + + + + diff --git a/result/valid/t10.xml.err b/result/valid/t10.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/t10.xml.err.rdr b/result/valid/t10.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/t11.xml b/result/valid/t11.xml new file mode 100644 index 0000000..d871787 --- /dev/null +++ b/result/valid/t11.xml @@ -0,0 +1,3 @@ + + +&peInCdata; diff --git a/result/valid/t11.xml.err b/result/valid/t11.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/t11.xml.err.rdr b/result/valid/t11.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/t4.dtd b/result/valid/t4.dtd new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/t4.dtd.err b/result/valid/t4.dtd.err new file mode 100644 index 0000000..23a3258 --- /dev/null +++ b/result/valid/t4.dtd.err @@ -0,0 +1,6 @@ +./test/valid/t4.dtd:1: parser error : StartTag: invalid element name + + ^ +./test/valid/t4.dtd:1: parser error : Extra content at the end of the document + + ^ diff --git a/result/valid/t4.dtd.err.rdr b/result/valid/t4.dtd.err.rdr new file mode 100644 index 0000000..23a3258 --- /dev/null +++ b/result/valid/t4.dtd.err.rdr @@ -0,0 +1,6 @@ +./test/valid/t4.dtd:1: parser error : StartTag: invalid element name + + ^ +./test/valid/t4.dtd:1: parser error : Extra content at the end of the document + + ^ diff --git a/result/valid/t4.xml b/result/valid/t4.xml new file mode 100644 index 0000000..c198f76 --- /dev/null +++ b/result/valid/t4.xml @@ -0,0 +1,3 @@ + + +&abc; diff --git a/result/valid/t4.xml.err b/result/valid/t4.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/t4.xml.err.rdr b/result/valid/t4.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/t4a.dtd b/result/valid/t4a.dtd new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/t4a.dtd.err b/result/valid/t4a.dtd.err new file mode 100644 index 0000000..48cdd5f --- /dev/null +++ b/result/valid/t4a.dtd.err @@ -0,0 +1,6 @@ +./test/valid/t4a.dtd:1: parser error : StartTag: invalid element name + + ^ +./test/valid/t4a.dtd:1: parser error : Extra content at the end of the document + + ^ diff --git a/result/valid/t4a.dtd.err.rdr b/result/valid/t4a.dtd.err.rdr new file mode 100644 index 0000000..48cdd5f --- /dev/null +++ b/result/valid/t4a.dtd.err.rdr @@ -0,0 +1,6 @@ +./test/valid/t4a.dtd:1: parser error : StartTag: invalid element name + + ^ +./test/valid/t4a.dtd:1: parser error : Extra content at the end of the document + + ^ diff --git a/result/valid/t4a.xml b/result/valid/t4a.xml new file mode 100644 index 0000000..37e80f7 --- /dev/null +++ b/result/valid/t4a.xml @@ -0,0 +1,3 @@ + + +&abc; diff --git a/result/valid/t4a.xml.err b/result/valid/t4a.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/t4a.xml.err.rdr b/result/valid/t4a.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/t6.dtd b/result/valid/t6.dtd new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/t6.dtd.err b/result/valid/t6.dtd.err new file mode 100644 index 0000000..6e84d68 --- /dev/null +++ b/result/valid/t6.dtd.err @@ -0,0 +1,6 @@ +./test/valid/t6.dtd:1: parser error : StartTag: invalid element name + + ^ +./test/valid/t6.dtd:1: parser error : Extra content at the end of the document + + ^ diff --git a/result/valid/t6.dtd.err.rdr b/result/valid/t6.dtd.err.rdr new file mode 100644 index 0000000..6e84d68 --- /dev/null +++ b/result/valid/t6.dtd.err.rdr @@ -0,0 +1,6 @@ +./test/valid/t6.dtd:1: parser error : StartTag: invalid element name + + ^ +./test/valid/t6.dtd:1: parser error : Extra content at the end of the document + + ^ diff --git a/result/valid/t6.xml b/result/valid/t6.xml new file mode 100644 index 0000000..23f2d25 --- /dev/null +++ b/result/valid/t6.xml @@ -0,0 +1,3 @@ + + +&abc; diff --git a/result/valid/t6.xml.err b/result/valid/t6.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/t6.xml.err.rdr b/result/valid/t6.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/t8.xml b/result/valid/t8.xml new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/t8.xml.err b/result/valid/t8.xml.err new file mode 100644 index 0000000..5272694 --- /dev/null +++ b/result/valid/t8.xml.err @@ -0,0 +1,21 @@ +./test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%defroot; %defmiddle; %deftest; + ^ +Entity: line 1: +<!ELEMENT root (middle) > +^ +./test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%defroot; %defmiddle; %deftest; + ^ +Entity: line 1: +<!ELEMENT middle (test) > +^ +./test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%defroot; %defmiddle; %deftest; + ^ +Entity: line 1: +<!ELEMENT test (#PCDATA) > +^ diff --git a/result/valid/t8.xml.err.rdr b/result/valid/t8.xml.err.rdr new file mode 100644 index 0000000..8da08fb --- /dev/null +++ b/result/valid/t8.xml.err.rdr @@ -0,0 +1,22 @@ +./test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%defroot; %defmiddle; %deftest; + ^ +Entity: line 1: +<!ELEMENT root (middle) > +^ +./test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%defroot; %defmiddle; %deftest; + ^ +Entity: line 1: +<!ELEMENT middle (test) > +^ +./test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%defroot; %defmiddle; %deftest; + ^ +Entity: line 1: +<!ELEMENT test (#PCDATA) > +^ +./test/valid/t8.xml : failed to parse diff --git a/result/valid/t8a.xml b/result/valid/t8a.xml new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/t8a.xml.err b/result/valid/t8a.xml.err new file mode 100644 index 0000000..2846b19 --- /dev/null +++ b/result/valid/t8a.xml.err @@ -0,0 +1,21 @@ +./test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%defroot;%defmiddle;%deftest; + ^ +Entity: line 1: +<!ELEMENT root (middle) > +^ +./test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%defroot;%defmiddle;%deftest; + ^ +Entity: line 1: +<!ELEMENT middle (test) > +^ +./test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%defroot;%defmiddle;%deftest; + ^ +Entity: line 1: +<!ELEMENT test (#PCDATA) > +^ diff --git a/result/valid/t8a.xml.err.rdr b/result/valid/t8a.xml.err.rdr new file mode 100644 index 0000000..6abe75a --- /dev/null +++ b/result/valid/t8a.xml.err.rdr @@ -0,0 +1,22 @@ +./test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%defroot;%defmiddle;%deftest; + ^ +Entity: line 1: +<!ELEMENT root (middle) > +^ +./test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%defroot;%defmiddle;%deftest; + ^ +Entity: line 1: +<!ELEMENT middle (test) > +^ +./test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%defroot;%defmiddle;%deftest; + ^ +Entity: line 1: +<!ELEMENT test (#PCDATA) > +^ +./test/valid/t8a.xml : failed to parse diff --git a/result/valid/t9.xml b/result/valid/t9.xml new file mode 100644 index 0000000..6950b14 --- /dev/null +++ b/result/valid/t9.xml @@ -0,0 +1,10 @@ + +"> +"> +"> + + + +]> +sample diff --git a/result/valid/t9.xml.err b/result/valid/t9.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/t9.xml.err.rdr b/result/valid/t9.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/t9a.xml b/result/valid/t9a.xml new file mode 100644 index 0000000..6950b14 --- /dev/null +++ b/result/valid/t9a.xml @@ -0,0 +1,10 @@ + +"> +"> +"> + + + +]> +sample diff --git a/result/valid/t9a.xml.err b/result/valid/t9a.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/t9a.xml.err.rdr b/result/valid/t9a.xml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/xhtml1.xhtml b/result/valid/xhtml1.xhtml new file mode 100644 index 0000000..98b7991 --- /dev/null +++ b/result/valid/xhtml1.xhtml @@ -0,0 +1,1453 @@ + + + + + +XHTML 1.0: The Extensible HyperText Markup +Language + + + + + +

    W3C

    + +

    XHTML 1.0: +The Extensible HyperText Markup Language

    + +

    A Reformulation of HTML 4.0 in XML 1.0

    + +

    W3C Proposed Recommendation 10 December 1999

    + +
    +
    This version:
    + +
    +http://www.w3.org/TR/1999/PR-xhtml1-19991210
    +(Postscript version, +PDF version, +ZIP archive, or +Gzip'd TAR archive) +
    + +
    Latest version:
    + +
    +http://www.w3.org/TR/xhtml1
    + +
    Previous versions:
    + +
    +http://www.w3.org/TR/1999/WD-xhtml1-19991124
    +
    +http://www.w3.org/TR/1999/PR-xhtml1-19990824
    + +
    Authors:
    + +
    See acknowledgements.
    +
    + + +
    +
    + +

    Abstract

    + +

    This specification defines XHTML 1.0, a reformulation of HTML +4.0 as an XML 1.0 application, and three DTDs corresponding to +the ones defined by HTML 4.0. The semantics of the elements and +their attributes are defined in the W3C Recommendation for HTML +4.0. These semantics provide the foundation for future +extensibility of XHTML. Compatibility with existing HTML user +agents is possible by following a small set of guidelines.

    + +

    Status of this document

    + +

    This section describes the status of this document at the time +of its publication. Other documents may supersede this document. The +latest status of this document series is maintained at the W3C.

    + +

    This specification is a Proposed Recommendation of the HTML Working Group. It is +a revision of the Proposed Recommendation dated 24 August +1999 incorporating changes as a result of comments from the Proposed +Recommendation review, and +comments and further deliberations of the W3C HTML Working Group. A +diff-marked version from the previous +proposed recommendation is available for comparison purposes.

    + +

    On 10 December 1999, this document enters a + +Proposed Recommendation review period. From that date until 8 January +2000, +W3C Advisory Committee representatives are encouraged +to review this specification and return comments in their completed +ballots to w3c-html-review@w3.org. Please send any comments of a +confidential nature in separate email to w3t-html@w3.org, which is +visible to the Team only.

    + +

    No sooner than 14 days after the end of the review period, the +Director will announce the document's disposition: it may become a W3C +Recommendation (possibly with minor changes), it may revert to Working +Draft status, or it may be dropped as a W3C work item.

    + +

    Publication as a Proposed Recommendation does not imply endorsement +by the W3C membership. This is still a draft document and may be +updated, replaced or obsoleted by other documents at any time. It is +inappropriate to cite W3C Proposed Recommendation as other than "work +in progress."

    + +

    This document has been produced as part of the W3C HTML Activity. The goals of +the HTML Working +Group (members +only) are discussed in the HTML Working Group +charter (members +only).

    + +

    A list of current W3C Recommendations and other technical documents +can be found at http://www.w3.org/TR.

    + +

    Public discussion on HTML features takes place on the mailing list www-html@w3.org (archive). The W3C +staff contact for work on HTML is Dave +Raggett.

    + +

    Please report errors in this document to www-html-editor@w3.org.

    + +

    The list of known errors in this specification is available at http://www.w3.org/1999/12/PR-xhtml1-19991210-errata.

    + +

    Contents

    + + + + +

    1. What is XHTML?

    + +

    XHTML is a family of current and future document types and modules that +reproduce, subset, and extend HTML 4.0 [HTML]. XHTML family document types are XML based, +and ultimately are designed to work in conjunction with XML-based user agents. +The details of this family and its evolution are +discussed in more detail in the section on Future +Directions.

    + +

    XHTML 1.0 (this specification) is the first document type in the XHTML +family. It is a reformulation of the three HTML 4.0 document types as +applications of XML 1.0 [XML]. It is intended +to be used as a language for content that is both XML-conforming and, if some +simple guidelines are followed, +operates in HTML 4.0 conforming user agents. Developers who migrate +their content to XHTML 1.0 will realize the following benefits:

    + +
      +
    • XHTML documents are XML conforming. As such, they are readily viewed, +edited, and validated with standard XML tools.
    • +
    • XHTML documents can be written to +to operate as well or better than they did before in existing +HTML 4.0-conforming user agents as well as in new, XHTML 1.0 conforming user +agents.
    • +
    • XHTML documents can utilize applications (e.g. scripts and applets) that rely +upon either the HTML Document Object Model or the XML Document Object Model [DOM].
    • +
    • As the XHTML family evolves, documents conforming to XHTML 1.0 will be more +likely to interoperate within and among various XHTML environments.
    • +
    + +

    The XHTML family is the next step in the evolution of the Internet. By +migrating to XHTML today, content developers can enter the XML world with all +of its attendant benefits, while still remaining confident in their +content's backward and future compatibility.

    + +

    1.1 What is HTML 4.0?

    + +

    HTML 4.0 [HTML] is an SGML (Standard +Generalized Markup Language) application conforming to +International Standard ISO 8879, and is widely regarded as the +standard publishing language of the World Wide Web.

    + +

    SGML is a language for describing markup languages, +particularly those used in electronic document exchange, document +management, and document publishing. HTML is an example of a +language defined in SGML.

    + +

    SGML has been around since the middle 1980's and has remained +quite stable. Much of this stability stems from the fact that the +language is both feature-rich and flexible. This flexibility, +however, comes at a price, and that price is a level of +complexity that has inhibited its adoption in a diversity of +environments, including the World Wide Web.

    + +

    HTML, as originally conceived, was to be a language for the +exchange of scientific and other technical documents, suitable +for use by non-document specialists. HTML addressed the problem +of SGML complexity by specifying a small set of structural and +semantic tags suitable for authoring relatively simple documents. +In addition to simplifying the document structure, HTML added +support for hypertext. Multimedia capabilities were added +later.

    + +

    In a remarkably short space of time, HTML became wildly +popular and rapidly outgrew its original purpose. Since HTML's +inception, there has been rapid invention of new elements for use +within HTML (as a standard) and for adapting HTML to vertical, +highly specialized, markets. This plethora of new elements has +led to compatibility problems for documents across different +platforms.

    + +

    As the heterogeneity of both software and platforms rapidly +proliferate, it is clear that the suitability of 'classic' HTML +4.0 for use on these platforms is somewhat limited.

    + +

    1.2 What is XML?

    + +

    XML is the shorthand for Extensible Markup +Language, and is an acronym of Extensible Markup Language [XML].

    + +

    XML was conceived as a means of regaining the power and +flexibility of SGML without most of its complexity. Although a +restricted form of SGML, XML nonetheless preserves most of SGML's +power and richness, and yet still retains all of SGML's commonly +used features.

    + +

    While retaining these beneficial features, XML removes many of +the more complex features of SGML that make the authoring and +design of suitable software both difficult and costly.

    + +

    1.3 Why the need for XHTML?

    + +

    The benefits of migrating to XHTML 1.0 are described above. Some of the +benefits of migrating to XHTML in general are:

    + +
      +
    • Document developers and user agent designers are constantly +discovering new ways to express their ideas through new markup. In XML, it is +relatively easy to introduce new elements or additional element +attributes. The XHTML family is designed to accommodate these extensions +through XHTML modules and techniques for developing new XHTML-conforming +modules (described in the forthcoming XHTML Modularization specification). +These modules will permit the combination of existing and +new feature sets when developing content and when designing new user +agents.
    • + +
    • Alternate ways of accessing the Internet are constantly being +introduced. Some estimates indicate that by the year 2002, 75% of +Internet document viewing will be carried out on these alternate +platforms. The XHTML family is designed with general user agent +interoperability in mind. Through a new user agent and document profiling +mechanism, servers, proxies, and user agents will be able to perform +best effort content transformation. Ultimately, it will be possible to +develop XHTML-conforming content that is usable by any XHTML-conforming +user agent.
    • + +
    + +

    2. Definitions

    + +

    2.1 Terminology

    + +

    The following terms are used in this specification. These +terms extend the definitions in +[RFC2119] in ways based upon similar definitions in ISO/IEC +9945-1:1990 [POSIX.1]:

    + +
    +
    Implementation-defined
    + +
    A value or behavior is implementation-defined when it is left +to the implementation to define [and document] the corresponding +requirements for correct document construction.
    + +
    May
    + +
    With respect to implementations, the word "may" is to be +interpreted as an optional feature that is not required in this +specification but can be provided. With respect to Document Conformance, the word "may" means that +the optional feature must not be used. The term "optional" has +the same definition as "may".
    + +
    Must
    + +
    In this specification, the word "must" is to be interpreted +as a mandatory requirement on the implementation or on Strictly +Conforming XHTML Documents, depending upon the context. The term +"shall" has the same definition as "must".
    + +
    Reserved
    + +
    A value or behavior is unspecified, but it is not allowed to +be used by Conforming Documents nor to be supported by a +Conforming User Agents.
    + +
    Should
    + +
    With respect to implementations, the word "should" is to be +interpreted as an implementation recommendation, but not a +requirement. With respect to documents, the word "should" is to +be interpreted as recommended programming practice for documents +and a requirement for Strictly Conforming XHTML Documents.
    + +
    Supported
    + +
    Certain facilities in this specification are optional. If a +facility is supported, it behaves as specified by this +specification.
    + +
    Unspecified
    + +
    When a value or behavior is unspecified, the specification +defines no portability requirements for a facility on an +implementation even when faced with a document that uses the +facility. A document that requires specific behavior in such an +instance, rather than tolerating any behavior when using that +facility, is not a Strictly Conforming XHTML Document.
    +
    + +

    2.2 General Terms

    + +
    +
    Attribute
    + +
    An attribute is a parameter to an element declared in the +DTD. An attribute's type and value range, including a possible +default value, are defined in the DTD.
    + +
    DTD
    + +
    A DTD, or document type definition, is a collection of XML +declarations that, as a collection, defines the legal structure, +elements, and +attributes that are available for use in a document that +complies to the DTD.
    + +
    Document
    + +
    A document is a stream of data that, after being combined +with any other streams it references, is structured such that it +holds information contained within +elements that are organized as defined in the associated +DTD. See Document +Conformance for more information.
    + +
    Element
    + +
    An element is a document structuring unit declared in the +DTD. The element's content model is +defined in the DTD, and additional +semantics may be defined in the prose description of the +element.
    + +
    Facilities
    + +
    Functionality includes elements, +attributes, and the semantics +associated with those elements and +attributes. An implementation +supporting that functionality is said to provide the necessary +facilities.
    + +
    Implementation
    + +
    An implementation is a system that provides collection of +facilities and services that supports +this specification. See User Agent +Conformance for more information.
    + +
    Parsing
    + +
    Parsing is the act whereby a +document is scanned, and the information contained within +the document is filtered into the +context of the elements in which the +information is structured.
    + +
    Rendering
    + +
    Rendering is the act whereby the information in a document is presented. This presentation is +done in the form most appropriate to the environment (e.g. +aurally, visually, in print).
    + +
    User Agent
    + +
    A user agent is an implementation +that retrieves and processes XHTML documents. See User Agent Conformance for more information.
    + +
    Validation
    + +
    Validation is a process whereby +documents are verified against the associated DTD, ensuring that the structure, use of elements, and use of +attributes are consistent with the definitions in the +DTD.
    + +
    Well-formed
    + +
    A document is well-formed when it +is structured according to the rules defined in Section 2.1 of +the XML 1.0 Recommendation [XML]. +Basically, this definition states that elements, delimited by +their start and end tags, are nested properly within one +another.
    +
    + + +

    3. Normative Definition of +XHTML 1.0

    + +

    3.1 Document +Conformance

    + +

    This version of XHTML provides a definition of strictly +conforming XHTML documents, which are restricted to tags and +attributes from the XHTML namespace. See Section 3.1.2 for information on using XHTML +with other namespaces, for instance, to include metadata +expressed in RDF within XHTML documents.

    + +

    3.1.1 Strictly Conforming +Documents

    + +

    A Strictly Conforming XHTML Document is a document that +requires only the facilities described as mandatory in this +specification. Such a document must meet all of the following +criteria:

    + +
      +
    1. +

      It must validate against one of the three DTDs found in Appendix A.

      +
    2. + +
    3. +

      The root element of the document must be +<html>.

      +
    4. + +
    5. +

      The root element of the document must designate the XHTML +namespace using the xmlns attribute [XMLNAMES]. The namespace for XHTML is +defined to be +http://www.w3.org/1999/xhtml.

      +
    6. + +
    7. +

      There must be a DOCTYPE declaration in the document prior to +the root element. The public identifier included in +the DOCTYPE declaration must reference one of the three DTDs +found in Appendix A using the respective +Formal Public Identifier. The system identifier may be changed to reflect +local system conventions.

      + +
      +<!DOCTYPE html 
      +     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      +     "http://www.w3.org/TR/1999/PR-xhtml1-19991210/DTD/xhtml1-strict.dtd>
      +
      +<!DOCTYPE html 
      +     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      +     "http://www.w3.org/TR/1999/PR-xhtml1-19991210/DTD/xhtml1-transitional.dtd>
      +
      +<!DOCTYPE html 
      +     PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
      +     "http://www.w3.org/TR/1999/PR-xhtml1-19991210/DTD/xhtml1-frameset.dtd>
      +
      +
    8. +
    + +

    Here is an example of a minimal XHTML document.

    + +
    +
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!DOCTYPE html 
    +     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    +    "http://www.w3.org/TR/1999/PR-xhtml1-19991210/DTD/xhtml1-strict.dtd">
    +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    +  <head>
    +    <title>Virtual Library</title>
    +  </head>
    +  <body>
    +    <p>Moved to <a href="http://vlib.org/">vlib.org</a>.</p>
    +  </body>
    +</html>
    +
    + +

    Note that in this example, the XML declaration is included. An XML +declaration like the one above is +not required in all XML documents. XHTML document authors are strongly encouraged to use XML declarations in all their documents. Such a declaration is required +when the character encoding of the document is other than the default UTF-8 or +UTF-16.

    + +

    3.1.2 Using XHTML with +other namespaces

    + +

    The XHTML namespace may be used with other XML namespaces +as per [XMLNAMES], although such +documents are not strictly conforming XHTML 1.0 documents as +defined above. Future work by W3C will address ways to specify +conformance for documents involving multiple namespaces.

    + +

    The following example shows the way in which XHTML 1.0 could +be used in conjunction with the MathML Recommendation:

    + +
    +
    +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    +  <head>
    +    <title>A Math Example</title>
    +  </head>
    +  <body>
    +    <p>The following is MathML markup:</p>
    +    <math xmlns="http://www.w3.org/1998/Math/MathML">
    +      <apply> <log/>
    +        <logbase>
    +          <cn> 3 </cn>
    +        </logbase>
    +        <ci> x </ci>
    +      </apply>
    +    </math>
    +  </body>
    +</html>
    +
    +
    + +

    The following example shows the way in which XHTML 1.0 markup +could be incorporated into another XML namespace:

    + +
    +
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!-- initially, the default namespace is "books" -->
    +<book xmlns='urn:loc.gov:books'
    +    xmlns:isbn='urn:ISBN:0-395-36341-6' xml:lang="en" lang="en">
    +  <title>Cheaper by the Dozen</title>
    +  <isbn:number>1568491379</isbn:number>
    +  <notes>
    +    <!-- make HTML the default namespace for a hypertext commentary -->
    +    <p xmlns='http://www.w3.org/1999/xhtml'>
    +        This is also available <a href="http://www.w3.org/">online</a>.
    +    </p>
    +  </notes>
    +</book>
    +
    +
    + +

    3.2 User Agent +Conformance

    + +

    A conforming user agent must meet all of the following +criteria:

    + +
      +
    1. In order to be consistent with the XML 1.0 Recommendation [XML], the user agent must parse and evaluate +an XHTML document for well-formedness. If the user agent claims +to be a validating user agent, it must also validate documents +against their referenced DTDs according to +[XML].
    2. + +
    3. When the user agent claims to support +facilities defined within this specification or required by +this specification through normative reference, it must do so in +ways consistent with the facilities' definition.
    4. + +
    5. When a user agent processes an XHTML document as generic XML, +it shall only recognize attributes of type +ID (e.g. the id attribute on most XHTML elements) +as fragment identifiers.
    6. + +
    7. If a user agent encounters an element it does not recognize, +it must render the element's content.
    8. + +
    9. If a user agent encounters an attribute it does not +recognize, it must ignore the entire attribute specification +(i.e., the attribute and its value).
    10. + +
    11. If a user agent encounters an attribute value it doesn't +recognize, it must use the default attribute value.
    12. + +
    13. If it encounters an entity reference (other than one +of the predefined entities) for which the User Agent has +processed no declaration (which could happen if the declaration +is in the external subset which the User Agent hasn't read), the entity +reference should be rendered as the characters (starting +with the ampersand and ending with the semi-colon) that +make up the entity reference.
    14. + +
    15. When rendering content, User Agents that encounter +characters or character entity references that are recognized but not renderable should display the document in such a way that it is obvious to the user that normal rendering has not taken place.
    16. + +
    17. +The following characters are defined in [XML] as whitespace characters: + +
        +
      • Space (&#x0020;)
      • +
      • Tab (&#x0009;)
      • +
      • Carriage return (&#x000D;)
      • +
      • Line feed (&#x000A;)
      • +
      + +

      +The XML processor normalizes different system's line end codes into one +single line-feed character, that is passed up to the application. The XHTML +user agent in addition, must treat the following characters as whitespace: +

      + +
        +
      • Form feed (&#x000C;)
      • +
      • Zero-width space (&#x200B;)
      • +
      + +

      +In elements where the 'xml:space' attribute is set to 'preserve', the user +agent must leave all whitespace characters intact (with the exception of +leading and trailing whitespace characters, which should be removed). +Otherwise, whitespace +is handled according to the following rules: +

      + +
        +
      • +All whitespace surrounding block elements should be removed. +
      • +
      • +Comments are removed entirely and do not affect whitespace handling. One +whitespace character on either side of a comment is treated as two white +space characters. +
      • +
      • +Leading and trailing whitespace inside a block element must be removed. +
      • +
      • Line feed characters within a block element must be converted into a +space (except when the 'xml:space' attribute is set to 'preserve'). +
      • +
      • +A sequence of white space characters must be reduced to a single space +character (except when the 'xml:space' attribute is set to 'preserve'). +
      • +
      • +With regard to rendition, +the User Agent should render the content in a +manner appropriate to the language in which the content is written. +In languages whose primary script is Latinate, the ASCII space +character is typically used to encode both grammatical word boundaries and +typographic whitespace; in languages whose script is related to Nagari +(e.g., Sanskrit, Thai, etc.), grammatical boundaries may be encoded using +the ZW 'space' character, but will not typically be represented by +typographic whitespace in rendered output; languages using Arabiform scripts +may encode typographic whitespace using a space character, but may also use +the ZW space character to delimit 'internal' grammatical boundaries (what +look like words in Arabic to an English eye frequently encode several words, +e.g. 'kitAbuhum' = 'kitAbu-hum' = 'book them' == their book); and languages +in the Chinese script tradition typically neither encode such delimiters nor +use typographic whitespace in this way. +
      • +
      + +

      Whitespace in attribute values is processed according to [XML].

      +
    18. +
    + + +

    4. Differences with HTML +4.0

    + +

    Due to the fact that XHTML is an XML application, certain +practices that were perfectly legal in SGML-based HTML 4.0 [HTML] must be changed.

    + +

    4.1 Documents must be +well-formed

    + +

    Well-formedness is a new concept +introduced by [XML]. Essentially this +means that all elements must either have closing tags or be +written in a special form (as described below), and that all the +elements must nest.

    + +

    Although overlapping is illegal in SGML, it was widely +tolerated in existing browsers.

    + +
    +

    CORRECT: nested elements.

    + +

    <p>here is an emphasized +<em>paragraph</em>.</p>

    +
    + +
    +

    INCORRECT: overlapping elements

    + +

    <p>here is an emphasized +<em>paragraph.</p></em>

    +
    + +

    4.2 Element and attribute +names must be in lower case

    + +

    XHTML documents must use lower case for all HTML element and +attribute names. This difference is necessary because XML is +case-sensitive e.g. <li> and <LI> are different +tags.

    + +

    4.3 For non-empty elements, +end tags are required

    + +

    In SGML-based HTML 4.0 certain elements were permitted to omit +the end tag; with the elements that followed implying closure. +This omission is not permitted in XML-based XHTML. All elements +other than those declared in the DTD as EMPTY must +have an end tag.

    + +
    +

    CORRECT: terminated elements

    + +

    <p>here is a paragraph.</p><p>here is +another paragraph.</p>

    +
    + +
    +

    INCORRECT: unterminated elements

    + +

    <p>here is a paragraph.<p>here is another +paragraph.

    +
    + +

    4.4 Attribute values must +always be quoted

    + +

    All attribute values must be quoted, even those which appear +to be numeric.

    + +
    +

    CORRECT: quoted attribute values

    + +

    <table rows="3">

    +
    + +
    +

    INCORRECT: unquoted attribute values

    + +

    <table rows=3>

    +
    + +

    4.5 Attribute +Minimization

    + +

    XML does not support attribute minimization. Attribute-value +pairs must be written in full. Attribute names such as +compact and checked cannot occur in elements +without their value being specified.

    + +
    +

    CORRECT: unminimized attributes

    + +

    <dl compact="compact">

    +
    + +
    +

    INCORRECT: minimized attributes

    + +

    <dl compact>

    +
    + +

    4.6 Empty Elements

    + +

    Empty elements must either have an end tag or the start tag must end with />. For instance, +<br/> or <hr></hr>. See HTML Compatibility Guidelines for information on ways to +ensure this is backward compatible with HTML 4.0 user agents.

    + +
    +

    CORRECT: terminated empty tags

    + +

    <br/><hr/>

    +
    + +
    +

    INCORRECT: unterminated empty tags

    + +

    <br><hr>

    +
    + +

    4.7 Whitespace handling in +attribute values

    + +

    In attribute values, user agents will strip leading and +trailing whitespace from attribute values and map sequences +of one or more whitespace characters (including line breaks) to +a single inter-word space (an ASCII space character for western +scripts). See +Section 3.3.3 of [XML].

    + +

    4.8 Script and Style +elements

    + +

    In XHTML, the script and style elements are declared as having +#PCDATA content. As a result, < and +& will be treated as the start of markup, and +entities such as &lt; and &amp; +will be recognized as entity references by the XML processor to +< and & respectively. Wrapping +the content of the script or style element within a +CDATA marked section avoids the expansion of these +entities.

    + +
    +
    +<script>
    + <![CDATA[
    + ... unescaped script content ...
    + ]]>
    + </script>
    +
    +
    + +

    CDATA sections are recognized by the XML +processor and appear as nodes in the Document Object Model, see + +Section 1.3 of the DOM Level 1 Recommendation [DOM].

    + +

    An alternative is to use external script and style +documents.

    + +

    4.9 SGML exclusions

    + +

    SGML gives the writer of a DTD the ability to exclude specific +elements from being contained within an element. Such +prohibitions (called "exclusions") are not possible in XML.

    + +

    For example, the HTML 4.0 Strict DTD forbids the nesting of an +'a' element within another 'a' element +to any descendant depth. It is not possible to spell out such +prohibitions in XML. Even though these prohibitions cannot be +defined in the DTD, certain elements should not be nested. A +summary of such elements and the elements that should not be +nested in them is found in the normative +Appendix B.

    + +

    4.10 The elements with 'id' and 'name' +attributes

    + +

    HTML 4.0 defined the name attribute for the elements +a, +applet, frame, +iframe, img, and map. +HTML 4.0 also introduced +the id attribute. Both of these attributes are designed to be +used as fragment identifiers.

    +

    In XML, fragment identifiers are of type ID, and +there can only be a single attribute of type ID per element. +Therefore, in XHTML 1.0 the id +attribute is defined to be of type ID. In order to +ensure that XHTML 1.0 documents are well-structured XML documents, XHTML 1.0 +documents MUST use the id attribute when defining fragment +identifiers, even on elements that historically have also had a +name attribute. +See the HTML Compatibility +Guidelines for information on ensuring such anchors are backwards +compatible when serving XHTML documents as media type text/html. +

    +

    Note that in XHTML 1.0, the name attribute of these +elements is formally deprecated, and will be removed in a +subsequent version of XHTML.

    + + +

    5. Compatibility Issues

    + +

    Although there is no requirement for XHTML 1.0 documents to be +compatible with existing user agents, in practice this is easy to +accomplish. Guidelines for creating compatible documents can be +found in Appendix C.

    + +

    5.1 Internet Media Type

    +

    As of the publication of this recommendation, the general +recommended MIME labeling for XML-based applications +has yet to be resolved.

    + +

    However, XHTML Documents which follow the guidelines set forth +in Appendix C, "HTML Compatibility Guidelines" may be +labeled with the Internet Media Type "text/html", as they +are compatible with most HTML browsers. This document +makes no recommendation about MIME labeling of other +XHTML documents.

    + + +

    6. Future Directions

    + +

    XHTML 1.0 provides the basis for a family of document types +that will extend and subset XHTML, in order to support a wide +range of new devices and applications, by defining modules and +specifying a mechanism for combining these modules. This +mechanism will enable the extension and sub-setting of XHTML 1.0 +in a uniform way through the definition of new modules.

    + +

    6.1 Modularizing HTML

    + +

    As the use of XHTML moves from the traditional desktop user +agents to other platforms, it is clear that not all of the XHTML +elements will be required on all platforms. For example a hand +held device or a cell-phone may only support a subset of XHTML +elements.

    + +

    The process of modularization breaks XHTML up into a series of +smaller element sets. These elements can then be recombined to +meet the needs of different communities.

    + +

    These modules will be defined in a later W3C document.

    + +

    6.2 Subsets and +Extensibility

    + +

    Modularization brings with it several advantages:

    + +
      +
    • +

      It provides a formal mechanism for sub-setting XHTML.

      +
    • + +
    • +

      It provides a formal mechanism for extending XHTML.

      +
    • + +
    • +

      It simplifies the transformation between document types.

      +
    • + +
    • +

      It promotes the reuse of modules in new document types.

      +
    • +
    + +

    6.3 Document +Profiles

    + +

    A document profile specifies the syntax and semantics of a set +of documents. Conformance to a document profile provides a basis +for interoperability guarantees. The document profile specifies +the facilities required to process documents of that type, e.g. +which image formats can be used, levels of scripting, style sheet +support, and so on.

    + +

    For product designers this enables various groups to define +their own standard profile.

    + +

    For authors this will obviate the need to write several +different versions of documents for different clients.

    + +

    For special groups such as chemists, medical doctors, or +mathematicians this allows a special profile to be built using +standard HTML elements plus a group of elements geared to the +specialist's needs.

    + + +

    +Appendix A. DTDs

    + +

    This appendix is normative.

    + +

    These DTDs and entity sets form a normative part of this +specification. The complete set of DTD files together with an XML +declaration and SGML Open Catalog is included in the zip file for this specification.

    + +

    A.1 Document Type +Definitions

    + +

    These DTDs approximate the HTML 4.0 DTDs. It is likely that +when the DTDs are modularized, a method of DTD construction will +be employed that corresponds more closely to HTML 4.0.

    + + + +

    A.2 Entity Sets

    + +

    The XHTML entity sets are the same as for HTML 4.0, but have +been modified to be valid XML 1.0 entity declarations. Note the +entity for the Euro currency sign (&euro; or +&#8364; or &#x20AC;) is defined +as part of the special characters.

    + + + + +

    Appendix B. Element +Prohibitions

    + +

    This appendix is normative.

    + +

    The following elements have prohibitions on which elements +they can contain (see Section 4.9). This +prohibition applies to all depths of nesting, i.e. it contains +all the descendant elements.

    + +
    a
    +
    +cannot contain other a elements.
    +
    pre
    +
    cannot contain the img, object, +big, small, sub, or +sup elements.
    + +
    button
    +
    cannot contain the input, select, +textarea, label, button, +form, fieldset, iframe or +isindex elements.
    +
    label
    +
    cannot contain other label elements.
    +
    form
    +
    cannot contain other form elements.
    +
    + + +

    Appendix C. +HTML Compatibility Guidelines

    + +

    This appendix is informative.

    + +

    This appendix summarizes design guidelines for authors who +wish their XHTML documents to render on existing HTML user +agents.

    + +

    C.1 Processing Instructions

    +

    Be aware that processing instructions are rendered on some +user agents. However, also note that when the XML declaration is not included +in a document, the document can only use the default character encodings UTF-8 +or UTF-16.

    + +

    C.2 Empty Elements

    +

    Include a space before the trailing / and +> of empty elements, e.g. +<br />, +<hr /> and <img +src="karen.jpg" alt="Karen" />. Also, use the +minimized tag syntax for empty elements, e.g. <br />, as the alternative syntax <br></br> allowed by XML +gives uncertain results in many existing user agents.

    + +

    C.3 Element Minimization and Empty Element Content

    +

    Given an empty instance of an element whose content model is +not EMPTY (for example, an empty title or paragraph) +do not use the minimized form (e.g. use +<p> </p> and not +<p />).

    + +

    C.4 Embedded Style Sheets and Scripts

    +

    Use external style sheets if your style sheet uses +< or & or ]]> or --. Use +external scripts if your script uses < or +& or ]]> or --. Note that XML parsers +are permitted to silently remove the contents of comments. Therefore, the historical +practice of "hiding" scripts and style sheets within comments to make the +documents backward compatible is likely to not work as expected in XML-based +implementations.

    + +

    C.5 Line Breaks within Attribute Values

    +

    Avoid line breaks and multiple whitespace characters within +attribute values. These are handled inconsistently by user +agents.

    + +

    C.6 Isindex

    +

    Don't include more than one isindex element in +the document head. The isindex element +is deprecated in favor of the input element.

    + +

    C.7 The lang and xml:lang Attributes

    +

    Use both the lang and xml:lang +attributes when specifying the language of an element. The value +of the xml:lang attribute takes precedence.

    + +

    C.8 Fragment Identifiers

    +

    In XML, URIs [RFC2396] that end with fragment identifiers of the form +"#foo" do not refer to elements with an attribute +name="foo"; rather, they refer to elements with an +attribute defined to be of type ID, e.g., the +id attribute in HTML 4.0. Many existing HTML clients don't +support the use of ID-type attributes in this way, +so identical values may be supplied for both of these attributes to ensure +maximum forward and backward compatibility (e.g., <a id="foo" name="foo">...</a>).

    + +

    Further, since the set of +legal values for attributes of type ID is much smaller than +for those of type CDATA, the type of the name +attribute has been changed to NMTOKEN. This attribute is +constrained such that it can only have the same values as type +ID, or as the Name production in XML 1.0 Section +2.5, production 5. Unfortunately, this constraint cannot be expressed in the +XHTML 1.0 DTDs. Because of this change, care must be taken when +converting existing HTML documents. The values of these attributes +must be unique within the document, valid, and any references to these +fragment identifiers (both +internal and external) must be updated should the values be changed during +conversion.

    +

    Finally, note that XHTML 1.0 has deprecated the +name attribute of the a, applet, frame, iframe, img, and map +elements, and it will be +removed from XHTML in subsequent versions.

    + +

    C.9 Character Encoding

    +

    To specify a character encoding in the document, use both the +encoding attribute specification on the xml declaration (e.g. +<?xml version="1.0" +encoding="EUC-JP"?>) and a meta http-equiv statement +(e.g. <meta http-equiv="Content-type" +content='text/html; charset="EUC-JP"' />). The +value of the encoding attribute of the xml processing instruction +takes precedence.

    + +

    C.10 Boolean Attributes

    +

    Some HTML user agents are unable to interpret boolean +attributes when these appear in their full (non-minimized) form, +as required by XML 1.0. Note this problem doesn't effect user +agents compliant with HTML 4.0. The following attributes are +involved: compact, nowrap, +ismap, declare, noshade, +checked, disabled, readonly, +multiple, selected, +noresize, defer.

    + +

    C.11 Document Object Model and XHTML

    +

    +The Document Object Model level 1 Recommendation [DOM] +defines document object model interfaces for XML and HTML 4.0. The HTML 4.0 +document object model specifies that HTML element and attribute names are +returned in upper-case. The XML document object model specifies that +element and attribute names are returned in the case they are specified. In +XHTML 1.0, elements and attributes are specified in lower-case. This apparent difference can be +addressed in two ways: +

    +
      +
    1. Applications that access XHTML documents served as Internet media type +text/html +via the DOM can use the HTML DOM, +and can rely upon element and attribute names being returned in +upper-case from those interfaces.
    2. +
    3. Applications that access XHTML documents served as Internet media types +text/xml or application/xml +can also use the XML DOM. Elements and attributes will be returned in lower-case. +Also, some XHTML elements may or may +not appear +in the object tree because they are optional in the content model +(e.g. the tbody element within +table). This occurs because in HTML 4.0 some elements were +permitted to be minimized such that their start and end tags are both omitted +(an SGML feature). +This is not possible in XML. Rather than require document authors to insert +extraneous elements, XHTML has made the elements optional. +Applications need to adapt to this +accordingly.
    4. +
    + +

    C.12 Using Ampersands in Attribute Values

    +

    +When an attribute value contains an ampersand, it must be expressed as a character +entity reference +(e.g. "&amp;"). For example, when the +href attribute +of the a element refers to a +CGI script that takes parameters, it must be expressed as +http://my.site.dom/cgi-bin/myscript.pl?class=guest&amp;name=user +rather than as +http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user. +

    + +

    C.13 Cascading Style Sheets (CSS) and XHTML

    + +

    The Cascading Style Sheets level 2 Recommendation [CSS2] defines style +properties which are applied to the parse tree of the HTML or XML +document. Differences in parsing will produce different visual or +aural results, depending on the selectors used. The following hints +will reduce this effect for documents which are served without +modification as both media types:

    + +
      +
    1. +CSS style sheets for XHTML should use lower case element and +attribute names.
    2. + + +
    3. In tables, the tbody element will be inferred by the parser of an +HTML user agent, but not by the parser of an XML user agent. Therefore +you should always explicitly add a tbody element if it is referred to +in a CSS selector.
    4. + +
    5. Within the XHTML name space, user agents are expected to +recognize the "id" attribute as an attribute of type ID. +Therefore, style sheets should be able to continue using the +shorthand "#" selector syntax even if the user agent does not read +the DTD.
    6. + +
    7. Within the XHTML name space, user agents are expected to +recognize the "class" attribute. Therefore, style sheets should be +able to continue using the shorthand "." selector syntax.
    8. + +
    9. +CSS defines different conformance rules for HTML and XML documents; +be aware that the HTML rules apply to XHTML documents delivered as +HTML and the XML rules apply to XHTML documents delivered as XML.
    10. +
    + +

    Appendix D. +Acknowledgements

    + +

    This appendix is informative.

    + +

    This specification was written with the participation of the +members of the W3C HTML working group:

    + +
    +
    Steven Pemberton, CWI (HTML Working Group Chair)
    +Murray Altheim, Sun Microsystems
    +Daniel Austin, CNET: The Computer Network
    +Frank Boumphrey, HTML Writers Guild
    +John Burger, Mitre
    +Andrew W. Donoho, IBM
    +Sam Dooley, IBM
    +Klaus Hofrichter, GMD
    +Philipp Hoschka, W3C
    +Masayasu Ishikawa, W3C
    +Warner ten Kate, Philips Electronics
    +Peter King, Phone.com
    +Paula Klante, JetForm
    +Shin'ichi Matsui, W3C/Panasonic
    +Shane McCarron, Applied Testing and Technology (The Open Group through August +1999)
    +Ann Navarro, HTML Writers Guild
    +Zach Nies, Quark
    +Dave Raggett, W3C/HP (W3C lead for HTML)
    +Patrick Schmitz, Microsoft
    +Sebastian Schnitzenbaumer, Stack Overflow
    +Chris Wilson, Microsoft
    +Ted Wugofski, Gateway 2000
    +Dan Zigmond, WebTV Networks
    +
    + + +

    Appendix E. References

    + +

    This appendix is informative.

    + +
    + +
    [CSS2]
    + +
    "Cascading Style Sheets, level 2 (CSS2) Specification", B. +Bos, H. W. Lie, C. Lilley, I. Jacobs, 12 May 1998.
    +Available at: +http://www.w3.org/TR/REC-CSS2
    + +
    [DOM]
    + +
    "Document Object Model (DOM) Level 1 Specification", Lauren +Wood et al., 1 October 1998.
    +Available at: +http://www.w3.org/TR/REC-DOM-Level-1
    + +
    [HTML]
    + +
    "HTML 4.01 Specification", D. Raggett, A. Le Hors, I. +Jacobs, 24 August 1999.
    +Available at: +http://www.w3.org/TR/1999/PR-html40-19990824
    + +
    [POSIX.1]
    + +
    "ISO/IEC 9945-1:1990 Information Technology - Portable +Operating System Interface (POSIX) - Part 1: System Application +Program Interface (API) [C Language]", Institute of Electrical +and Electronics Engineers, Inc, 1990.
    + +
    +[RFC2046]
    + +
    "RFC2046: Multipurpose Internet Mail Extensions (MIME) Part +Two: Media Types", N. Freed and N. Borenstein, November +1996.
    +Available at +http://www.ietf.org/rfc/rfc2046.txt. Note that this RFC +obsoletes RFC1521, RFC1522, and RFC1590.
    + +
    +[RFC2119]
    + +
    "RFC2119: Key words for use in RFCs to Indicate Requirement +Levels", S. Bradner, March 1997.
    +Available at: +http://www.ietf.org/rfc/rfc2119.txt
    + +
    +[RFC2376]
    + +
    "RFC2376: XML Media Types", E. Whitehead, M. Murata, July +1998.
    +Available at: +http://www.ietf.org/rfc/rfc2376.txt
    + +
    +[RFC2396]
    + +
    "RFC2396: Uniform Resource Identifiers (URI): Generic +Syntax", T. Berners-Lee, R. Fielding, L. Masinter, August +1998.
    +This document updates RFC1738 and RFC1808.
    +Available at: +http://www.ietf.org/rfc/rfc2396.txt
    + +
    [XML]
    + +
    "Extensible Markup Language (XML) 1.0 Specification", T. +Bray, J. Paoli, C. M. Sperberg-McQueen, 10 February 1998.
    +Available at: +http://www.w3.org/TR/REC-xml
    + +
    [XMLNAMES]
    + +
    "Namespaces in XML", T. Bray, D. Hollander, A. Layman, 14 +January 1999.
    +XML namespaces provide a simple method for qualifying names used +in XML documents by associating them with namespaces identified +by URI.
    +Available at: +http://www.w3.org/TR/REC-xml-names
    + +
    +

    +Level Triple-A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0

    + + + diff --git a/result/valid/xhtml1.xhtml.err b/result/valid/xhtml1.xhtml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/xhtml1.xhtml.err.rdr b/result/valid/xhtml1.xhtml.err.rdr new file mode 100644 index 0000000..e69de29 diff --git a/result/valid/xlink.xml b/result/valid/xlink.xml new file mode 100644 index 0000000..7b35a0f --- /dev/null +++ b/result/valid/xlink.xml @@ -0,0 +1,525 @@ + + + +]> + + + + + + + +
    + XML Linking Language (XLink) + Version 1.0 + WD-xlink-19990527 + World Wide Web Consortium Working Draft + 29May1999 + +

    This draft is for public discussion.

    +
    + http://www.w3.org/XML/Group/1999/05/WD-xlink-current + + + http://www.w3.org/XML/Group/1999/05/WD-xlink-19990527 + http://www.w3.org/XML/Group/1999/05/WD-xlink-19990505 + http://www.w3.org/TR/1998/WD-xlink-19980303 + http://www.w3.org/TR/WD-xml-link-970630 + + + + + + Steve DeRose + Inso Corp. and Brown University + Steven_DeRose@Brown.edu + + + David Orchard + IBM Corp. + dorchard@ca.ibm.com + + + Ben Trafford + Invited Expert + bent@exemplary.net + + + + + +

    This is a W3C Working Draft for review by W3C members and other interested parties. It is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use W3C Working Drafts as reference material or to cite them as other than "work in progress". A list of current W3C working drafts can be found at http://www.w3.org/TR.

    +

    Note: Since working drafts are subject to frequent change, you are advised to reference the above URI, rather than the URIs for working drafts themselves. Some of the work remaining is described in .

    +

    This work is part of the W3C XML Activity (for current status, see http://www.w3.org/XML/Activity ). For information about the XPointer language which is expected to be used with XLink, see http://www.w3.org/TR/WD-xptr. +

    +

    See http://www.w3.org/TR/NOTE-xlink-principles for additional background on the design principles informing XLink.

    +

    Also see http://www.w3.org/TR/NOTE-xlink-req/ for the XLink requirements that this document attempts to satisfy.

    +
    + + + +

    This specification defines constructs that may be inserted into XML DTDs, schemas and document instances to describe links between objects. It uses XML syntax to create structures that can describe the simple unidirectional hyperlinks of today's HTML as well as more sophisticated links.

    +
    + + +

    Burlington, Seekonk, et al.: World-Wide Web Consortium, XML Working Group, 1998.

    +
    + + +

    Created in electronic form.

    +
    + + + English + Extended Backus-Naur Form (formal grammar) + + + + + 1997-01-15 : Skeleton draft by TB + 1997-01-24 : Fleshed out by sjd + 1997-04-08 : Substantive draft + 1997-06-30 : Public draft + 1997-08-01 : Public draft + 1997-08-05 : Prose/organization work by sjd + 1997-10-14: Conformance and design principles; a bit of cleanup by elm + 1997-11-07: Update for editorial issues per issues doc, by sjd. + 1997-12-01: Update for editorial issues per issues doc in preparation for F2F meeting, by sjd. + 1998-01-13: Editorial cleanup, addition of new design principles, by elm. + 1998-02-27: Splitting out of XLink and XPointer, by elm. + 1998-03-03: Moved most of the XPointer locator stuff here. elm + 1999-04-24: Editorial rewrites to represent new ideas on XLink, especially the inclusion of arcs. bent + 1999-05-05: Prose/organization work by dorchard. Moved much of the semantics section around, from: locators, link semantics, remote resource semantics, local resource semantics; to: resource semantics, locators, behavior semantics, link semantics, arc semantics + 1999-05-12: Prose/organization work. Re-organized some of the sections, removed XML constructs from the document, added descriptive prose, edited document text for clarity. Rewrote the link recognition section. bent + 1999-05-17: Further prose work. Added non-normative examples. Clarified arcs. bent + 1999-05-23: Edited for grammar and clarity. bent + 1999-05-27: Final once-over before sending to group. Fixed sjd's email address. bent + + +
    + + + + Introduction +

    This specification defines constructs that may be inserted into XML DTDs, schemas, and document instances to describe links between objects. A link, as the term is used here, is an explicit relationship between two or more data objects or portions of data objects. This specification is concerned with the syntax used to assert link existence and describe link characteristics. Implicit (unasserted) relationships, for example that of one word to the next or that of a word in a text to its entry in an on-line dictionary are obviously important, but outside its scope.

    +

    Links are asserted by elements contained in XML document instances. The simplest case is very like an HTML A link, and has these characteristics: + +

    The link is expressed at one of its ends (similar to the A element in some document)

    +

    Users can only initiate travel from that end to the other

    +

    The link's effect on windows, frames, go-back lists, stylesheets in use, and so on is mainly determined by browsers, not by the link itself. For example, traveral of A links normally replaces the current view, perhaps with a user option to open a new window.

    +

    The link goes to only one destination (although a server may have great freedom in finding or dynamically creating that destination).

    + +

    +

    While this set of characteristics is already very powerful and obviously has proven itself highly useful and effective, each of these assumptions also limits the range of hypertext functionality. The linking model defined here provides ways to create links that go beyond each of these specific characteristics, thus providing features previously available mostly in dedicated hypermedia systems. +

    + + + Origin and Goals +

    Following is a summary of the design principles governing XLink: + +

    XLink must be straightforwardly usable over the Internet.

    +

    XLink must be usable by a wide variety of link usage domains and classes of linking application software.

    +

    XLink must support HTML 4.0 linking constructs.

    +

    The XLink expression language must be XML.

    +

    The XLink design must be formal, concise, and illustrative.

    +

    XLinks must be human-readable and human-writable.

    +

    XLinks may reside within or outside the documents in which the + participating resources reside.

    +

    XLink must represent the abstract structure and significance of links.

    +

    XLink must be feasible to implement.

    +

    XLink must be informed by knowledge of established hypermedia systems and standards.

    + +

    +
    + + + + Relationship to Existing Standards +

    Three standards have been especially influential: + +

    HTML: Defines several SGML element types that represent links.

    +

    HyTime: Defines inline and out-of-line link structures and some semantic features, including traversal control and presentation of objects. +

    +

    Text Encoding Initiative Guidelines (TEI P3): Provides structures for creating links, aggregate objects, and link collections out of them.

    + +

    +

    Many other linking systems have also informed this design, especially Dexter, FRESS, MicroCosm, and InterMedia.

    +
    + + + Terminology +

    The following basic terms apply in this document. + + + +

    A symbolic representation of traversal behavior in links, especially the direction, context and timing of traversal.

    + + + +

    A representation of the relevant structure specified by the tags and attributes in an XML document, based on "groves" as defined in the ISO DSSSL standard.

    +
    + + +

    Abstractly, a link which serves as one of its own resources. Concretely, a link where the content of the linking element serves as a participating resource. + HTML A, HyTime clink, and TEI XREF + are all inline links.

    +
    + + +

    An explicit relationship between two or more data objects or portions of data objects.

    +
    + + +

    An element that asserts the existence and describes the characteristics of a link.

    +
    + + +

    The content of an inlinelinking element. Note that the content of the linking element could be explicitly pointed to by means of a regular locator in the same linking element, in which case the resource is considered remote, not local.

    +
    + + +

    Data, provided as part of a link, which identifies a + resource.

    +
    + + +

    A link whose traversal can be initiated from more than one of its participating resources. Note that being able to "go back" after following a one-directional link does not make the link multidirectional.

    +
    + + +

    A link whose content does not serve as one of the link's participating resources . Such links presuppose a notion like extended link groups, which instruct application software where to look for links. Out-of-line links are generally required for supporting multidirectional traversal and for allowing read-only resources to have outgoing links.

    +
    + +

    In the context of link behavior, a parsed link is any link whose content is transcluded into the document where the link originated. The use of the term "parsed" directly refers to the concept in XML of a + parsed entity.

    +
    + + +

    A resource that belongs to a link. All resources are potential contributors to a link; participating resources are the actual contributors to a particular link.

    +
    + + +

    Any participating resource of a link that is pointed to with a locator.

    +
    + + +

    In the abstract sense, an addressable unit of information or service that is participating in a link. Examples include files, images, documents, programs, and query results. Concretely, anything reachable by the use of a locator in some linking element. Note that this term and its definition are taken from the basic specifications governing the World Wide Web. +

    +
    + + +

    A portion of a resource, pointed to as the precise destination of a link. As one example, a link might specify that an entire document be retrieved and displayed, but that some specific part(s) of it is the specific linked data, to be treated in an application-appropriate manner such as indication by highlighting, scrolling, etc.

    +
    + + +

    The action of using a link; that is, of accessing a resource. Traversal may be initiated by a user action (for example, clicking on the displayed content of a linking element) or occur under program control.

    +
    + +

    +
    + + + Notation +

    The formal grammar for locators is given using a simple Extended Backus-Naur Form (EBNF) location, as described in the XML specification.

    + +
    +
    + + + Locator Syntax +

    The locator for a resource is typically provided by means of a Uniform Resource Identifier, or URI. XPointers can be used in conjunction with the URI structure, as fragment identifiers, to specify a more precise sub-resource.

    + +

    A locator generally contains a URI, as described in IETF RFCs and . As these RFCs state, the URI may include a trailing query (marked by a leading "?"), and be followed by a "#" and a fragment identifier, with the query interpreted by the host providing the indicated resource, and the interpretation of the fragment identifier dependent on the data type of the indicated resource.

    + +

    In order to locate XML documents and portions of documents, a locator value may contain either a URI or a fragment identifier, or both. Any fragment identifier for pointing into XML must be an XPointer.

    +

    Special syntax may be used to request the use of particular processing models in accessing the locator's resource. This is designed to reflect the realities of network operation, where it may or may not be desirable to exercise fine control over the distribution of work between local and remote processors. + + Locator + + Locator + URI + | Connector (XPointer | Name) + | URI Connector (XPointer | Name) + + + Connector'#' | '|' + + + URIURIchar* + + +

    +

    In this discussion, the term designated resource refers to the resource which an entire locator serves to locate. The following rules apply: + + +

    The URI, if provided, locates a resource called the containing resource.

    + + +

    If the URI is not provided, the containing resource is considered to be the document in which the linking element is contained. +

    + +

    If an XPointer is provided, the designated resource is a sub-resource + of the containing resource; otherwise the designated resource is the + containing resource.

    +
    + + +

    If the Connector is followed directly by a Name, the Name is shorthand for the XPointer"id(Name)"; that is, the sub-resource is the element in the containing resource that has an XML ID attribute whose value matches the Name. This shorthand is to encourage use of the robust id addressing mode.

    +
    + + +

    If the connector is "#", this signals an intent that the containing resource is to be fetched as a whole from the host that provides it, and that the XPointer processing to extract the sub-resource + is to be performed on the client, that is to say on the same system where the linking element is recognized and processed.

    +
    + +

    If the connector is "|", no intent is signaled as to what processing model is to be used to go about accessing the designated resource.

    +
    + +

    +

    Note that the definition of a URI includes an optional query component.

    +

    In the case where the URI contains a query (to be interpreted by the server), information providers and authors of server software are urged to use queries as follows: + + Query + + Query'XML-XPTR=' ( XPointer | Name) + + +

    + +
    + + + Link Recognition +

    The existence of a link is asserted by a linking element. Linking elements must be recognized reliably by application software in order to provide appropriate display and behavior. There are several ways link recognition could be accomplished: for example, reserving element type names, reserving attributes names, leaving the matter of recognition entirely up to stylesheets and application software, or using the XLink namespace to specify element names and attribute names that would be recognized by namespace and XLink-aware processors. Using element and attribute names within the XLink namespace provides a balance between giving users control of their own markup language design and keeping the identification of linking elements simple and unambiguous.

    +

    The two approaches to identifying linking elements are relatively simple to implement. For example, here's how the HTML A element would be declared using attributes within the XLink namespace, and then how an element within the XLink namespace might do the same: + <A xlink:type="simple" xlink:href="http://www.w3.org/TR/wd-xlink/" +xlink:title="The Xlink Working Draft">The XLink Working Draft.</A> + <xlink:simple href="http://www.w3.org/TR/wd-xlink/" +title="The XLink Working Draft">The XLink Working Draft</xlink:simple> + Any arbitrary element can be made into an XLink by using the xlink:type attribute. And, of course, the explicit XLink elements may be used, as well. This document will go on to describe the linking attributes that are associated with linking elements. It may be assumed by the reader that these attributes would require the xlink namespace prefix if they existed within an arbitrary element, or that they may be used directly if they exist within an explicit Xlink element.

    + +
    + + + + Linking Attributes +

    XLink has several attributes associated with the variety of links it may represent. These attributes define four main concepts: locators, arcs, behaviors, and semantics. Locators define where the actual resource is located. Arcs define the traversal of links. Where does the link come from? Where does it go to? All this information can be stored in the arc attributes. Behaviors define how the link is activated, and what the application should do with the resource being linked to. Semantics define useful information that the application may use, and enables the link for such specalized targets as constricted devices and accessibility software.

    + + + Locator Attributes +

    The only locator attribute at this time is href. This attribute must contain either a string in the form of a URI that defines the remote resource being linked to, a string containing a fragment identifier that links to a local resource, or a string containing a URI with a fragment identifier concacenated onto it.

    +
    + + + Arc Attributes +

    Arcs contain two attributes, from and to. The from attribute may contain a string containing the content of a role attribute from the resource being linked from. The purpose of the from attribute is to define where this link is being actuated from.

    +

    The to attribute may contain a string containing the content of a role attribute from the resource being linked to. The purpose of the to attribute is to define where this link traverses to.

    +

    The application may use this information in a number of ways, especially in a complex hypertext system, but it is mainly useful in providing context for application behavior.

    + +
    + + + Behavior Attributes +

    There are two attributes associated with behavior: show and actuate. The show attribute defines how the remote resource is to be revealed to the user. It has three options: new, parsed, and replace. The new option indicates that the remote resource should be shown in a new window (or other device context) without replacing the previous content. The parsed option, relating directly to the XML concept of a parsed entity, indicates that the content should be integrated into the document from which the link was actuated. The replace option is the one most commonly seen on the World Wide Web, where the document being linked from is entirely replaced by the object being linked to.

    +

    The actuate attribute defines how the link is initiated. It has two options: user and auto. The user option indicates that the link must be initiated by some sort of human-initiated selection, such as clicking on an HTML anchor. The auto option indicates that the link is automatically initiated when the application deems that the user has reached the link. It then follows the behavior set out in the show option.

    + +
    + + + Semantic Attributes +

    There are two attributes associated with semantics, role and title. The role attribute is a generic string used to describe the function of the link's content. For example, a poem might have a link with a role="stanza". The role is also used as an identifier for the from and to attributes of arcs.

    +

    The title attribute is designed to provide human-readable text describing the link. It is very useful for those who have text-based applications, whether that be due to a constricted device that cannot display the link's content, or if it's being read by an application to a visually-impaired user, or if it's being used to create a table of links. The title attribute contains a simple, descriptive string.

    +
    +
    + + + Linking Elements +

    There are several kinds of linking elements in XLink: simple links, locators, arcs, and extended links. These elements may be instantiated via element declarations from the XLink namespace, or they may be instantiated via attribute declarations from the XLink namespace. Both kinds of instantiation are described in the definition of each linking element.

    +

    The simple link is used to declare a link that approximates the functionality of the HTML A element. It has, however, a few added features to increase its value, including the potential declaration of semantics and behavior. The locator elements are used to define the resource being linked to. Some links may contain multiple locators, representing a choice of potential links to be traversed. The arcs are used to define the traversal semantics of the link. Finally, an extended linking element differs from a simple link in that it can connect any number of resources, not just one local resource (optionally) and one remote resource, and in that extended links are more often out-of-line than simple links.

    + + + Simple Links + +

    The following are two examples of linking elements, each showing all the possible attributes that can be associated with a simple link. Here is the explicit XLink simple linking element. + <!ELEMENT xlink:simple ANY> +<!ATTLIST xlink:slink + href CDATA #REQUIRED + role CDATA #IMPLIED + title CDATA #IMPLIED + show (new|parsed|replace) "replace" + actuate (user|auto) "user" +> + And here is how to make an arbitrary element into a simple link. + <!ELEMENT xlink:simple ANY> +<!ATTLIST foo + xlink:type (simple|extended|locator|arc) #FIXED "simple" + xlink:href CDATA #REQUIRED + xlink:role CDATA #IMPLIED + xlink:title CDATA #IMPLIED + xlink:show (new|parsed|replace) "replace" + xlink:actuate (user|auto) "user" +> + Here is how the first example might look in a document: +<xlink:simple href="http://www.w3.org/TR/wd-xlink" role="working draft" + title="The XLink Working Draft" show="replace" actuate="user"> +The XLink Working Draft.</xlink:simple> +<foo xlink:href="http://www.w3.org/TR/wd-xlink" xlink:role="working draft" + xlink:title="The XLink Working Draft" xlink:show="new" xlink:actuate="user"> +The XLink Working Draft.</foo> + Alternately, a simple link could be as terse as this: +<foo xlink:href="#stanza1">The First Stanza.</foo> +

    +

    + There are no constraints on the contents of a simple linking element. In + the sample declaration above, it is given a content model of ANY + to illustrate that any content model or declared content is acceptable. In + a valid document, every element that is significant to XLink must still conform + to the constraints expressed in its governing DTD.

    +

    Note that it is meaningful to have an out-of-line simple link, although + such links are uncommon. They are called "one-ended" and are typically used + to associate discrete semantic properties with locations. The properties might + be expressed by attributes on the link, the link's element type name, or in + some other way, and are not considered full-fledged resources of the link. + Most out-of-line links are extended links, as these have a far wider range + of uses.

    +
    + + +Extended Links +

    An extended link differs from a simple link in that it can connect any number of resources, not just one local resource (optionally) and one remote resource, and in that extended links are more often out-of-line than simple links.

    +

    These additional capabilities of extended links are required for: + + +

    Enabling outgoing links in documents that cannot be modified to add an inline link

    + + +

    Creating links to and from resources in formats with no native support for embedded links (such as most multimedia formats)

    +
    + +

    Applying and filtering sets of relevant links on demand

    +
    +

    Enabling other advanced hypermedia capabilities

    + +

    +

    Application software might be expected to provide traversal among all of a link's participating resources (subject to semantic constraints outside the scope of this specification) and to signal the fact that a given resource or sub-resource participates in one or more links when it is displayed (even though there is no markup at exactly that point to signal it).

    +

    A linking element for an extended link contains a series of child elements that serve as locators and arcs. Because an extended link can have more than one remote resource, it separates out linking itself from the mechanisms used to locate each resource (whereas a simple link combines the two).

    +

    The xlink:type attribute value for an extended link must be extended, if the link is being instantiated on an arbitrary element. Note that extended links introduce variants of the show and actuate behavior attributes. These attributes, the showdefault and actuatedefault define the same behavior as their counterparts. However, in this case, they are considered to define the default behavior for all the linking elements that they contain.

    +

    However, when a linking element within an extended link has a show or actuate attribute of its own, that attribute overrides the defaults set on the extended linking element.

    +

    The extended linking element itself retains those attributes relevant to the link as a whole, and to its local resource if any. Following are two sample declaration for an extended link. The first is an example of the explicit XLink extended link: + +<!ELEMENT xlink:extended ((xlink:arc | xlink:locator)*)> +<!ATTLIST xlink:extended + role CDATA #IMPLIED + title CDATA #IMPLIED + showdefault (new|parsed|replace) #IMPLIED + actuatedefault (user|auto) #IMPLIED > + + The second is an example of an arbitrary element being used an extended link: + +<!ELEMENT foo ((xlink:arc | xlink:locator)*)> +<!ATTLIST foo + xlink:type (simple|extended|locator|arc) #FIXED "extended" + xlink:role CDATA #IMPLIED + xlink:title CDATA #IMPLIED + xlink:showdefault (new|parsed|replace) #IMPLIED + xlink:actuatedefault (user|auto) #IMPLIED > + + The following two examples demonstrate how each of the above might appear within a document instance. Note that the content of these examples would be other elements. For brevity's sake, they've been left blank. The first example shows how the link might appear, using an explicit XLink extended link: + +<xlink:extended role="address book" title="Ben's Address Book" showdefault="replace" actuatedefault="user"> ... </xlink:extended> + + And the second shows how the link might appear, using an arbitrary element: + +<foo xlink:type="extended" xlink:role="address book" xlink:title="Ben's Address Book" xlink:showdefault="replace" xlink:actuatedefault="user"> ... </foo> +

    + +
    + + + Arc Elements +

    An arc is contained within an extended link for the purpose of defining traversal behavior. More than one arc may be associated with a link. Otherwise, arc elements function exactly as the arc attributes might lead on to expect.

    + +
    + +
    + +Conformance +

    An element conforms to XLink if: +

    The element has an xml:link attribute whose value is +one of the attribute values prescribed by this specification, and

    +

    the element and all of its attributes and content adhere to the +syntactic +requirements imposed by the chosen xml:link attribute value, +as prescribed in this specification.

    +

    +

    Note that conformance is assessed at the level of individual elements, +rather than whole XML documents, because XLink and non-XLink linking mechanisms +may be used side by side in any one document.

    +

    An application conforms to XLink if it interprets XLink-conforming elements +according to all required semantics prescribed by this specification and, +for any optional semantics it chooses to support, supports them in the way +prescribed.

    +
    + + +Unfinished Work + +Structured Titles +

    The simple title mechanism described in this draft is insufficient to cope +with internationalization or the use of multimedia in link titles. A future +version will provide a mechanism for the use of structured link titles.

    +
    +
    + +References + +Eve Maler and Steve DeRose, editors. +XML Pointer Language (XPointer) V1.0. ArborText, Inso, and Brown +University. Burlington, Seekonk, et al.: World Wide Web Consortium, 1998. +(See http://www.w3.org/TR/WD-xptr + .) +ISO (International Organization for +Standardization). ISO/IEC 10744-1992 (E). Information technology +- Hypermedia/Time-based Structuring Language (HyTime). [Geneva]: +International Organization for Standardization, 1992. Extended +Facilities +Annex. [Geneva]: International Organization for Standardization, +1996. (See http://www.ornl.go +v/sgml/wg8/hytime/html/is10744r.html ). +IETF (Internet Engineering Task +Force). +RFC 1738: Uniform Resource Locators. 1991. (See +http://www.w3.org/Addressing/rfc1738.txt). +IETF (Internet Engineering Task +Force). +RFC 1808: Relative Uniform Resource Locators. 1995. (See http://www.w3.org/Addressing/rfc +1808.txt ). +C. M. Sperberg-McQueen and Lou Burnard, editors. + +Guidelines for Electronic Text Encoding and Interchange. Association +for Computers and the Humanities (ACH), Association for Computational +Linguistics +(ACL), and Association for Literary and Linguistic Computing (ALLC). Chicago, +Oxford: Text Encoding Initiative, 1994. +]Steven J. DeRose and David G. Durand. 1995. "The +TEI Hypertext Guidelines." In Computing and the Humanities +29(3). +Reprinted in Text Encoding Initiative: Background and +Context, +ed. Nancy Ide and Jean ronis , ISBN 0-7923-3704-2. + +
    + diff --git a/result/valid/xlink.xml.err b/result/valid/xlink.xml.err new file mode 100644 index 0000000..c0eea7c --- /dev/null +++ b/result/valid/xlink.xml.err @@ -0,0 +1,4 @@ +./test/valid/xlink.xml:450: element termdef: validity error : ID dt-arc already defined +

    An arc is contained within an e + ^ +./test/valid/xlink.xml:199: element termref: validity error : IDREF attribute def references an unknown ID "dt-xlg" diff --git a/result/valid/xlink.xml.err.rdr b/result/valid/xlink.xml.err.rdr new file mode 100644 index 0000000..38594f4 --- /dev/null +++ b/result/valid/xlink.xml.err.rdr @@ -0,0 +1,4 @@ +./test/valid/xlink.xml:450: element termdef: validity error : ID dt-arc already defined +

    An + + + + + + + + + + + + + + +

    If automatic testing failed, select Failed + + + + + .

    + + + diff --git a/result/wap.xml.rde b/result/wap.xml.rde new file mode 100644 index 0000000..6867382 --- /dev/null +++ b/result/wap.xml.rde @@ -0,0 +1,70 @@ +0 10 wml 0 0 +0 8 #comment 0 1 (C) 1999, 2000 WAP Forum Ltd. All rights reserved +0 1 wml 0 0 +1 14 #text 0 1 + +1 1 card 0 0 +2 14 #text 0 1 + +2 1 onevent 0 0 +3 14 #text 0 1 + +3 1 go 0 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +3 15 go 0 0 +3 14 #text 0 1 + +2 15 onevent 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 If automatic testing failed, select +3 1 anchor 0 0 +4 3 #text 0 1 Failed +4 1 go 0 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +5 1 postfield 1 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +4 15 go 0 0 +3 15 anchor 0 0 +3 3 #text 0 1 . +2 15 p 0 0 +2 14 #text 0 1 + +1 15 card 0 0 +1 14 #text 0 1 + + +0 15 wml 0 0 diff --git a/result/wap.xml.rdr b/result/wap.xml.rdr new file mode 100644 index 0000000..6867382 --- /dev/null +++ b/result/wap.xml.rdr @@ -0,0 +1,70 @@ +0 10 wml 0 0 +0 8 #comment 0 1 (C) 1999, 2000 WAP Forum Ltd. All rights reserved +0 1 wml 0 0 +1 14 #text 0 1 + +1 1 card 0 0 +2 14 #text 0 1 + +2 1 onevent 0 0 +3 14 #text 0 1 + +3 1 go 0 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +4 1 postfield 1 0 +4 14 #text 0 1 + +3 15 go 0 0 +3 14 #text 0 1 + +2 15 onevent 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 If automatic testing failed, select +3 1 anchor 0 0 +4 3 #text 0 1 Failed +4 1 go 0 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +5 1 postfield 1 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +5 14 #text 0 1 + +5 1 postfield 1 0 +4 15 go 0 0 +3 15 anchor 0 0 +3 3 #text 0 1 . +2 15 p 0 0 +2 14 #text 0 1 + +1 15 card 0 0 +1 14 #text 0 1 + + +0 15 wml 0 0 diff --git a/result/wap.xml.sax b/result/wap.xml.sax new file mode 100644 index 0000000..ca89e70 --- /dev/null +++ b/result/wap.xml.sax @@ -0,0 +1,86 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://dark.wapit.com/vswap/tests/wap/DTD/wml11.dtd) +SAX.externalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://dark.wapit.com/vswap/tests/wap/DTD/wml11.dtd) +SAX.comment( (C) 1999, 2000 WAP Forum Ltd. All rights reserved ) +SAX.startElement(wml) +SAX.characters( +, 1) +SAX.startElement(card, id='card1') +SAX.characters( +, 1) +SAX.startElement(onevent, type='onenterforward') +SAX.characters( +, 1) +SAX.startElement(go, href='/vswap/run/result.eml') +SAX.characters( + , 9) +SAX.startElement(postfield, name='var', value='$test') +SAX.endElement(postfield) +SAX.characters( + , 9) +SAX.startElement(postfield, name='v', value='dark') +SAX.endElement(postfield) +SAX.characters( + , 9) +SAX.startElement(postfield, name='ts', value='0003') +SAX.endElement(postfield) +SAX.characters( + , 9) +SAX.startElement(postfield, name='tp', value='wml/state/variables/parsing/1') +SAX.endElement(postfield) +SAX.characters( + , 9) +SAX.startElement(postfield, name='ti', value='1') +SAX.endElement(postfield) +SAX.characters( + , 9) +SAX.startElement(postfield, name='expected', value='var:pass') +SAX.endElement(postfield) +SAX.characters( +, 1) +SAX.endElement(go) +SAX.characters( +, 1) +SAX.endElement(onevent) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters(If automatic testing failed, s, 36) +SAX.startElement(anchor) +SAX.characters(Failed, 6) +SAX.startElement(go, href='/vswap/run/result.eml') +SAX.characters( + , 9) +SAX.startElement(postfield, name='SUBMIT', value='No') +SAX.endElement(postfield) +SAX.startElement(postfield, name='v', value='dark') +SAX.endElement(postfield) +SAX.characters( + , 9) +SAX.startElement(postfield, name='ts', value='0003') +SAX.endElement(postfield) +SAX.characters( + , 9) +SAX.startElement(postfield, name='tp', value='wml/state/variables/parsing/1') +SAX.endElement(postfield) +SAX.characters( + , 9) +SAX.startElement(postfield, name='ti', value='1') +SAX.endElement(postfield) +SAX.characters( + , 9) +SAX.startElement(postfield, name='expected', value='var:pass') +SAX.endElement(postfield) +SAX.endElement(go) +SAX.endElement(anchor) +SAX.characters(., 1) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.endElement(card) +SAX.characters( + +, 2) +SAX.endElement(wml) +SAX.endDocument() diff --git a/result/wap.xml.sax2 b/result/wap.xml.sax2 new file mode 100644 index 0000000..6d40b25 --- /dev/null +++ b/result/wap.xml.sax2 @@ -0,0 +1,87 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://dark.wapit.com/vswap/tests/wap/DTD/wml11.dtd) +SAX.externalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://dark.wapit.com/vswap/tests/wap/DTD/wml11.dtd) +SAX.comment( (C) 1999, 2000 WAP Forum Ltd. All rights reserved ) +SAX.startElementNs(wml, NULL, NULL, 0, 0, 0) +SAX.characters( +, 1) +SAX.startElementNs(card, NULL, NULL, 0, 1, 0, id='card...', 5) +SAX.characters( +, 1) +SAX.startElementNs(onevent, NULL, NULL, 0, 1, 0, type='onen...', 14) +SAX.characters( +, 1) +SAX.startElementNs(go, NULL, NULL, 0, 1, 0, href='/vsw...', 21) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='var"...', 3, value='$tes...', 5) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='v" v...', 1, value='dark...', 4) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ts" ...', 2, value='0003...', 4) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='tp" ...', 2, value='wml/...', 29) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ti" ...', 2, value='1"/>...', 1) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='expe...', 8, value='var:...', 8) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(go, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(onevent, NULL, NULL) +SAX.characters( +, 1) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters(If automatic testing failed, s, 36) +SAX.startElementNs(anchor, NULL, NULL, 0, 0, 0) +SAX.characters(Failed, 6) +SAX.startElementNs(go, NULL, NULL, 0, 1, 0, href='/vsw...', 21) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='SUBM...', 6, value='No"/...', 2) +SAX.endElementNs(postfield, NULL, NULL) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='v" +v...', 1, value='dark...', 4) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ts" ...', 2, value='0003...', 4) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='tp" ...', 2, value='wml/...', 29) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ti" ...', 2, value='1"/>...', 1) +SAX.endElementNs(postfield, NULL, NULL) +SAX.characters( + , 9) +SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='expe...', 8, value='var:...', 8) +SAX.endElementNs(postfield, NULL, NULL) +SAX.endElementNs(go, NULL, NULL) +SAX.endElementNs(anchor, NULL, NULL) +SAX.characters(., 1) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(card, NULL, NULL) +SAX.characters( + +, 2) +SAX.endElementNs(wml, NULL, NULL) +SAX.endDocument() diff --git a/result/winblanks.xml b/result/winblanks.xml new file mode 100644 index 0000000..0044aa2 --- /dev/null +++ b/result/winblanks.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/result/winblanks.xml.rde b/result/winblanks.xml.rde new file mode 100644 index 0000000..2f6a5d3 --- /dev/null +++ b/result/winblanks.xml.rde @@ -0,0 +1,13 @@ +0 1 a 0 0 +1 14 #text 0 1 + +1 1 B 0 0 +2 14 #text 0 1 + +2 1 C 1 0 +2 14 #text 0 1 + +1 15 B 0 0 +1 14 #text 0 1 + +0 15 a 0 0 diff --git a/result/winblanks.xml.rdr b/result/winblanks.xml.rdr new file mode 100644 index 0000000..2f6a5d3 --- /dev/null +++ b/result/winblanks.xml.rdr @@ -0,0 +1,13 @@ +0 1 a 0 0 +1 14 #text 0 1 + +1 1 B 0 0 +2 14 #text 0 1 + +2 1 C 1 0 +2 14 #text 0 1 + +1 15 B 0 0 +1 14 #text 0 1 + +0 15 a 0 0 diff --git a/result/winblanks.xml.sax b/result/winblanks.xml.sax new file mode 100644 index 0000000..72e39d5 --- /dev/null +++ b/result/winblanks.xml.sax @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(a) +SAX.characters( + , 5) +SAX.startElement(B) +SAX.characters( + , 9) +SAX.startElement(C) +SAX.endElement(C) +SAX.characters( , 3) +SAX.characters( +, 1) +SAX.endElement(B) +SAX.characters( +, 1) +SAX.endElement(a) +SAX.endDocument() diff --git a/result/winblanks.xml.sax2 b/result/winblanks.xml.sax2 new file mode 100644 index 0000000..6e9d693 --- /dev/null +++ b/result/winblanks.xml.sax2 @@ -0,0 +1,18 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElementNs(a, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(B, NULL, NULL, 0, 0, 0) +SAX.characters( + , 9) +SAX.startElementNs(C, NULL, NULL, 0, 0, 0) +SAX.endElementNs(C, NULL, NULL) +SAX.characters( , 3) +SAX.characters( +, 1) +SAX.endElementNs(B, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(a, NULL, NULL) +SAX.endDocument() diff --git a/result/wml.xml b/result/wml.xml new file mode 100644 index 0000000..3a96562 --- /dev/null +++ b/result/wml.xml @@ -0,0 +1,10 @@ + + + + +

    + Cinéma
    +

    + +
    +
    diff --git a/result/wml.xml.rde b/result/wml.xml.rde new file mode 100644 index 0000000..1bb28d4 --- /dev/null +++ b/result/wml.xml.rde @@ -0,0 +1,24 @@ +0 10 wml 0 0 +0 1 wml 0 0 +1 14 #text 0 1 + +1 1 card 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 14 #text 0 1 + +3 1 a 0 0 +4 3 #text 0 1 Cinéma +3 15 a 0 0 +3 1 br 1 0 +3 14 #text 0 1 + +2 15 p 0 0 +2 14 #text 0 1 + + +1 15 card 0 0 +1 14 #text 0 1 + +0 15 wml 0 0 diff --git a/result/wml.xml.rdr b/result/wml.xml.rdr new file mode 100644 index 0000000..1bb28d4 --- /dev/null +++ b/result/wml.xml.rdr @@ -0,0 +1,24 @@ +0 10 wml 0 0 +0 1 wml 0 0 +1 14 #text 0 1 + +1 1 card 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 14 #text 0 1 + +3 1 a 0 0 +4 3 #text 0 1 Cinéma +3 15 a 0 0 +3 1 br 1 0 +3 14 #text 0 1 + +2 15 p 0 0 +2 14 #text 0 1 + + +1 15 card 0 0 +1 14 #text 0 1 + +0 15 wml 0 0 diff --git a/result/wml.xml.sax b/result/wml.xml.sax new file mode 100644 index 0000000..46959bb --- /dev/null +++ b/result/wml.xml.sax @@ -0,0 +1,31 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://www.wapforum.org/DTD/wml_1.1.xml) +SAX.externalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://www.wapforum.org/DTD/wml_1.1.xml) +SAX.startElement(wml) +SAX.characters( + , 3) +SAX.startElement(card, id='card1', title='Rubriques 75008') +SAX.characters( + , 2) +SAX.startElement(p) +SAX.characters( + , 3) +SAX.startElement(a, href='rubmenu.asp?CP=75008&RB=01') +SAX.characters(Cin, 3) +SAX.characters(é, 2) +SAX.characters(ma, 2) +SAX.endElement(a) +SAX.startElement(br) +SAX.endElement(br) +SAX.characters( + , 2) +SAX.endElement(p) +SAX.characters( + +, 2) +SAX.endElement(card) +SAX.characters( +, 1) +SAX.endElement(wml) +SAX.endDocument() diff --git a/result/wml.xml.sax2 b/result/wml.xml.sax2 new file mode 100644 index 0000000..bc86149 --- /dev/null +++ b/result/wml.xml.sax2 @@ -0,0 +1,31 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://www.wapforum.org/DTD/wml_1.1.xml) +SAX.externalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://www.wapforum.org/DTD/wml_1.1.xml) +SAX.startElementNs(wml, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(card, NULL, NULL, 0, 2, 0, id='card...', 5, title='Rubr...', 15) +SAX.characters( + , 2) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(a, NULL, NULL, 0, 1, 0, href='rubm...', 30) +SAX.characters(Cin, 3) +SAX.characters(é, 2) +SAX.characters(ma, 2) +SAX.endElementNs(a, NULL, NULL) +SAX.startElementNs(br, NULL, NULL, 0, 0, 0) +SAX.endElementNs(br, NULL, NULL) +SAX.characters( + , 2) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + +, 2) +SAX.endElementNs(card, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(wml, NULL, NULL) +SAX.endDocument() diff --git a/result/xhtml1 b/result/xhtml1 new file mode 100644 index 0000000..6c06a95 --- /dev/null +++ b/result/xhtml1 @@ -0,0 +1,30 @@ + + + + + + Virtual Library + + + + +

    Moved to example.org.

    + + + foo + +

    + +

    coucou

    +

    salut

    + +

    test

    + +
    +
    Internet Engineering Task Force
    +
    An organization which establishes technical standards for the Internet
    +
    + + diff --git a/result/xhtml1.rde b/result/xhtml1.rde new file mode 100644 index 0000000..4d2cc24 --- /dev/null +++ b/result/xhtml1.rde @@ -0,0 +1,95 @@ +0 10 html 0 0 +0 8 #comment 0 1 3.1.1 3/ +0 1 html 0 0 +1 14 #text 0 1 + +1 1 head 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Virtual Library +2 15 title 0 0 +2 14 #text 0 1 + +1 15 head 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 4.8 +1 14 #text 0 1 + +1 1 script 0 0 +2 3 #text 0 1 + ... unescaped script < content ... + +1 15 script 0 0 +1 14 #text 0 1 + +1 1 body 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 Moved to +3 1 a 0 0 +4 3 #text 0 1 example.org +3 15 a 0 0 +3 3 #text 0 1 . +2 15 p 0 0 +2 14 #text 0 1 + +1 15 body 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 C2 +1 14 #text 0 1 + +1 1 img 1 0 +1 14 #text 0 1 + +1 8 #comment 0 1 C3 +1 14 #text 0 1 + +1 1 p 1 0 +1 14 #text 0 1 + +1 8 #comment 0 1 C7 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 coucou +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 salut +1 15 p 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 C8 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 test +1 15 p 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 4.5 +1 14 #text 0 1 + +1 1 dl 0 0 +2 14 #text 0 1 + +2 1 dt 0 0 +3 3 #text 0 1 Internet Engineering Task Force +2 15 dt 0 0 +2 14 #text 0 1 + +2 1 dd 0 0 +3 3 #text 0 1 An organization which establishes technical standards for the Internet +2 15 dd 0 0 +2 14 #text 0 1 + +1 15 dl 0 0 +1 14 #text 0 1 + + +0 15 html 0 0 diff --git a/result/xhtml1.rdr b/result/xhtml1.rdr new file mode 100644 index 0000000..4d2cc24 --- /dev/null +++ b/result/xhtml1.rdr @@ -0,0 +1,95 @@ +0 10 html 0 0 +0 8 #comment 0 1 3.1.1 3/ +0 1 html 0 0 +1 14 #text 0 1 + +1 1 head 0 0 +2 14 #text 0 1 + +2 1 title 0 0 +3 3 #text 0 1 Virtual Library +2 15 title 0 0 +2 14 #text 0 1 + +1 15 head 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 4.8 +1 14 #text 0 1 + +1 1 script 0 0 +2 3 #text 0 1 + ... unescaped script < content ... + +1 15 script 0 0 +1 14 #text 0 1 + +1 1 body 0 0 +2 14 #text 0 1 + +2 1 p 0 0 +3 3 #text 0 1 Moved to +3 1 a 0 0 +4 3 #text 0 1 example.org +3 15 a 0 0 +3 3 #text 0 1 . +2 15 p 0 0 +2 14 #text 0 1 + +1 15 body 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 C2 +1 14 #text 0 1 + +1 1 img 1 0 +1 14 #text 0 1 + +1 8 #comment 0 1 C3 +1 14 #text 0 1 + +1 1 p 1 0 +1 14 #text 0 1 + +1 8 #comment 0 1 C7 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 coucou +1 15 p 0 0 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 salut +1 15 p 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 C8 +1 14 #text 0 1 + +1 1 p 0 0 +2 3 #text 0 1 test +1 15 p 0 0 +1 14 #text 0 1 + +1 8 #comment 0 1 4.5 +1 14 #text 0 1 + +1 1 dl 0 0 +2 14 #text 0 1 + +2 1 dt 0 0 +3 3 #text 0 1 Internet Engineering Task Force +2 15 dt 0 0 +2 14 #text 0 1 + +2 1 dd 0 0 +3 3 #text 0 1 An organization which establishes technical standards for the Internet +2 15 dd 0 0 +2 14 #text 0 1 + +1 15 dl 0 0 +1 14 #text 0 1 + + +0 15 html 0 0 diff --git a/result/xhtml1.sax b/result/xhtml1.sax new file mode 100644 index 0000000..624fa38 --- /dev/null +++ b/result/xhtml1.sax @@ -0,0 +1,103 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.externalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.comment( 3.1.1 3/ ) +SAX.startElement(html, xml:lang='en', lang='en') +SAX.characters( + , 3) +SAX.startElement(head) +SAX.characters( + , 5) +SAX.startElement(title) +SAX.characters(Virtual Library, 15) +SAX.endElement(title) +SAX.characters( + , 3) +SAX.endElement(head) +SAX.characters( + , 3) +SAX.comment( 4.8 ) +SAX.characters( + , 3) +SAX.startElement(script, type='text/javascript') +SAX.characters( + ... unescaped script , 24) +SAX.characters(<, 1) +SAX.characters( content ... + , 15) +SAX.endElement(script) +SAX.characters( + , 3) +SAX.startElement(body) +SAX.characters( + , 5) +SAX.startElement(p) +SAX.characters(Moved to , 9) +SAX.startElement(a, href='http://example.org/') +SAX.characters(example.org, 11) +SAX.endElement(a) +SAX.characters(., 1) +SAX.endElement(p) +SAX.characters( + , 3) +SAX.endElement(body) +SAX.characters( + , 3) +SAX.comment( C2 ) +SAX.characters( + , 3) +SAX.startElement(img, src='foo.gif', alt='foo') +SAX.endElement(img) +SAX.characters( + , 3) +SAX.comment( C3 ) +SAX.characters( + , 3) +SAX.startElement(p) +SAX.endElement(p) +SAX.characters( + , 3) +SAX.comment( C7 ) +SAX.characters( + , 3) +SAX.startElement(p, lang='fr') +SAX.characters(coucou, 6) +SAX.endElement(p) +SAX.characters( + , 3) +SAX.startElement(p, xml:lang='fr') +SAX.characters(salut, 5) +SAX.endElement(p) +SAX.characters( + , 3) +SAX.comment( C8 ) +SAX.characters( + , 3) +SAX.startElement(p, name='fragid') +SAX.characters(test, 4) +SAX.endElement(p) +SAX.characters( + , 3) +SAX.comment( 4.5 ) +SAX.characters( + , 3) +SAX.startElement(dl, compact='') +SAX.characters( + , 3) +SAX.startElement(dt) +SAX.characters(Internet Engineering Task Forc, 31) +SAX.endElement(dt) +SAX.characters( + , 3) +SAX.startElement(dd) +SAX.characters(An organization which establis, 70) +SAX.endElement(dd) +SAX.characters( + , 3) +SAX.endElement(dl) +SAX.characters( + +, 2) +SAX.endElement(html) +SAX.endDocument() diff --git a/result/xhtml1.sax2 b/result/xhtml1.sax2 new file mode 100644 index 0000000..e6952c8 --- /dev/null +++ b/result/xhtml1.sax2 @@ -0,0 +1,104 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.externalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.comment( 3.1.1 3/ ) +SAX.startElementNs(html, NULL, NULL, 0, 2, 0, xml:lang='en" ...', 2, lang='en">...', 2) +SAX.characters( + , 3) +SAX.startElementNs(head, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(title, NULL, NULL, 0, 0, 0) +SAX.characters(Virtual Library, 15) +SAX.endElementNs(title, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(head, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( 4.8 ) +SAX.characters( + , 3) +SAX.startElementNs(script, NULL, NULL, 0, 1, 0, type='text...', 15) +SAX.characters( + ... unescaped script , 24) +SAX.characters(<, 1) +SAX.characters( content ... + , 15) +SAX.endElementNs(script, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(body, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters(Moved to , 9) +SAX.startElementNs(a, NULL, NULL, 0, 1, 0, href='http...', 19) +SAX.characters(example.org, 11) +SAX.endElementNs(a, NULL, NULL) +SAX.characters(., 1) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(body, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( C2 ) +SAX.characters( + , 3) +SAX.startElementNs(img, NULL, NULL, 0, 2, 0, src='foo....', 7, alt='foo"...', 3) +SAX.endElementNs(img, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( C3 ) +SAX.characters( + , 3) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( C7 ) +SAX.characters( + , 3) +SAX.startElementNs(p, NULL, NULL, 0, 1, 0, lang='fr">...', 2) +SAX.characters(coucou, 6) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(p, NULL, NULL, 0, 1, 0, xml:lang='fr">...', 2) +SAX.characters(salut, 5) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( C8 ) +SAX.characters( + , 3) +SAX.startElementNs(p, NULL, NULL, 0, 1, 0, name='frag...', 6) +SAX.characters(test, 4) +SAX.endElementNs(p, NULL, NULL) +SAX.characters( + , 3) +SAX.comment( 4.5 ) +SAX.characters( + , 3) +SAX.startElementNs(dl, NULL, NULL, 0, 1, 0, compact='"> + ...', 0) +SAX.characters( + , 3) +SAX.startElementNs(dt, NULL, NULL, 0, 0, 0) +SAX.characters(Internet Engineering Task Forc, 31) +SAX.endElementNs(dt, NULL, NULL) +SAX.characters( + , 3) +SAX.startElementNs(dd, NULL, NULL, 0, 0, 0) +SAX.characters(An organization which establis, 70) +SAX.endElementNs(dd, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(dl, NULL, NULL) +SAX.characters( + +, 2) +SAX.endElementNs(html, NULL, NULL) +SAX.endDocument() diff --git a/result/xhtmlcomp b/result/xhtmlcomp new file mode 100644 index 0000000..4ce634c --- /dev/null +++ b/result/xhtmlcomp @@ -0,0 +1,7 @@ + + + + +

    a b

    + + diff --git a/result/xhtmlcomp.rde b/result/xhtmlcomp.rde new file mode 100644 index 0000000..97517b7 --- /dev/null +++ b/result/xhtmlcomp.rde @@ -0,0 +1,19 @@ +0 10 html 0 0 +0 1 html 0 0 +1 14 #text 0 1 + +1 1 body 0 0 +2 14 #text 0 1 + +2 1 h1 0 0 +3 1 abbr 0 0 +4 3 #text 0 1 a +3 15 abbr 0 0 +3 3 #text 0 1 b +2 15 h1 0 0 +2 14 #text 0 1 + +1 15 body 0 0 +1 14 #text 0 1 + +0 15 html 0 0 diff --git a/result/xhtmlcomp.rdr b/result/xhtmlcomp.rdr new file mode 100644 index 0000000..97517b7 --- /dev/null +++ b/result/xhtmlcomp.rdr @@ -0,0 +1,19 @@ +0 10 html 0 0 +0 1 html 0 0 +1 14 #text 0 1 + +1 1 body 0 0 +2 14 #text 0 1 + +2 1 h1 0 0 +3 1 abbr 0 0 +4 3 #text 0 1 a +3 15 abbr 0 0 +3 3 #text 0 1 b +2 15 h1 0 0 +2 14 #text 0 1 + +1 15 body 0 0 +1 14 #text 0 1 + +0 15 html 0 0 diff --git a/result/xhtmlcomp.sax b/result/xhtmlcomp.sax new file mode 100644 index 0000000..a7a0d69 --- /dev/null +++ b/result/xhtmlcomp.sax @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.externalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.startElement(html) +SAX.characters( + , 3) +SAX.startElement(body) +SAX.characters( + , 5) +SAX.startElement(h1) +SAX.startElement(abbr) +SAX.characters(a, 1) +SAX.endElement(abbr) +SAX.characters( b, 2) +SAX.endElement(h1) +SAX.characters( + , 3) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.endDocument() diff --git a/result/xhtmlcomp.sax2 b/result/xhtmlcomp.sax2 new file mode 100644 index 0000000..085b770 --- /dev/null +++ b/result/xhtmlcomp.sax2 @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.externalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) +SAX.startElementNs(html, NULL, NULL, 0, 0, 0) +SAX.characters( + , 3) +SAX.startElementNs(body, NULL, NULL, 0, 0, 0) +SAX.characters( + , 5) +SAX.startElementNs(h1, NULL, NULL, 0, 0, 0) +SAX.startElementNs(abbr, NULL, NULL, 0, 0, 0) +SAX.characters(a, 1) +SAX.endElementNs(abbr, NULL, NULL) +SAX.characters( b, 2) +SAX.endElementNs(h1, NULL, NULL) +SAX.characters( + , 3) +SAX.endElementNs(body, NULL, NULL) +SAX.characters( +, 1) +SAX.endElementNs(html, NULL, NULL) +SAX.endDocument() diff --git a/result/xml1 b/result/xml1 new file mode 100644 index 0000000..d32f56c --- /dev/null +++ b/result/xml1 @@ -0,0 +1,7 @@ + +An ampersand (&#38;) may be escaped + numerically (&#38;#38;) or with a general entity + (&amp;).

    "> +]> +&example; diff --git a/result/xml1.rde b/result/xml1.rde new file mode 100644 index 0000000..ecd6154 --- /dev/null +++ b/result/xml1.rde @@ -0,0 +1,8 @@ +0 10 test 0 0 +0 1 test 0 0 +1 1 p 0 0 +2 3 #text 0 1 An ampersand (&) may be escaped + numerically (&) or with a general entity + (&). +1 15 p 0 0 +0 15 test 0 0 diff --git a/result/xml1.rdr b/result/xml1.rdr new file mode 100644 index 0000000..9c9b943 --- /dev/null +++ b/result/xml1.rdr @@ -0,0 +1,4 @@ +0 10 test 0 0 +0 1 test 0 0 +1 5 example 0 0 +0 15 test 0 0 diff --git a/result/xml1.sax b/result/xml1.sax new file mode 100644 index 0000000..13f881b --- /dev/null +++ b/result/xml1.sax @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.entityDecl(example, 1, (null), (null),

    An ampersand (&) may be escaped + numerically (&#38;) or with a general entity + (&amp;).

    ) +SAX.getEntity(example) +SAX.externalSubset(test, , ) +SAX.startElement(test) +SAX.getEntity(example) +SAX.startElement(p) +SAX.characters(An ampersand (, 14) +SAX.characters(&, 1) +SAX.characters() may be escaped + numerically , 31) +SAX.characters(&, 1) +SAX.characters(#38;) or with a general entity, 34) +SAX.characters(&, 1) +SAX.characters(amp;)., 6) +SAX.endElement(p) +SAX.reference(example) +SAX.endElement(test) +SAX.endDocument() diff --git a/result/xml1.sax2 b/result/xml1.sax2 new file mode 100644 index 0000000..7b220f2 --- /dev/null +++ b/result/xml1.sax2 @@ -0,0 +1,23 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.entityDecl(example, 1, (null), (null),

    An ampersand (&) may be escaped + numerically (&#38;) or with a general entity + (&amp;).

    ) +SAX.getEntity(example) +SAX.externalSubset(test, , ) +SAX.startElementNs(test, NULL, NULL, 0, 0, 0) +SAX.getEntity(example) +SAX.startElementNs(p, NULL, NULL, 0, 0, 0) +SAX.characters(An ampersand (, 14) +SAX.characters(&, 1) +SAX.characters() may be escaped + numerically , 31) +SAX.characters(&, 1) +SAX.characters(#38;) or with a general entity, 34) +SAX.characters(&, 1) +SAX.characters(amp;)., 6) +SAX.endElementNs(p, NULL, NULL) +SAX.reference(example) +SAX.endElementNs(test, NULL, NULL) +SAX.endDocument() diff --git a/result/xml2 b/result/xml2 new file mode 100644 index 0000000..b26b358 --- /dev/null +++ b/result/xml2 @@ -0,0 +1,8 @@ + + + +'> + +]> +This sample shows a &tricky; method. diff --git a/result/xml2.rde b/result/xml2.rde new file mode 100644 index 0000000..cfdf217 --- /dev/null +++ b/result/xml2.rde @@ -0,0 +1,4 @@ +0 10 test 0 0 +0 1 test 0 0 +1 3 #text 0 1 This sample shows a error-prone method. +0 15 test 0 0 diff --git a/result/xml2.rdr b/result/xml2.rdr new file mode 100644 index 0000000..05dce2a --- /dev/null +++ b/result/xml2.rdr @@ -0,0 +1,6 @@ +0 10 test 0 0 +0 1 test 0 0 +1 3 #text 0 1 This sample shows a +1 5 tricky 0 0 +1 3 #text 0 1 method. +0 15 test 0 0 diff --git a/result/xml2.sax b/result/xml2.sax new file mode 100644 index 0000000..141accd --- /dev/null +++ b/result/xml2.sax @@ -0,0 +1,18 @@ +xmlSAXUserParseFile returned error 27 +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.elementDecl(test, 3, ...) +SAX.entityDecl(xx, 4, (null), (null), %zz;) +SAX.getParameterEntity(xx) +SAX.entityDecl(zz, 4, (null), (null), ) +SAX.getParameterEntity(zz) +SAX.getParameterEntity(xx) +SAX.error: PEReference: %xx; not found +SAX.characters(This sample shows a , 20) +SAX.getEntity(tricky) +SAX.error: Entity 'tricky' not defined +SAX.reference(tricky) +SAX.characters( method., 8) +SAX.endDocument() +xmlSAXUserParseFile returned error 27 diff --git a/result/xml2.sax2 b/result/xml2.sax2 new file mode 100644 index 0000000..141accd --- /dev/null +++ b/result/xml2.sax2 @@ -0,0 +1,18 @@ +xmlSAXUserParseFile returned error 27 +SAX.setDocumentLocator() +SAX.startDocument() +SAX.internalSubset(test, , ) +SAX.elementDecl(test, 3, ...) +SAX.entityDecl(xx, 4, (null), (null), %zz;) +SAX.getParameterEntity(xx) +SAX.entityDecl(zz, 4, (null), (null), ) +SAX.getParameterEntity(zz) +SAX.getParameterEntity(xx) +SAX.error: PEReference: %xx; not found +SAX.characters(This sample shows a , 20) +SAX.getEntity(tricky) +SAX.error: Entity 'tricky' not defined +SAX.reference(tricky) +SAX.characters( method., 8) +SAX.endDocument() +xmlSAXUserParseFile returned error 27 diff --git a/result/xmlid/id_err1.xml b/result/xmlid/id_err1.xml new file mode 100644 index 0000000..2e47afd --- /dev/null +++ b/result/xmlid/id_err1.xml @@ -0,0 +1,2 @@ +Object is a Node Set : +Set contains 0 nodes: diff --git a/result/xmlid/id_err1.xml.err b/result/xmlid/id_err1.xml.err new file mode 100644 index 0000000..9efeb47 --- /dev/null +++ b/result/xmlid/id_err1.xml.err @@ -0,0 +1,3 @@ +./test/xmlid/id_err1.xml:1: validity error : xml:id : attribute value 0bar is not an NCName + + ^ diff --git a/result/xmlid/id_err2.xml b/result/xmlid/id_err2.xml new file mode 100644 index 0000000..33ee896 --- /dev/null +++ b/result/xmlid/id_err2.xml @@ -0,0 +1,6 @@ +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT foo + ATTRIBUTE id + TEXT + content=bar diff --git a/result/xmlid/id_err2.xml.err b/result/xmlid/id_err2.xml.err new file mode 100644 index 0000000..9e974d4 --- /dev/null +++ b/result/xmlid/id_err2.xml.err @@ -0,0 +1,3 @@ +./test/xmlid/id_err2.xml:3: validity error : xml:id : attribute type should be ID + + ^ diff --git a/result/xmlid/id_tst1.xml b/result/xmlid/id_tst1.xml new file mode 100644 index 0000000..33ee896 --- /dev/null +++ b/result/xmlid/id_tst1.xml @@ -0,0 +1,6 @@ +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT foo + ATTRIBUTE id + TEXT + content=bar diff --git a/result/xmlid/id_tst1.xml.err b/result/xmlid/id_tst1.xml.err new file mode 100644 index 0000000..e69de29 diff --git a/result/xmlid/id_tst2.xml b/result/xmlid/id_tst2.xml new file mode 100644 index 0000000..856a320 --- /dev/null +++ b/result/xmlid/id_tst2.xml @@ -0,0 +1,6 @@ +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT n:foo + ATTRIBUTE id + TEXT + content=bar diff --git a/result/xmlid/id_tst2.xml.err b/result/xmlid/id_tst2.xml.err new file mode 100644 index 0000000..390d48d --- /dev/null +++ b/result/xmlid/id_tst2.xml.err @@ -0,0 +1,3 @@ +./test/xmlid/id_tst2.xml:1: namespace error : Namespace prefix n on foo is not defined + + ^ diff --git a/result/xmlid/id_tst3.xml b/result/xmlid/id_tst3.xml new file mode 100644 index 0000000..6d8865c --- /dev/null +++ b/result/xmlid/id_tst3.xml @@ -0,0 +1,6 @@ +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT f:o:o + ATTRIBUTE id + TEXT + content=bar diff --git a/result/xmlid/id_tst3.xml.err b/result/xmlid/id_tst3.xml.err new file mode 100644 index 0000000..7aa3e1c --- /dev/null +++ b/result/xmlid/id_tst3.xml.err @@ -0,0 +1,6 @@ +./test/xmlid/id_tst3.xml:1: namespace error : Failed to parse QName 'f:o:' + + ^ +./test/xmlid/id_tst3.xml:1: namespace error : Namespace prefix f on o:o is not defined + + ^ diff --git a/result/xmlid/id_tst4.xml b/result/xmlid/id_tst4.xml new file mode 100644 index 0000000..33ee896 --- /dev/null +++ b/result/xmlid/id_tst4.xml @@ -0,0 +1,6 @@ +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT foo + ATTRIBUTE id + TEXT + content=bar diff --git a/result/xmlid/id_tst4.xml.err b/result/xmlid/id_tst4.xml.err new file mode 100644 index 0000000..36c78c8 --- /dev/null +++ b/result/xmlid/id_tst4.xml.err @@ -0,0 +1,3 @@ +./test/xmlid/id_tst4.xml:3: element err: validity error : ID bar already defined + + ^ diff --git a/rngparser.c b/rngparser.c new file mode 100644 index 0000000..7731d4d --- /dev/null +++ b/rngparser.c @@ -0,0 +1,1595 @@ +/** + * rngparser.c: parser for the Relax-NG compact syntax. + * + * Based on: + * RELAX NG Compact Syntax + * Committee Specification 21 November 2002 + * http://www.oasis-open.org/committees/relax-ng/compact-20021121.html + * + * See Copyright for the status of this software. + * + * Daniel Veillard + */ + +#include + +#include +#include +#include +#include + +#define TODO \ + xmlGenericError(xmlGenericErrorContext, \ + "Unimplemented block at %s:%d\n", \ + __FILE__, __LINE__); + +#define MAX_TOKEN 10 + +typedef enum { + CRNG_NONE = 0, + CRNG_OP = 1, + CRNG_KEYWORD, + CRNG_IDENTIFIER, + CRNG_LITERAL_SEGMENT, + CRNG_CNAME, + CRNG_QNAME, + CRNG_NSNAME, + CRNG_DOCUMENTATION +} xmlCRNGTokType; + +typedef enum { + CRNG_OKAY = 0, + CRNG_MEMORY_ERROR, + CRNG_INVALID_CHAR_ERROR, + CRNG_END_ERROR, + CRNG_ENCODING_ERROR +} xmlCRNGError; + +typedef enum { + XML_CRNG_ERROR = -1, + XML_CRNG_OK = 0, + XML_CRNG_EOF = 1 +} xmlCRelaxNGParserState; + +typedef struct _token _token; +typedef _token *tokenPtr; +struct _token { + xmlCRNGTokType toktype; + int toklen; + const xmlChar *token; + const xmlChar *prefix; +}; + +typedef struct _xmlCRelaxNGParserCtxt xmlCRelaxNGParserCtxt; +typedef xmlCRelaxNGParserCtxt *xmlCRelaxNGParserCtxtPtr; +struct _xmlCRelaxNGParserCtxt { + void *userData; /* user specific data block */ + xmlRelaxNGValidityErrorFunc error; /* the callback in case of errors */ + xmlRelaxNGValidityWarningFunc warning;/* the callback in case of warning */ + xmlRelaxNGValidErr err; + + const xmlChar *compact; + const xmlChar *end; + const xmlChar *cur; + int isElem; + int lineno; + const xmlChar *linestart; + const char *filename; + + int nbTokens; + int firstToken; + _token tokens[MAX_TOKEN]; + int totalToken; + + xmlCRelaxNGParserState state; + + int nbErrors; + + xmlDocPtr res; /* the result */ + xmlNodePtr ins; /* the current insertion node */ + + xmlNsPtr nsDef; + tokenPtr token; + + xmlHashTablePtr namespaces; + xmlHashTablePtr datatypes; + + /* + * dictionary and keywords + */ + xmlDictPtr dict; + const xmlChar *key_attribute; + const xmlChar *key_default; + const xmlChar *key_datatypes; + const xmlChar *key_div; + const xmlChar *key_element; + const xmlChar *key_empty; + const xmlChar *key_external; + const xmlChar *key_grammar; + const xmlChar *key_include; + const xmlChar *key_inherit; + const xmlChar *key_list; + const xmlChar *key_mixed; + const xmlChar *key_namespace; + const xmlChar *key_notAllowed; + const xmlChar *key_parent; + const xmlChar *key_start; + const xmlChar *key_string; + const xmlChar *key_text; + const xmlChar *key_token; + const xmlChar *key_equal; + const xmlChar *key_orequal; + const xmlChar *key_andequal; + const xmlChar *key_combine; + const xmlChar *key_or; + const xmlChar *key_comma; + const xmlChar *key_and; + const xmlChar *key_choice; + const xmlChar *key_group; + const xmlChar *key_interleave; + const xmlChar *key_ref; + const xmlChar *key_define; + + /* results */ + xmlDocPtr doc; /* the resulting doc */ + xmlNodePtr insert; /* the insertion point */ + xmlAttrPtr attrs; /* pending attributes */ +}; + +static const xmlChar *xmlCRelaxNGInherit = BAD_CAST "Inherit string"; +static const xmlChar *xmlCRelaxNGDefault = BAD_CAST "Default string"; + +#define CUR_CHAR(l) xmlXPathCurrentChar(ctxt, &l) +/** + * IS_BLANK: + * @c: an UNICODE value (int) + * + * Macro to check the following production in the XML spec: + * + * [3] S ::= (#x20 | #x9 | #xD | #xA)+ + */ +#ifndef IS_BLANK +#define IS_BLANK(c) (((c) == 0x20) || ((c) == 0x09) || ((c) == 0xA) || \ + ((c) == 0x0D)) +#endif +#define IS_SEPARATOR(c) (((c) == 0x20) || ((c) == 0x09) || ((c) == 0xA) || \ + ((c) == 0x0D) || (c == '#')) + +#define CRNG_ERROR0(X) \ + { xmlCRNGErr(ctxt, X, NULL); return(0); } +#define CRNG_ERROR(X) \ + { xmlCRNGErr(ctxt, X, NULL); } + +#define CRNG_MEM_ERROR0() \ + { xmlCRNGErr(ctxt, CRNG_MEMORY_ERROR, NULL); return(0); } +#define CRNG_MEM_ERROR() \ + { xmlCRNGErr(ctxt, CRNG_MEMORY_ERROR, NULL); } + +#define ERROR(str) xmlCRNGErr(ctxt, 0, str); + +static void +xmlCRNGErr(xmlCRelaxNGParserCtxtPtr ctxt, int err_no, const char *err_msg) { + const xmlChar *cur; + xmlChar buffer[150]; + int i, l; + + if (ctxt != NULL) { + if (ctxt->filename != NULL) + fprintf(stderr, "%s:%d ", ctxt->filename, ctxt->lineno); + } + if (err_msg != NULL) { + fprintf(stderr, "error: %s\n", err_msg); + } else if (err_no != 0) + fprintf(stderr, "error %d\n", err_no); + cur = ctxt->cur; + while ((*cur != '\n') && (*cur != '\r') && (ctxt->cur - cur < 80)) cur--; + l = ctxt->cur - cur; + cur++; + for (i = 0; i < 100;i++) { + if ((*cur == '\n') || (*cur == '\r')) break; + buffer[i] = *cur++; + } + buffer[i] = 0; + fprintf(stderr, "%s\n", buffer); + for (i = 0; i < l;i++) buffer[i] = ' '; + buffer[i++] = '^'; + buffer[i++] = 0; + fprintf(stderr, "%s\n", buffer); +} + +/** + * IS_OP + * @c: an UNICODE value (int) + * + * Macro to check for operator value + */ +#ifndef IS_OP +#define IS_OP(c) (((c) == ',') || ((c) == '&') || ((c) == '|') || \ + ((c) == '?') || ((c) == '-') || ((c) == '*') || \ + ((c) == '{') || ((c) == '}') || ((c) == '(') || \ + ((c) == ')') || ((c) == '+') || ((c) == '=') || \ + ((c) == ':')) +#endif + +static int +xmlCRNGIsKeyword(xmlCRelaxNGParserCtxtPtr ctxt, const xmlChar *str) { + if ((str == ctxt->key_attribute) || + (str == ctxt->key_default) || + (str == ctxt->key_datatypes) || + (str == ctxt->key_div) || + (str == ctxt->key_element) || + (str == ctxt->key_empty) || + (str == ctxt->key_external) || + (str == ctxt->key_grammar) || + (str == ctxt->key_include) || + (str == ctxt->key_inherit) || + (str == ctxt->key_list) || + (str == ctxt->key_mixed) || + (str == ctxt->key_namespace) || + (str == ctxt->key_notAllowed) || + (str == ctxt->key_parent) || + (str == ctxt->key_start) || + (str == ctxt->key_string) || + (str == ctxt->key_text) || + (str == ctxt->key_token)) + return(1); + return(0); + +} + +/* + * xmlCRNGNextToken: + * ctxt: a compact RNG parser context + * + * Scan the schema to get the next token + * + * Return 0 if success and -1 in case of error + */ + +static int +xmlCRNGNextToken(xmlCRelaxNGParserCtxtPtr ctxt) { + const xmlChar *cur; + tokenPtr token; + + if (ctxt == NULL) return(-1); + if (ctxt->nbTokens >= MAX_TOKEN) return(-1); + token = &(ctxt->tokens[(ctxt->firstToken + ctxt->nbTokens) % MAX_TOKEN]); + token->toktype = CRNG_NONE; + + if (ctxt->cur == NULL) { + ctxt->cur = ctxt->compact; + } +retry: + if (ctxt->cur >= ctxt->end) { + ctxt->state = XML_CRNG_EOF; + return(-1); + } + while ((ctxt->cur < ctxt->end) && + (IS_BLANK(*ctxt->cur))) ctxt->cur++; + if (ctxt->cur >= ctxt->end) { + ctxt->state = XML_CRNG_EOF; + return(-1); + } + if (*ctxt->cur == '#') { + cur = ctxt->cur; + cur++; + while ((cur < ctxt->end) && (*cur != '\n') && (*cur != '\r')) + cur++; + ctxt->cur = cur; + goto retry; + } else if (*ctxt->cur == '"') { + /* string, check for '"""' */ + ctxt->cur++; + if (ctxt->cur >= ctxt->end) goto eof; + cur = ctxt->cur; + if ((ctxt->end - ctxt->end > 2) && + (*cur == '"') && (cur[1] == '"')) { + TODO + } else { + while ((cur < ctxt->end) && (*cur != '"')) cur++; + if (cur >= ctxt->end) goto eof; + token->toklen = cur - ctxt->cur; + token->token = xmlDictLookup(ctxt->dict, ctxt->cur, token->toklen); + token->toktype = CRNG_LITERAL_SEGMENT; + token->prefix = NULL; + cur++; + ctxt->cur = cur; + } + } else if (*ctxt->cur == '\'') { + /* string, check for "'''" */ + TODO + } else if ((IS_OP(*ctxt->cur)) || (*ctxt->cur == ':')) { + cur = ctxt->cur; + cur++; + if ((cur < ctxt->end) && + (((*cur == '=') && + ((*ctxt->cur == '|') || (*ctxt->cur == '&'))) || + ((*cur == '*') && (*ctxt->cur == ':')))) { + token->toklen = 2; + } else { + token->toklen = 1; + } + token->token = xmlDictLookup(ctxt->dict, ctxt->cur, token->toklen); + token->toktype = CRNG_OP; + token->prefix = NULL; + ctxt->cur += token->toklen; + } else { + int escape = 0; + + cur = ctxt->cur; + if (*cur == '\\') { + escape = 1; + cur++; + ctxt->cur++; + } + while ((cur < ctxt->end) && + (!(IS_SEPARATOR(*cur))) && (!(IS_OP(*cur)))) cur++; + + token->toklen = cur - ctxt->cur; + token->token = xmlDictLookup(ctxt->dict, ctxt->cur, token->toklen); + token->prefix = NULL; + ctxt->cur = cur; + if ((escape == 0) && (xmlCRNGIsKeyword(ctxt, token->token))) + token->toktype = CRNG_KEYWORD; + else { + token->toktype = CRNG_IDENTIFIER; + } + if (*ctxt->cur == ':') { + ctxt->cur++; + if (*ctxt->cur == '*') { + ctxt->cur++; + token->toktype = CRNG_NSNAME; + } else { + cur = ctxt->cur; + while ((cur < ctxt->end) && + (!(IS_SEPARATOR(*cur))) && (!(IS_OP(*cur)))) cur++; + token->prefix = token->token; + token->toklen = cur - ctxt->cur; + token->token = xmlDictLookup(ctxt->dict, ctxt->cur, + token->toklen); + ctxt->cur = cur; + if (xmlValidateNCName(token->token, 0) == 0) + token->toktype = CRNG_QNAME; + else { + TODO /* sounds like an error ! */ + token->toktype = CRNG_IDENTIFIER; + } + } + } + } + ctxt->nbTokens++; + return(0); +eof: + ctxt->state = XML_CRNG_EOF; + CRNG_ERROR(CRNG_END_ERROR); + return(-1); +} + +/** + * xmlParseCRNGGetToken: + * @ctxt: a compact RNG parser context + * @no: the number of the token from 1 for the first one + * and 2, 3 ... for read-ahead + * + * Token reading interface + * + * returns a pointer to the new token, or NULL in case of error or EOF + */ +static tokenPtr +xmlParseCRNGGetToken(xmlCRelaxNGParserCtxtPtr ctxt, int no) { + tokenPtr ret; + int res; + + if ((no <= 0) || (no >= MAX_TOKEN)) return(NULL); + no--; + while (ctxt->nbTokens <= no) { + res = xmlCRNGNextToken(ctxt); + if (res < 0) + return(NULL); + } + ret = &(ctxt->tokens[(ctxt->firstToken + no) % MAX_TOKEN]); + return(ret); +} + +/** + * xmlParseCRNGDropTokens: + * @ctxt: a compact RNG parser context + * @nr: the number of token marked as read + * + * mark a number of token as read and consumed. + * + * Returns -1 in case of error and 0 otherwise + */ +static int +xmlParseCRNGDropTokens(xmlCRelaxNGParserCtxtPtr ctxt, int nr) { + if ((nr <= 0) || (nr >= MAX_TOKEN)) return(-1); + while ((ctxt->nbTokens >0) && (nr > 0)) { + ctxt->firstToken++; + nr--; + ctxt->nbTokens--; + ctxt->totalToken++; + if (ctxt->totalToken == 384) + fprintf(stderr, "found\n"); + } + ctxt->firstToken = ctxt->firstToken % MAX_TOKEN; + return(0); +} + +static void +xmlParseCRNGTokenize(xmlCRelaxNGParserCtxtPtr ctxt) { + tokenPtr token; + + token = xmlParseCRNGGetToken(ctxt, 1); + while (token != NULL) { + switch (token->toktype) { + case CRNG_NONE: printf("none"); break; + case CRNG_OP: printf("op"); break; + case CRNG_KEYWORD: printf("keyword"); break; + case CRNG_IDENTIFIER: printf("identifier"); break; + case CRNG_LITERAL_SEGMENT: printf("literal"); break; + case CRNG_CNAME: printf("cname"); break; + case CRNG_QNAME: printf("qname"); break; + case CRNG_NSNAME: printf("nsname"); break; + case CRNG_DOCUMENTATION: printf("doc"); break; + } + printf(":%s\n", token->token); + xmlParseCRNGDropTokens(ctxt, 1); + token = xmlParseCRNGGetToken(ctxt, 1); + } +} + +/** + * xmlParseCRNG_attribute: + * @ctxt: a compact RNG parser context + * @name: the attribute name + * @ns: the attribute namespace + * @value: the attribute value + * + * implements attribute of the RELAX NG Compact Syntax Appendix A + * + * Returns 0 in case of success and -1 in case of error + */ +static int +xmlParseCRNG_attribute(xmlCRelaxNGParserCtxtPtr ctxt, + const xmlChar *name, + xmlNsPtr ns, + const xmlChar *value) +{ + xmlAttrPtr attr; + + attr = xmlNewNsPropEatName(NULL, ns, (xmlChar *) name, value); + if (attr == NULL) CRNG_MEM_ERROR0(); + attr->next = ctxt->attrs; + if (ctxt->attrs != NULL) + ctxt->attrs->prev = attr; + ctxt->attrs = attr; + return(0); +} + +/** + * xmlParseCRNG_bindPrefix: + * @ctxt: a compact RNG parser context + * @prefix: the namespace prefix or NULL + * @namespace: the namespace name + * + * implements bindPrefix of the RELAX NG Compact Syntax Appendix A + * + * Returns 0 in case of success and -1 in case of error + */ +static int +xmlParseCRNG_bindPrefix(xmlCRelaxNGParserCtxtPtr ctxt, + const xmlChar *prefix, + const xmlChar *namespace) +{ + int ret; + + if ((prefix != NULL) && (xmlStrEqual(prefix, BAD_CAST "xml")) && + (!xmlStrEqual(namespace, XML_XML_NAMESPACE))) { + ERROR("The \"xml\" prefix must be bound to \"http://www.w3.org/XML/1998/namespace\""); + return(-1); + } else if ((xmlStrEqual(namespace, XML_XML_NAMESPACE)) && + (!xmlStrEqual(prefix, BAD_CAST "xml"))) { + ERROR("The \"http://www.w3.org/XML/1998/namespace\" name must be bound to \"xml\" prefix"); + return(-1); + } + if (ctxt->namespaces == NULL) + ctxt->namespaces = xmlHashCreate(10); + if (ctxt->namespaces == NULL) { + ERROR("Failed to create namespace hash table"); + return(-1); + } + if (prefix == NULL) + ret = xmlHashAddEntry(ctxt->namespaces, xmlCRelaxNGDefault, + (void *) namespace); + else + ret = xmlHashAddEntry(ctxt->namespaces, prefix, + (void *) namespace); + if (ret < 0) { + if (prefix == NULL) { + ERROR("Redefinition of default namespace"); + } else { + ERROR("Redefinition of namespace"); + } + return(-1); + } + + return(0); +} + +/** + * xmlParseCRNG_bindDatatypePrefix: + * @ctxt: a compact RNG parser context + * @prefix: the datatype prefix + * @namespace: the datatype identifier + * + * implements bindDatatypePrefix of the RELAX NG Compact Syntax Appendix A + * + * Returns 0 in case of success and -1 in case of error + */ +static int +xmlParseCRNG_bindDatatypePrefix(xmlCRelaxNGParserCtxtPtr ctxt ATTRIBUTE_UNUSED, + const xmlChar *prefix, + const xmlChar *namespace) +{ + int ret; + + if ((prefix != NULL) && (xmlStrEqual(prefix, BAD_CAST "xsd")) && + (!xmlStrEqual(namespace, + BAD_CAST "http://www.w3.org/2001/XMLSchema-datatypes"))) { + ERROR("The \"xsd\" prefix must be bound to \"http://www.w3.org/2001/XMLSchema-datatypes\""); + return(-1); + } + if (ctxt->datatypes == NULL) + ctxt->datatypes = xmlHashCreate(10); + if (ctxt->datatypes == NULL) { + ERROR("Failed to create namespace hash table"); + return(-1); + } + ret = xmlHashAddEntry(ctxt->datatypes, prefix, + (void *) namespace); + if (ret < 0) { + ERROR("Redefinition of datatype"); + return(-1); + } + return(0); +} + +/** + * xmlParseCRNG_lookupPrefix: + * @ctxt: a compact RNG parser context + * @prefix: the namespace prefix or NULL + * + * implements lookupPrefix of the RELAX NG Compact Syntax Appendix A + * + * Returns the prefix in case of success or NULL in case of error + */ +static const xmlChar * +xmlParseCRNG_lookupPrefix(xmlCRelaxNGParserCtxtPtr ctxt ATTRIBUTE_UNUSED, + const xmlChar *prefix) +{ + const xmlChar *ret; + + if (prefix == NULL) + ret = xmlHashLookup(ctxt->namespaces, xmlCRelaxNGDefault); + else + ret = xmlHashLookup(ctxt->namespaces, prefix); + return(ret); +} + +/** + * xmlParseCRNG_lookupDatatypePrefix: + * @ctxt: a compact RNG parser context + * @prefix: the namespace prefix or NULL + * + * implements lookupDatatypePrefix of the RELAX NG Compact Syntax Appendix A + * + * Returns the prefix in case of success or NULL in case of error + */ +static const xmlChar * +xmlParseCRNG_lookupDatatypePrefix(xmlCRelaxNGParserCtxtPtr ctxt ATTRIBUTE_UNUSED, + const xmlChar *prefix) +{ + const xmlChar *ret; + ret = xmlHashLookup(ctxt->datatypes, prefix); + return(ret); +} + +/** + * xmlParseCRNG_datatypeAttributes: + * @ctxt: a compact RNG parser context + * @prefix: the namespace prefix or NULL + * + * implements lookupPrefix of the RELAX NG Compact Syntax Appendix A + * + * Returns the prefix in case of success or NULL in case of error + */ +static xmlAttrPtr +xmlParseCRNG_datatypeAttributes(xmlCRelaxNGParserCtxtPtr ctxt ATTRIBUTE_UNUSED, + const xmlChar *library, const xmlChar *type) +{ + xmlAttrPtr lib, typ; + + lib = xmlNewNsProp(NULL, NULL, BAD_CAST "datatypeLibrary", library); + if (lib == NULL) { + CRNG_MEM_ERROR(); + return(NULL); + } + typ = xmlNewNsProp(NULL, NULL, BAD_CAST "type", type); + if (typ == NULL) { + CRNG_MEM_ERROR(); + return(lib); + } + lib->next = typ; + + return(lib); +} + +/** + * xmlParseCRNG_XXX: + * @ctxt: a compact RNG parser context + * + * Parse XXX of the RELAX NG Compact Syntax Appendix A + * + * Returns 0 in case of success and -1 in case of error + */ +static int +xmlParseCRNG_XXX(xmlCRelaxNGParserCtxtPtr ctxt ATTRIBUTE_UNUSED) +{ + return(0); +} + +static int xmlParseCRNG_pattern(xmlCRelaxNGParserCtxtPtr ctxt); +static int xmlParseCRNG_nameClass(xmlCRelaxNGParserCtxtPtr ctxt); + +/** + * xmlParseCRNG_params: + * @ctxt: a compact RNG parser context + * + * Parse params of the RELAX NG Compact Syntax Appendix A + * + * Returns 0 in case of success and -1 in case of error + */ +static int +xmlParseCRNG_params(xmlCRelaxNGParserCtxtPtr ctxt ATTRIBUTE_UNUSED) +{ + TODO + return(0); +} + +/** + * xmlParseCRNG_exceptNameClass: + * @ctxt: a compact RNG parser context + * + * Parse exceptNameClass of the RELAX NG Compact Syntax Appendix A + * + * Returns 0 in case of success and -1 in case of error + */ +static int +xmlParseCRNG_exceptNameClass(xmlCRelaxNGParserCtxtPtr ctxt ATTRIBUTE_UNUSED) +{ + tokenPtr token; + xmlNodePtr insert = ctxt->insert, cur; + + token = xmlParseCRNGGetToken(ctxt, 1); + if ((token->toktype == CRNG_OP) && + (token->token[0] == '-') && (token->token[1] == 0)) { + xmlParseCRNGDropTokens(ctxt, 1); + cur = xmlNewNode(NULL, BAD_CAST "except"); + if (cur == NULL) CRNG_MEM_ERROR0(); + if (ctxt->insert != NULL) + xmlAddChild(ctxt->insert, cur); + ctxt->insert = cur; + xmlParseCRNG_nameClass(ctxt); + } + ctxt->insert = insert; + return(0); +} + +/** + * xmlParseCRNG_innerNameClass: + * @ctxt: a compact RNG parser context + * + * Parse innerNameClass of the RELAX NG Compact Syntax Appendix A + * + * Returns 0 in case of success and -1 in case of error + */ +static int +xmlParseCRNG_innerNameClass(xmlCRelaxNGParserCtxtPtr ctxt) +{ + tokenPtr token; + xmlNodePtr cur; + + token = xmlParseCRNGGetToken(ctxt, 1); + if (token->toktype == CRNG_OP) { + if ((token->token[0] == '(') && (token->token[1] == 0)) { + xmlParseCRNGDropTokens(ctxt, 1); + xmlParseCRNG_nameClass(ctxt); + token = xmlParseCRNGGetToken(ctxt, 1); + if ((token->toktype != CRNG_OP) || + (token->token[0] != ')') || (token->token[1] != 0)) { + ERROR("Expecting \")\" here"); + } + xmlParseCRNGDropTokens(ctxt, 1); + } else if ((token->token[0] == '*') && (token->token[1] == 0)) { + xmlParseCRNGDropTokens(ctxt, 1); + cur = xmlNewNode(NULL, BAD_CAST "anyName"); + if (cur == NULL) CRNG_MEM_ERROR0(); + if (ctxt->insert != NULL) + xmlAddChild(ctxt->insert, cur); + ctxt->insert = cur; + xmlParseCRNG_exceptNameClass(ctxt); + } else { + TODO + } + } else if ((token->toktype == CRNG_IDENTIFIER) || + (token->toktype == CRNG_KEYWORD)) { + cur = xmlNewNode(NULL, BAD_CAST "name"); + if (cur == NULL) CRNG_MEM_ERROR0(); + if (ctxt->isElem) { + xmlSetProp(cur, BAD_CAST "ns", + xmlParseCRNG_lookupPrefix(ctxt, NULL)); + } else { + xmlSetProp(cur, BAD_CAST "ns", BAD_CAST ""); + } + xmlNodeAddContent(cur, token->token); + if (ctxt->insert != NULL) + xmlAddChild(ctxt->insert, cur); + ctxt->insert = cur; + xmlParseCRNGDropTokens(ctxt, 1); + } else if (token->toktype == CRNG_CNAME) { + TODO + } else if (token->toktype == CRNG_NSNAME) { + cur = xmlNewNode(NULL, BAD_CAST "nsName"); + if (cur == NULL) CRNG_MEM_ERROR0(); + xmlSetProp(cur, BAD_CAST "ns", + xmlParseCRNG_lookupPrefix(ctxt, token->token)); + if (ctxt->insert != NULL) + xmlAddChild(ctxt->insert, cur); + ctxt->insert = cur; + xmlParseCRNGDropTokens(ctxt, 1); + xmlParseCRNG_exceptNameClass(ctxt); + } else { + TODO /* probably an error */ + } + + return(0); +} + +/** + * xmlParseCRNG_nameClass: + * @ctxt: a compact RNG parser context + * + * Parse nameClass of the RELAX NG Compact Syntax Appendix A + * + * Returns 0 in case of success and -1 in case of error + */ +static int +xmlParseCRNG_nameClass(xmlCRelaxNGParserCtxtPtr ctxt) +{ + tokenPtr token; + xmlNodePtr insert = ctxt->insert, last, choice; + + ctxt->insert = NULL; + xmlParseCRNG_innerNameClass(ctxt); + last = ctxt->insert; + token = xmlParseCRNGGetToken(ctxt, 1); + while ((token->toktype == CRNG_OP) && + (token->token[0] == '|') && (token->token[1] == 0)) { + choice = xmlNewNodeEatName(NULL, (xmlChar *) ctxt->key_choice); + xmlParseCRNGDropTokens(ctxt, 1); + if (choice == NULL) CRNG_MEM_ERROR0(); + ctxt->insert = NULL; + xmlParseCRNG_innerNameClass(ctxt); + xmlAddChild(choice, last); + xmlAddChild(choice, ctxt->insert); + last = choice; + token = xmlParseCRNGGetToken(ctxt, 1); + } + xmlAddChild(insert, last); + + ctxt->insert = insert; + return(0); +} + +/** + * xmlParseCRNG_patternBlock: + * @ctxt: a compact RNG parser context + * + * Parse a pattern block of the RELAX NG Compact Syntax Appendix A + * + * Returns 0 in case of success and -1 in case of error + */ +static int +xmlParseCRNG_patternBlock(xmlCRelaxNGParserCtxtPtr ctxt) +{ + tokenPtr token; + + token = xmlParseCRNGGetToken(ctxt, 1); + if ((token->toktype != CRNG_OP) || + (token->token[0] != '{') || (token->token[1] != 0)) { + ERROR("Expecting \"{\" here"); + } + xmlParseCRNGDropTokens(ctxt, 1); + xmlParseCRNG_pattern(ctxt); + token = xmlParseCRNGGetToken(ctxt, 1); + if ((token->toktype != CRNG_OP) || + (token->token[0] != '}') || (token->token[1] != 0)) { + ERROR("Expecting \"}\" here"); + } + xmlParseCRNGDropTokens(ctxt, 1); + return(0); +} + +/** + * xmlParseCRNG_datatype: + * @ctxt: a compact RNG parser context + * + * Parse datatype of the RELAX NG Compact Syntax Appendix A + * + * Returns 0 in case of success and -1 in case of error + */ +static int +xmlParseCRNG_datatype(xmlCRelaxNGParserCtxtPtr ctxt ATTRIBUTE_UNUSED) +{ + tokenPtr token; + xmlAttrPtr attrs = NULL; + + token = xmlParseCRNGGetToken(ctxt, 1); + if (token->toktype == CRNG_KEYWORD) { + if (token->token == ctxt->key_string) { + attrs = xmlParseCRNG_datatypeAttributes(ctxt, BAD_CAST "", + token->token); + xmlParseCRNGDropTokens(ctxt, 1); + } else if (token->token == ctxt->key_token) { + attrs = xmlParseCRNG_datatypeAttributes(ctxt, BAD_CAST "", + token->token); + xmlParseCRNGDropTokens(ctxt, 1); + } else { + TODO /* probably an error */ + } + } else if (token->toktype == CRNG_LITERAL_SEGMENT) { + ctxt->insert = xmlNewNode(NULL, BAD_CAST "value"); + xmlParseCRNGDropTokens(ctxt, 1); + if (ctxt->insert == NULL) CRNG_MEM_ERROR0(); + xmlNodeAddContent(ctxt->insert, token->token); + } else if (token->toktype == CRNG_QNAME) { + attrs = xmlParseCRNG_datatypeAttributes(ctxt, + xmlParseCRNG_lookupDatatypePrefix(ctxt, token->prefix), + token->token); + } else { + TODO + } + if (attrs != NULL) { + token = xmlParseCRNGGetToken(ctxt, 1); + if (token->toktype == CRNG_LITERAL_SEGMENT) { + ctxt->insert = xmlNewNode(NULL, BAD_CAST "value"); + xmlParseCRNGDropTokens(ctxt, 1); + if (ctxt->insert == NULL) { + xmlFreePropList(attrs); + CRNG_MEM_ERROR0(); + } + ctxt->insert->properties = attrs; + xmlNodeAddContent(ctxt->insert, token->token); + } else if ((token->toktype == CRNG_OP) && + (token->token[0] == '{') && (token->token[0] == 0)) { + ctxt->insert = xmlNewNode(NULL, BAD_CAST "data"); + xmlParseCRNGDropTokens(ctxt, 1); + if (ctxt->insert == NULL) { + xmlFreePropList(attrs); + CRNG_MEM_ERROR0(); + } + ctxt->insert->properties = attrs; + xmlParseCRNG_params(ctxt); + } else { + ctxt->insert = xmlNewNode(NULL, BAD_CAST "data"); + xmlParseCRNGDropTokens(ctxt, 1); + if (ctxt->insert == NULL) { + xmlFreePropList(attrs); + CRNG_MEM_ERROR0(); + } + ctxt->insert->properties = attrs; + xmlNodeAddContent(ctxt->insert, token->token); + } + } + return(0); +} + +/** + * xmlParseCRNG_primary: + * @ctxt: a compact RNG parser context + * + * Parse primary of the RELAX NG Compact Syntax Appendix A + * + * Returns 0 in case of success and -1 in case of error + */ +static int +xmlParseCRNG_primary(xmlCRelaxNGParserCtxtPtr ctxt ATTRIBUTE_UNUSED) +{ + tokenPtr token; + + token = xmlParseCRNGGetToken(ctxt, 1); + if (token == NULL) + return(0); + if (token->toktype == CRNG_KEYWORD) { + if (token->token == ctxt->key_element) { + ctxt->insert = xmlNewNodeEatName(NULL, (xmlChar *) token->token); + xmlParseCRNGDropTokens(ctxt, 1); + if (ctxt->insert == NULL) CRNG_MEM_ERROR0(); + ctxt->isElem = 1; + xmlParseCRNG_nameClass(ctxt); + xmlParseCRNG_patternBlock(ctxt); + } else if (token->token == ctxt->key_attribute) { + ctxt->insert = xmlNewNodeEatName(NULL, (xmlChar *) token->token); + xmlParseCRNGDropTokens(ctxt, 1); + if (ctxt->insert == NULL) CRNG_MEM_ERROR0(); + ctxt->isElem = 0; + xmlParseCRNG_nameClass(ctxt); + xmlParseCRNG_patternBlock(ctxt); + } else if (token->token == ctxt->key_mixed) { + ctxt->insert = xmlNewNodeEatName(NULL, (xmlChar *) token->token); + xmlParseCRNGDropTokens(ctxt, 1); + if (ctxt->insert == NULL) CRNG_MEM_ERROR0(); + xmlParseCRNG_patternBlock(ctxt); + } else if (token->token == ctxt->key_list) { + ctxt->insert = xmlNewNodeEatName(NULL, (xmlChar *) token->token); + xmlParseCRNGDropTokens(ctxt, 1); + if (ctxt->insert == NULL) CRNG_MEM_ERROR0(); + xmlParseCRNG_patternBlock(ctxt); + } else if (token->token == ctxt->key_empty) { + ctxt->insert = xmlNewNodeEatName(NULL, (xmlChar *) token->token); + xmlParseCRNGDropTokens(ctxt, 1); + if (ctxt->insert == NULL) CRNG_MEM_ERROR0(); + } else if (token->token == ctxt->key_notAllowed) { + ctxt->insert = xmlNewNodeEatName(NULL, (xmlChar *) token->token); + xmlParseCRNGDropTokens(ctxt, 1); + if (ctxt->insert == NULL) CRNG_MEM_ERROR0(); + } else if (token->token == ctxt->key_text) { + ctxt->insert = xmlNewNodeEatName(NULL, (xmlChar *) token->token); + xmlParseCRNGDropTokens(ctxt, 1); + if (ctxt->insert == NULL) CRNG_MEM_ERROR0(); + } else if (token->token == ctxt->key_parent) { + ctxt->insert = xmlNewNodeEatName(NULL, (xmlChar *) token->token); + xmlParseCRNGDropTokens(ctxt, 1); + if (ctxt->insert == NULL) CRNG_MEM_ERROR0(); + TODO + } else if (token->token == ctxt->key_grammar) { + ctxt->insert = xmlNewNodeEatName(NULL, (xmlChar *) token->token); + xmlParseCRNGDropTokens(ctxt, 1); + if (ctxt->insert == NULL) CRNG_MEM_ERROR0(); + TODO + } else if (token->token == ctxt->key_external) { + ctxt->insert = xmlNewNode(NULL, BAD_CAST "externalRef"); + xmlParseCRNGDropTokens(ctxt, 1); + if (ctxt->insert == NULL) CRNG_MEM_ERROR0(); + TODO + } else { + TODO + } + } else if (token->toktype == CRNG_IDENTIFIER) { + ctxt->insert = xmlNewNodeEatName(NULL, (xmlChar *) ctxt->key_ref); + if (ctxt->insert == NULL) CRNG_MEM_ERROR0(); + xmlSetProp(ctxt->insert, BAD_CAST "name", token->token); + xmlParseCRNGDropTokens(ctxt, 1); + } else if (token->toktype == CRNG_QNAME) { + xmlParseCRNG_datatype(ctxt); + } else if (token->toktype == CRNG_LITERAL_SEGMENT) { + xmlParseCRNG_datatype(ctxt); + } else if ((token->toktype == CRNG_OP) && + (token->token[0] == '(') && (token->token[1] == 0)) { + xmlParseCRNGDropTokens(ctxt, 1); + xmlParseCRNG_pattern(ctxt); + token = xmlParseCRNGGetToken(ctxt, 1); + if ((token->toktype != CRNG_OP) || + (token->token[0] != ')') || (token->token[1] != 0)) { + ERROR("Expecting \")\" here"); + } + xmlParseCRNGDropTokens(ctxt, 1); + } + return(0); +} + +/** + * xmlParseCRNG_particle: + * @ctxt: a compact RNG parser context + * + * Parse particle of the RELAX NG Compact Syntax Appendix A + * + * Returns 0 in case of success and -1 in case of error + */ +static int +xmlParseCRNG_particle(xmlCRelaxNGParserCtxtPtr ctxt) +{ + tokenPtr token; + xmlNodePtr insert = ctxt->insert, res, tmp = NULL; + + ctxt->insert = NULL; + xmlParseCRNG_primary(ctxt); + res = ctxt->insert; + token = xmlParseCRNGGetToken(ctxt, 1); + if ((token != NULL) && (token->toktype == CRNG_OP)) { + if ((token->token[0] == '*') && (token->token[1] == 0)) { + tmp = xmlNewNode(NULL, BAD_CAST "zeroOrMore"); + if (tmp == NULL) CRNG_MEM_ERROR0(); + } else if ((token->token[0] == '+') && (token->token[1] == 0)) { + tmp = xmlNewNode(NULL, BAD_CAST "oneOrMore"); + if (tmp == NULL) CRNG_MEM_ERROR0(); + } else if ((token->token[0] == '?') && (token->token[1] == 0)) { + tmp = xmlNewNode(NULL, BAD_CAST "optional"); + if (tmp == NULL) CRNG_MEM_ERROR0(); + } + if (tmp != NULL) { + xmlAddChild(tmp, res); + res = tmp; + xmlParseCRNGDropTokens(ctxt, 1); + } + } + if (insert != NULL) { + xmlAddChild(insert, res); + ctxt->insert = insert; + } else + ctxt->insert = res; + return(0); +} + +/** + * xmlParseCRNG_pattern: + * @ctxt: a compact RNG parser context + * + * Parse pattern of the RELAX NG Compact Syntax Appendix A + * + * Returns 0 in case of success and -1 in case of error + */ +static int +xmlParseCRNG_pattern(xmlCRelaxNGParserCtxtPtr ctxt) +{ + tokenPtr token; + xmlNodePtr insert = ctxt->insert, prev, grp; + + ctxt->insert = NULL; + xmlParseCRNG_particle(ctxt); + prev = ctxt->insert; + token = xmlParseCRNGGetToken(ctxt, 1); + while ((prev != NULL) && (token != NULL) && (token->toktype == CRNG_OP)) { + if (token->token == ctxt->key_or) { + grp = xmlNewNodeEatName(NULL, (xmlChar *) ctxt->key_choice); + if (grp == NULL) CRNG_MEM_ERROR0(); + } else if (token->token == ctxt->key_and) { + grp = xmlNewNodeEatName(NULL, (xmlChar *) ctxt->key_interleave); + if (grp == NULL) CRNG_MEM_ERROR0(); + } else if (token->token == ctxt->key_comma) { + grp = xmlNewNodeEatName(NULL, (xmlChar *) ctxt->key_group); + if (grp == NULL) CRNG_MEM_ERROR0(); + } else + break; + xmlParseCRNGDropTokens(ctxt, 1); + ctxt->insert = NULL; + xmlParseCRNG_particle(ctxt); + xmlAddChild(grp, prev); + xmlAddChild(grp, ctxt->insert); + prev = grp; + token = xmlParseCRNGGetToken(ctxt, 1); + } + if (insert != NULL) { + xmlAddChild(insert, prev); + ctxt->insert = insert; + } else { + ctxt->insert = prev; + } + + return(0); +} + +/** + * xmlParseCRNG_component: + * @ctxt: a compact RNG parser context + * + * Parse component of the RELAX NG Compact Syntax Appendix A + * + * Returns 0 in case of success and -1 in case of error + */ +static int +xmlParseCRNG_component(xmlCRelaxNGParserCtxtPtr ctxt) +{ + tokenPtr token, tok2; + xmlNodePtr insert = ctxt->insert; + + token = xmlParseCRNGGetToken(ctxt, 1); + if (token == NULL) + return(0); + if (token->toktype == CRNG_KEYWORD) { + if (token->token == ctxt->key_start) { + xmlNodePtr start; + + start = xmlNewNodeEatName(NULL, (xmlChar *) ctxt->key_start); + if (start == NULL) CRNG_MEM_ERROR0(); + if (ctxt->insert != NULL) + xmlAddChild(ctxt->insert, start); + ctxt->insert = start; + xmlParseCRNGDropTokens(ctxt, 1); + token = xmlParseCRNGGetToken(ctxt, 1); + + if ((token->toktype == CRNG_OP) && + (token->token == ctxt->key_equal)) { + } else if ((token->toktype == CRNG_OP) && + (token->token == ctxt->key_orequal)) { + xmlParseCRNG_attribute(ctxt, ctxt->key_combine, NULL, + BAD_CAST "choice"); + } else if ((token->toktype == CRNG_OP) && + (token->token == ctxt->key_andequal)) { + xmlParseCRNG_attribute(ctxt, ctxt->key_combine, NULL, + BAD_CAST "interleave"); + } else { + ERROR("expecting \"=\" or \"&=\" or \"|=\" here") + return(-1); + } + start->properties = ctxt->attrs; + ctxt->attrs = NULL; + xmlParseCRNGDropTokens(ctxt, 1); + xmlParseCRNG_pattern(ctxt); + + } else if (token->token == ctxt->key_include) { + TODO + } else if (token->token == ctxt->key_div) { + TODO + } else { + return(-1); + } + } else if (token->toktype == CRNG_IDENTIFIER) { + xmlNodePtr define; + const xmlChar *identifier; + + identifier = token->token; + tok2 = xmlParseCRNGGetToken(ctxt, 2); + if ((tok2->toktype == CRNG_OP) && + (tok2->token == ctxt->key_equal)) { + } else if ((tok2->toktype == CRNG_OP) && + (tok2->token == ctxt->key_orequal)) { + xmlParseCRNG_attribute(ctxt, ctxt->key_combine, NULL, + BAD_CAST "choice"); + } else if ((tok2->toktype == CRNG_OP) && + (tok2->token == ctxt->key_andequal)) { + xmlParseCRNG_attribute(ctxt, ctxt->key_combine, NULL, + BAD_CAST "interleave"); + } else { + ERROR("expecting \"=\" or \"&=\" or \"|=\" here") + return(-1); + } + xmlParseCRNGDropTokens(ctxt, 2); + + define = xmlNewNodeEatName(NULL, (xmlChar *) ctxt->key_define); + if (define == NULL) CRNG_MEM_ERROR0(); + define->properties = ctxt->attrs; + ctxt->attrs = NULL; + xmlSetProp(define, BAD_CAST "name", identifier); + if (ctxt->insert != NULL) + xmlAddChild(ctxt->insert, define); + ctxt->insert = define; + xmlParseCRNG_pattern(ctxt); + } else { + return(-1); + } + ctxt->insert = insert; + return(0); +} + +/** + * xmlParseCRNG_grammar: + * @ctxt: a compact RNG parser context + * + * Parse grammar of the RELAX NG Compact Syntax Appendix A + * + * Returns 0 in case of success and -1 in case of error + */ +static int +xmlParseCRNG_grammar(xmlCRelaxNGParserCtxtPtr ctxt ATTRIBUTE_UNUSED) +{ + tokenPtr token; + int ret; + + token = xmlParseCRNGGetToken(ctxt, 1); + while (token != NULL) { + ret = xmlParseCRNG_component(ctxt); + if (ret != 0) + break; + token = xmlParseCRNGGetToken(ctxt, 1); + } + return(0); +} + +/** + * xmlParseCRNG_topLevelBody: + * @ctxt: a compact RNG parser context + * + * Parse topLevelBody of the RELAX NG Compact Syntax Appendix A + * + * Returns 0 in case of success and -1 in case of error + */ +static int +xmlParseCRNG_topLevelBody(xmlCRelaxNGParserCtxtPtr ctxt) +{ + tokenPtr token, tok2; + + token = xmlParseCRNGGetToken(ctxt, 1); + if (token->toktype == CRNG_KEYWORD) { + if ((token->token == ctxt->key_start) || + (token->token == ctxt->key_include) || + (token->token == ctxt->key_div)) { + xmlNodePtr grammar; + + grammar = xmlNewNodeEatName(NULL, (xmlChar *) ctxt->key_grammar); + if (grammar == NULL) CRNG_MEM_ERROR0(); + xmlDocSetRootElement(ctxt->doc, grammar); + ctxt->insert = grammar; + + xmlParseCRNG_grammar(ctxt); + } else { + xmlParseCRNG_pattern(ctxt); + } + } else { + tok2 = xmlParseCRNGGetToken(ctxt, 2); + if ((tok2->toktype == CRNG_OP) && + ((tok2->token == ctxt->key_equal) || + (tok2->token == ctxt->key_orequal) || + (tok2->token == ctxt->key_andequal))) { + xmlNodePtr grammar; + + grammar = xmlNewNodeEatName(NULL, (xmlChar *) ctxt->key_grammar); + if (grammar == NULL) CRNG_MEM_ERROR0(); + xmlDocSetRootElement(ctxt->doc, grammar); + ctxt->insert = grammar; + + xmlParseCRNG_grammar(ctxt); + } else { + xmlParseCRNG_pattern(ctxt); + } + } + return(0); +} + +/** + * xmlParseCRNG_namespacePrefix: + * @ctxt: a compact RNG parser context + * + * Parse namespacePrefix of the RELAX NG Compact Syntax Appendix A + * + * Returns the prefix or NULL in case of error + */ +static const xmlChar * +xmlParseCRNG_namespacePrefix(xmlCRelaxNGParserCtxtPtr ctxt) +{ + tokenPtr token; + const xmlChar *prefix = NULL; + + token = xmlParseCRNGGetToken(ctxt, 1); + if (token->toktype == CRNG_IDENTIFIER) { + prefix = token->token; + } else if (token->toktype == CRNG_OP) { + if ((token->token[0] == '=') && (token->token[1] == 0)) + return(NULL); + prefix = token->token; + } else { + ERROR("Expecting a namespace prefix"); + return(NULL); + } + xmlParseCRNGDropTokens(ctxt, 1); + + if (xmlStrEqual(prefix, BAD_CAST "xmlns")) { + ERROR("Namespace prefix \"xmlns\" is forbidden"); + } + return(prefix); +} + +/** + * xmlParseCRNG_decl: + * @ctxt: a compact RNG parser context + * + * Parse decl of the RELAX NG Compact Syntax Appendix A + * + * Returns 0 in case of success and -1 in case of error + */ +static int +xmlParseCRNG_decl(xmlCRelaxNGParserCtxtPtr ctxt) +{ + const xmlChar *prefix = NULL; + const xmlChar *namespace = NULL; + tokenPtr token; + + token = xmlParseCRNGGetToken(ctxt, 1); + if (token->toktype != CRNG_KEYWORD) return(-1); + if (token->token == ctxt->key_default) { + xmlParseCRNGDropTokens(ctxt, 1); + token = xmlParseCRNGGetToken(ctxt, 1); + if ((token->toktype != CRNG_KEYWORD) || + (token->token != ctxt->key_namespace)) { + ERROR("Expecting keyword \"namespace\" after \"default\""); + } + xmlParseCRNGDropTokens(ctxt, 1); + prefix = xmlParseCRNG_namespacePrefix(ctxt); + token = xmlParseCRNGGetToken(ctxt, 1); + if ((token->toktype != CRNG_OP) || + (token->token[0] != '=') || (token->token[1] != 0)) { + ERROR("Expecting keyword \"=\" here"); + } + xmlParseCRNGDropTokens(ctxt, 1); + token = xmlParseCRNGGetToken(ctxt, 1); + if ((token->toktype == CRNG_KEYWORD) && + (token->token == ctxt->key_inherit)) { + namespace = xmlCRelaxNGInherit; + } else if (token->toktype == CRNG_LITERAL_SEGMENT) { + namespace = token->token; + } else { + ERROR("Expecting an URI or \"inherit\" value"); + } + xmlParseCRNGDropTokens(ctxt, 1); + if (namespace != NULL) { + if (prefix != NULL) + xmlParseCRNG_bindPrefix(ctxt, prefix, namespace); + xmlParseCRNG_bindPrefix(ctxt, NULL, namespace); + } + } else if (token->token == ctxt->key_namespace) { + xmlParseCRNGDropTokens(ctxt, 1); + prefix = xmlParseCRNG_namespacePrefix(ctxt); + token = xmlParseCRNGGetToken(ctxt, 1); + if ((token->toktype != CRNG_OP) || + (token->token[0] != '=') || (token->token[1] != 0)) { + ERROR("Expecting keyword \"=\" here"); + } + xmlParseCRNGDropTokens(ctxt, 1); + token = xmlParseCRNGGetToken(ctxt, 1); + if ((token->toktype == CRNG_KEYWORD) && + (token->token == ctxt->key_inherit)) { + namespace = xmlCRelaxNGInherit; + } else if (token->toktype == CRNG_LITERAL_SEGMENT) { + namespace = token->token; + } else { + ERROR("Expecting an URI or \"inherit\" value"); + } + xmlParseCRNGDropTokens(ctxt, 1); + if (namespace != NULL) + xmlParseCRNG_bindPrefix(ctxt, prefix, namespace); + } else if (token->token == ctxt->key_datatypes) { + xmlParseCRNGDropTokens(ctxt, 1); + + token = xmlParseCRNGGetToken(ctxt, 1); + if ((token->toktype != CRNG_KEYWORD) && + (token->toktype != CRNG_IDENTIFIER)) { + ERROR("Expecting a datatype prefix identifier here"); + } else + prefix = token->token; + xmlParseCRNGDropTokens(ctxt, 1); + token = xmlParseCRNGGetToken(ctxt, 1); + if ((token->toktype != CRNG_OP) || + (token->token[0] != '=') || (token->token[1] != 0)) { + ERROR("Expecting keyword \"=\" here"); + } + xmlParseCRNGDropTokens(ctxt, 1); + token = xmlParseCRNGGetToken(ctxt, 1); + if (token->toktype == CRNG_LITERAL_SEGMENT) { + namespace = token->token; + } else { + ERROR("Expecting a literal value for the datatype identifier"); + } + xmlParseCRNGDropTokens(ctxt, 1); + if ((namespace != NULL) && (prefix != NULL)) + xmlParseCRNG_bindDatatypePrefix(ctxt, prefix, namespace); + } + + return(0); +} + +/** + * xmlParseCRNG_preamble: + * @ctxt: a compact RNG parser context + * + * Parse preamble of the RELAX NG Compact Syntax Appendix A + * + * Returns 0 in case of success and -1 in case of error + */ +static int +xmlParseCRNG_preamble(xmlCRelaxNGParserCtxtPtr ctxt) +{ + tokenPtr token; + + token = xmlParseCRNGGetToken(ctxt, 1); + while (token != NULL) { + if (token == NULL) return(-1); + if ((token->toktype == CRNG_KEYWORD) && + ((token->token == ctxt->key_default) || + (token->token == ctxt->key_namespace) || + (token->token == ctxt->key_datatypes))) { + xmlParseCRNG_decl(ctxt); + } else + break; + token = xmlParseCRNGGetToken(ctxt, 1); + } + return(0); +} + +/** + * xmlParseCRNG_topLevel: + * @ctxt: a compact RNG parser context + * + * Parse topLevel of the RELAX NG Compact Syntax Appendix A + * + * Returns 0 in case of success and -1 in case of error + */ +static int +xmlParseCRNG_topLevel(xmlCRelaxNGParserCtxtPtr ctxt) +{ + xmlParseCRNG_preamble(ctxt); + xmlParseCRNG_topLevelBody(ctxt); + return(0); +} + +/** + * xmlConvertCRNG: + * @schemas: pointer to the text of the compact schemas + * @len: length of the schemas in bytes (or 0) + * @encoding: encoding indicated by the context or NULL + * + * Compiles the schemas into the equivalent Relax-NG XML structure + * + * Returns the xmlDocPtr resulting from the compilation or + * NULL in case of error + */ +xmlDocPtr +xmlConvertCRNG(const char *schemas, int len, const char *encoding) { + struct _xmlCRelaxNGParserCtxt ctxt; + xmlDocPtr ret = NULL; + + if (schemas == NULL) return(NULL); + if (len <= 5) len = xmlStrlen((const unsigned char *) schemas); + if (len <= 0) return(NULL); + + memset(&ctxt, 0, sizeof(ctxt)); + ctxt.compact = (const unsigned char *) schemas; + ctxt.cur = (const unsigned char *) schemas; + ctxt.end = (const unsigned char *) &schemas[len]; + ctxt.dict = xmlDictCreate(); + if (ctxt.dict == NULL) + return(NULL); + ctxt.doc = xmlNewDoc(NULL); + if (ctxt.doc == NULL) { + xmlDictFree(ctxt.dict); + return(NULL); + } + ctxt.doc->dict = ctxt.dict; + xmlDictReference(ctxt.dict); + + ctxt.nbTokens = 0; + ctxt.firstToken = 0; + ctxt.key_attribute = xmlDictLookup(ctxt.dict, BAD_CAST "attribute", -1); + ctxt.key_default = xmlDictLookup(ctxt.dict, BAD_CAST "default", -1); + ctxt.key_datatypes = xmlDictLookup(ctxt.dict, BAD_CAST "datatypes", -1); + ctxt.key_div = xmlDictLookup(ctxt.dict, BAD_CAST "div", -1); + ctxt.key_element = xmlDictLookup(ctxt.dict, BAD_CAST "element", -1); + ctxt.key_empty = xmlDictLookup(ctxt.dict, BAD_CAST "empty", -1); + ctxt.key_external = xmlDictLookup(ctxt.dict, BAD_CAST "external", -1); + ctxt.key_grammar = xmlDictLookup(ctxt.dict, BAD_CAST "grammar", -1); + ctxt.key_include = xmlDictLookup(ctxt.dict, BAD_CAST "include", -1); + ctxt.key_inherit = xmlDictLookup(ctxt.dict, BAD_CAST "inherit", -1); + ctxt.key_list = xmlDictLookup(ctxt.dict, BAD_CAST "list", -1); + ctxt.key_mixed = xmlDictLookup(ctxt.dict, BAD_CAST "mixed", -1); + ctxt.key_namespace = xmlDictLookup(ctxt.dict, BAD_CAST "namespace", -1); + ctxt.key_notAllowed = xmlDictLookup(ctxt.dict, BAD_CAST "notAllowed", -1); + ctxt.key_parent = xmlDictLookup(ctxt.dict, BAD_CAST "parent", -1); + ctxt.key_start = xmlDictLookup(ctxt.dict, BAD_CAST "start", -1); + ctxt.key_string = xmlDictLookup(ctxt.dict, BAD_CAST "string", -1); + ctxt.key_text = xmlDictLookup(ctxt.dict, BAD_CAST "text", -1); + ctxt.key_token = xmlDictLookup(ctxt.dict, BAD_CAST "token", -1); + ctxt.key_equal = xmlDictLookup(ctxt.dict, BAD_CAST "=", 1); + ctxt.key_orequal = xmlDictLookup(ctxt.dict, BAD_CAST "|=", 2); + ctxt.key_andequal = xmlDictLookup(ctxt.dict, BAD_CAST "&=", 2); + ctxt.key_combine = xmlDictLookup(ctxt.dict, BAD_CAST "&=", 2); + ctxt.key_or = xmlDictLookup(ctxt.dict, BAD_CAST "|", 1); + ctxt.key_comma = xmlDictLookup(ctxt.dict, BAD_CAST ",", 1); + ctxt.key_and = xmlDictLookup(ctxt.dict, BAD_CAST "&", 1); + ctxt.key_choice = xmlDictLookup(ctxt.dict, BAD_CAST "choice", -1); + ctxt.key_group = xmlDictLookup(ctxt.dict, BAD_CAST "group", -1); + ctxt.key_interleave = xmlDictLookup(ctxt.dict, BAD_CAST "interleave", -1); + ctxt.key_ref = xmlDictLookup(ctxt.dict, BAD_CAST "ref", 3); + ctxt.key_define = xmlDictLookup(ctxt.dict, BAD_CAST "define", 6); + + /* xmlConvertCRNGTokenize(&ctxt); */ + xmlConvertCRNG_topLevel(&ctxt); + + xmlDictFree(ctxt.dict); + + ret = ctxt.doc; + return(ret); +} + +/** + * xmlConvertCRNGFile: + * @URL: URL or filename for the resource + * @encoding: encoding indicated by the context or NULL + * + * Compiles the schemas into the equivalent Relax-NG XML structure + * + * Returns the xmlDocPtr resulting from the compilation or + * NULL in case of error + */ +xmlDocPtr +xmlConvertCRNGFile(const char *URL, const char *encoding) { +} + +#ifdef STANDALONE +const xmlChar *schemas = +"# RELAX NG XML syntax specified in compact syntax.\n\ +\n\ +default namespace rng = \"http://relaxng.org/ns/structure/1.0\"\n\ +namespace local = \"\"\n\ +datatypes xsd = \"http://www.w3.org/2001/XMLSchema-datatypes\"\n\ +\n\ +start = pattern\n\ +\n\ +pattern =\n\ + element element { (nameQName | nameClass), (common & pattern+) }\n\ + | element attribute { (nameQName | nameClass), (common & pattern?) }\n\ + | element group|interleave|choice|optional\n\ + |zeroOrMore|oneOrMore|list|mixed { common & pattern+ }\n\ + | element ref|parentRef { nameNCName, common }\n\ + | element empty|notAllowed|text { common }\n\ + | element data { type, param*, (common & exceptPattern?) }\n\ + | element value { commonAttributes, type?, xsd:string }\n\ + | element externalRef { href, common }\n\ + | element grammar { common & grammarContent* }\n\ +\n\ +param = element param { commonAttributes, nameNCName, xsd:string }\n\ +\n\ +exceptPattern = element except { common & pattern+ }\n\ +\n\ +grammarContent =\n\ + definition\n\ + | element div { common & grammarContent* }\n\ + | element include { href, (common & includeContent*) }\n\ +\n\ +includeContent =\n\ + definition\n\ + | element div { common & includeContent* }\n\ +\n\ +definition =\n\ + element start { combine?, (common & pattern+) }\n\ + | element define { nameNCName, combine?, (common & pattern+) }\n\ +\n\ +combine = attribute combine { \"choice\" | \"interleave\" }\n\ +\n\ +nameClass =\n\ + element name { commonAttributes, xsd:QName }\n\ + | element anyName { common & exceptNameClass? }\n\ + | element nsName { common & exceptNameClass? }\n\ + | element choice { common & nameClass+ }\n\ +\n\ +exceptNameClass = element except { common & nameClass+ }\n\ +\n\ +nameQName = attribute name { xsd:QName }\n\ +nameNCName = attribute name { xsd:NCName }\n\ +href = attribute href { xsd:anyURI }\n\ +type = attribute type { xsd:NCName }\n\ +\n\ +common = commonAttributes, foreignElement*\n\ +\n\ +commonAttributes =\n\ + attribute ns { xsd:string }?,\n\ + attribute datatypeLibrary { xsd:anyURI }?,\n\ + foreignAttribute*\n\ +\n\ +foreignElement = element * - rng:* { (anyAttribute | text | anyElement)* }\n\ +foreignAttribute = attribute * - (rng:*|local:*) { text }\n\ +anyElement = element * { (anyAttribute | text | anyElement)* }\n\ +anyAttribute = attribute * { text }\n\ +"; + +int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + xmlDocPtr res; + + res = xmlConvertCRNG(schemas, -1); + if (res != NULL) { + xmlDocFormatDump(stdout, res, 1); + xmlFreeDoc(res); + } + return(0); +} +#endif +#define bottom_rngparser +#include "elfgcchack.h" diff --git a/runsuite.c b/runsuite.c new file mode 100644 index 0000000..d24b5ec --- /dev/null +++ b/runsuite.c @@ -0,0 +1,1157 @@ +/* + * runsuite.c: C program to run libxml2 against published testsuites + * + * See Copyright for the status of this software. + * + * daniel@veillard.com + */ + +#include "libxml.h" +#include + +#if !defined(_WIN32) || defined(__CYGWIN__) +#include +#endif +#include +#include +#include +#include + +#include +#include +#include +#include +#if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_XPATH_ENABLED) +#include + +#include +#include + +#include +#include +#include + +#define LOGFILE "runsuite.log" +static FILE *logfile = NULL; +static int verbose = 0; + + +/************************************************************************ + * * + * File name and path utilities * + * * + ************************************************************************/ + +static int checkTestFile(const char *filename) { + struct stat buf; + + if (stat(filename, &buf) == -1) + return(0); + +#if defined(_WIN32) && !defined(__CYGWIN__) + if (!(buf.st_mode & _S_IFREG)) + return(0); +#else + if (!S_ISREG(buf.st_mode)) + return(0); +#endif + + return(1); +} + +static xmlChar *composeDir(const xmlChar *dir, const xmlChar *path) { + char buf[500]; + + if (dir == NULL) return(xmlStrdup(path)); + if (path == NULL) return(NULL); + + snprintf(buf, 500, "%s/%s", (const char *) dir, (const char *) path); + return(xmlStrdup((const xmlChar *) buf)); +} + +/************************************************************************ + * * + * Libxml2 specific routines * + * * + ************************************************************************/ + +static int nb_tests = 0; +static int nb_errors = 0; +static int nb_internals = 0; +static int nb_schematas = 0; +static int nb_unimplemented = 0; +static int nb_leaks = 0; +static int extraMemoryFromResolver = 0; + +static int +fatalError(void) { + fprintf(stderr, "Exitting tests on fatal error\n"); + exit(1); +} + +/* + * that's needed to implement + */ +#define MAX_ENTITIES 20 +static char *testEntitiesName[MAX_ENTITIES]; +static char *testEntitiesValue[MAX_ENTITIES]; +static int nb_entities = 0; +static void resetEntities(void) { + int i; + + for (i = 0;i < nb_entities;i++) { + if (testEntitiesName[i] != NULL) + xmlFree(testEntitiesName[i]); + if (testEntitiesValue[i] != NULL) + xmlFree(testEntitiesValue[i]); + } + nb_entities = 0; +} +static int addEntity(char *name, char *content) { + if (nb_entities >= MAX_ENTITIES) { + fprintf(stderr, "Too many entities defined\n"); + return(-1); + } + testEntitiesName[nb_entities] = name; + testEntitiesValue[nb_entities] = content; + nb_entities++; + return(0); +} + +/* + * We need to trap calls to the resolver to not account memory for the catalog + * which is shared to the current running test. We also don't want to have + * network downloads modifying tests. + */ +static xmlParserInputPtr +testExternalEntityLoader(const char *URL, const char *ID, + xmlParserCtxtPtr ctxt) { + xmlParserInputPtr ret; + int i; + + for (i = 0;i < nb_entities;i++) { + if (!strcmp(testEntitiesName[i], URL)) { + ret = xmlNewStringInputStream(ctxt, + (const xmlChar *) testEntitiesValue[i]); + if (ret != NULL) { + ret->filename = (const char *) + xmlStrdup((xmlChar *)testEntitiesName[i]); + } + return(ret); + } + } + if (checkTestFile(URL)) { + ret = xmlNoNetExternalEntityLoader(URL, ID, ctxt); + } else { + int memused = xmlMemUsed(); + ret = xmlNoNetExternalEntityLoader(URL, ID, ctxt); + extraMemoryFromResolver += xmlMemUsed() - memused; + } +#if 0 + if (ret == NULL) { + fprintf(stderr, "Failed to find resource %s\n", URL); + } +#endif + + return(ret); +} + +/* + * Trapping the error messages at the generic level to grab the equivalent of + * stderr messages on CLI tools. + */ +static char testErrors[32769]; +static int testErrorsSize = 0; + +static void test_log(const char *msg, ...) { + va_list args; + if (logfile != NULL) { + fprintf(logfile, "\n------------\n"); + va_start(args, msg); + vfprintf(logfile, msg, args); + va_end(args); + fprintf(logfile, "%s", testErrors); + testErrorsSize = 0; testErrors[0] = 0; + } + if (verbose) { + va_start(args, msg); + vfprintf(stderr, msg, args); + va_end(args); + } +} + +static void +testErrorHandler(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...) { + va_list args; + int res; + + if (testErrorsSize >= 32768) + return; + va_start(args, msg); + res = vsnprintf(&testErrors[testErrorsSize], + 32768 - testErrorsSize, + msg, args); + va_end(args); + if (testErrorsSize + res >= 32768) { + /* buffer is full */ + testErrorsSize = 32768; + testErrors[testErrorsSize] = 0; + } else { + testErrorsSize += res; + } + testErrors[testErrorsSize] = 0; +} + +static xmlXPathContextPtr ctxtXPath; + +static void +initializeLibxml2(void) { + xmlGetWarningsDefaultValue = 0; + xmlPedanticParserDefault(0); + + xmlMemSetup(xmlMemFree, xmlMemMalloc, xmlMemRealloc, xmlMemoryStrdup); + xmlInitParser(); + xmlSetExternalEntityLoader(testExternalEntityLoader); + ctxtXPath = xmlXPathNewContext(NULL); + /* + * Deactivate the cache if created; otherwise we have to create/free it + * for every test, since it will confuse the memory leak detection. + * Note that normally this need not be done, since the cache is not + * created until set explicitly with xmlXPathContextSetCache(); + * but for test purposes it is sometimes useful to activate the + * cache by default for the whole library. + */ + if (ctxtXPath->cache != NULL) + xmlXPathContextSetCache(ctxtXPath, 0, -1, 0); + /* used as default namespace in xstc tests */ + xmlXPathRegisterNs(ctxtXPath, BAD_CAST "ts", BAD_CAST "TestSuite"); + xmlXPathRegisterNs(ctxtXPath, BAD_CAST "xlink", + BAD_CAST "http://www.w3.org/1999/xlink"); + xmlSetGenericErrorFunc(NULL, testErrorHandler); +#ifdef LIBXML_SCHEMAS_ENABLED + xmlSchemaInitTypes(); + xmlRelaxNGInitTypes(); +#endif +} + +static xmlNodePtr +getNext(xmlNodePtr cur, const char *xpath) { + xmlNodePtr ret = NULL; + xmlXPathObjectPtr res; + xmlXPathCompExprPtr comp; + + if ((cur == NULL) || (cur->doc == NULL) || (xpath == NULL)) + return(NULL); + ctxtXPath->doc = cur->doc; + ctxtXPath->node = cur; + comp = xmlXPathCompile(BAD_CAST xpath); + if (comp == NULL) { + fprintf(stderr, "Failed to compile %s\n", xpath); + return(NULL); + } + res = xmlXPathCompiledEval(comp, ctxtXPath); + xmlXPathFreeCompExpr(comp); + if (res == NULL) + return(NULL); + if ((res->type == XPATH_NODESET) && + (res->nodesetval != NULL) && + (res->nodesetval->nodeNr > 0) && + (res->nodesetval->nodeTab != NULL)) + ret = res->nodesetval->nodeTab[0]; + xmlXPathFreeObject(res); + return(ret); +} + +static xmlChar * +getString(xmlNodePtr cur, const char *xpath) { + xmlChar *ret = NULL; + xmlXPathObjectPtr res; + xmlXPathCompExprPtr comp; + + if ((cur == NULL) || (cur->doc == NULL) || (xpath == NULL)) + return(NULL); + ctxtXPath->doc = cur->doc; + ctxtXPath->node = cur; + comp = xmlXPathCompile(BAD_CAST xpath); + if (comp == NULL) { + fprintf(stderr, "Failed to compile %s\n", xpath); + return(NULL); + } + res = xmlXPathCompiledEval(comp, ctxtXPath); + xmlXPathFreeCompExpr(comp); + if (res == NULL) + return(NULL); + if (res->type == XPATH_STRING) { + ret = res->stringval; + res->stringval = NULL; + } + xmlXPathFreeObject(res); + return(ret); +} + +/************************************************************************ + * * + * Test test/xsdtest/xsdtestsuite.xml * + * * + ************************************************************************/ + +static int +xsdIncorrectTestCase(xmlNodePtr cur) { + xmlNodePtr test; + xmlBufferPtr buf; + xmlRelaxNGParserCtxtPtr pctxt; + xmlRelaxNGPtr rng = NULL; + int ret = 0, memt; + + cur = getNext(cur, "./incorrect[1]"); + if (cur == NULL) { + return(0); + } + + test = getNext(cur, "./*"); + if (test == NULL) { + test_log("Failed to find test in correct line %ld\n", + xmlGetLineNo(cur)); + return(1); + } + + memt = xmlMemUsed(); + extraMemoryFromResolver = 0; + /* + * dump the schemas to a buffer, then reparse it and compile the schemas + */ + buf = xmlBufferCreate(); + if (buf == NULL) { + fprintf(stderr, "out of memory !\n"); + fatalError(); + } + xmlNodeDump(buf, test->doc, test, 0, 0); + pctxt = xmlRelaxNGNewMemParserCtxt((const char *)buf->content, buf->use); + xmlRelaxNGSetParserErrors(pctxt, testErrorHandler, testErrorHandler, + pctxt); + rng = xmlRelaxNGParse(pctxt); + xmlRelaxNGFreeParserCtxt(pctxt); + if (rng != NULL) { + test_log("Failed to detect incorrect RNG line %ld\n", + xmlGetLineNo(test)); + ret = 1; + goto done; + } + +done: + if (buf != NULL) + xmlBufferFree(buf); + if (rng != NULL) + xmlRelaxNGFree(rng); + xmlResetLastError(); + if ((memt < xmlMemUsed()) && (extraMemoryFromResolver == 0)) { + test_log("Validation of tests starting line %ld leaked %d\n", + xmlGetLineNo(cur), xmlMemUsed() - memt); + nb_leaks++; + } + return(ret); +} + +static void +installResources(xmlNodePtr tst, const xmlChar *base) { + xmlNodePtr test; + xmlBufferPtr buf; + xmlChar *name, *content, *res; + + buf = xmlBufferCreate(); + if (buf == NULL) { + fprintf(stderr, "out of memory !\n"); + fatalError(); + } + xmlNodeDump(buf, tst->doc, tst, 0, 0); + + while (tst != NULL) { + test = getNext(tst, "./*"); + if (test != NULL) { + xmlBufferEmpty(buf); + xmlNodeDump(buf, test->doc, test, 0, 0); + name = getString(tst, "string(@name)"); + content = xmlStrdup(buf->content); + if ((name != NULL) && (content != NULL)) { + res = composeDir(base, name); + xmlFree(name); + addEntity((char *) res, (char *) content); + } else { + if (name != NULL) xmlFree(name); + if (content != NULL) xmlFree(content); + } + } + tst = getNext(tst, "following-sibling::resource[1]"); + } + if (buf != NULL) + xmlBufferFree(buf); +} + +static void +installDirs(xmlNodePtr tst, const xmlChar *base) { + xmlNodePtr test; + xmlChar *name, *res; + + name = getString(tst, "string(@name)"); + if (name == NULL) + return; + res = composeDir(base, name); + xmlFree(name); + if (res == NULL) { + return; + } + /* Now process resources and subdir recursively */ + test = getNext(tst, "./resource[1]"); + if (test != NULL) { + installResources(test, res); + } + test = getNext(tst, "./dir[1]"); + while (test != NULL) { + installDirs(test, res); + test = getNext(test, "following-sibling::dir[1]"); + } + xmlFree(res); +} + +static int +xsdTestCase(xmlNodePtr tst) { + xmlNodePtr test, tmp, cur; + xmlBufferPtr buf; + xmlDocPtr doc = NULL; + xmlRelaxNGParserCtxtPtr pctxt; + xmlRelaxNGValidCtxtPtr ctxt; + xmlRelaxNGPtr rng = NULL; + int ret = 0, mem, memt; + xmlChar *dtd; + + resetEntities(); + testErrorsSize = 0; testErrors[0] = 0; + + tmp = getNext(tst, "./dir[1]"); + if (tmp != NULL) { + installDirs(tmp, NULL); + } + tmp = getNext(tst, "./resource[1]"); + if (tmp != NULL) { + installResources(tmp, NULL); + } + + cur = getNext(tst, "./correct[1]"); + if (cur == NULL) { + return(xsdIncorrectTestCase(tst)); + } + + test = getNext(cur, "./*"); + if (test == NULL) { + fprintf(stderr, "Failed to find test in correct line %ld\n", + xmlGetLineNo(cur)); + return(1); + } + + memt = xmlMemUsed(); + extraMemoryFromResolver = 0; + /* + * dump the schemas to a buffer, then reparse it and compile the schemas + */ + buf = xmlBufferCreate(); + if (buf == NULL) { + fprintf(stderr, "out of memory !\n"); + fatalError(); + } + xmlNodeDump(buf, test->doc, test, 0, 0); + pctxt = xmlRelaxNGNewMemParserCtxt((const char *)buf->content, buf->use); + xmlRelaxNGSetParserErrors(pctxt, testErrorHandler, testErrorHandler, + pctxt); + rng = xmlRelaxNGParse(pctxt); + xmlRelaxNGFreeParserCtxt(pctxt); + if (extraMemoryFromResolver) + memt = 0; + + if (rng == NULL) { + test_log("Failed to parse RNGtest line %ld\n", + xmlGetLineNo(test)); + nb_errors++; + ret = 1; + goto done; + } + /* + * now scan all the siblings of correct to process the tests + */ + tmp = getNext(cur, "following-sibling::valid[1]"); + while (tmp != NULL) { + dtd = xmlGetProp(tmp, BAD_CAST "dtd"); + test = getNext(tmp, "./*"); + if (test == NULL) { + fprintf(stderr, "Failed to find test in line %ld\n", + xmlGetLineNo(tmp)); + + } else { + xmlBufferEmpty(buf); + if (dtd != NULL) + xmlBufferAdd(buf, dtd, -1); + xmlNodeDump(buf, test->doc, test, 0, 0); + + /* + * We are ready to run the test + */ + mem = xmlMemUsed(); + extraMemoryFromResolver = 0; + doc = xmlReadMemory((const char *)buf->content, buf->use, + "test", NULL, 0); + if (doc == NULL) { + test_log("Failed to parse valid instance line %ld\n", + xmlGetLineNo(tmp)); + nb_errors++; + } else { + nb_tests++; + ctxt = xmlRelaxNGNewValidCtxt(rng); + xmlRelaxNGSetValidErrors(ctxt, + testErrorHandler, testErrorHandler, ctxt); + ret = xmlRelaxNGValidateDoc(ctxt, doc); + xmlRelaxNGFreeValidCtxt(ctxt); + if (ret > 0) { + test_log("Failed to validate valid instance line %ld\n", + xmlGetLineNo(tmp)); + nb_errors++; + } else if (ret < 0) { + test_log("Internal error validating instance line %ld\n", + xmlGetLineNo(tmp)); + nb_errors++; + } + xmlFreeDoc(doc); + } + xmlResetLastError(); + if ((mem != xmlMemUsed()) && (extraMemoryFromResolver == 0)) { + test_log("Validation of instance line %ld leaked %d\n", + xmlGetLineNo(tmp), xmlMemUsed() - mem); + xmlMemoryDump(); + nb_leaks++; + } + } + if (dtd != NULL) + xmlFree(dtd); + tmp = getNext(tmp, "following-sibling::valid[1]"); + } + /* + * now scan all the siblings of correct to process the tests + */ + tmp = getNext(cur, "following-sibling::invalid[1]"); + while (tmp != NULL) { + test = getNext(tmp, "./*"); + if (test == NULL) { + fprintf(stderr, "Failed to find test in line %ld\n", + xmlGetLineNo(tmp)); + + } else { + xmlBufferEmpty(buf); + xmlNodeDump(buf, test->doc, test, 0, 0); + + /* + * We are ready to run the test + */ + mem = xmlMemUsed(); + extraMemoryFromResolver = 0; + doc = xmlReadMemory((const char *)buf->content, buf->use, + "test", NULL, 0); + if (doc == NULL) { + test_log("Failed to parse valid instance line %ld\n", + xmlGetLineNo(tmp)); + nb_errors++; + } else { + nb_tests++; + ctxt = xmlRelaxNGNewValidCtxt(rng); + xmlRelaxNGSetValidErrors(ctxt, + testErrorHandler, testErrorHandler, ctxt); + ret = xmlRelaxNGValidateDoc(ctxt, doc); + xmlRelaxNGFreeValidCtxt(ctxt); + if (ret == 0) { + test_log("Failed to detect invalid instance line %ld\n", + xmlGetLineNo(tmp)); + nb_errors++; + } else if (ret < 0) { + test_log("Internal error validating instance line %ld\n", + xmlGetLineNo(tmp)); + nb_errors++; + } + xmlFreeDoc(doc); + } + xmlResetLastError(); + if ((mem != xmlMemUsed()) && (extraMemoryFromResolver == 0)) { + test_log("Validation of instance line %ld leaked %d\n", + xmlGetLineNo(tmp), xmlMemUsed() - mem); + xmlMemoryDump(); + nb_leaks++; + } + } + tmp = getNext(tmp, "following-sibling::invalid[1]"); + } + +done: + if (buf != NULL) + xmlBufferFree(buf); + if (rng != NULL) + xmlRelaxNGFree(rng); + xmlResetLastError(); + if ((memt != xmlMemUsed()) && (memt != 0)) { + test_log("Validation of tests starting line %ld leaked %d\n", + xmlGetLineNo(cur), xmlMemUsed() - memt); + nb_leaks++; + } + return(ret); +} + +static int +xsdTestSuite(xmlNodePtr cur) { + if (verbose) { + xmlChar *doc = getString(cur, "string(documentation)"); + + if (doc != NULL) { + printf("Suite %s\n", doc); + xmlFree(doc); + } + } + cur = getNext(cur, "./testCase[1]"); + while (cur != NULL) { + xsdTestCase(cur); + cur = getNext(cur, "following-sibling::testCase[1]"); + } + + return(0); +} + +static int +xsdTest(void) { + xmlDocPtr doc; + xmlNodePtr cur; + const char *filename = "test/xsdtest/xsdtestsuite.xml"; + int ret = 0; + + doc = xmlReadFile(filename, NULL, XML_PARSE_NOENT); + if (doc == NULL) { + fprintf(stderr, "Failed to parse %s\n", filename); + return(-1); + } + printf("## XML Schemas datatypes test suite from James Clark\n"); + + cur = xmlDocGetRootElement(doc); + if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSuite"))) { + fprintf(stderr, "Unexpected format %s\n", filename); + ret = -1; + goto done; + } + + cur = getNext(cur, "./testSuite[1]"); + if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSuite"))) { + fprintf(stderr, "Unexpected format %s\n", filename); + ret = -1; + goto done; + } + while (cur != NULL) { + xsdTestSuite(cur); + cur = getNext(cur, "following-sibling::testSuite[1]"); + } + +done: + if (doc != NULL) + xmlFreeDoc(doc); + return(ret); +} + +static int +rngTestSuite(xmlNodePtr cur) { + if (verbose) { + xmlChar *doc = getString(cur, "string(documentation)"); + + if (doc != NULL) { + printf("Suite %s\n", doc); + xmlFree(doc); + } else { + doc = getString(cur, "string(section)"); + if (doc != NULL) { + printf("Section %s\n", doc); + xmlFree(doc); + } + } + } + cur = getNext(cur, "./testSuite[1]"); + while (cur != NULL) { + xsdTestSuite(cur); + cur = getNext(cur, "following-sibling::testSuite[1]"); + } + + return(0); +} + +static int +rngTest1(void) { + xmlDocPtr doc; + xmlNodePtr cur; + const char *filename = "test/relaxng/OASIS/spectest.xml"; + int ret = 0; + + doc = xmlReadFile(filename, NULL, XML_PARSE_NOENT); + if (doc == NULL) { + fprintf(stderr, "Failed to parse %s\n", filename); + return(-1); + } + printf("## Relax NG test suite from James Clark\n"); + + cur = xmlDocGetRootElement(doc); + if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSuite"))) { + fprintf(stderr, "Unexpected format %s\n", filename); + ret = -1; + goto done; + } + + cur = getNext(cur, "./testSuite[1]"); + if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSuite"))) { + fprintf(stderr, "Unexpected format %s\n", filename); + ret = -1; + goto done; + } + while (cur != NULL) { + rngTestSuite(cur); + cur = getNext(cur, "following-sibling::testSuite[1]"); + } + +done: + if (doc != NULL) + xmlFreeDoc(doc); + return(ret); +} + +static int +rngTest2(void) { + xmlDocPtr doc; + xmlNodePtr cur; + const char *filename = "test/relaxng/testsuite.xml"; + int ret = 0; + + doc = xmlReadFile(filename, NULL, XML_PARSE_NOENT); + if (doc == NULL) { + fprintf(stderr, "Failed to parse %s\n", filename); + return(-1); + } + printf("## Relax NG test suite for libxml2\n"); + + cur = xmlDocGetRootElement(doc); + if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSuite"))) { + fprintf(stderr, "Unexpected format %s\n", filename); + ret = -1; + goto done; + } + + cur = getNext(cur, "./testSuite[1]"); + if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSuite"))) { + fprintf(stderr, "Unexpected format %s\n", filename); + ret = -1; + goto done; + } + while (cur != NULL) { + xsdTestSuite(cur); + cur = getNext(cur, "following-sibling::testSuite[1]"); + } + +done: + if (doc != NULL) + xmlFreeDoc(doc); + return(ret); +} + +/************************************************************************ + * * + * Schemas test suites from W3C/NIST/MS/Sun * + * * + ************************************************************************/ + +static int +xstcTestInstance(xmlNodePtr cur, xmlSchemaPtr schemas, + const xmlChar *spath, const char *base) { + xmlChar *href = NULL; + xmlChar *path = NULL; + xmlChar *validity = NULL; + xmlSchemaValidCtxtPtr ctxt = NULL; + xmlDocPtr doc = NULL; + int ret = 0, mem; + + xmlResetLastError(); + testErrorsSize = 0; testErrors[0] = 0; + mem = xmlMemUsed(); + href = getString(cur, + "string(ts:instanceDocument/@xlink:href)"); + if ((href == NULL) || (href[0] == 0)) { + test_log("testGroup line %ld misses href for schemaDocument\n", + xmlGetLineNo(cur)); + ret = -1; + goto done; + } + path = xmlBuildURI(href, BAD_CAST base); + if (path == NULL) { + fprintf(stderr, + "Failed to build path to schemas testGroup line %ld : %s\n", + xmlGetLineNo(cur), href); + ret = -1; + goto done; + } + if (checkTestFile((const char *) path) <= 0) { + test_log("schemas for testGroup line %ld is missing: %s\n", + xmlGetLineNo(cur), path); + ret = -1; + goto done; + } + validity = getString(cur, + "string(ts:expected/@validity)"); + if (validity == NULL) { + fprintf(stderr, "instanceDocument line %ld misses expected validity\n", + xmlGetLineNo(cur)); + ret = -1; + goto done; + } + nb_tests++; + doc = xmlReadFile((const char *) path, NULL, XML_PARSE_NOENT); + if (doc == NULL) { + fprintf(stderr, "instance %s fails to parse\n", path); + ret = -1; + nb_errors++; + goto done; + } + + ctxt = xmlSchemaNewValidCtxt(schemas); + xmlSchemaSetValidErrors(ctxt, testErrorHandler, testErrorHandler, ctxt); + ret = xmlSchemaValidateDoc(ctxt, doc); + + if (xmlStrEqual(validity, BAD_CAST "valid")) { + if (ret > 0) { + test_log("valid instance %s failed to validate against %s\n", + path, spath); + nb_errors++; + } else if (ret < 0) { + test_log("valid instance %s got internal error validating %s\n", + path, spath); + nb_internals++; + nb_errors++; + } + } else if (xmlStrEqual(validity, BAD_CAST "invalid")) { + if (ret == 0) { + test_log("Failed to detect invalid instance %s against %s\n", + path, spath); + nb_errors++; + } + } else { + test_log("instanceDocument line %ld has unexpected validity value%s\n", + xmlGetLineNo(cur), validity); + ret = -1; + goto done; + } + +done: + if (href != NULL) xmlFree(href); + if (path != NULL) xmlFree(path); + if (validity != NULL) xmlFree(validity); + if (ctxt != NULL) xmlSchemaFreeValidCtxt(ctxt); + if (doc != NULL) xmlFreeDoc(doc); + xmlResetLastError(); + if (mem != xmlMemUsed()) { + test_log("Validation of tests starting line %ld leaked %d\n", + xmlGetLineNo(cur), xmlMemUsed() - mem); + nb_leaks++; + } + return(ret); +} + +static int +xstcTestGroup(xmlNodePtr cur, const char *base) { + xmlChar *href = NULL; + xmlChar *path = NULL; + xmlChar *validity = NULL; + xmlSchemaPtr schemas = NULL; + xmlSchemaParserCtxtPtr ctxt; + xmlNodePtr instance; + int ret = 0, mem; + + xmlResetLastError(); + testErrorsSize = 0; testErrors[0] = 0; + mem = xmlMemUsed(); + href = getString(cur, + "string(ts:schemaTest/ts:schemaDocument/@xlink:href)"); + if ((href == NULL) || (href[0] == 0)) { + test_log("testGroup line %ld misses href for schemaDocument\n", + xmlGetLineNo(cur)); + ret = -1; + goto done; + } + path = xmlBuildURI(href, BAD_CAST base); + if (path == NULL) { + test_log("Failed to build path to schemas testGroup line %ld : %s\n", + xmlGetLineNo(cur), href); + ret = -1; + goto done; + } + if (checkTestFile((const char *) path) <= 0) { + test_log("schemas for testGroup line %ld is missing: %s\n", + xmlGetLineNo(cur), path); + ret = -1; + goto done; + } + validity = getString(cur, + "string(ts:schemaTest/ts:expected/@validity)"); + if (validity == NULL) { + test_log("testGroup line %ld misses expected validity\n", + xmlGetLineNo(cur)); + ret = -1; + goto done; + } + nb_tests++; + if (xmlStrEqual(validity, BAD_CAST "valid")) { + nb_schematas++; + ctxt = xmlSchemaNewParserCtxt((const char *) path); + xmlSchemaSetParserErrors(ctxt, testErrorHandler, testErrorHandler, + ctxt); + schemas = xmlSchemaParse(ctxt); + xmlSchemaFreeParserCtxt(ctxt); + if (schemas == NULL) { + test_log("valid schemas %s failed to parse\n", + path); + ret = 1; + nb_errors++; + } + if ((ret == 0) && (strstr(testErrors, "nimplemented") != NULL)) { + test_log("valid schemas %s hit an unimplemented block\n", + path); + ret = 1; + nb_unimplemented++; + nb_errors++; + } + instance = getNext(cur, "./ts:instanceTest[1]"); + while (instance != NULL) { + if (schemas != NULL) { + xstcTestInstance(instance, schemas, path, base); + } else { + /* + * We'll automatically mark the instances as failed + * if the schema was broken. + */ + nb_errors++; + } + instance = getNext(instance, + "following-sibling::ts:instanceTest[1]"); + } + } else if (xmlStrEqual(validity, BAD_CAST "invalid")) { + nb_schematas++; + ctxt = xmlSchemaNewParserCtxt((const char *) path); + xmlSchemaSetParserErrors(ctxt, testErrorHandler, testErrorHandler, + ctxt); + schemas = xmlSchemaParse(ctxt); + xmlSchemaFreeParserCtxt(ctxt); + if (schemas != NULL) { + test_log("Failed to detect error in schemas %s\n", + path); + nb_errors++; + ret = 1; + } + if ((ret == 0) && (strstr(testErrors, "nimplemented") != NULL)) { + nb_unimplemented++; + test_log("invalid schemas %s hit an unimplemented block\n", + path); + ret = 1; + nb_errors++; + } + } else { + test_log("testGroup line %ld misses unexpected validity value%s\n", + xmlGetLineNo(cur), validity); + ret = -1; + goto done; + } + +done: + if (href != NULL) xmlFree(href); + if (path != NULL) xmlFree(path); + if (validity != NULL) xmlFree(validity); + if (schemas != NULL) xmlSchemaFree(schemas); + xmlResetLastError(); + if ((mem != xmlMemUsed()) && (extraMemoryFromResolver == 0)) { + test_log("Processing test line %ld %s leaked %d\n", + xmlGetLineNo(cur), path, xmlMemUsed() - mem); + nb_leaks++; + } + return(ret); +} + +static int +xstcMetadata(const char *metadata, const char *base) { + xmlDocPtr doc; + xmlNodePtr cur; + xmlChar *contributor; + xmlChar *name; + int ret = 0; + + doc = xmlReadFile(metadata, NULL, XML_PARSE_NOENT); + if (doc == NULL) { + fprintf(stderr, "Failed to parse %s\n", metadata); + return(-1); + } + + cur = xmlDocGetRootElement(doc); + if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSet"))) { + fprintf(stderr, "Unexpected format %s\n", metadata); + return(-1); + } + contributor = xmlGetProp(cur, BAD_CAST "contributor"); + if (contributor == NULL) { + contributor = xmlStrdup(BAD_CAST "Unknown"); + } + name = xmlGetProp(cur, BAD_CAST "name"); + if (name == NULL) { + name = xmlStrdup(BAD_CAST "Unknown"); + } + printf("## %s test suite for Schemas version %s\n", contributor, name); + xmlFree(contributor); + xmlFree(name); + + cur = getNext(cur, "./ts:testGroup[1]"); + if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testGroup"))) { + fprintf(stderr, "Unexpected format %s\n", metadata); + ret = -1; + goto done; + } + while (cur != NULL) { + xstcTestGroup(cur, base); + cur = getNext(cur, "following-sibling::ts:testGroup[1]"); + } + +done: + xmlFreeDoc(doc); + return(ret); +} + +/************************************************************************ + * * + * The driver for the tests * + * * + ************************************************************************/ + +int +main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + int ret = 0; + int old_errors, old_tests, old_leaks; + + logfile = fopen(LOGFILE, "w"); + if (logfile == NULL) { + fprintf(stderr, + "Could not open the log file, running in verbose mode\n"); + verbose = 1; + } + initializeLibxml2(); + + if ((argc >= 2) && (!strcmp(argv[1], "-v"))) + verbose = 1; + + + old_errors = nb_errors; + old_tests = nb_tests; + old_leaks = nb_leaks; + xsdTest(); + if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) + printf("Ran %d tests, no errors\n", nb_tests - old_tests); + else + printf("Ran %d tests, %d errors, %d leaks\n", + nb_tests - old_tests, + nb_errors - old_errors, + nb_leaks - old_leaks); + old_errors = nb_errors; + old_tests = nb_tests; + old_leaks = nb_leaks; + rngTest1(); + if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) + printf("Ran %d tests, no errors\n", nb_tests - old_tests); + else + printf("Ran %d tests, %d errors, %d leaks\n", + nb_tests - old_tests, + nb_errors - old_errors, + nb_leaks - old_leaks); + old_errors = nb_errors; + old_tests = nb_tests; + old_leaks = nb_leaks; + rngTest2(); + if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) + printf("Ran %d tests, no errors\n", nb_tests - old_tests); + else + printf("Ran %d tests, %d errors, %d leaks\n", + nb_tests - old_tests, + nb_errors - old_errors, + nb_leaks - old_leaks); + old_errors = nb_errors; + old_tests = nb_tests; + old_leaks = nb_leaks; + nb_internals = 0; + nb_schematas = 0; + xstcMetadata("xstc/Tests/Metadata/NISTXMLSchemaDatatypes.testSet", + "xstc/Tests/Metadata/"); + if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) + printf("Ran %d tests (%d schemata), no errors\n", + nb_tests - old_tests, nb_schematas); + else + printf("Ran %d tests (%d schemata), %d errors (%d internals), %d leaks\n", + nb_tests - old_tests, + nb_schematas, + nb_errors - old_errors, + nb_internals, + nb_leaks - old_leaks); + old_errors = nb_errors; + old_tests = nb_tests; + old_leaks = nb_leaks; + nb_internals = 0; + nb_schematas = 0; + xstcMetadata("xstc/Tests/Metadata/SunXMLSchema1-0-20020116.testSet", + "xstc/Tests/"); + if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) + printf("Ran %d tests (%d schemata), no errors\n", + nb_tests - old_tests, nb_schematas); + else + printf("Ran %d tests (%d schemata), %d errors (%d internals), %d leaks\n", + nb_tests - old_tests, + nb_schematas, + nb_errors - old_errors, + nb_internals, + nb_leaks - old_leaks); + old_errors = nb_errors; + old_tests = nb_tests; + old_leaks = nb_leaks; + nb_internals = 0; + nb_schematas = 0; + xstcMetadata("xstc/Tests/Metadata/MSXMLSchema1-0-20020116.testSet", + "xstc/Tests/"); + if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) + printf("Ran %d tests (%d schemata), no errors\n", + nb_tests - old_tests, nb_schematas); + else + printf("Ran %d tests (%d schemata), %d errors (%d internals), %d leaks\n", + nb_tests - old_tests, + nb_schematas, + nb_errors - old_errors, + nb_internals, + nb_leaks - old_leaks); + + if ((nb_errors == 0) && (nb_leaks == 0)) { + ret = 0; + printf("Total %d tests, no errors\n", + nb_tests); + } else { + ret = 1; + printf("Total %d tests, %d errors, %d leaks\n", + nb_tests, nb_errors, nb_leaks); + } + xmlXPathFreeContext(ctxtXPath); + xmlCleanupParser(); + xmlMemoryDump(); + + if (logfile != NULL) + fclose(logfile); + return(ret); +} +#else /* !SCHEMAS */ +int +main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + fprintf(stderr, "runsuite requires support for schemas and xpath in libxml2\n"); +} +#endif diff --git a/runtest.c b/runtest.c new file mode 100644 index 0000000..ffa98d0 --- /dev/null +++ b/runtest.c @@ -0,0 +1,4600 @@ +/* + * runtest.c: C program to run libxml2 regression tests without + * requiring make or Python, and reducing platform dependencies + * to a strict minimum. + * + * To compile on Unixes: + * cc -o runtest `xml2-config --cflags` runtest.c `xml2-config --libs` -lpthread + * + * See Copyright for the status of this software. + * + * daniel@veillard.com + */ + +#include "libxml.h" +#include + +#if !defined(_WIN32) || defined(__CYGWIN__) +#include +#endif +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#ifdef LIBXML_OUTPUT_ENABLED +#ifdef LIBXML_READER_ENABLED +#include +#endif + +#ifdef LIBXML_XINCLUDE_ENABLED +#include +#endif + +#ifdef LIBXML_XPATH_ENABLED +#include +#include +#ifdef LIBXML_XPTR_ENABLED +#include +#endif +#endif + +#ifdef LIBXML_SCHEMAS_ENABLED +#include +#include +#include +#endif + +#ifdef LIBXML_PATTERN_ENABLED +#include +#endif + +#ifdef LIBXML_C14N_ENABLED +#include +#endif + +#ifdef LIBXML_HTML_ENABLED +#include +#include + +/* + * pseudo flag for the unification of HTML and XML tests + */ +#define XML_PARSE_HTML 1 << 24 +#endif + +#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED) +#include +#include +#include +#include +#include +#endif + +/* + * O_BINARY is just for Windows compatibility - if it isn't defined + * on this system, avoid any compilation error + */ +#ifdef O_BINARY +#define RD_FLAGS O_RDONLY | O_BINARY +#define WR_FLAGS O_WRONLY | O_CREAT | O_TRUNC | O_BINARY +#else +#define RD_FLAGS O_RDONLY +#define WR_FLAGS O_WRONLY | O_CREAT | O_TRUNC +#endif + +typedef int (*functest) (const char *filename, const char *result, + const char *error, int options); + +typedef struct testDesc testDesc; +typedef testDesc *testDescPtr; +struct testDesc { + const char *desc; /* description of the test */ + functest func; /* function implementing the test */ + const char *in; /* glob to path for input files */ + const char *out; /* output directory */ + const char *suffix;/* suffix for output files */ + const char *err; /* suffix for error output files */ + int options; /* parser options for the test */ +}; + +static int update_results = 0; +static int checkTestFile(const char *filename); + +#if defined(_WIN32) && !defined(__CYGWIN__) + +#include +#include + +typedef struct +{ + size_t gl_pathc; /* Count of paths matched so far */ + char **gl_pathv; /* List of matched pathnames. */ + size_t gl_offs; /* Slots to reserve in 'gl_pathv'. */ +} glob_t; + +#define GLOB_DOOFFS 0 +static int glob(const char *pattern, ATTRIBUTE_UNUSED int flags, + ATTRIBUTE_UNUSED int errfunc(const char *epath, int eerrno), + glob_t *pglob) { + glob_t *ret; + WIN32_FIND_DATA FindFileData; + HANDLE hFind; + unsigned int nb_paths = 0; + char directory[500]; + int len; + + if ((pattern == NULL) || (pglob == NULL)) return(-1); + + strncpy(directory, pattern, 499); + for (len = strlen(directory);len >= 0;len--) { + if (directory[len] == '/') { + len++; + directory[len] = 0; + break; + } + } + if (len <= 0) + len = 0; + + + ret = pglob; + memset(ret, 0, sizeof(glob_t)); + + hFind = FindFirstFileA(pattern, &FindFileData); + if (hFind == INVALID_HANDLE_VALUE) + return(0); + nb_paths = 20; + ret->gl_pathv = (char **) malloc(nb_paths * sizeof(char *)); + if (ret->gl_pathv == NULL) { + FindClose(hFind); + return(-1); + } + strncpy(directory + len, FindFileData.cFileName, 499 - len); + ret->gl_pathv[ret->gl_pathc] = strdup(directory); + if (ret->gl_pathv[ret->gl_pathc] == NULL) + goto done; + ret->gl_pathc++; + while(FindNextFileA(hFind, &FindFileData)) { + if (FindFileData.cFileName[0] == '.') + continue; + if (ret->gl_pathc + 2 > nb_paths) { + char **tmp = realloc(ret->gl_pathv, nb_paths * 2 * sizeof(char *)); + if (tmp == NULL) + break; + ret->gl_pathv = tmp; + nb_paths *= 2; + } + strncpy(directory + len, FindFileData.cFileName, 499 - len); + ret->gl_pathv[ret->gl_pathc] = strdup(directory); + if (ret->gl_pathv[ret->gl_pathc] == NULL) + break; + ret->gl_pathc++; + } + ret->gl_pathv[ret->gl_pathc] = NULL; + +done: + FindClose(hFind); + return(0); +} + + + +static void globfree(glob_t *pglob) { + unsigned int i; + if (pglob == NULL) + return; + + for (i = 0;i < pglob->gl_pathc;i++) { + if (pglob->gl_pathv[i] != NULL) + free(pglob->gl_pathv[i]); + } +} + +#else +#include +#endif + +/************************************************************************ + * * + * Libxml2 specific routines * + * * + ************************************************************************/ + +static int nb_tests = 0; +static int nb_errors = 0; +static int nb_leaks = 0; +static int extraMemoryFromResolver = 0; + +static int +fatalError(void) { + fprintf(stderr, "Exitting tests on fatal error\n"); + exit(1); +} + +/* + * We need to trap calls to the resolver to not account memory for the catalog + * which is shared to the current running test. We also don't want to have + * network downloads modifying tests. + */ +static xmlParserInputPtr +testExternalEntityLoader(const char *URL, const char *ID, + xmlParserCtxtPtr ctxt) { + xmlParserInputPtr ret; + + if (checkTestFile(URL)) { + ret = xmlNoNetExternalEntityLoader(URL, ID, ctxt); + } else { + int memused = xmlMemUsed(); + ret = xmlNoNetExternalEntityLoader(URL, ID, ctxt); + extraMemoryFromResolver += xmlMemUsed() - memused; + } + + return(ret); +} + +/* + * Trapping the error messages at the generic level to grab the equivalent of + * stderr messages on CLI tools. + */ +static char testErrors[32769]; +static int testErrorsSize = 0; + +static void XMLCDECL +testErrorHandler(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...) { + va_list args; + int res; + + if (testErrorsSize >= 32768) + return; + va_start(args, msg); + res = vsnprintf(&testErrors[testErrorsSize], + 32768 - testErrorsSize, + msg, args); + va_end(args); + if (testErrorsSize + res >= 32768) { + /* buffer is full */ + testErrorsSize = 32768; + testErrors[testErrorsSize] = 0; + } else { + testErrorsSize += res; + } + testErrors[testErrorsSize] = 0; +} + +static void XMLCDECL +channel(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...) { + va_list args; + int res; + + if (testErrorsSize >= 32768) + return; + va_start(args, msg); + res = vsnprintf(&testErrors[testErrorsSize], + 32768 - testErrorsSize, + msg, args); + va_end(args); + if (testErrorsSize + res >= 32768) { + /* buffer is full */ + testErrorsSize = 32768; + testErrors[testErrorsSize] = 0; + } else { + testErrorsSize += res; + } + testErrors[testErrorsSize] = 0; +} + +/** + * xmlParserPrintFileContext: + * @input: an xmlParserInputPtr input + * + * Displays current context within the input content for error tracking + */ + +static void +xmlParserPrintFileContextInternal(xmlParserInputPtr input , + xmlGenericErrorFunc chanl, void *data ) { + const xmlChar *cur, *base; + unsigned int n, col; /* GCC warns if signed, because compared with sizeof() */ + xmlChar content[81]; /* space for 80 chars + line terminator */ + xmlChar *ctnt; + + if (input == NULL) return; + cur = input->cur; + base = input->base; + /* skip backwards over any end-of-lines */ + while ((cur > base) && ((*(cur) == '\n') || (*(cur) == '\r'))) { + cur--; + } + n = 0; + /* search backwards for beginning-of-line (to max buff size) */ + while ((n++ < (sizeof(content)-1)) && (cur > base) && + (*(cur) != '\n') && (*(cur) != '\r')) + cur--; + if ((*(cur) == '\n') || (*(cur) == '\r')) cur++; + /* calculate the error position in terms of the current position */ + col = input->cur - cur; + /* search forward for end-of-line (to max buff size) */ + n = 0; + ctnt = content; + /* copy selected text to our buffer */ + while ((*cur != 0) && (*(cur) != '\n') && + (*(cur) != '\r') && (n < sizeof(content)-1)) { + *ctnt++ = *cur++; + n++; + } + *ctnt = 0; + /* print out the selected text */ + chanl(data ,"%s\n", content); + /* create blank line with problem pointer */ + n = 0; + ctnt = content; + /* (leave buffer space for pointer + line terminator) */ + while ((nfile; + line = err->line; + code = err->code; + domain = err->domain; + level = err->level; + node = err->node; + if ((domain == XML_FROM_PARSER) || (domain == XML_FROM_HTML) || + (domain == XML_FROM_DTD) || (domain == XML_FROM_NAMESPACE) || + (domain == XML_FROM_IO) || (domain == XML_FROM_VALID)) { + ctxt = err->ctxt; + } + str = err->message; + + if (code == XML_ERR_OK) + return; + + if ((node != NULL) && (node->type == XML_ELEMENT_NODE)) + name = node->name; + + /* + * Maintain the compatibility with the legacy error handling + */ + if (ctxt != NULL) { + input = ctxt->input; + if ((input != NULL) && (input->filename == NULL) && + (ctxt->inputNr > 1)) { + cur = input; + input = ctxt->inputTab[ctxt->inputNr - 2]; + } + if (input != NULL) { + if (input->filename) + channel(data, "%s:%d: ", input->filename, input->line); + else if ((line != 0) && (domain == XML_FROM_PARSER)) + channel(data, "Entity: line %d: ", input->line); + } + } else { + if (file != NULL) + channel(data, "%s:%d: ", file, line); + else if ((line != 0) && (domain == XML_FROM_PARSER)) + channel(data, "Entity: line %d: ", line); + } + if (name != NULL) { + channel(data, "element %s: ", name); + } + if (code == XML_ERR_OK) + return; + switch (domain) { + case XML_FROM_PARSER: + channel(data, "parser "); + break; + case XML_FROM_NAMESPACE: + channel(data, "namespace "); + break; + case XML_FROM_DTD: + case XML_FROM_VALID: + channel(data, "validity "); + break; + case XML_FROM_HTML: + channel(data, "HTML parser "); + break; + case XML_FROM_MEMORY: + channel(data, "memory "); + break; + case XML_FROM_OUTPUT: + channel(data, "output "); + break; + case XML_FROM_IO: + channel(data, "I/O "); + break; + case XML_FROM_XINCLUDE: + channel(data, "XInclude "); + break; + case XML_FROM_XPATH: + channel(data, "XPath "); + break; + case XML_FROM_XPOINTER: + channel(data, "parser "); + break; + case XML_FROM_REGEXP: + channel(data, "regexp "); + break; + case XML_FROM_MODULE: + channel(data, "module "); + break; + case XML_FROM_SCHEMASV: + channel(data, "Schemas validity "); + break; + case XML_FROM_SCHEMASP: + channel(data, "Schemas parser "); + break; + case XML_FROM_RELAXNGP: + channel(data, "Relax-NG parser "); + break; + case XML_FROM_RELAXNGV: + channel(data, "Relax-NG validity "); + break; + case XML_FROM_CATALOG: + channel(data, "Catalog "); + break; + case XML_FROM_C14N: + channel(data, "C14N "); + break; + case XML_FROM_XSLT: + channel(data, "XSLT "); + break; + default: + break; + } + if (code == XML_ERR_OK) + return; + switch (level) { + case XML_ERR_NONE: + channel(data, ": "); + break; + case XML_ERR_WARNING: + channel(data, "warning : "); + break; + case XML_ERR_ERROR: + channel(data, "error : "); + break; + case XML_ERR_FATAL: + channel(data, "error : "); + break; + } + if (code == XML_ERR_OK) + return; + if (str != NULL) { + int len; + len = xmlStrlen((const xmlChar *)str); + if ((len > 0) && (str[len - 1] != '\n')) + channel(data, "%s\n", str); + else + channel(data, "%s", str); + } else { + channel(data, "%s\n", "out of memory error"); + } + if (code == XML_ERR_OK) + return; + + if (ctxt != NULL) { + xmlParserPrintFileContextInternal(input, channel, data); + if (cur != NULL) { + if (cur->filename) + channel(data, "%s:%d: \n", cur->filename, cur->line); + else if ((line != 0) && (domain == XML_FROM_PARSER)) + channel(data, "Entity: line %d: \n", cur->line); + xmlParserPrintFileContextInternal(cur, channel, data); + } + } + if ((domain == XML_FROM_XPATH) && (err->str1 != NULL) && + (err->int1 < 100) && + (err->int1 < xmlStrlen((const xmlChar *)err->str1))) { + xmlChar buf[150]; + int i; + + channel(data, "%s\n", err->str1); + for (i=0;i < err->int1;i++) + buf[i] = ' '; + buf[i++] = '^'; + buf[i] = 0; + channel(data, "%s\n", buf); + } +} + +static void +initializeLibxml2(void) { + xmlGetWarningsDefaultValue = 0; + xmlPedanticParserDefault(0); + + xmlMemSetup(xmlMemFree, xmlMemMalloc, xmlMemRealloc, xmlMemoryStrdup); + xmlInitParser(); + xmlSetExternalEntityLoader(testExternalEntityLoader); + xmlSetStructuredErrorFunc(NULL, testStructuredErrorHandler); +#ifdef LIBXML_SCHEMAS_ENABLED + xmlSchemaInitTypes(); + xmlRelaxNGInitTypes(); +#endif +} + + +/************************************************************************ + * * + * File name and path utilities * + * * + ************************************************************************/ + +static const char *baseFilename(const char *filename) { + const char *cur; + if (filename == NULL) + return(NULL); + cur = &filename[strlen(filename)]; + while ((cur > filename) && (*cur != '/')) + cur--; + if (*cur == '/') + return(cur + 1); + return(cur); +} + +static char *resultFilename(const char *filename, const char *out, + const char *suffix) { + const char *base; + char res[500]; + char suffixbuff[500]; + +/************* + if ((filename[0] == 't') && (filename[1] == 'e') && + (filename[2] == 's') && (filename[3] == 't') && + (filename[4] == '/')) + filename = &filename[5]; + *************/ + + base = baseFilename(filename); + if (suffix == NULL) + suffix = ".tmp"; + if (out == NULL) + out = ""; + + strncpy(suffixbuff,suffix,499); +#ifdef VMS + if(strstr(base,".") && suffixbuff[0]=='.') + suffixbuff[0]='_'; +#endif + + if (snprintf(res, 499, "%s%s%s", out, base, suffixbuff) >= 499) + res[499] = 0; + return(strdup(res)); +} + +static int checkTestFile(const char *filename) { + struct stat buf; + + if (stat(filename, &buf) == -1) + return(0); + +#if defined(_WIN32) && !defined(__CYGWIN__) + if (!(buf.st_mode & _S_IFREG)) + return(0); +#else + if (!S_ISREG(buf.st_mode)) + return(0); +#endif + + return(1); +} + +static int compareFiles(const char *r1 /* temp */, const char *r2 /* result */) { + int res1, res2; + int fd1, fd2; + char bytes1[4096]; + char bytes2[4096]; + + if (update_results) { + fd1 = open(r1, RD_FLAGS); + if (fd1 < 0) + return(-1); + fd2 = open(r2, WR_FLAGS, 0644); + if (fd2 < 0) { + close(fd1); + return(-1); + } + do { + res1 = read(fd1, bytes1, 4096); + if (res1 <= 0) + break; + res2 = write(fd2, bytes1, res1); + if (res2 <= 0 || res2 != res1) + break; + } while (1); + close(fd2); + close(fd1); + return(res1 != 0); + } + + fd1 = open(r1, RD_FLAGS); + if (fd1 < 0) + return(-1); + fd2 = open(r2, RD_FLAGS); + if (fd2 < 0) { + close(fd1); + return(-1); + } + while (1) { + res1 = read(fd1, bytes1, 4096); + res2 = read(fd2, bytes2, 4096); + if ((res1 != res2) || (res1 < 0)) { + close(fd1); + close(fd2); + return(1); + } + if (res1 == 0) + break; + if (memcmp(bytes1, bytes2, res1) != 0) { + close(fd1); + close(fd2); + return(1); + } + } + close(fd1); + close(fd2); + return(0); +} + +static int compareFileMem(const char *filename, const char *mem, int size) { + int res; + int fd; + char bytes[4096]; + int idx = 0; + struct stat info; + + if (update_results) { + fd = open(filename, WR_FLAGS, 0644); + if (fd < 0) { + fprintf(stderr, "failed to open %s for writing", filename); + return(-1); + } + res = write(fd, mem, size); + close(fd); + return(res != size); + } + + if (stat(filename, &info) < 0) { + fprintf(stderr, "failed to stat %s\n", filename); + return(-1); + } + if (info.st_size != size) { + fprintf(stderr, "file %s is %ld bytes, result is %d bytes\n", + filename, (long) info.st_size, size); + return(-1); + } + fd = open(filename, RD_FLAGS); + if (fd < 0) { + fprintf(stderr, "failed to open %s for reading", filename); + return(-1); + } + while (idx < size) { + res = read(fd, bytes, 4096); + if (res <= 0) + break; + if (res + idx > size) + break; + if (memcmp(bytes, &mem[idx], res) != 0) { + int ix; + for (ix=0; ix 0) { + siz += res; + } + close(fd); +#if !defined(_WIN32) + if (siz != info.st_size) { + free(base); + return(-1); + } +#endif + base[siz] = 0; + *mem = base; + *size = siz; + return(0); +} + +static int unloadMem(const char *mem) { + free((char *)mem); + return(0); +} + +/************************************************************************ + * * + * Tests implementations * + * * + ************************************************************************/ + +/************************************************************************ + * * + * Parse to SAX based tests * + * * + ************************************************************************/ + +static FILE *SAXdebug = NULL; + +/* + * empty SAX block + */ +static xmlSAXHandler emptySAXHandlerStruct = { + NULL, /* internalSubset */ + NULL, /* isStandalone */ + NULL, /* hasInternalSubset */ + NULL, /* hasExternalSubset */ + NULL, /* resolveEntity */ + NULL, /* getEntity */ + NULL, /* entityDecl */ + NULL, /* notationDecl */ + NULL, /* attributeDecl */ + NULL, /* elementDecl */ + NULL, /* unparsedEntityDecl */ + NULL, /* setDocumentLocator */ + NULL, /* startDocument */ + NULL, /* endDocument */ + NULL, /* startElement */ + NULL, /* endElement */ + NULL, /* reference */ + NULL, /* characters */ + NULL, /* ignorableWhitespace */ + NULL, /* processingInstruction */ + NULL, /* comment */ + NULL, /* xmlParserWarning */ + NULL, /* xmlParserError */ + NULL, /* xmlParserError */ + NULL, /* getParameterEntity */ + NULL, /* cdataBlock; */ + NULL, /* externalSubset; */ + 1, + NULL, + NULL, /* startElementNs */ + NULL, /* endElementNs */ + NULL /* xmlStructuredErrorFunc */ +}; + +static xmlSAXHandlerPtr emptySAXHandler = &emptySAXHandlerStruct; +static int callbacks = 0; +static int quiet = 0; + +/** + * isStandaloneDebug: + * @ctxt: An XML parser context + * + * Is this document tagged standalone ? + * + * Returns 1 if true + */ +static int +isStandaloneDebug(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return(0); + fprintf(SAXdebug, "SAX.isStandalone()\n"); + return(0); +} + +/** + * hasInternalSubsetDebug: + * @ctxt: An XML parser context + * + * Does this document has an internal subset + * + * Returns 1 if true + */ +static int +hasInternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return(0); + fprintf(SAXdebug, "SAX.hasInternalSubset()\n"); + return(0); +} + +/** + * hasExternalSubsetDebug: + * @ctxt: An XML parser context + * + * Does this document has an external subset + * + * Returns 1 if true + */ +static int +hasExternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return(0); + fprintf(SAXdebug, "SAX.hasExternalSubset()\n"); + return(0); +} + +/** + * internalSubsetDebug: + * @ctxt: An XML parser context + * + * Does this document has an internal subset + */ +static void +internalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, + const xmlChar *ExternalID, const xmlChar *SystemID) +{ + callbacks++; + if (quiet) + return; + if (name == NULL) + name = BAD_CAST "(null)"; + fprintf(SAXdebug, "SAX.internalSubset(%s,", name); + if (ExternalID == NULL) + fprintf(SAXdebug, " ,"); + else + fprintf(SAXdebug, " %s,", ExternalID); + if (SystemID == NULL) + fprintf(SAXdebug, " )\n"); + else + fprintf(SAXdebug, " %s)\n", SystemID); +} + +/** + * externalSubsetDebug: + * @ctxt: An XML parser context + * + * Does this document has an external subset + */ +static void +externalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, + const xmlChar *ExternalID, const xmlChar *SystemID) +{ + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.externalSubset(%s,", name); + if (ExternalID == NULL) + fprintf(SAXdebug, " ,"); + else + fprintf(SAXdebug, " %s,", ExternalID); + if (SystemID == NULL) + fprintf(SAXdebug, " )\n"); + else + fprintf(SAXdebug, " %s)\n", SystemID); +} + +/** + * resolveEntityDebug: + * @ctxt: An XML parser context + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * + * Special entity resolver, better left to the parser, it has + * more context than the application layer. + * The default behaviour is to NOT resolve the entities, in that case + * the ENTITY_REF nodes are built in the structure (and the parameter + * values). + * + * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour. + */ +static xmlParserInputPtr +resolveEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *publicId, const xmlChar *systemId) +{ + callbacks++; + if (quiet) + return(NULL); + /* xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; */ + + + fprintf(SAXdebug, "SAX.resolveEntity("); + if (publicId != NULL) + fprintf(SAXdebug, "%s", (char *)publicId); + else + fprintf(SAXdebug, " "); + if (systemId != NULL) + fprintf(SAXdebug, ", %s)\n", (char *)systemId); + else + fprintf(SAXdebug, ", )\n"); +/********* + if (systemId != NULL) { + return(xmlNewInputFromFile(ctxt, (char *) systemId)); + } + *********/ + return(NULL); +} + +/** + * getEntityDebug: + * @ctxt: An XML parser context + * @name: The entity name + * + * Get an entity by name + * + * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour. + */ +static xmlEntityPtr +getEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) +{ + callbacks++; + if (quiet) + return(NULL); + fprintf(SAXdebug, "SAX.getEntity(%s)\n", name); + return(NULL); +} + +/** + * getParameterEntityDebug: + * @ctxt: An XML parser context + * @name: The entity name + * + * Get a parameter entity by name + * + * Returns the xmlParserInputPtr + */ +static xmlEntityPtr +getParameterEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) +{ + callbacks++; + if (quiet) + return(NULL); + fprintf(SAXdebug, "SAX.getParameterEntity(%s)\n", name); + return(NULL); +} + + +/** + * entityDeclDebug: + * @ctxt: An XML parser context + * @name: the entity name + * @type: the entity type + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * @content: the entity value (without processing). + * + * An entity definition has been parsed + */ +static void +entityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type, + const xmlChar *publicId, const xmlChar *systemId, xmlChar *content) +{ +const xmlChar *nullstr = BAD_CAST "(null)"; + /* not all libraries handle printing null pointers nicely */ + if (publicId == NULL) + publicId = nullstr; + if (systemId == NULL) + systemId = nullstr; + if (content == NULL) + content = (xmlChar *)nullstr; + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.entityDecl(%s, %d, %s, %s, %s)\n", + name, type, publicId, systemId, content); +} + +/** + * attributeDeclDebug: + * @ctxt: An XML parser context + * @name: the attribute name + * @type: the attribute type + * + * An attribute definition has been parsed + */ +static void +attributeDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar * elem, + const xmlChar * name, int type, int def, + const xmlChar * defaultValue, xmlEnumerationPtr tree) +{ + callbacks++; + if (quiet) + return; + if (defaultValue == NULL) + fprintf(SAXdebug, "SAX.attributeDecl(%s, %s, %d, %d, NULL, ...)\n", + elem, name, type, def); + else + fprintf(SAXdebug, "SAX.attributeDecl(%s, %s, %d, %d, %s, ...)\n", + elem, name, type, def, defaultValue); + xmlFreeEnumeration(tree); +} + +/** + * elementDeclDebug: + * @ctxt: An XML parser context + * @name: the element name + * @type: the element type + * @content: the element value (without processing). + * + * An element definition has been parsed + */ +static void +elementDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type, + xmlElementContentPtr content ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.elementDecl(%s, %d, ...)\n", + name, type); +} + +/** + * notationDeclDebug: + * @ctxt: An XML parser context + * @name: The name of the notation + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * + * What to do when a notation declaration has been parsed. + */ +static void +notationDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, + const xmlChar *publicId, const xmlChar *systemId) +{ + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.notationDecl(%s, %s, %s)\n", + (char *) name, (char *) publicId, (char *) systemId); +} + +/** + * unparsedEntityDeclDebug: + * @ctxt: An XML parser context + * @name: The name of the entity + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * @notationName: the name of the notation + * + * What to do when an unparsed entity declaration is parsed + */ +static void +unparsedEntityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, + const xmlChar *publicId, const xmlChar *systemId, + const xmlChar *notationName) +{ +const xmlChar *nullstr = BAD_CAST "(null)"; + + if (publicId == NULL) + publicId = nullstr; + if (systemId == NULL) + systemId = nullstr; + if (notationName == NULL) + notationName = nullstr; + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.unparsedEntityDecl(%s, %s, %s, %s)\n", + (char *) name, (char *) publicId, (char *) systemId, + (char *) notationName); +} + +/** + * setDocumentLocatorDebug: + * @ctxt: An XML parser context + * @loc: A SAX Locator + * + * Receive the document locator at startup, actually xmlDefaultSAXLocator + * Everything is available on the context, so this is useless in our case. + */ +static void +setDocumentLocatorDebug(void *ctx ATTRIBUTE_UNUSED, xmlSAXLocatorPtr loc ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.setDocumentLocator()\n"); +} + +/** + * startDocumentDebug: + * @ctxt: An XML parser context + * + * called when the document start being processed. + */ +static void +startDocumentDebug(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.startDocument()\n"); +} + +/** + * endDocumentDebug: + * @ctxt: An XML parser context + * + * called when the document end has been detected. + */ +static void +endDocumentDebug(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.endDocument()\n"); +} + +/** + * startElementDebug: + * @ctxt: An XML parser context + * @name: The element name + * + * called when an opening tag has been processed. + */ +static void +startElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, const xmlChar **atts) +{ + int i; + + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.startElement(%s", (char *) name); + if (atts != NULL) { + for (i = 0;(atts[i] != NULL);i++) { + fprintf(SAXdebug, ", %s='", atts[i++]); + if (atts[i] != NULL) + fprintf(SAXdebug, "%s'", atts[i]); + } + } + fprintf(SAXdebug, ")\n"); +} + +/** + * endElementDebug: + * @ctxt: An XML parser context + * @name: The element name + * + * called when the end of an element has been detected. + */ +static void +endElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) +{ + callbacks++; + if (quiet) + return; + fprintf(SAXdebug, "SAX.endElement(%s)\n", (char *) name); +} + +/** + * charactersDebug: + * @ctxt: An XML parser context + * @ch: a xmlChar string + * @len: the number of xmlChar + * + * receiving some chars from the parser. + * Question: how much at a time ??? + */ +static void +charactersDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len) +{ + char output[40]; + int i; + + callbacks++; + if (quiet) + return; + for (i = 0;(isax, emptySAXHandler, sizeof(xmlSAXHandler)); + xmlCtxtUseOptions(ctxt, options); + xmlParseDocument(ctxt); + ret = ctxt->wellFormed ? 0 : ctxt->errNo; + xmlFreeDoc(ctxt->myDoc); + xmlFreeParserCtxt(ctxt); + } + if (ret == XML_WAR_UNDECLARED_ENTITY) { + fprintf(SAXdebug, "xmlSAXUserParseFile returned error %d\n", ret); + ret = 0; + } + if (ret != 0) { + fprintf(stderr, "Failed to parse %s\n", filename); + ret = 1; + goto done; + } +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) { + htmlSAXParseFile(filename, NULL, debugHTMLSAXHandler, NULL); + ret = 0; + } else +#endif + { + xmlParserCtxtPtr ctxt = xmlCreateFileParserCtxt(filename); + if (options & XML_PARSE_SAX1) { + memcpy(ctxt->sax, debugSAXHandler, sizeof(xmlSAXHandler)); + options -= XML_PARSE_SAX1; + } else { + memcpy(ctxt->sax, debugSAX2Handler, sizeof(xmlSAXHandler)); + } + xmlCtxtUseOptions(ctxt, options); + xmlParseDocument(ctxt); + ret = ctxt->wellFormed ? 0 : ctxt->errNo; + xmlFreeDoc(ctxt->myDoc); + xmlFreeParserCtxt(ctxt); + } + if (ret == XML_WAR_UNDECLARED_ENTITY) { + fprintf(SAXdebug, "xmlSAXUserParseFile returned error %d\n", ret); + ret = 0; + } + fclose(SAXdebug); + if (compareFiles(temp, result)) { + fprintf(stderr, "Got a difference for %s\n", filename); + ret = 1; + } + +done: + if (temp != NULL) { + unlink(temp); + free(temp); + } + + /* switch back to structured error handling */ + xmlSetGenericErrorFunc(NULL, NULL); + xmlSetStructuredErrorFunc(NULL, testStructuredErrorHandler); + + return(ret); +} + +/************************************************************************ + * * + * Parse to tree based tests * + * * + ************************************************************************/ +/** + * oldParseTest: + * @filename: the file to parse + * @result: the file with expected result + * @err: the file with error messages: unused + * + * Parse a file using the old xmlParseFile API, then serialize back + * reparse the result and serialize again, then check for deviation + * in serialization. + * + * Returns 0 in case of success, an error code otherwise + */ +static int +oldParseTest(const char *filename, const char *result, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + xmlDocPtr doc; + char *temp; + int res = 0; + + nb_tests++; + /* + * base of the test, parse with the old API + */ +#ifdef LIBXML_SAX1_ENABLED + doc = xmlParseFile(filename); +#else + doc = xmlReadFile(filename, NULL, 0); +#endif + if (doc == NULL) + return(1); + temp = resultFilename(filename, "", ".res"); + if (temp == NULL) { + fprintf(stderr, "out of memory\n"); + fatalError(); + } + xmlSaveFile(temp, doc); + if (compareFiles(temp, result)) { + res = 1; + } + xmlFreeDoc(doc); + + /* + * Parse the saved result to make sure the round trip is okay + */ +#ifdef LIBXML_SAX1_ENABLED + doc = xmlParseFile(temp); +#else + doc = xmlReadFile(temp, NULL, 0); +#endif + if (doc == NULL) + return(1); + xmlSaveFile(temp, doc); + if (compareFiles(temp, result)) { + res = 1; + } + xmlFreeDoc(doc); + + if (temp != NULL) { + unlink(temp); + free(temp); + } + return(res); +} + +#ifdef LIBXML_PUSH_ENABLED +/** + * pushParseTest: + * @filename: the file to parse + * @result: the file with expected result + * @err: the file with error messages: unused + * + * Parse a file using the Push API, then serialize back + * to check for content. + * + * Returns 0 in case of success, an error code otherwise + */ +static int +pushParseTest(const char *filename, const char *result, + const char *err ATTRIBUTE_UNUSED, + int options) { + xmlParserCtxtPtr ctxt; + xmlDocPtr doc; + const char *base; + int size, res; + int cur = 0; + int chunkSize = 4; + + nb_tests++; + /* + * load the document in memory and work from there. + */ + if (loadMem(filename, &base, &size) != 0) { + fprintf(stderr, "Failed to load %s\n", filename); + return(-1); + } + + if (chunkSize > size) + chunkSize = size; + +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) + ctxt = htmlCreatePushParserCtxt(NULL, NULL, base + cur, chunkSize, filename, + XML_CHAR_ENCODING_NONE); + else +#endif + ctxt = xmlCreatePushParserCtxt(NULL, NULL, base + cur, chunkSize, filename); + xmlCtxtUseOptions(ctxt, options); + cur += chunkSize; + chunkSize = 1024; + do { + if (cur + chunkSize >= size) { +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) + htmlParseChunk(ctxt, base + cur, size - cur, 1); + else +#endif + xmlParseChunk(ctxt, base + cur, size - cur, 1); + break; + } else { +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) + htmlParseChunk(ctxt, base + cur, chunkSize, 0); + else +#endif + xmlParseChunk(ctxt, base + cur, chunkSize, 0); + cur += chunkSize; + } + } while (cur < size); + doc = ctxt->myDoc; +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) + res = 1; + else +#endif + res = ctxt->wellFormed; + xmlFreeParserCtxt(ctxt); + free((char *)base); + if (!res) { + xmlFreeDoc(doc); + fprintf(stderr, "Failed to parse %s\n", filename); + return(-1); + } +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) + htmlDocDumpMemory(doc, (xmlChar **) &base, &size); + else +#endif + xmlDocDumpMemory(doc, (xmlChar **) &base, &size); + xmlFreeDoc(doc); + res = compareFileMem(result, base, size); + if ((base == NULL) || (res != 0)) { + if (base != NULL) + xmlFree((char *)base); + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + return(-1); + } + xmlFree((char *)base); + if (err != NULL) { + res = compareFileMem(err, testErrors, testErrorsSize); + if (res != 0) { + fprintf(stderr, "Error for %s failed\n", filename); + return(-1); + } + } + return(0); +} +#endif + +/** + * memParseTest: + * @filename: the file to parse + * @result: the file with expected result + * @err: the file with error messages: unused + * + * Parse a file using the old xmlReadMemory API, then serialize back + * reparse the result and serialize again, then check for deviation + * in serialization. + * + * Returns 0 in case of success, an error code otherwise + */ +static int +memParseTest(const char *filename, const char *result, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + xmlDocPtr doc; + const char *base; + int size, res; + + nb_tests++; + /* + * load and parse the memory + */ + if (loadMem(filename, &base, &size) != 0) { + fprintf(stderr, "Failed to load %s\n", filename); + return(-1); + } + + doc = xmlReadMemory(base, size, filename, NULL, 0); + unloadMem(base); + if (doc == NULL) { + return(1); + } + xmlDocDumpMemory(doc, (xmlChar **) &base, &size); + xmlFreeDoc(doc); + res = compareFileMem(result, base, size); + if ((base == NULL) || (res != 0)) { + if (base != NULL) + xmlFree((char *)base); + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + return(-1); + } + xmlFree((char *)base); + return(0); +} + +/** + * noentParseTest: + * @filename: the file to parse + * @result: the file with expected result + * @err: the file with error messages: unused + * + * Parse a file with entity resolution, then serialize back + * reparse the result and serialize again, then check for deviation + * in serialization. + * + * Returns 0 in case of success, an error code otherwise + */ +static int +noentParseTest(const char *filename, const char *result, + const char *err ATTRIBUTE_UNUSED, + int options) { + xmlDocPtr doc; + char *temp; + int res = 0; + + nb_tests++; + /* + * base of the test, parse with the old API + */ + doc = xmlReadFile(filename, NULL, options); + if (doc == NULL) + return(1); + temp = resultFilename(filename, "", ".res"); + if (temp == NULL) { + fprintf(stderr, "Out of memory\n"); + fatalError(); + } + xmlSaveFile(temp, doc); + if (compareFiles(temp, result)) { + res = 1; + } + xmlFreeDoc(doc); + + /* + * Parse the saved result to make sure the round trip is okay + */ + doc = xmlReadFile(filename, NULL, options); + if (doc == NULL) + return(1); + xmlSaveFile(temp, doc); + if (compareFiles(temp, result)) { + res = 1; + } + xmlFreeDoc(doc); + + if (temp != NULL) { + unlink(temp); + free(temp); + } + return(res); +} + +/** + * errParseTest: + * @filename: the file to parse + * @result: the file with expected result + * @err: the file with error messages + * + * Parse a file using the xmlReadFile API and check for errors. + * + * Returns 0 in case of success, an error code otherwise + */ +static int +errParseTest(const char *filename, const char *result, const char *err, + int options) { + xmlDocPtr doc; + const char *base = NULL; + int size, res = 0; + + nb_tests++; +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) { + doc = htmlReadFile(filename, NULL, options); + } else +#endif +#ifdef LIBXML_XINCLUDE_ENABLED + if (options & XML_PARSE_XINCLUDE) { + doc = xmlReadFile(filename, NULL, options); + xmlXIncludeProcessFlags(doc, options); + } else +#endif + { + xmlGetWarningsDefaultValue = 1; + doc = xmlReadFile(filename, NULL, options); + } + xmlGetWarningsDefaultValue = 0; + if (result) { + if (doc == NULL) { + base = ""; + size = 0; + } else { +#ifdef LIBXML_HTML_ENABLED + if (options & XML_PARSE_HTML) { + htmlDocDumpMemory(doc, (xmlChar **) &base, &size); + } else +#endif + xmlDocDumpMemory(doc, (xmlChar **) &base, &size); + } + res = compareFileMem(result, base, size); + if (res != 0) { + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + return(-1); + } + } + if (doc != NULL) { + if (base != NULL) + xmlFree((char *)base); + xmlFreeDoc(doc); + } + if (err != NULL) { + res = compareFileMem(err, testErrors, testErrorsSize); + if (res != 0) { + fprintf(stderr, "Error for %s failed\n", filename); + return(-1); + } + } else if (options & XML_PARSE_DTDVALID) { + if (testErrorsSize != 0) + fprintf(stderr, "Validation for %s failed\n", filename); + } + + return(0); +} + +#ifdef LIBXML_READER_ENABLED +/************************************************************************ + * * + * Reader based tests * + * * + ************************************************************************/ + +static void processNode(FILE *out, xmlTextReaderPtr reader) { + const xmlChar *name, *value; + int type, empty; + + type = xmlTextReaderNodeType(reader); + empty = xmlTextReaderIsEmptyElement(reader); + + name = xmlTextReaderConstName(reader); + if (name == NULL) + name = BAD_CAST "--"; + + value = xmlTextReaderConstValue(reader); + + + fprintf(out, "%d %d %s %d %d", + xmlTextReaderDepth(reader), + type, + name, + empty, + xmlTextReaderHasValue(reader)); + if (value == NULL) + fprintf(out, "\n"); + else { + fprintf(out, " %s\n", value); + } +} +static int +streamProcessTest(const char *filename, const char *result, const char *err, + xmlTextReaderPtr reader, const char *rng, + int options ATTRIBUTE_UNUSED) { + int ret; + char *temp = NULL; + FILE *t = NULL; + + if (reader == NULL) + return(-1); + + nb_tests++; + if (result != NULL) { + temp = resultFilename(filename, "", ".res"); + if (temp == NULL) { + fprintf(stderr, "Out of memory\n"); + fatalError(); + } + t = fopen(temp, "wb"); + if (t == NULL) { + fprintf(stderr, "Can't open temp file %s\n", temp); + free(temp); + return(-1); + } + } +#ifdef LIBXML_SCHEMAS_ENABLED + if (rng != NULL) { + ret = xmlTextReaderRelaxNGValidate(reader, rng); + if (ret < 0) { + testErrorHandler(NULL, "Relax-NG schema %s failed to compile\n", + rng); + fclose(t); + if (temp != NULL) { + unlink(temp); + free(temp); + } + return(0); + } + } +#endif + xmlGetWarningsDefaultValue = 1; + ret = xmlTextReaderRead(reader); + while (ret == 1) { + if ((t != NULL) && (rng == NULL)) + processNode(t, reader); + ret = xmlTextReaderRead(reader); + } + if (ret != 0) { + testErrorHandler(NULL, "%s : failed to parse\n", filename); + } + if (rng != NULL) { + if (xmlTextReaderIsValid(reader) != 1) { + testErrorHandler(NULL, "%s fails to validate\n", filename); + } else { + testErrorHandler(NULL, "%s validates\n", filename); + } + } + xmlGetWarningsDefaultValue = 0; + if (t != NULL) { + fclose(t); + ret = compareFiles(temp, result); + if (temp != NULL) { + unlink(temp); + free(temp); + } + if (ret) { + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + return(-1); + } + } + if (err != NULL) { + ret = compareFileMem(err, testErrors, testErrorsSize); + if (ret != 0) { + fprintf(stderr, "Error for %s failed\n", filename); + printf("%s", testErrors); + return(-1); + } + } + + return(0); +} + +/** + * streamParseTest: + * @filename: the file to parse + * @result: the file with expected result + * @err: the file with error messages + * + * Parse a file using the reader API and check for errors. + * + * Returns 0 in case of success, an error code otherwise + */ +static int +streamParseTest(const char *filename, const char *result, const char *err, + int options) { + xmlTextReaderPtr reader; + int ret; + + reader = xmlReaderForFile(filename, NULL, options); + ret = streamProcessTest(filename, result, err, reader, NULL, options); + xmlFreeTextReader(reader); + return(ret); +} + +/** + * walkerParseTest: + * @filename: the file to parse + * @result: the file with expected result + * @err: the file with error messages + * + * Parse a file using the walker, i.e. a reader built from a atree. + * + * Returns 0 in case of success, an error code otherwise + */ +static int +walkerParseTest(const char *filename, const char *result, const char *err, + int options) { + xmlDocPtr doc; + xmlTextReaderPtr reader; + int ret; + + doc = xmlReadFile(filename, NULL, options); + if (doc == NULL) { + fprintf(stderr, "Failed to parse %s\n", filename); + return(-1); + } + reader = xmlReaderWalker(doc); + ret = streamProcessTest(filename, result, err, reader, NULL, options); + xmlFreeTextReader(reader); + xmlFreeDoc(doc); + return(ret); +} + +/** + * streamMemParseTest: + * @filename: the file to parse + * @result: the file with expected result + * @err: the file with error messages + * + * Parse a file using the reader API from memory and check for errors. + * + * Returns 0 in case of success, an error code otherwise + */ +static int +streamMemParseTest(const char *filename, const char *result, const char *err, + int options) { + xmlTextReaderPtr reader; + int ret; + const char *base; + int size; + + /* + * load and parse the memory + */ + if (loadMem(filename, &base, &size) != 0) { + fprintf(stderr, "Failed to load %s\n", filename); + return(-1); + } + reader = xmlReaderForMemory(base, size, filename, NULL, options); + ret = streamProcessTest(filename, result, err, reader, NULL, options); + free((char *)base); + xmlFreeTextReader(reader); + return(ret); +} +#endif + +#ifdef LIBXML_XPATH_ENABLED +#ifdef LIBXML_DEBUG_ENABLED +/************************************************************************ + * * + * XPath and XPointer based tests * + * * + ************************************************************************/ + +static FILE *xpathOutput; +static xmlDocPtr xpathDocument; + +static void +ignoreGenericError(void *ctx ATTRIBUTE_UNUSED, + const char *msg ATTRIBUTE_UNUSED, ...) { +} + +static void +testXPath(const char *str, int xptr, int expr) { + xmlGenericErrorFunc handler = ignoreGenericError; + xmlXPathObjectPtr res; + xmlXPathContextPtr ctxt; + + /* Don't print generic errors to stderr. */ + initGenericErrorDefaultFunc(&handler); + + nb_tests++; +#if defined(LIBXML_XPTR_ENABLED) + if (xptr) { + ctxt = xmlXPtrNewContext(xpathDocument, NULL, NULL); + res = xmlXPtrEval(BAD_CAST str, ctxt); + } else { +#endif + ctxt = xmlXPathNewContext(xpathDocument); + ctxt->node = xmlDocGetRootElement(xpathDocument); + if (expr) + res = xmlXPathEvalExpression(BAD_CAST str, ctxt); + else { + /* res = xmlXPathEval(BAD_CAST str, ctxt); */ + xmlXPathCompExprPtr comp; + + comp = xmlXPathCompile(BAD_CAST str); + if (comp != NULL) { + res = xmlXPathCompiledEval(comp, ctxt); + xmlXPathFreeCompExpr(comp); + } else + res = NULL; + } +#if defined(LIBXML_XPTR_ENABLED) + } +#endif + xmlXPathDebugDumpObject(xpathOutput, res, 0); + xmlXPathFreeObject(res); + xmlXPathFreeContext(ctxt); + + /* Reset generic error handler. */ + initGenericErrorDefaultFunc(NULL); +} + +/** + * xpathExprTest: + * @filename: the file to parse + * @result: the file with expected result + * @err: the file with error messages + * + * Parse a file containing XPath standalone expressions and evaluate them + * + * Returns 0 in case of success, an error code otherwise + */ +static int +xpathCommonTest(const char *filename, const char *result, + int xptr, int expr) { + FILE *input; + char expression[5000]; + int len, ret = 0; + char *temp; + + temp = resultFilename(filename, "", ".res"); + if (temp == NULL) { + fprintf(stderr, "Out of memory\n"); + fatalError(); + } + xpathOutput = fopen(temp, "wb"); + if (xpathOutput == NULL) { + fprintf(stderr, "failed to open output file %s\n", temp); + free(temp); + return(-1); + } + + input = fopen(filename, "rb"); + if (input == NULL) { + xmlGenericError(xmlGenericErrorContext, + "Cannot open %s for reading\n", filename); + free(temp); + return(-1); + } + while (fgets(expression, 4500, input) != NULL) { + len = strlen(expression); + len--; + while ((len >= 0) && + ((expression[len] == '\n') || (expression[len] == '\t') || + (expression[len] == '\r') || (expression[len] == ' '))) len--; + expression[len + 1] = 0; + if (len >= 0) { + fprintf(xpathOutput, + "\n========================\nExpression: %s\n", + expression) ; + testXPath(expression, xptr, expr); + } + } + + fclose(input); + fclose(xpathOutput); + if (result != NULL) { + ret = compareFiles(temp, result); + if (ret) { + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + } + } + + if (temp != NULL) { + unlink(temp); + free(temp); + } + return(ret); +} + +/** + * xpathExprTest: + * @filename: the file to parse + * @result: the file with expected result + * @err: the file with error messages + * + * Parse a file containing XPath standalone expressions and evaluate them + * + * Returns 0 in case of success, an error code otherwise + */ +static int +xpathExprTest(const char *filename, const char *result, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + return(xpathCommonTest(filename, result, 0, 1)); +} + +/** + * xpathDocTest: + * @filename: the file to parse + * @result: the file with expected result + * @err: the file with error messages + * + * Parse a file containing XPath expressions and evaluate them against + * a set of corresponding documents. + * + * Returns 0 in case of success, an error code otherwise + */ +static int +xpathDocTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options) { + + char pattern[500]; + char result[500]; + glob_t globbuf; + size_t i; + int ret = 0, res; + + xpathDocument = xmlReadFile(filename, NULL, + options | XML_PARSE_DTDATTR | XML_PARSE_NOENT); + if (xpathDocument == NULL) { + fprintf(stderr, "Failed to load %s\n", filename); + return(-1); + } + + res = snprintf(pattern, 499, "./test/XPath/tests/%s*", + baseFilename(filename)); + if (res >= 499) + pattern[499] = 0; + globbuf.gl_offs = 0; + glob(pattern, GLOB_DOOFFS, NULL, &globbuf); + for (i = 0;i < globbuf.gl_pathc;i++) { + res = snprintf(result, 499, "result/XPath/tests/%s", + baseFilename(globbuf.gl_pathv[i])); + if (res >= 499) + result[499] = 0; + res = xpathCommonTest(globbuf.gl_pathv[i], &result[0], 0, 0); + if (res != 0) + ret = res; + } + globfree(&globbuf); + + xmlFreeDoc(xpathDocument); + return(ret); +} + +#ifdef LIBXML_XPTR_ENABLED +/** + * xptrDocTest: + * @filename: the file to parse + * @result: the file with expected result + * @err: the file with error messages + * + * Parse a file containing XPath expressions and evaluate them against + * a set of corresponding documents. + * + * Returns 0 in case of success, an error code otherwise + */ +static int +xptrDocTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options) { + + char pattern[500]; + char result[500]; + glob_t globbuf; + size_t i; + int ret = 0, res; + + xpathDocument = xmlReadFile(filename, NULL, + options | XML_PARSE_DTDATTR | XML_PARSE_NOENT); + if (xpathDocument == NULL) { + fprintf(stderr, "Failed to load %s\n", filename); + return(-1); + } + + res = snprintf(pattern, 499, "./test/XPath/xptr/%s*", + baseFilename(filename)); + if (res >= 499) + pattern[499] = 0; + globbuf.gl_offs = 0; + glob(pattern, GLOB_DOOFFS, NULL, &globbuf); + for (i = 0;i < globbuf.gl_pathc;i++) { + res = snprintf(result, 499, "result/XPath/xptr/%s", + baseFilename(globbuf.gl_pathv[i])); + if (res >= 499) + result[499] = 0; + res = xpathCommonTest(globbuf.gl_pathv[i], &result[0], 1, 0); + if (res != 0) + ret = res; + } + globfree(&globbuf); + + xmlFreeDoc(xpathDocument); + return(ret); +} +#endif /* LIBXML_XPTR_ENABLED */ + +/** + * xmlidDocTest: + * @filename: the file to parse + * @result: the file with expected result + * @err: the file with error messages + * + * Parse a file containing xml:id and check for errors and verify + * that XPath queries will work on them as expected. + * + * Returns 0 in case of success, an error code otherwise + */ +static int +xmlidDocTest(const char *filename, + const char *result, + const char *err, + int options) { + + int res = 0; + int ret = 0; + char *temp; + + xpathDocument = xmlReadFile(filename, NULL, + options | XML_PARSE_DTDATTR | XML_PARSE_NOENT); + if (xpathDocument == NULL) { + fprintf(stderr, "Failed to load %s\n", filename); + return(-1); + } + + temp = resultFilename(filename, "", ".res"); + if (temp == NULL) { + fprintf(stderr, "Out of memory\n"); + fatalError(); + } + xpathOutput = fopen(temp, "wb"); + if (xpathOutput == NULL) { + fprintf(stderr, "failed to open output file %s\n", temp); + xmlFreeDoc(xpathDocument); + free(temp); + return(-1); + } + + testXPath("id('bar')", 0, 0); + + fclose(xpathOutput); + if (result != NULL) { + ret = compareFiles(temp, result); + if (ret) { + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + res = 1; + } + } + + if (temp != NULL) { + unlink(temp); + free(temp); + } + xmlFreeDoc(xpathDocument); + + if (err != NULL) { + ret = compareFileMem(err, testErrors, testErrorsSize); + if (ret != 0) { + fprintf(stderr, "Error for %s failed\n", filename); + res = 1; + } + } + return(res); +} + +#endif /* LIBXML_DEBUG_ENABLED */ +#endif /* XPATH */ +/************************************************************************ + * * + * URI based tests * + * * + ************************************************************************/ + +static void +handleURI(const char *str, const char *base, FILE *o) { + int ret; + xmlURIPtr uri; + xmlChar *res = NULL; + + uri = xmlCreateURI(); + + if (base == NULL) { + ret = xmlParseURIReference(uri, str); + if (ret != 0) + fprintf(o, "%s : error %d\n", str, ret); + else { + xmlNormalizeURIPath(uri->path); + xmlPrintURI(o, uri); + fprintf(o, "\n"); + } + } else { + res = xmlBuildURI((xmlChar *)str, (xmlChar *) base); + if (res != NULL) { + fprintf(o, "%s\n", (char *) res); + } + else + fprintf(o, "::ERROR::\n"); + } + if (res != NULL) + xmlFree(res); + xmlFreeURI(uri); +} + +/** + * uriCommonTest: + * @filename: the file to parse + * @result: the file with expected result + * @err: the file with error messages + * + * Parse a file containing URI and check for errors + * + * Returns 0 in case of success, an error code otherwise + */ +static int +uriCommonTest(const char *filename, + const char *result, + const char *err, + const char *base) { + char *temp; + FILE *o, *f; + char str[1024]; + int res = 0, i, ret; + + temp = resultFilename(filename, "", ".res"); + if (temp == NULL) { + fprintf(stderr, "Out of memory\n"); + fatalError(); + } + o = fopen(temp, "wb"); + if (o == NULL) { + fprintf(stderr, "failed to open output file %s\n", temp); + free(temp); + return(-1); + } + f = fopen(filename, "rb"); + if (f == NULL) { + fprintf(stderr, "failed to open input file %s\n", filename); + fclose(o); + if (temp != NULL) { + unlink(temp); + free(temp); + } + return(-1); + } + + while (1) { + /* + * read one line in string buffer. + */ + if (fgets (&str[0], sizeof (str) - 1, f) == NULL) + break; + + /* + * remove the ending spaces + */ + i = strlen(str); + while ((i > 0) && + ((str[i - 1] == '\n') || (str[i - 1] == '\r') || + (str[i - 1] == ' ') || (str[i - 1] == '\t'))) { + i--; + str[i] = 0; + } + nb_tests++; + handleURI(str, base, o); + } + + fclose(f); + fclose(o); + + if (result != NULL) { + ret = compareFiles(temp, result); + if (ret) { + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + res = 1; + } + } + if (err != NULL) { + ret = compareFileMem(err, testErrors, testErrorsSize); + if (ret != 0) { + fprintf(stderr, "Error for %s failed\n", filename); + res = 1; + } + } + + if (temp != NULL) { + unlink(temp); + free(temp); + } + return(res); +} + +/** + * uriParseTest: + * @filename: the file to parse + * @result: the file with expected result + * @err: the file with error messages + * + * Parse a file containing URI and check for errors + * + * Returns 0 in case of success, an error code otherwise + */ +static int +uriParseTest(const char *filename, + const char *result, + const char *err, + int options ATTRIBUTE_UNUSED) { + return(uriCommonTest(filename, result, err, NULL)); +} + +/** + * uriBaseTest: + * @filename: the file to parse + * @result: the file with expected result + * @err: the file with error messages + * + * Parse a file containing URI, compose them against a fixed base and + * check for errors + * + * Returns 0 in case of success, an error code otherwise + */ +static int +uriBaseTest(const char *filename, + const char *result, + const char *err, + int options ATTRIBUTE_UNUSED) { + return(uriCommonTest(filename, result, err, + "http://foo.com/path/to/index.html?orig#help")); +} + +static int urip_success = 1; +static int urip_current = 0; +static const char *urip_testURLs[] = { + "urip://example.com/a b.html", + "urip://example.com/a%20b.html", + "file:///path/to/a b.html", + "file:///path/to/a%20b.html", + "/path/to/a b.html", + "/path/to/a%20b.html", + "urip://example.com/r" "\xe9" "sum" "\xe9" ".html", + "urip://example.com/test?a=1&b=2%263&c=4#foo", + NULL +}; +static const char *urip_rcvsURLs[] = { + /* it is an URI the strings must be escaped */ + "urip://example.com/a%20b.html", + /* check that % escaping is not broken */ + "urip://example.com/a%20b.html", + /* it's an URI path the strings must be escaped */ + "file:///path/to/a%20b.html", + /* check that % escaping is not broken */ + "file:///path/to/a%20b.html", + /* this is not an URI, this is a path, so this should not be escaped */ + "/path/to/a b.html", + /* check that paths with % are not broken */ + "/path/to/a%20b.html", + /* out of context the encoding can't be guessed byte by byte conversion */ + "urip://example.com/r%E9sum%E9.html", + /* verify we don't destroy URIs especially the query part */ + "urip://example.com/test?a=1&b=2%263&c=4#foo", + NULL +}; +static const char *urip_res = ""; +static const char *urip_cur = NULL; +static int urip_rlen; + +/** + * uripMatch: + * @URI: an URI to test + * + * Check for an urip: query + * + * Returns 1 if yes and 0 if another Input module should be used + */ +static int +uripMatch(const char * URI) { + if ((URI == NULL) || (!strcmp(URI, "file:///etc/xml/catalog"))) + return(0); + /* Verify we received the escaped URL */ + if (strcmp(urip_rcvsURLs[urip_current], URI)) + urip_success = 0; + return(1); +} + +/** + * uripOpen: + * @URI: an URI to test + * + * Return a pointer to the urip: query handler, in this example simply + * the urip_current pointer... + * + * Returns an Input context or NULL in case or error + */ +static void * +uripOpen(const char * URI) { + if ((URI == NULL) || (!strcmp(URI, "file:///etc/xml/catalog"))) + return(NULL); + /* Verify we received the escaped URL */ + if (strcmp(urip_rcvsURLs[urip_current], URI)) + urip_success = 0; + urip_cur = urip_res; + urip_rlen = strlen(urip_res); + return((void *) urip_cur); +} + +/** + * uripClose: + * @context: the read context + * + * Close the urip: query handler + * + * Returns 0 or -1 in case of error + */ +static int +uripClose(void * context) { + if (context == NULL) return(-1); + urip_cur = NULL; + urip_rlen = 0; + return(0); +} + +/** + * uripRead: + * @context: the read context + * @buffer: where to store data + * @len: number of bytes to read + * + * Implement an urip: query read. + * + * Returns the number of bytes read or -1 in case of error + */ +static int +uripRead(void * context, char * buffer, int len) { + const char *ptr = (const char *) context; + + if ((context == NULL) || (buffer == NULL) || (len < 0)) + return(-1); + + if (len > urip_rlen) len = urip_rlen; + memcpy(buffer, ptr, len); + urip_rlen -= len; + return(len); +} + +static int +urip_checkURL(const char *URL) { + xmlDocPtr doc; + + doc = xmlReadFile(URL, NULL, 0); + if (doc == NULL) + return(-1); + xmlFreeDoc(doc); + return(1); +} + +/** + * uriPathTest: + * @filename: ignored + * @result: ignored + * @err: ignored + * + * Run a set of tests to check how Path and URI are handled before + * being passed to the I/O layer + * + * Returns 0 in case of success, an error code otherwise + */ +static int +uriPathTest(const char *filename ATTRIBUTE_UNUSED, + const char *result ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + int parsed; + int failures = 0; + + /* + * register the new I/O handlers + */ + if (xmlRegisterInputCallbacks(uripMatch, uripOpen, uripRead, uripClose) < 0) + { + fprintf(stderr, "failed to register HTTP handler\n"); + return(-1); + } + + for (urip_current = 0;urip_testURLs[urip_current] != NULL;urip_current++) { + urip_success = 1; + parsed = urip_checkURL(urip_testURLs[urip_current]); + if (urip_success != 1) { + fprintf(stderr, "failed the URL passing test for %s", + urip_testURLs[urip_current]); + failures++; + } else if (parsed != 1) { + fprintf(stderr, "failed the parsing test for %s", + urip_testURLs[urip_current]); + failures++; + } + nb_tests++; + } + + xmlPopInputCallbacks(); + return(failures); +} + +#ifdef LIBXML_SCHEMAS_ENABLED +/************************************************************************ + * * + * Schemas tests * + * * + ************************************************************************/ +static int +schemasOneTest(const char *sch, + const char *filename, + const char *result, + const char *err, + int options, + xmlSchemaPtr schemas) { + xmlDocPtr doc; + xmlSchemaValidCtxtPtr ctxt; + int ret = 0; + int validResult = 0; + char *temp; + FILE *schemasOutput; + + doc = xmlReadFile(filename, NULL, options); + if (doc == NULL) { + fprintf(stderr, "failed to parse instance %s for %s\n", filename, sch); + return(-1); + } + + temp = resultFilename(result, "", ".res"); + if (temp == NULL) { + fprintf(stderr, "Out of memory\n"); + fatalError(); + } + schemasOutput = fopen(temp, "wb"); + if (schemasOutput == NULL) { + fprintf(stderr, "failed to open output file %s\n", temp); + xmlFreeDoc(doc); + free(temp); + return(-1); + } + + ctxt = xmlSchemaNewValidCtxt(schemas); + xmlSchemaSetValidErrors(ctxt, testErrorHandler, testErrorHandler, ctxt); + validResult = xmlSchemaValidateDoc(ctxt, doc); + if (validResult == 0) { + fprintf(schemasOutput, "%s validates\n", filename); + } else if (validResult > 0) { + fprintf(schemasOutput, "%s fails to validate\n", filename); + } else { + fprintf(schemasOutput, "%s validation generated an internal error\n", + filename); + } + fclose(schemasOutput); + if (result) { + if (compareFiles(temp, result)) { + fprintf(stderr, "Result for %s on %s failed\n", filename, sch); + ret = 1; + } + } + if (temp != NULL) { + unlink(temp); + free(temp); + } + + if ((validResult != 0) && (err != NULL)) { + if (compareFileMem(err, testErrors, testErrorsSize)) { + fprintf(stderr, "Error for %s on %s failed\n", filename, sch); + ret = 1; + } + } + + xmlSchemaFreeValidCtxt(ctxt); + xmlFreeDoc(doc); + return(ret); +} +/** + * schemasTest: + * @filename: the schemas file + * @result: the file with expected result + * @err: the file with error messages + * + * Parse a file containing URI, compose them against a fixed base and + * check for errors + * + * Returns 0 in case of success, an error code otherwise + */ +static int +schemasTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *errr ATTRIBUTE_UNUSED, + int options) { + const char *base = baseFilename(filename); + const char *base2; + const char *instance; + xmlSchemaParserCtxtPtr ctxt; + xmlSchemaPtr schemas; + int res = 0, len, ret; + char pattern[500]; + char prefix[500]; + char result[500]; + char err[500]; + glob_t globbuf; + size_t i; + char count = 0; + + /* first compile the schemas if possible */ + ctxt = xmlSchemaNewParserCtxt(filename); + xmlSchemaSetParserErrors(ctxt, testErrorHandler, testErrorHandler, ctxt); + schemas = xmlSchemaParse(ctxt); + xmlSchemaFreeParserCtxt(ctxt); + + /* + * most of the mess is about the output filenames generated by the Makefile + */ + len = strlen(base); + if ((len > 499) || (len < 5)) { + xmlSchemaFree(schemas); + return(-1); + } + len -= 4; /* remove trailing .xsd */ + if (base[len - 2] == '_') { + len -= 2; /* remove subtest number */ + } + if (base[len - 2] == '_') { + len -= 2; /* remove subtest number */ + } + memcpy(prefix, base, len); + prefix[len] = 0; + + if (snprintf(pattern, 499, "./test/schemas/%s_?.xml", prefix) >= 499) + pattern[499] = 0; + + if (base[len] == '_') { + len += 2; + memcpy(prefix, base, len); + prefix[len] = 0; + } + + globbuf.gl_offs = 0; + glob(pattern, GLOB_DOOFFS, NULL, &globbuf); + for (i = 0;i < globbuf.gl_pathc;i++) { + testErrorsSize = 0; + testErrors[0] = 0; + instance = globbuf.gl_pathv[i]; + base2 = baseFilename(instance); + len = strlen(base2); + if ((len > 6) && (base2[len - 6] == '_')) { + count = base2[len - 5]; + ret = snprintf(result, 499, "result/schemas/%s_%c", + prefix, count); + if (ret >= 499) + result[499] = 0; + ret = snprintf(err, 499, "result/schemas/%s_%c.err", + prefix, count); + if (ret >= 499) + err[499] = 0; + } else { + fprintf(stderr, "don't know how to process %s\n", instance); + continue; + } + if (schemas == NULL) { + } else { + nb_tests++; + ret = schemasOneTest(filename, instance, result, err, + options, schemas); + if (ret != 0) + res = ret; + } + } + globfree(&globbuf); + xmlSchemaFree(schemas); + + return(res); +} + +/************************************************************************ + * * + * Schemas tests * + * * + ************************************************************************/ +static int +rngOneTest(const char *sch, + const char *filename, + const char *result, + const char *err, + int options, + xmlRelaxNGPtr schemas) { + xmlDocPtr doc; + xmlRelaxNGValidCtxtPtr ctxt; + int ret = 0; + char *temp; + FILE *schemasOutput; + + doc = xmlReadFile(filename, NULL, options); + if (doc == NULL) { + fprintf(stderr, "failed to parse instance %s for %s\n", filename, sch); + return(-1); + } + + temp = resultFilename(result, "", ".res"); + if (temp == NULL) { + fprintf(stderr, "Out of memory\n"); + fatalError(); + } + schemasOutput = fopen(temp, "wb"); + if (schemasOutput == NULL) { + fprintf(stderr, "failed to open output file %s\n", temp); + xmlFreeDoc(doc); + free(temp); + return(-1); + } + + ctxt = xmlRelaxNGNewValidCtxt(schemas); + xmlRelaxNGSetValidErrors(ctxt, testErrorHandler, testErrorHandler, ctxt); + ret = xmlRelaxNGValidateDoc(ctxt, doc); + if (ret == 0) { + testErrorHandler(NULL, "%s validates\n", filename); + } else if (ret > 0) { + testErrorHandler(NULL, "%s fails to validate\n", filename); + } else { + testErrorHandler(NULL, "%s validation generated an internal error\n", + filename); + } + fclose(schemasOutput); + ret = 0; + if (result) { + if (compareFiles(temp, result)) { + fprintf(stderr, "Result for %s on %s failed\n", filename, sch); + ret = 1; + } + } + if (temp != NULL) { + unlink(temp); + free(temp); + } + + if (err != NULL) { + if (compareFileMem(err, testErrors, testErrorsSize)) { + fprintf(stderr, "Error for %s on %s failed\n", filename, sch); + ret = 1; + printf("%s", testErrors); + } + } + + + xmlRelaxNGFreeValidCtxt(ctxt); + xmlFreeDoc(doc); + return(ret); +} +/** + * rngTest: + * @filename: the schemas file + * @result: the file with expected result + * @err: the file with error messages + * + * Parse an RNG schemas and then apply it to the related .xml + * + * Returns 0 in case of success, an error code otherwise + */ +static int +rngTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *errr ATTRIBUTE_UNUSED, + int options) { + const char *base = baseFilename(filename); + const char *base2; + const char *instance; + xmlRelaxNGParserCtxtPtr ctxt; + xmlRelaxNGPtr schemas; + int res = 0, len, ret = 0; + char pattern[500]; + char prefix[500]; + char result[500]; + char err[500]; + glob_t globbuf; + size_t i; + char count = 0; + + /* first compile the schemas if possible */ + ctxt = xmlRelaxNGNewParserCtxt(filename); + xmlRelaxNGSetParserErrors(ctxt, testErrorHandler, testErrorHandler, ctxt); + schemas = xmlRelaxNGParse(ctxt); + xmlRelaxNGFreeParserCtxt(ctxt); + + /* + * most of the mess is about the output filenames generated by the Makefile + */ + len = strlen(base); + if ((len > 499) || (len < 5)) { + xmlRelaxNGFree(schemas); + return(-1); + } + len -= 4; /* remove trailing .rng */ + memcpy(prefix, base, len); + prefix[len] = 0; + + if (snprintf(pattern, 499, "./test/relaxng/%s_?.xml", prefix) >= 499) + pattern[499] = 0; + + globbuf.gl_offs = 0; + glob(pattern, GLOB_DOOFFS, NULL, &globbuf); + for (i = 0;i < globbuf.gl_pathc;i++) { + testErrorsSize = 0; + testErrors[0] = 0; + instance = globbuf.gl_pathv[i]; + base2 = baseFilename(instance); + len = strlen(base2); + if ((len > 6) && (base2[len - 6] == '_')) { + count = base2[len - 5]; + res = snprintf(result, 499, "result/relaxng/%s_%c", + prefix, count); + if (res >= 499) + result[499] = 0; + res = snprintf(err, 499, "result/relaxng/%s_%c.err", + prefix, count); + if (res >= 499) + err[499] = 0; + } else { + fprintf(stderr, "don't know how to process %s\n", instance); + continue; + } + if (schemas == NULL) { + } else { + nb_tests++; + res = rngOneTest(filename, instance, result, err, + options, schemas); + if (res != 0) + ret = res; + } + } + globfree(&globbuf); + xmlRelaxNGFree(schemas); + + return(ret); +} + +#ifdef LIBXML_READER_ENABLED +/** + * rngStreamTest: + * @filename: the schemas file + * @result: the file with expected result + * @err: the file with error messages + * + * Parse a set of files with streaming, applying an RNG schemas + * + * Returns 0 in case of success, an error code otherwise + */ +static int +rngStreamTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *errr ATTRIBUTE_UNUSED, + int options) { + const char *base = baseFilename(filename); + const char *base2; + const char *instance; + int res = 0, len, ret; + char pattern[500]; + char prefix[500]; + char result[500]; + char err[500]; + glob_t globbuf; + size_t i; + char count = 0; + xmlTextReaderPtr reader; + int disable_err = 0; + + /* + * most of the mess is about the output filenames generated by the Makefile + */ + len = strlen(base); + if ((len > 499) || (len < 5)) { + fprintf(stderr, "len(base) == %d !\n", len); + return(-1); + } + len -= 4; /* remove trailing .rng */ + memcpy(prefix, base, len); + prefix[len] = 0; + + /* + * strictly unifying the error messages is nearly impossible this + * hack is also done in the Makefile + */ + if ((!strcmp(prefix, "tutor10_1")) || (!strcmp(prefix, "tutor10_2")) || + (!strcmp(prefix, "tutor3_2")) || (!strcmp(prefix, "307377")) || + (!strcmp(prefix, "tutor8_2"))) + disable_err = 1; + + if (snprintf(pattern, 499, "./test/relaxng/%s_?.xml", prefix) >= 499) + pattern[499] = 0; + + globbuf.gl_offs = 0; + glob(pattern, GLOB_DOOFFS, NULL, &globbuf); + for (i = 0;i < globbuf.gl_pathc;i++) { + testErrorsSize = 0; + testErrors[0] = 0; + instance = globbuf.gl_pathv[i]; + base2 = baseFilename(instance); + len = strlen(base2); + if ((len > 6) && (base2[len - 6] == '_')) { + count = base2[len - 5]; + ret = snprintf(result, 499, "result/relaxng/%s_%c", + prefix, count); + if (ret >= 499) + result[499] = 0; + ret = snprintf(err, 499, "result/relaxng/%s_%c.err", + prefix, count); + if (ret >= 499) + err[499] = 0; + } else { + fprintf(stderr, "don't know how to process %s\n", instance); + continue; + } + reader = xmlReaderForFile(instance, NULL, options); + if (reader == NULL) { + fprintf(stderr, "Failed to build reader for %s\n", instance); + } + if (disable_err == 1) + ret = streamProcessTest(instance, result, NULL, reader, filename, + options); + else + ret = streamProcessTest(instance, result, err, reader, filename, + options); + xmlFreeTextReader(reader); + if (ret != 0) { + fprintf(stderr, "instance %s failed\n", instance); + res = ret; + } + } + globfree(&globbuf); + + return(res); +} +#endif /* READER */ + +#endif + +#ifdef LIBXML_PATTERN_ENABLED +#ifdef LIBXML_READER_ENABLED +/************************************************************************ + * * + * Patterns tests * + * * + ************************************************************************/ +static void patternNode(FILE *out, xmlTextReaderPtr reader, + const char *pattern, xmlPatternPtr patternc, + xmlStreamCtxtPtr patstream) { + xmlChar *path = NULL; + int match = -1; + int type, empty; + + type = xmlTextReaderNodeType(reader); + empty = xmlTextReaderIsEmptyElement(reader); + + if (type == XML_READER_TYPE_ELEMENT) { + /* do the check only on element start */ + match = xmlPatternMatch(patternc, xmlTextReaderCurrentNode(reader)); + + if (match) { + path = xmlGetNodePath(xmlTextReaderCurrentNode(reader)); + fprintf(out, "Node %s matches pattern %s\n", path, pattern); + } + } + if (patstream != NULL) { + int ret; + + if (type == XML_READER_TYPE_ELEMENT) { + ret = xmlStreamPush(patstream, + xmlTextReaderConstLocalName(reader), + xmlTextReaderConstNamespaceUri(reader)); + if (ret < 0) { + fprintf(out, "xmlStreamPush() failure\n"); + xmlFreeStreamCtxt(patstream); + patstream = NULL; + } else if (ret != match) { + if (path == NULL) { + path = xmlGetNodePath( + xmlTextReaderCurrentNode(reader)); + } + fprintf(out, + "xmlPatternMatch and xmlStreamPush disagree\n"); + fprintf(out, + " pattern %s node %s\n", + pattern, path); + } + + + } + if ((type == XML_READER_TYPE_END_ELEMENT) || + ((type == XML_READER_TYPE_ELEMENT) && (empty))) { + ret = xmlStreamPop(patstream); + if (ret < 0) { + fprintf(out, "xmlStreamPop() failure\n"); + xmlFreeStreamCtxt(patstream); + patstream = NULL; + } + } + } + if (path != NULL) + xmlFree(path); +} + +/** + * patternTest: + * @filename: the schemas file + * @result: the file with expected result + * @err: the file with error messages + * + * Parse a set of files with streaming, applying an RNG schemas + * + * Returns 0 in case of success, an error code otherwise + */ +static int +patternTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options) { + xmlPatternPtr patternc = NULL; + xmlStreamCtxtPtr patstream = NULL; + FILE *o, *f; + char str[1024]; + char xml[500]; + char result[500]; + int len, i; + int ret = 0, res; + char *temp; + xmlTextReaderPtr reader; + xmlDocPtr doc; + + len = strlen(filename); + len -= 4; + memcpy(xml, filename, len); + xml[len] = 0; + if (snprintf(result, 499, "result/pattern/%s", baseFilename(xml)) >= 499) + result[499] = 0; + memcpy(xml + len, ".xml", 5); + + if (!checkTestFile(xml) && !update_results) { + fprintf(stderr, "Missing xml file %s\n", xml); + return(-1); + } + if (!checkTestFile(result) && !update_results) { + fprintf(stderr, "Missing result file %s\n", result); + return(-1); + } + f = fopen(filename, "rb"); + if (f == NULL) { + fprintf(stderr, "Failed to open %s\n", filename); + return(-1); + } + temp = resultFilename(filename, "", ".res"); + if (temp == NULL) { + fprintf(stderr, "Out of memory\n"); + fatalError(); + } + o = fopen(temp, "wb"); + if (o == NULL) { + fprintf(stderr, "failed to open output file %s\n", temp); + fclose(f); + free(temp); + return(-1); + } + while (1) { + /* + * read one line in string buffer. + */ + if (fgets (&str[0], sizeof (str) - 1, f) == NULL) + break; + + /* + * remove the ending spaces + */ + i = strlen(str); + while ((i > 0) && + ((str[i - 1] == '\n') || (str[i - 1] == '\r') || + (str[i - 1] == ' ') || (str[i - 1] == '\t'))) { + i--; + str[i] = 0; + } + doc = xmlReadFile(xml, NULL, options); + if (doc == NULL) { + fprintf(stderr, "Failed to parse %s\n", xml); + ret = 1; + } else { + xmlNodePtr root; + const xmlChar *namespaces[22]; + int j; + xmlNsPtr ns; + + root = xmlDocGetRootElement(doc); + for (ns = root->nsDef, j = 0;ns != NULL && j < 20;ns=ns->next) { + namespaces[j++] = ns->href; + namespaces[j++] = ns->prefix; + } + namespaces[j++] = NULL; + namespaces[j] = NULL; + + patternc = xmlPatterncompile((const xmlChar *) str, doc->dict, + 0, &namespaces[0]); + if (patternc == NULL) { + testErrorHandler(NULL, + "Pattern %s failed to compile\n", str); + xmlFreeDoc(doc); + ret = 1; + continue; + } + patstream = xmlPatternGetStreamCtxt(patternc); + if (patstream != NULL) { + ret = xmlStreamPush(patstream, NULL, NULL); + if (ret < 0) { + fprintf(stderr, "xmlStreamPush() failure\n"); + xmlFreeStreamCtxt(patstream); + patstream = NULL; + } + } + nb_tests++; + + reader = xmlReaderWalker(doc); + res = xmlTextReaderRead(reader); + while (res == 1) { + patternNode(o, reader, str, patternc, patstream); + res = xmlTextReaderRead(reader); + } + if (res != 0) { + fprintf(o, "%s : failed to parse\n", filename); + } + xmlFreeTextReader(reader); + xmlFreeDoc(doc); + xmlFreeStreamCtxt(patstream); + patstream = NULL; + xmlFreePattern(patternc); + + } + } + + fclose(f); + fclose(o); + + ret = compareFiles(temp, result); + if (ret) { + fprintf(stderr, "Result for %s failed in %s\n", filename, result); + ret = 1; + } + if (temp != NULL) { + unlink(temp); + free(temp); + } + return(ret); +} +#endif /* READER */ +#endif /* PATTERN */ +#ifdef LIBXML_C14N_ENABLED +/************************************************************************ + * * + * Canonicalization tests * + * * + ************************************************************************/ +static xmlXPathObjectPtr +load_xpath_expr (xmlDocPtr parent_doc, const char* filename) { + xmlXPathObjectPtr xpath; + xmlDocPtr doc; + xmlChar *expr; + xmlXPathContextPtr ctx; + xmlNodePtr node; + xmlNsPtr ns; + + /* + * load XPath expr as a file + */ + xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefault(1); + + doc = xmlReadFile(filename, NULL, XML_PARSE_DTDATTR | XML_PARSE_NOENT); + if (doc == NULL) { + fprintf(stderr, "Error: unable to parse file \"%s\"\n", filename); + return(NULL); + } + + /* + * Check the document is of the right kind + */ + if(xmlDocGetRootElement(doc) == NULL) { + fprintf(stderr,"Error: empty document for file \"%s\"\n", filename); + xmlFreeDoc(doc); + return(NULL); + } + + node = doc->children; + while(node != NULL && !xmlStrEqual(node->name, (const xmlChar *)"XPath")) { + node = node->next; + } + + if(node == NULL) { + fprintf(stderr,"Error: XPath element expected in the file \"%s\"\n", filename); + xmlFreeDoc(doc); + return(NULL); + } + + expr = xmlNodeGetContent(node); + if(expr == NULL) { + fprintf(stderr,"Error: XPath content element is NULL \"%s\"\n", filename); + xmlFreeDoc(doc); + return(NULL); + } + + ctx = xmlXPathNewContext(parent_doc); + if(ctx == NULL) { + fprintf(stderr,"Error: unable to create new context\n"); + xmlFree(expr); + xmlFreeDoc(doc); + return(NULL); + } + + /* + * Register namespaces + */ + ns = node->nsDef; + while(ns != NULL) { + if(xmlXPathRegisterNs(ctx, ns->prefix, ns->href) != 0) { + fprintf(stderr,"Error: unable to register NS with prefix=\"%s\" and href=\"%s\"\n", ns->prefix, ns->href); + xmlFree(expr); + xmlXPathFreeContext(ctx); + xmlFreeDoc(doc); + return(NULL); + } + ns = ns->next; + } + + /* + * Evaluate xpath + */ + xpath = xmlXPathEvalExpression(expr, ctx); + if(xpath == NULL) { + fprintf(stderr,"Error: unable to evaluate xpath expression\n"); +xmlFree(expr); + xmlXPathFreeContext(ctx); + xmlFreeDoc(doc); + return(NULL); + } + + /* print_xpath_nodes(xpath->nodesetval); */ + + xmlFree(expr); + xmlXPathFreeContext(ctx); + xmlFreeDoc(doc); + return(xpath); +} + +/* + * Macro used to grow the current buffer. + */ +#define xxx_growBufferReentrant() { \ + buffer_size *= 2; \ + buffer = (xmlChar **) \ + xmlRealloc(buffer, buffer_size * sizeof(xmlChar*)); \ + if (buffer == NULL) { \ + perror("realloc failed"); \ + return(NULL); \ + } \ +} + +static xmlChar ** +parse_list(xmlChar *str) { + xmlChar **buffer; + xmlChar **out = NULL; + int buffer_size = 0; + int len; + + if(str == NULL) { + return(NULL); + } + + len = xmlStrlen(str); + if((str[0] == '\'') && (str[len - 1] == '\'')) { + str[len - 1] = '\0'; + str++; + } + /* + * allocate an translation buffer. + */ + buffer_size = 1000; + buffer = (xmlChar **) xmlMalloc(buffer_size * sizeof(xmlChar*)); + if (buffer == NULL) { + perror("malloc failed"); + return(NULL); + } + out = buffer; + + while(*str != '\0') { + if (out - buffer > buffer_size - 10) { + int indx = out - buffer; + + xxx_growBufferReentrant(); + out = &buffer[indx]; + } + (*out++) = str; + while(*str != ',' && *str != '\0') ++str; + if(*str == ',') *(str++) = '\0'; + } + (*out) = NULL; + return buffer; +} + +static int +c14nRunTest(const char* xml_filename, int with_comments, int mode, + const char* xpath_filename, const char *ns_filename, + const char* result_file) { + xmlDocPtr doc; + xmlXPathObjectPtr xpath = NULL; + xmlChar *result = NULL; + int ret; + xmlChar **inclusive_namespaces = NULL; + const char *nslist = NULL; + int nssize; + + + /* + * build an XML tree from a the file; we need to add default + * attributes and resolve all character and entities references + */ + xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefault(1); + + doc = xmlReadFile(xml_filename, NULL, XML_PARSE_DTDATTR | XML_PARSE_NOENT); + if (doc == NULL) { + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_filename); + return(-1); + } + + /* + * Check the document is of the right kind + */ + if(xmlDocGetRootElement(doc) == NULL) { + fprintf(stderr,"Error: empty document for file \"%s\"\n", xml_filename); + xmlFreeDoc(doc); + return(-1); + } + + /* + * load xpath file if specified + */ + if(xpath_filename) { + xpath = load_xpath_expr(doc, xpath_filename); + if(xpath == NULL) { + fprintf(stderr,"Error: unable to evaluate xpath expression\n"); + xmlFreeDoc(doc); + return(-1); + } + } + + if (ns_filename != NULL) { + if (loadMem(ns_filename, &nslist, &nssize)) { + fprintf(stderr,"Error: unable to evaluate xpath expression\n"); + if(xpath != NULL) xmlXPathFreeObject(xpath); + xmlFreeDoc(doc); + return(-1); + } + inclusive_namespaces = parse_list((xmlChar *) nslist); + } + + /* + * Canonical form + */ + /* fprintf(stderr,"File \"%s\" loaded: start canonization\n", xml_filename); */ + ret = xmlC14NDocDumpMemory(doc, + (xpath) ? xpath->nodesetval : NULL, + mode, inclusive_namespaces, + with_comments, &result); + if (ret >= 0) { + if(result != NULL) { + if (compareFileMem(result_file, (const char *) result, ret)) { + fprintf(stderr, "Result mismatch for %s\n", xml_filename); + fprintf(stderr, "RESULT:\n%s\n", (const char*)result); + ret = -1; + } + } + } else { + fprintf(stderr,"Error: failed to canonicalize XML file \"%s\" (ret=%d)\n", xml_filename, ret); + ret = -1; + } + + /* + * Cleanup + */ + if (result != NULL) xmlFree(result); + if(xpath != NULL) xmlXPathFreeObject(xpath); + if (inclusive_namespaces != NULL) xmlFree(inclusive_namespaces); + if (nslist != NULL) free((char *) nslist); + xmlFreeDoc(doc); + + return(ret); +} + +static int +c14nCommonTest(const char *filename, int with_comments, int mode, + const char *subdir) { + char buf[500]; + char prefix[500]; + const char *base; + int len; + char *result = NULL; + char *xpath = NULL; + char *ns = NULL; + int ret = 0; + + base = baseFilename(filename); + len = strlen(base); + len -= 4; + memcpy(prefix, base, len); + prefix[len] = 0; + + if (snprintf(buf, 499, "result/c14n/%s/%s", subdir, prefix) >= 499) + buf[499] = 0; + if (!checkTestFile(buf) && !update_results) { + fprintf(stderr, "Missing result file %s", buf); + return(-1); + } + result = strdup(buf); + if (snprintf(buf, 499, "test/c14n/%s/%s.xpath", subdir, prefix) >= 499) + buf[499] = 0; + if (checkTestFile(buf)) { + xpath = strdup(buf); + } + if (snprintf(buf, 499, "test/c14n/%s/%s.ns", subdir, prefix) >= 499) + buf[499] = 0; + if (checkTestFile(buf)) { + ns = strdup(buf); + } + + nb_tests++; + if (c14nRunTest(filename, with_comments, mode, + xpath, ns, result) < 0) + ret = 1; + + if (result != NULL) free(result); + if (xpath != NULL) free(xpath); + if (ns != NULL) free(ns); + return(ret); +} + +static int +c14nWithCommentTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + return(c14nCommonTest(filename, 1, XML_C14N_1_0, "with-comments")); +} +static int +c14nWithoutCommentTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + return(c14nCommonTest(filename, 0, XML_C14N_1_0, "without-comments")); +} +static int +c14nExcWithoutCommentTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + return(c14nCommonTest(filename, 0, XML_C14N_EXCLUSIVE_1_0, "exc-without-comments")); +} +static int +c14n11WithoutCommentTest(const char *filename, + const char *resul ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + return(c14nCommonTest(filename, 0, XML_C14N_1_1, "1-1-without-comments")); +} +#endif +#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED) +/************************************************************************ + * * + * Catalog and threads test * + * * + ************************************************************************/ + +/* + * mostly a cut and paste from testThreads.c + */ +#define MAX_ARGC 20 + +typedef struct { + const char *filename; + int okay; +} xmlThreadParams; + +static const char *catalog = "test/threads/complex.xml"; +static xmlThreadParams threadParams[] = { + { "test/threads/abc.xml", 0 }, + { "test/threads/acb.xml", 0 }, + { "test/threads/bac.xml", 0 }, + { "test/threads/bca.xml", 0 }, + { "test/threads/cab.xml", 0 }, + { "test/threads/cba.xml", 0 }, + { "test/threads/invalid.xml", 0 } +}; +static const unsigned int num_threads = sizeof(threadParams) / + sizeof(threadParams[0]); + +#ifndef xmlDoValidityCheckingDefaultValue +#error xmlDoValidityCheckingDefaultValue is not a macro +#endif +#ifndef xmlGenericErrorContext +#error xmlGenericErrorContext is not a macro +#endif + +static void * +thread_specific_data(void *private_data) +{ + xmlDocPtr myDoc; + xmlThreadParams *params = (xmlThreadParams *) private_data; + const char *filename = params->filename; + int okay = 1; + + if (!strcmp(filename, "test/threads/invalid.xml")) { + xmlDoValidityCheckingDefaultValue = 0; + xmlGenericErrorContext = stdout; + } else { + xmlDoValidityCheckingDefaultValue = 1; + xmlGenericErrorContext = stderr; + } +#ifdef LIBXML_SAX1_ENABLED + myDoc = xmlParseFile(filename); +#else + myDoc = xmlReadFile(filename, NULL, XML_WITH_CATALOG); +#endif + if (myDoc) { + xmlFreeDoc(myDoc); + } else { + printf("parse failed\n"); + okay = 0; + } + if (!strcmp(filename, "test/threads/invalid.xml")) { + if (xmlDoValidityCheckingDefaultValue != 0) { + printf("ValidityCheckingDefaultValue override failed\n"); + okay = 0; + } + if (xmlGenericErrorContext != stdout) { + printf("xmlGenericErrorContext override failed\n"); + okay = 0; + } + } else { + if (xmlDoValidityCheckingDefaultValue != 1) { + printf("ValidityCheckingDefaultValue override failed\n"); + okay = 0; + } + if (xmlGenericErrorContext != stderr) { + printf("xmlGenericErrorContext override failed\n"); + okay = 0; + } + } + params->okay = okay; + return(NULL); +} + +#if defined(_WIN32) && !defined(__CYGWIN__) +#include +#include + +#define TEST_REPEAT_COUNT 500 + +static HANDLE tid[MAX_ARGC]; + +static DWORD WINAPI +win32_thread_specific_data(void *private_data) +{ + thread_specific_data(private_data); + return(0); +} + +static int +testThread(void) +{ + unsigned int i, repeat; + BOOL ret; + int res = 0; + + xmlInitParser(); + for (repeat = 0; repeat < TEST_REPEAT_COUNT; repeat++) { + xmlLoadCatalog(catalog); + nb_tests++; + + for (i = 0; i < num_threads; i++) { + tid[i] = (HANDLE) - 1; + } + + for (i = 0; i < num_threads; i++) { + DWORD useless; + + tid[i] = CreateThread(NULL, 0, + win32_thread_specific_data, + (void *) &threadParams[i], 0, + &useless); + if (tid[i] == NULL) { + fprintf(stderr, "CreateThread failed\n"); + return(1); + } + } + + if (WaitForMultipleObjects(num_threads, tid, TRUE, INFINITE) == + WAIT_FAILED) { + fprintf(stderr, "WaitForMultipleObjects failed\n"); + return(1); + } + + for (i = 0; i < num_threads; i++) { + DWORD exitCode; + ret = GetExitCodeThread(tid[i], &exitCode); + if (ret == 0) { + fprintf(stderr, "GetExitCodeThread failed\n"); + return(1); + } + CloseHandle(tid[i]); + } + + xmlCatalogCleanup(); + for (i = 0; i < num_threads; i++) { + if (threadParams[i].okay == 0) { + fprintf(stderr, "Thread %d handling %s failed\n", + i, threadParams[i].filename); + res = 1; + } + } + } + + return (res); +} + +#elif defined __BEOS__ +#include + +static thread_id tid[MAX_ARGC]; + +static int +testThread(void) +{ + unsigned int i, repeat; + status_t ret; + int res = 0; + + xmlInitParser(); + for (repeat = 0; repeat < 500; repeat++) { + xmlLoadCatalog(catalog); + for (i = 0; i < num_threads; i++) { + tid[i] = (thread_id) - 1; + } + for (i = 0; i < num_threads; i++) { + tid[i] = + spawn_thread(thread_specific_data, "xmlTestThread", + B_NORMAL_PRIORITY, (void *) &threadParams[i]); + if (tid[i] < B_OK) { + fprintf(stderr, "beos_thread_create failed\n"); + return (1); + } + printf("beos_thread_create %d -> %d\n", i, tid[i]); + } + for (i = 0; i < num_threads; i++) { + void *result; + ret = wait_for_thread(tid[i], &result); + printf("beos_thread_wait %d -> %d\n", i, ret); + if (ret != B_OK) { + fprintf(stderr, "beos_thread_wait failed\n"); + return (1); + } + } + + xmlCatalogCleanup(); + ret = B_OK; + for (i = 0; i < num_threads; i++) + if (threadParams[i].okay == 0) { + printf("Thread %d handling %s failed\n", i, + threadParams[i].filename); + ret = B_ERROR; + } + } + if (ret != B_OK) + return(1); + return (0); +} + +#elif defined HAVE_PTHREAD_H +#include + +static pthread_t tid[MAX_ARGC]; + +static int +testThread(void) +{ + unsigned int i, repeat; + int ret; + int res = 0; + + xmlInitParser(); + + for (repeat = 0; repeat < 500; repeat++) { + xmlLoadCatalog(catalog); + nb_tests++; + + for (i = 0; i < num_threads; i++) { + tid[i] = (pthread_t) - 1; + } + + for (i = 0; i < num_threads; i++) { + ret = pthread_create(&tid[i], 0, thread_specific_data, + (void *) &threadParams[i]); + if (ret != 0) { + fprintf(stderr, "pthread_create failed\n"); + return (1); + } + } + for (i = 0; i < num_threads; i++) { + void *result; + ret = pthread_join(tid[i], &result); + if (ret != 0) { + fprintf(stderr, "pthread_join failed\n"); + return (1); + } + } + + xmlCatalogCleanup(); + for (i = 0; i < num_threads; i++) + if (threadParams[i].okay == 0) { + fprintf(stderr, "Thread %d handling %s failed\n", + i, threadParams[i].filename); + res = 1; + } + } + return (res); +} + +#else +static int +testThread(void) +{ + fprintf(stderr, + "Specific platform thread support not detected\n"); + return (-1); +} +#endif +static int +threadsTest(const char *filename ATTRIBUTE_UNUSED, + const char *resul ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + return(testThread()); +} +#endif +/************************************************************************ + * * + * Tests Descriptions * + * * + ************************************************************************/ + +static +testDesc testDescriptions[] = { + { "XML regression tests" , + oldParseTest, "./test/*", "result/", "", NULL, + 0 }, + { "XML regression tests on memory" , + memParseTest, "./test/*", "result/", "", NULL, + 0 }, + { "XML entity subst regression tests" , + noentParseTest, "./test/*", "result/noent/", "", NULL, + XML_PARSE_NOENT }, + { "XML Namespaces regression tests", + errParseTest, "./test/namespaces/*", "result/namespaces/", "", ".err", + 0 }, + { "Error cases regression tests", + errParseTest, "./test/errors/*.xml", "result/errors/", "", ".err", + 0 }, + { "Error cases regression tests (old 1.0)", + errParseTest, "./test/errors10/*.xml", "result/errors10/", "", ".err", + XML_PARSE_OLD10 }, +#ifdef LIBXML_READER_ENABLED + { "Error cases stream regression tests", + streamParseTest, "./test/errors/*.xml", "result/errors/", NULL, ".str", + 0 }, + { "Reader regression tests", + streamParseTest, "./test/*", "result/", ".rdr", NULL, + 0 }, + { "Reader entities substitution regression tests", + streamParseTest, "./test/*", "result/", ".rde", NULL, + XML_PARSE_NOENT }, + { "Reader on memory regression tests", + streamMemParseTest, "./test/*", "result/", ".rdr", NULL, + 0 }, + { "Walker regression tests", + walkerParseTest, "./test/*", "result/", ".rdr", NULL, + 0 }, +#endif +#ifdef LIBXML_SAX1_ENABLED + { "SAX1 callbacks regression tests" , + saxParseTest, "./test/*", "result/", ".sax", NULL, + XML_PARSE_SAX1 }, +#endif + { "SAX2 callbacks regression tests" , + saxParseTest, "./test/*", "result/", ".sax2", NULL, + 0 }, + { "SAX2 callbacks regression tests with entity substitution" , + saxParseTest, "./test/*", "result/noent/", ".sax2", NULL, + XML_PARSE_NOENT }, +#ifdef LIBXML_PUSH_ENABLED + { "XML push regression tests" , + pushParseTest, "./test/*", "result/", "", NULL, + 0 }, +#endif +#ifdef LIBXML_HTML_ENABLED + { "HTML regression tests" , + errParseTest, "./test/HTML/*", "result/HTML/", "", ".err", + XML_PARSE_HTML }, +#ifdef LIBXML_PUSH_ENABLED + { "Push HTML regression tests" , + pushParseTest, "./test/HTML/*", "result/HTML/", "", ".err", + XML_PARSE_HTML }, +#endif + { "HTML SAX regression tests" , + saxParseTest, "./test/HTML/*", "result/HTML/", ".sax", NULL, + XML_PARSE_HTML }, +#endif +#ifdef LIBXML_VALID_ENABLED + { "Valid documents regression tests" , + errParseTest, "./test/VCM/*", NULL, NULL, NULL, + XML_PARSE_DTDVALID }, + { "Validity checking regression tests" , + errParseTest, "./test/VC/*", "result/VC/", NULL, "", + XML_PARSE_DTDVALID }, +#ifdef LIBXML_READER_ENABLED + { "Streaming validity checking regression tests" , + streamParseTest, "./test/valid/*.xml", "result/valid/", NULL, ".err.rdr", + XML_PARSE_DTDVALID }, + { "Streaming validity error checking regression tests" , + streamParseTest, "./test/VC/*", "result/VC/", NULL, ".rdr", + XML_PARSE_DTDVALID }, +#endif + { "General documents valid regression tests" , + errParseTest, "./test/valid/*", "result/valid/", "", ".err", + XML_PARSE_DTDVALID }, +#endif +#ifdef LIBXML_XINCLUDE_ENABLED + { "XInclude regression tests" , + errParseTest, "./test/XInclude/docs/*", "result/XInclude/", "", NULL, + /* Ignore errors at this point ".err", */ + XML_PARSE_XINCLUDE }, +#ifdef LIBXML_READER_ENABLED + { "XInclude xmlReader regression tests", + streamParseTest, "./test/XInclude/docs/*", "result/XInclude/", ".rdr", + /* Ignore errors at this point ".err", */ + NULL, XML_PARSE_XINCLUDE }, +#endif + { "XInclude regression tests stripping include nodes" , + errParseTest, "./test/XInclude/docs/*", "result/XInclude/", "", NULL, + /* Ignore errors at this point ".err", */ + XML_PARSE_XINCLUDE | XML_PARSE_NOXINCNODE }, +#ifdef LIBXML_READER_ENABLED + { "XInclude xmlReader regression tests stripping include nodes", + streamParseTest, "./test/XInclude/docs/*", "result/XInclude/", ".rdr", + /* Ignore errors at this point ".err", */ + NULL, XML_PARSE_XINCLUDE | XML_PARSE_NOXINCNODE }, +#endif +#endif +#ifdef LIBXML_XPATH_ENABLED +#ifdef LIBXML_DEBUG_ENABLED + { "XPath expressions regression tests" , + xpathExprTest, "./test/XPath/expr/*", "result/XPath/expr/", "", NULL, + 0 }, + { "XPath document queries regression tests" , + xpathDocTest, "./test/XPath/docs/*", NULL, NULL, NULL, + 0 }, +#ifdef LIBXML_XPTR_ENABLED + { "XPointer document queries regression tests" , + xptrDocTest, "./test/XPath/docs/*", NULL, NULL, NULL, + 0 }, +#endif + { "xml:id regression tests" , + xmlidDocTest, "./test/xmlid/*", "result/xmlid/", "", ".err", + 0 }, +#endif +#endif + { "URI parsing tests" , + uriParseTest, "./test/URI/*.uri", "result/URI/", "", NULL, + 0 }, + { "URI base composition tests" , + uriBaseTest, "./test/URI/*.data", "result/URI/", "", NULL, + 0 }, + { "Path URI conversion tests" , + uriPathTest, NULL, NULL, NULL, NULL, + 0 }, +#ifdef LIBXML_SCHEMAS_ENABLED + { "Schemas regression tests" , + schemasTest, "./test/schemas/*_*.xsd", NULL, NULL, NULL, + 0 }, + { "Relax-NG regression tests" , + rngTest, "./test/relaxng/*.rng", NULL, NULL, NULL, + XML_PARSE_DTDATTR | XML_PARSE_NOENT }, +#ifdef LIBXML_READER_ENABLED + { "Relax-NG streaming regression tests" , + rngStreamTest, "./test/relaxng/*.rng", NULL, NULL, NULL, + XML_PARSE_DTDATTR | XML_PARSE_NOENT }, +#endif +#endif +#ifdef LIBXML_PATTERN_ENABLED +#ifdef LIBXML_READER_ENABLED + { "Pattern regression tests" , + patternTest, "./test/pattern/*.pat", "result/pattern/", NULL, NULL, + 0 }, +#endif +#endif +#ifdef LIBXML_C14N_ENABLED + { "C14N with comments regression tests" , + c14nWithCommentTest, "./test/c14n/with-comments/*.xml", NULL, NULL, NULL, + 0 }, + { "C14N without comments regression tests" , + c14nWithoutCommentTest, "./test/c14n/without-comments/*.xml", NULL, NULL, NULL, + 0 }, + { "C14N exclusive without comments regression tests" , + c14nExcWithoutCommentTest, "./test/c14n/exc-without-comments/*.xml", NULL, NULL, NULL, + 0 }, + { "C14N 1.1 without comments regression tests" , + c14n11WithoutCommentTest, "./test/c14n/1-1-without-comments/*.xml", NULL, NULL, NULL, + 0 }, +#endif +#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED) + { "Catalog and Threads regression tests" , + threadsTest, NULL, NULL, NULL, NULL, + 0 }, +#endif + {NULL, NULL, NULL, NULL, NULL, NULL, 0} +}; + +/************************************************************************ + * * + * The main code driving the tests * + * * + ************************************************************************/ + +static int +launchTests(testDescPtr tst) { + int res = 0, err = 0; + size_t i; + char *result; + char *error; + int mem; + xmlCharEncodingHandlerPtr ebcdicHandler, eucJpHandler; + + ebcdicHandler = xmlGetCharEncodingHandler(XML_CHAR_ENCODING_EBCDIC); + eucJpHandler = xmlGetCharEncodingHandler(XML_CHAR_ENCODING_EUC_JP); + + if (tst == NULL) return(-1); + if (tst->in != NULL) { + glob_t globbuf; + + globbuf.gl_offs = 0; + glob(tst->in, GLOB_DOOFFS, NULL, &globbuf); + for (i = 0;i < globbuf.gl_pathc;i++) { + if (!checkTestFile(globbuf.gl_pathv[i])) + continue; + if (((ebcdicHandler == NULL) && + (strstr(globbuf.gl_pathv[i], "ebcdic") != NULL)) || + ((eucJpHandler == NULL) && + (strstr(globbuf.gl_pathv[i], "icu_parse_test") != NULL))) + continue; + if (tst->suffix != NULL) { + result = resultFilename(globbuf.gl_pathv[i], tst->out, + tst->suffix); + if (result == NULL) { + fprintf(stderr, "Out of memory !\n"); + fatalError(); + } + } else { + result = NULL; + } + if (tst->err != NULL) { + error = resultFilename(globbuf.gl_pathv[i], tst->out, + tst->err); + if (error == NULL) { + fprintf(stderr, "Out of memory !\n"); + fatalError(); + } + } else { + error = NULL; + } + if ((result) &&(!checkTestFile(result)) && !update_results) { + fprintf(stderr, "Missing result file %s\n", result); + } else if ((error) &&(!checkTestFile(error)) && !update_results) { + fprintf(stderr, "Missing error file %s\n", error); + } else { + mem = xmlMemUsed(); + extraMemoryFromResolver = 0; + testErrorsSize = 0; + testErrors[0] = 0; + res = tst->func(globbuf.gl_pathv[i], result, error, + tst->options | XML_PARSE_COMPACT); + xmlResetLastError(); + if (res != 0) { + fprintf(stderr, "File %s generated an error\n", + globbuf.gl_pathv[i]); + nb_errors++; + err++; + } + else if (xmlMemUsed() != mem) { + if ((xmlMemUsed() != mem) && + (extraMemoryFromResolver == 0)) { + fprintf(stderr, "File %s leaked %d bytes\n", + globbuf.gl_pathv[i], xmlMemUsed() - mem); + nb_leaks++; + err++; + } + } + testErrorsSize = 0; + } + if (result) + free(result); + if (error) + free(error); + } + globfree(&globbuf); + } else { + testErrorsSize = 0; + testErrors[0] = 0; + extraMemoryFromResolver = 0; + res = tst->func(NULL, NULL, NULL, tst->options); + if (res != 0) { + nb_errors++; + err++; + } + } + + xmlCharEncCloseFunc(ebcdicHandler); + xmlCharEncCloseFunc(eucJpHandler); + + return(err); +} + +static int verbose = 0; +static int tests_quiet = 0; + +static int +runtest(int i) { + int ret = 0, res; + int old_errors, old_tests, old_leaks; + + old_errors = nb_errors; + old_tests = nb_tests; + old_leaks = nb_leaks; + if ((tests_quiet == 0) && (testDescriptions[i].desc != NULL)) + printf("## %s\n", testDescriptions[i].desc); + res = launchTests(&testDescriptions[i]); + if (res != 0) + ret++; + if (verbose) { + if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) + printf("Ran %d tests, no errors\n", nb_tests - old_tests); + else + printf("Ran %d tests, %d errors, %d leaks\n", + nb_tests - old_tests, + nb_errors - old_errors, + nb_leaks - old_leaks); + } + return(ret); +} + +int +main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + int i, a, ret = 0; + int subset = 0; + +#if defined(_WIN32) && !defined(__CYGWIN__) + setvbuf(stdout, NULL, _IONBF, 0); + setvbuf(stderr, NULL, _IONBF, 0); +#endif + +#if defined(_MSC_VER) && _MSC_VER >= 1400 && _MSC_VER < 1900 + _set_output_format(_TWO_DIGIT_EXPONENT); +#endif + + initializeLibxml2(); + + for (a = 1; a < argc;a++) { + if (!strcmp(argv[a], "-v")) + verbose = 1; + else if (!strcmp(argv[a], "-u")) + update_results = 1; + else if (!strcmp(argv[a], "-quiet")) + tests_quiet = 1; + else { + for (i = 0; testDescriptions[i].func != NULL; i++) { + if (strstr(testDescriptions[i].desc, argv[a])) { + ret += runtest(i); + subset++; + } + } + } + } + if (subset == 0) { + for (i = 0; testDescriptions[i].func != NULL; i++) { + ret += runtest(i); + } + } + if ((nb_errors == 0) && (nb_leaks == 0)) { + ret = 0; + printf("Total %d tests, no errors\n", + nb_tests); + } else { + ret = 1; + printf("Total %d tests, %d errors, %d leaks\n", + nb_tests, nb_errors, nb_leaks); + } + xmlCleanupParser(); + xmlMemoryDump(); + + return(ret); +} + +#else /* ! LIBXML_OUTPUT_ENABLED */ +int +main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + fprintf(stderr, "runtest requires output to be enabled in libxml2\n"); + return(1); +} +#endif diff --git a/runxmlconf.c b/runxmlconf.c new file mode 100644 index 0000000..70f6101 --- /dev/null +++ b/runxmlconf.c @@ -0,0 +1,607 @@ +/* + * runxmlconf.c: C program to run XML W3C conformance testsuites + * + * See Copyright for the status of this software. + * + * daniel@veillard.com + */ + +#include "libxml.h" +#include + +#ifdef LIBXML_XPATH_ENABLED + +#if !defined(_WIN32) || defined(__CYGWIN__) +#include +#endif +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +#define LOGFILE "runxmlconf.log" +static FILE *logfile = NULL; +static int verbose = 0; + +#define NB_EXPECTED_ERRORS 15 + + +const char *skipped_tests[] = { +/* http://lists.w3.org/Archives/Public/public-xml-testsuite/2008Jul/0000.html */ + "rmt-ns10-035", + NULL +}; + +/************************************************************************ + * * + * File name and path utilities * + * * + ************************************************************************/ + +static int checkTestFile(const char *filename) { + struct stat buf; + + if (stat(filename, &buf) == -1) + return(0); + +#if defined(_WIN32) && !defined(__CYGWIN__) + if (!(buf.st_mode & _S_IFREG)) + return(0); +#else + if (!S_ISREG(buf.st_mode)) + return(0); +#endif + + return(1); +} + +static xmlChar *composeDir(const xmlChar *dir, const xmlChar *path) { + char buf[500]; + + if (dir == NULL) return(xmlStrdup(path)); + if (path == NULL) return(NULL); + + snprintf(buf, 500, "%s/%s", (const char *) dir, (const char *) path); + return(xmlStrdup((const xmlChar *) buf)); +} + +/************************************************************************ + * * + * Libxml2 specific routines * + * * + ************************************************************************/ + +static int nb_skipped = 0; +static int nb_tests = 0; +static int nb_errors = 0; +static int nb_leaks = 0; + +/* + * We need to trap calls to the resolver to not account memory for the catalog + * and not rely on any external resources. + */ +static xmlParserInputPtr +testExternalEntityLoader(const char *URL, const char *ID ATTRIBUTE_UNUSED, + xmlParserCtxtPtr ctxt) { + xmlParserInputPtr ret; + + ret = xmlNewInputFromFile(ctxt, (const char *) URL); + + return(ret); +} + +/* + * Trapping the error messages at the generic level to grab the equivalent of + * stderr messages on CLI tools. + */ +static char testErrors[32769]; +static int testErrorsSize = 0; +static int nbError = 0; +static int nbFatal = 0; + +static void test_log(const char *msg, ...) { + va_list args; + if (logfile != NULL) { + fprintf(logfile, "\n------------\n"); + va_start(args, msg); + vfprintf(logfile, msg, args); + va_end(args); + fprintf(logfile, "%s", testErrors); + testErrorsSize = 0; testErrors[0] = 0; + } + if (verbose) { + va_start(args, msg); + vfprintf(stderr, msg, args); + va_end(args); + } +} + +static void +testErrorHandler(void *userData ATTRIBUTE_UNUSED, xmlErrorPtr error) { + int res; + + if (testErrorsSize >= 32768) + return; + res = snprintf(&testErrors[testErrorsSize], + 32768 - testErrorsSize, + "%s:%d: %s\n", (error->file ? error->file : "entity"), + error->line, error->message); + if (error->level == XML_ERR_FATAL) + nbFatal++; + else if (error->level == XML_ERR_ERROR) + nbError++; + if (testErrorsSize + res >= 32768) { + /* buffer is full */ + testErrorsSize = 32768; + testErrors[testErrorsSize] = 0; + } else { + testErrorsSize += res; + } + testErrors[testErrorsSize] = 0; +} + +static xmlXPathContextPtr ctxtXPath; + +static void +initializeLibxml2(void) { + xmlGetWarningsDefaultValue = 0; + xmlPedanticParserDefault(0); + + xmlMemSetup(xmlMemFree, xmlMemMalloc, xmlMemRealloc, xmlMemoryStrdup); + xmlInitParser(); + xmlSetExternalEntityLoader(testExternalEntityLoader); + ctxtXPath = xmlXPathNewContext(NULL); + /* + * Deactivate the cache if created; otherwise we have to create/free it + * for every test, since it will confuse the memory leak detection. + * Note that normally this need not be done, since the cache is not + * created until set explicitly with xmlXPathContextSetCache(); + * but for test purposes it is sometimes useful to activate the + * cache by default for the whole library. + */ + if (ctxtXPath->cache != NULL) + xmlXPathContextSetCache(ctxtXPath, 0, -1, 0); + xmlSetStructuredErrorFunc(NULL, testErrorHandler); +} + +/************************************************************************ + * * + * Run the xmlconf test if found * + * * + ************************************************************************/ + +static int +xmlconfTestInvalid(const char *id, const char *filename, int options) { + xmlDocPtr doc; + xmlParserCtxtPtr ctxt; + int ret = 1; + + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL) { + test_log("test %s : %s out of memory\n", + id, filename); + return(0); + } + doc = xmlCtxtReadFile(ctxt, filename, NULL, options); + if (doc == NULL) { + test_log("test %s : %s invalid document turned not well-formed too\n", + id, filename); + } else { + /* invalidity should be reported both in the context and in the document */ + if ((ctxt->valid != 0) || (doc->properties & XML_DOC_DTDVALID)) { + test_log("test %s : %s failed to detect invalid document\n", + id, filename); + nb_errors++; + ret = 0; + } + xmlFreeDoc(doc); + } + xmlFreeParserCtxt(ctxt); + return(ret); +} + +static int +xmlconfTestValid(const char *id, const char *filename, int options) { + xmlDocPtr doc; + xmlParserCtxtPtr ctxt; + int ret = 1; + + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL) { + test_log("test %s : %s out of memory\n", + id, filename); + return(0); + } + doc = xmlCtxtReadFile(ctxt, filename, NULL, options); + if (doc == NULL) { + test_log("test %s : %s failed to parse a valid document\n", + id, filename); + nb_errors++; + ret = 0; + } else { + /* validity should be reported both in the context and in the document */ + if ((ctxt->valid == 0) || ((doc->properties & XML_DOC_DTDVALID) == 0)) { + test_log("test %s : %s failed to validate a valid document\n", + id, filename); + nb_errors++; + ret = 0; + } + xmlFreeDoc(doc); + } + xmlFreeParserCtxt(ctxt); + return(ret); +} + +static int +xmlconfTestNotNSWF(const char *id, const char *filename, int options) { + xmlDocPtr doc; + int ret = 1; + + /* + * In case of Namespace errors, libxml2 will still parse the document + * but log a Namespace error. + */ + doc = xmlReadFile(filename, NULL, options); + if (doc == NULL) { + test_log("test %s : %s failed to parse the XML\n", + id, filename); + nb_errors++; + ret = 0; + } else { + if ((xmlLastError.code == XML_ERR_OK) || + (xmlLastError.domain != XML_FROM_NAMESPACE)) { + test_log("test %s : %s failed to detect namespace error\n", + id, filename); + nb_errors++; + ret = 0; + } + xmlFreeDoc(doc); + } + return(ret); +} + +static int +xmlconfTestNotWF(const char *id, const char *filename, int options) { + xmlDocPtr doc; + int ret = 1; + + doc = xmlReadFile(filename, NULL, options); + if (doc != NULL) { + test_log("test %s : %s failed to detect not well formedness\n", + id, filename); + nb_errors++; + xmlFreeDoc(doc); + ret = 0; + } + return(ret); +} + +static int +xmlconfTestItem(xmlDocPtr doc, xmlNodePtr cur) { + int ret = -1; + xmlChar *type = NULL; + xmlChar *filename = NULL; + xmlChar *uri = NULL; + xmlChar *base = NULL; + xmlChar *id = NULL; + xmlChar *rec = NULL; + xmlChar *version = NULL; + xmlChar *entities = NULL; + xmlChar *edition = NULL; + int options = 0; + int nstest = 0; + int mem, final; + int i; + + testErrorsSize = 0; testErrors[0] = 0; + nbError = 0; + nbFatal = 0; + id = xmlGetProp(cur, BAD_CAST "ID"); + if (id == NULL) { + test_log("test missing ID, line %ld\n", xmlGetLineNo(cur)); + goto error; + } + for (i = 0;skipped_tests[i] != NULL;i++) { + if (!strcmp(skipped_tests[i], (char *) id)) { + test_log("Skipping test %s from skipped list\n", (char *) id); + ret = 0; + nb_skipped++; + goto error; + } + } + type = xmlGetProp(cur, BAD_CAST "TYPE"); + if (type == NULL) { + test_log("test %s missing TYPE\n", (char *) id); + goto error; + } + uri = xmlGetProp(cur, BAD_CAST "URI"); + if (uri == NULL) { + test_log("test %s missing URI\n", (char *) id); + goto error; + } + base = xmlNodeGetBase(doc, cur); + filename = composeDir(base, uri); + if (!checkTestFile((char *) filename)) { + test_log("test %s missing file %s \n", id, + (filename ? (char *)filename : "NULL")); + goto error; + } + + version = xmlGetProp(cur, BAD_CAST "VERSION"); + + entities = xmlGetProp(cur, BAD_CAST "ENTITIES"); + if (!xmlStrEqual(entities, BAD_CAST "none")) { + options |= XML_PARSE_DTDLOAD; + options |= XML_PARSE_NOENT; + } + rec = xmlGetProp(cur, BAD_CAST "RECOMMENDATION"); + if ((rec == NULL) || + (xmlStrEqual(rec, BAD_CAST "XML1.0")) || + (xmlStrEqual(rec, BAD_CAST "XML1.0-errata2e")) || + (xmlStrEqual(rec, BAD_CAST "XML1.0-errata3e")) || + (xmlStrEqual(rec, BAD_CAST "XML1.0-errata4e"))) { + if ((version != NULL) && (!xmlStrEqual(version, BAD_CAST "1.0"))) { + test_log("Skipping test %s for %s\n", (char *) id, + (char *) version); + ret = 0; + nb_skipped++; + goto error; + } + ret = 1; + } else if ((xmlStrEqual(rec, BAD_CAST "NS1.0")) || + (xmlStrEqual(rec, BAD_CAST "NS1.0-errata1e"))) { + ret = 1; + nstest = 1; + } else { + test_log("Skipping test %s for REC %s\n", (char *) id, (char *) rec); + ret = 0; + nb_skipped++; + goto error; + } + edition = xmlGetProp(cur, BAD_CAST "EDITION"); + if ((edition != NULL) && (xmlStrchr(edition, '5') == NULL)) { + /* test limited to all versions before 5th */ + options |= XML_PARSE_OLD10; + } + + /* + * Reset errors and check memory usage before the test + */ + xmlResetLastError(); + testErrorsSize = 0; testErrors[0] = 0; + mem = xmlMemUsed(); + + if (xmlStrEqual(type, BAD_CAST "not-wf")) { + if (nstest == 0) + xmlconfTestNotWF((char *) id, (char *) filename, options); + else + xmlconfTestNotNSWF((char *) id, (char *) filename, options); + } else if (xmlStrEqual(type, BAD_CAST "valid")) { + options |= XML_PARSE_DTDVALID; + xmlconfTestValid((char *) id, (char *) filename, options); + } else if (xmlStrEqual(type, BAD_CAST "invalid")) { + options |= XML_PARSE_DTDVALID; + xmlconfTestInvalid((char *) id, (char *) filename, options); + } else if (xmlStrEqual(type, BAD_CAST "error")) { + test_log("Skipping error test %s \n", (char *) id); + ret = 0; + nb_skipped++; + goto error; + } else { + test_log("test %s unknown TYPE value %s\n", (char *) id, (char *)type); + ret = -1; + goto error; + } + + /* + * Reset errors and check memory usage after the test + */ + xmlResetLastError(); + final = xmlMemUsed(); + if (final > mem) { + test_log("test %s : %s leaked %d bytes\n", + id, filename, final - mem); + nb_leaks++; + xmlMemDisplayLast(logfile, final - mem); + } + nb_tests++; + +error: + if (type != NULL) + xmlFree(type); + if (entities != NULL) + xmlFree(entities); + if (edition != NULL) + xmlFree(edition); + if (version != NULL) + xmlFree(version); + if (filename != NULL) + xmlFree(filename); + if (uri != NULL) + xmlFree(uri); + if (base != NULL) + xmlFree(base); + if (id != NULL) + xmlFree(id); + if (rec != NULL) + xmlFree(rec); + return(ret); +} + +static int +xmlconfTestCases(xmlDocPtr doc, xmlNodePtr cur, int level) { + xmlChar *profile; + int ret = 0; + int tests = 0; + int output = 0; + + if (level == 1) { + profile = xmlGetProp(cur, BAD_CAST "PROFILE"); + if (profile != NULL) { + output = 1; + level++; + printf("Test cases: %s\n", (char *) profile); + xmlFree(profile); + } + } + cur = cur->children; + while (cur != NULL) { + /* look only at elements we ignore everything else */ + if (cur->type == XML_ELEMENT_NODE) { + if (xmlStrEqual(cur->name, BAD_CAST "TESTCASES")) { + ret += xmlconfTestCases(doc, cur, level); + } else if (xmlStrEqual(cur->name, BAD_CAST "TEST")) { + if (xmlconfTestItem(doc, cur) >= 0) + ret++; + tests++; + } else { + fprintf(stderr, "Unhandled element %s\n", (char *)cur->name); + } + } + cur = cur->next; + } + if (output == 1) { + if (tests > 0) + printf("Test cases: %d tests\n", tests); + } + return(ret); +} + +static int +xmlconfTestSuite(xmlDocPtr doc, xmlNodePtr cur) { + xmlChar *profile; + int ret = 0; + + profile = xmlGetProp(cur, BAD_CAST "PROFILE"); + if (profile != NULL) { + printf("Test suite: %s\n", (char *) profile); + xmlFree(profile); + } else + printf("Test suite\n"); + cur = cur->children; + while (cur != NULL) { + /* look only at elements we ignore everything else */ + if (cur->type == XML_ELEMENT_NODE) { + if (xmlStrEqual(cur->name, BAD_CAST "TESTCASES")) { + ret += xmlconfTestCases(doc, cur, 1); + } else { + fprintf(stderr, "Unhandled element %s\n", (char *)cur->name); + } + } + cur = cur->next; + } + return(ret); +} + +static void +xmlconfInfo(void) { + fprintf(stderr, " you need to fetch and extract the\n"); + fprintf(stderr, " latest XML Conformance Test Suites\n"); + fprintf(stderr, " http://www.w3.org/XML/Test/xmlts20080827.tar.gz\n"); + fprintf(stderr, " see http://www.w3.org/XML/Test/ for informations\n"); +} + +static int +xmlconfTest(void) { + const char *confxml = "xmlconf/xmlconf.xml"; + xmlDocPtr doc; + xmlNodePtr cur; + int ret = 0; + + if (!checkTestFile(confxml)) { + fprintf(stderr, "%s is missing \n", confxml); + xmlconfInfo(); + return(-1); + } + doc = xmlReadFile(confxml, NULL, XML_PARSE_NOENT); + if (doc == NULL) { + fprintf(stderr, "%s is corrupted \n", confxml); + xmlconfInfo(); + return(-1); + } + + cur = xmlDocGetRootElement(doc); + if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "TESTSUITE"))) { + fprintf(stderr, "Unexpected format %s\n", confxml); + xmlconfInfo(); + ret = -1; + } else { + ret = xmlconfTestSuite(doc, cur); + } + xmlFreeDoc(doc); + return(ret); +} + +/************************************************************************ + * * + * The driver for the tests * + * * + ************************************************************************/ + +int +main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + int ret = 0; + int old_errors, old_tests, old_leaks; + + logfile = fopen(LOGFILE, "w"); + if (logfile == NULL) { + fprintf(stderr, + "Could not open the log file, running in verbose mode\n"); + verbose = 1; + } + initializeLibxml2(); + + if ((argc >= 2) && (!strcmp(argv[1], "-v"))) + verbose = 1; + + + old_errors = nb_errors; + old_tests = nb_tests; + old_leaks = nb_leaks; + xmlconfTest(); + if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) + printf("Ran %d tests, no errors\n", nb_tests - old_tests); + else + printf("Ran %d tests, %d errors, %d leaks\n", + nb_tests - old_tests, + nb_errors - old_errors, + nb_leaks - old_leaks); + if ((nb_errors == 0) && (nb_leaks == 0)) { + ret = 0; + printf("Total %d tests, no errors\n", + nb_tests); + } else { + ret = 1; + printf("Total %d tests, %d errors, %d leaks\n", + nb_tests, nb_errors, nb_leaks); + printf("See %s for detailed output\n", LOGFILE); + if ((nb_leaks == 0) && (nb_errors == NB_EXPECTED_ERRORS)) { + printf("%d errors were expected\n", nb_errors); + ret = 0; + } + } + xmlXPathFreeContext(ctxtXPath); + xmlCleanupParser(); + xmlMemoryDump(); + + if (logfile != NULL) + fclose(logfile); + return(ret); +} + +#else /* ! LIBXML_XPATH_ENABLED */ +#include +int +main(int argc, char **argv) { + fprintf(stderr, "%s need XPath support\n", argv[0]); +} +#endif diff --git a/save.h b/save.h new file mode 100644 index 0000000..192b674 --- /dev/null +++ b/save.h @@ -0,0 +1,36 @@ +/* + * Summary: Internal Interfaces for saving in libxml2 + * Description: this module describes a few interfaces which were + * added along with the API changes in 2.9.0 + * those are private routines at this point + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_SAVE_H__ +#define __XML_SAVE_H__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef LIBXML_OUTPUT_ENABLED +void xmlBufAttrSerializeTxtContent(xmlBufPtr buf, xmlDocPtr doc, + xmlAttrPtr attr, const xmlChar * string); +void xmlBufDumpNotationTable(xmlBufPtr buf, xmlNotationTablePtr table); +void xmlBufDumpElementDecl(xmlBufPtr buf, xmlElementPtr elem); +void xmlBufDumpAttributeDecl(xmlBufPtr buf, xmlAttributePtr attr); +void xmlBufDumpEntityDecl(xmlBufPtr buf, xmlEntityPtr ent); +#endif + +xmlChar *xmlEncodeAttributeEntities(xmlDocPtr doc, const xmlChar *input); + +#ifdef __cplusplus +} +#endif +#endif /* __XML_SAVE_H__ */ + diff --git a/schematron.c b/schematron.c new file mode 100644 index 0000000..258ce40 --- /dev/null +++ b/schematron.c @@ -0,0 +1,1787 @@ +/* + * schematron.c : implementation of the Schematron schema validity checking + * + * See Copyright for the status of this software. + * + * Daniel Veillard + */ + +/* + * TODO: + * + double check the semantic, especially + * - multiple rules applying in a single pattern/node + * - the semantic of libxml2 patterns vs. XSLT production referenced + * by the spec. + * + export of results in SVRL + * + full parsing and coverage of the spec, conformance of the input to the + * spec + * + divergences between the draft and the ISO proposed standard :-( + * + hook and test include + * + try and compare with the XSLT version + */ + +#define IN_LIBXML +#include "libxml.h" + +#ifdef LIBXML_SCHEMATRON_ENABLED + +#include +#include +#include +#include +#include +#include +#include +#include + +#define SCHEMATRON_PARSE_OPTIONS XML_PARSE_NOENT + +#define SCT_OLD_NS BAD_CAST "http://www.ascc.net/xml/schematron" + +#define XML_SCHEMATRON_NS BAD_CAST "http://purl.oclc.org/dsdl/schematron" + + +static const xmlChar *xmlSchematronNs = XML_SCHEMATRON_NS; +static const xmlChar *xmlOldSchematronNs = SCT_OLD_NS; + +#define IS_SCHEMATRON(node, elem) \ + ((node != NULL) && (node->type == XML_ELEMENT_NODE ) && \ + (node->ns != NULL) && \ + (xmlStrEqual(node->name, (const xmlChar *) elem)) && \ + ((xmlStrEqual(node->ns->href, xmlSchematronNs)) || \ + (xmlStrEqual(node->ns->href, xmlOldSchematronNs)))) + +#define NEXT_SCHEMATRON(node) \ + while (node != NULL) { \ + if ((node->type == XML_ELEMENT_NODE ) && (node->ns != NULL) && \ + ((xmlStrEqual(node->ns->href, xmlSchematronNs)) || \ + (xmlStrEqual(node->ns->href, xmlOldSchematronNs)))) \ + break; \ + node = node->next; \ + } + +/** + * TODO: + * + * macro to flag unimplemented blocks + */ +#define TODO \ + xmlGenericError(xmlGenericErrorContext, \ + "Unimplemented block at %s:%d\n", \ + __FILE__, __LINE__); + +typedef enum { + XML_SCHEMATRON_ASSERT=1, + XML_SCHEMATRON_REPORT=2 +} xmlSchematronTestType; + +/** + * _xmlSchematronTest: + * + * A Schematrons test, either an assert or a report + */ +typedef struct _xmlSchematronTest xmlSchematronTest; +typedef xmlSchematronTest *xmlSchematronTestPtr; +struct _xmlSchematronTest { + xmlSchematronTestPtr next; /* the next test in the list */ + xmlSchematronTestType type; /* the test type */ + xmlNodePtr node; /* the node in the tree */ + xmlChar *test; /* the expression to test */ + xmlXPathCompExprPtr comp; /* the compiled expression */ + xmlChar *report; /* the message to report */ +}; + +/** + * _xmlSchematronRule: + * + * A Schematrons rule + */ +typedef struct _xmlSchematronRule xmlSchematronRule; +typedef xmlSchematronRule *xmlSchematronRulePtr; +struct _xmlSchematronRule { + xmlSchematronRulePtr next; /* the next rule in the list */ + xmlSchematronRulePtr patnext;/* the next rule in the pattern list */ + xmlNodePtr node; /* the node in the tree */ + xmlChar *context; /* the context evaluation rule */ + xmlSchematronTestPtr tests; /* the list of tests */ + xmlPatternPtr pattern; /* the compiled pattern associated */ + xmlChar *report; /* the message to report */ +}; + +/** + * _xmlSchematronPattern: + * + * A Schematrons pattern + */ +typedef struct _xmlSchematronPattern xmlSchematronPattern; +typedef xmlSchematronPattern *xmlSchematronPatternPtr; +struct _xmlSchematronPattern { + xmlSchematronPatternPtr next;/* the next pattern in the list */ + xmlSchematronRulePtr rules; /* the list of rules */ + xmlChar *name; /* the name of the pattern */ +}; + +/** + * _xmlSchematron: + * + * A Schematrons definition + */ +struct _xmlSchematron { + const xmlChar *name; /* schema name */ + int preserve; /* was the document passed by the user */ + xmlDocPtr doc; /* pointer to the parsed document */ + int flags; /* specific to this schematron */ + + void *_private; /* unused by the library */ + xmlDictPtr dict; /* the dictionary used internally */ + + const xmlChar *title; /* the title if any */ + + int nbNs; /* the number of namespaces */ + + int nbPattern; /* the number of patterns */ + xmlSchematronPatternPtr patterns;/* the patterns found */ + xmlSchematronRulePtr rules; /* the rules gathered */ + int nbNamespaces; /* number of namespaces in the array */ + int maxNamespaces; /* size of the array */ + const xmlChar **namespaces; /* the array of namespaces */ +}; + +/** + * xmlSchematronValidCtxt: + * + * A Schematrons validation context + */ +struct _xmlSchematronValidCtxt { + int type; + int flags; /* an or of xmlSchematronValidOptions */ + + xmlDictPtr dict; + int nberrors; + int err; + + xmlSchematronPtr schema; + xmlXPathContextPtr xctxt; + + FILE *outputFile; /* if using XML_SCHEMATRON_OUT_FILE */ + xmlBufferPtr outputBuffer; /* if using XML_SCHEMATRON_OUT_BUFFER */ +#ifdef LIBXML_OUTPUT_ENABLED + xmlOutputWriteCallback iowrite; /* if using XML_SCHEMATRON_OUT_IO */ + xmlOutputCloseCallback ioclose; +#endif + void *ioctx; + + /* error reporting data */ + void *userData; /* user specific data block */ + xmlSchematronValidityErrorFunc error;/* the callback in case of errors */ + xmlSchematronValidityWarningFunc warning;/* callback in case of warning */ + xmlStructuredErrorFunc serror; /* the structured function */ +}; + +struct _xmlSchematronParserCtxt { + int type; + const xmlChar *URL; + xmlDocPtr doc; + int preserve; /* Whether the doc should be freed */ + const char *buffer; + int size; + + xmlDictPtr dict; /* dictionary for interned string names */ + + int nberrors; + int err; + xmlXPathContextPtr xctxt; /* the XPath context used for compilation */ + xmlSchematronPtr schema; + + int nbNamespaces; /* number of namespaces in the array */ + int maxNamespaces; /* size of the array */ + const xmlChar **namespaces; /* the array of namespaces */ + + int nbIncludes; /* number of includes in the array */ + int maxIncludes; /* size of the array */ + xmlNodePtr *includes; /* the array of includes */ + + /* error reporting data */ + void *userData; /* user specific data block */ + xmlSchematronValidityErrorFunc error;/* the callback in case of errors */ + xmlSchematronValidityWarningFunc warning;/* callback in case of warning */ + xmlStructuredErrorFunc serror; /* the structured function */ +}; + +#define XML_STRON_CTXT_PARSER 1 +#define XML_STRON_CTXT_VALIDATOR 2 + +/************************************************************************ + * * + * Error reporting * + * * + ************************************************************************/ + +/** + * xmlSchematronPErrMemory: + * @node: a context node + * @extra: extra informations + * + * Handle an out of memory condition + */ +static void +xmlSchematronPErrMemory(xmlSchematronParserCtxtPtr ctxt, + const char *extra, xmlNodePtr node) +{ + if (ctxt != NULL) + ctxt->nberrors++; + __xmlSimpleError(XML_FROM_SCHEMASP, XML_ERR_NO_MEMORY, node, NULL, + extra); +} + +/** + * xmlSchematronPErr: + * @ctxt: the parsing context + * @node: the context node + * @error: the error code + * @msg: the error message + * @str1: extra data + * @str2: extra data + * + * Handle a parser error + */ +static void LIBXML_ATTR_FORMAT(4,0) +xmlSchematronPErr(xmlSchematronParserCtxtPtr ctxt, xmlNodePtr node, int error, + const char *msg, const xmlChar * str1, const xmlChar * str2) +{ + xmlGenericErrorFunc channel = NULL; + xmlStructuredErrorFunc schannel = NULL; + void *data = NULL; + + if (ctxt != NULL) { + ctxt->nberrors++; + channel = ctxt->error; + data = ctxt->userData; + schannel = ctxt->serror; + } + __xmlRaiseError(schannel, channel, data, ctxt, node, XML_FROM_SCHEMASP, + error, XML_ERR_ERROR, NULL, 0, + (const char *) str1, (const char *) str2, NULL, 0, 0, + msg, str1, str2); +} + +/** + * xmlSchematronVTypeErrMemory: + * @node: a context node + * @extra: extra informations + * + * Handle an out of memory condition + */ +static void +xmlSchematronVErrMemory(xmlSchematronValidCtxtPtr ctxt, + const char *extra, xmlNodePtr node) +{ + if (ctxt != NULL) { + ctxt->nberrors++; + ctxt->err = XML_SCHEMAV_INTERNAL; + } + __xmlSimpleError(XML_FROM_SCHEMASV, XML_ERR_NO_MEMORY, node, NULL, + extra); +} + +/************************************************************************ + * * + * Parsing and compilation of the Schematrontrons * + * * + ************************************************************************/ + +/** + * xmlSchematronAddTest: + * @ctxt: the schema parsing context + * @type: the type of test + * @rule: the parent rule + * @node: the node hosting the test + * @test: the associated test + * @report: the associated report string + * + * Add a test to a schematron + * + * Returns the new pointer or NULL in case of error + */ +static xmlSchematronTestPtr +xmlSchematronAddTest(xmlSchematronParserCtxtPtr ctxt, + xmlSchematronTestType type, + xmlSchematronRulePtr rule, + xmlNodePtr node, xmlChar *test, xmlChar *report) +{ + xmlSchematronTestPtr ret; + xmlXPathCompExprPtr comp; + + if ((ctxt == NULL) || (rule == NULL) || (node == NULL) || + (test == NULL)) + return(NULL); + + /* + * try first to compile the test expression + */ + comp = xmlXPathCtxtCompile(ctxt->xctxt, test); + if (comp == NULL) { + xmlSchematronPErr(ctxt, node, + XML_SCHEMAP_NOROOT, + "Failed to compile test expression %s", + test, NULL); + return(NULL); + } + + ret = (xmlSchematronTestPtr) xmlMalloc(sizeof(xmlSchematronTest)); + if (ret == NULL) { + xmlSchematronPErrMemory(ctxt, "allocating schema test", node); + return (NULL); + } + memset(ret, 0, sizeof(xmlSchematronTest)); + ret->type = type; + ret->node = node; + ret->test = test; + ret->comp = comp; + ret->report = report; + ret->next = NULL; + if (rule->tests == NULL) { + rule->tests = ret; + } else { + xmlSchematronTestPtr prev = rule->tests; + + while (prev->next != NULL) + prev = prev->next; + prev->next = ret; + } + return (ret); +} + +/** + * xmlSchematronFreeTests: + * @tests: a list of tests + * + * Free a list of tests. + */ +static void +xmlSchematronFreeTests(xmlSchematronTestPtr tests) { + xmlSchematronTestPtr next; + + while (tests != NULL) { + next = tests->next; + if (tests->test != NULL) + xmlFree(tests->test); + if (tests->comp != NULL) + xmlXPathFreeCompExpr(tests->comp); + if (tests->report != NULL) + xmlFree(tests->report); + xmlFree(tests); + tests = next; + } +} + +/** + * xmlSchematronAddRule: + * @ctxt: the schema parsing context + * @schema: a schema structure + * @node: the node hosting the rule + * @context: the associated context string + * @report: the associated report string + * + * Add a rule to a schematron + * + * Returns the new pointer or NULL in case of error + */ +static xmlSchematronRulePtr +xmlSchematronAddRule(xmlSchematronParserCtxtPtr ctxt, xmlSchematronPtr schema, + xmlSchematronPatternPtr pat, xmlNodePtr node, + xmlChar *context, xmlChar *report) +{ + xmlSchematronRulePtr ret; + xmlPatternPtr pattern; + + if ((ctxt == NULL) || (schema == NULL) || (node == NULL) || + (context == NULL)) + return(NULL); + + /* + * Try first to compile the pattern + */ + pattern = xmlPatterncompile(context, ctxt->dict, XML_PATTERN_XPATH, + ctxt->namespaces); + if (pattern == NULL) { + xmlSchematronPErr(ctxt, node, + XML_SCHEMAP_NOROOT, + "Failed to compile context expression %s", + context, NULL); + } + + ret = (xmlSchematronRulePtr) xmlMalloc(sizeof(xmlSchematronRule)); + if (ret == NULL) { + xmlSchematronPErrMemory(ctxt, "allocating schema rule", node); + return (NULL); + } + memset(ret, 0, sizeof(xmlSchematronRule)); + ret->node = node; + ret->context = context; + ret->pattern = pattern; + ret->report = report; + ret->next = NULL; + if (schema->rules == NULL) { + schema->rules = ret; + } else { + xmlSchematronRulePtr prev = schema->rules; + + while (prev->next != NULL) + prev = prev->next; + prev->next = ret; + } + ret->patnext = NULL; + if (pat->rules == NULL) { + pat->rules = ret; + } else { + xmlSchematronRulePtr prev = pat->rules; + + while (prev->patnext != NULL) + prev = prev->patnext; + prev->patnext = ret; + } + return (ret); +} + +/** + * xmlSchematronFreeRules: + * @rules: a list of rules + * + * Free a list of rules. + */ +static void +xmlSchematronFreeRules(xmlSchematronRulePtr rules) { + xmlSchematronRulePtr next; + + while (rules != NULL) { + next = rules->next; + if (rules->tests) + xmlSchematronFreeTests(rules->tests); + if (rules->context != NULL) + xmlFree(rules->context); + if (rules->pattern) + xmlFreePattern(rules->pattern); + if (rules->report != NULL) + xmlFree(rules->report); + xmlFree(rules); + rules = next; + } +} + +/** + * xmlSchematronAddPattern: + * @ctxt: the schema parsing context + * @schema: a schema structure + * @node: the node hosting the pattern + * @id: the id or name of the pattern + * + * Add a pattern to a schematron + * + * Returns the new pointer or NULL in case of error + */ +static xmlSchematronPatternPtr +xmlSchematronAddPattern(xmlSchematronParserCtxtPtr ctxt, + xmlSchematronPtr schema, xmlNodePtr node, xmlChar *name) +{ + xmlSchematronPatternPtr ret; + + if ((ctxt == NULL) || (schema == NULL) || (node == NULL) || (name == NULL)) + return(NULL); + + ret = (xmlSchematronPatternPtr) xmlMalloc(sizeof(xmlSchematronPattern)); + if (ret == NULL) { + xmlSchematronPErrMemory(ctxt, "allocating schema pattern", node); + return (NULL); + } + memset(ret, 0, sizeof(xmlSchematronPattern)); + ret->name = name; + ret->next = NULL; + if (schema->patterns == NULL) { + schema->patterns = ret; + } else { + xmlSchematronPatternPtr prev = schema->patterns; + + while (prev->next != NULL) + prev = prev->next; + prev->next = ret; + } + return (ret); +} + +/** + * xmlSchematronFreePatterns: + * @patterns: a list of patterns + * + * Free a list of patterns. + */ +static void +xmlSchematronFreePatterns(xmlSchematronPatternPtr patterns) { + xmlSchematronPatternPtr next; + + while (patterns != NULL) { + next = patterns->next; + if (patterns->name != NULL) + xmlFree(patterns->name); + xmlFree(patterns); + patterns = next; + } +} + +/** + * xmlSchematronNewSchematron: + * @ctxt: a schema validation context + * + * Allocate a new Schematron structure. + * + * Returns the newly allocated structure or NULL in case or error + */ +static xmlSchematronPtr +xmlSchematronNewSchematron(xmlSchematronParserCtxtPtr ctxt) +{ + xmlSchematronPtr ret; + + ret = (xmlSchematronPtr) xmlMalloc(sizeof(xmlSchematron)); + if (ret == NULL) { + xmlSchematronPErrMemory(ctxt, "allocating schema", NULL); + return (NULL); + } + memset(ret, 0, sizeof(xmlSchematron)); + ret->dict = ctxt->dict; + xmlDictReference(ret->dict); + + return (ret); +} + +/** + * xmlSchematronFree: + * @schema: a schema structure + * + * Deallocate a Schematron structure. + */ +void +xmlSchematronFree(xmlSchematronPtr schema) +{ + if (schema == NULL) + return; + + if ((schema->doc != NULL) && (!(schema->preserve))) + xmlFreeDoc(schema->doc); + + if (schema->namespaces != NULL) + xmlFree((char **) schema->namespaces); + + xmlSchematronFreeRules(schema->rules); + xmlSchematronFreePatterns(schema->patterns); + xmlDictFree(schema->dict); + xmlFree(schema); +} + +/** + * xmlSchematronNewParserCtxt: + * @URL: the location of the schema + * + * Create an XML Schematrons parse context for that file/resource expected + * to contain an XML Schematrons file. + * + * Returns the parser context or NULL in case of error + */ +xmlSchematronParserCtxtPtr +xmlSchematronNewParserCtxt(const char *URL) +{ + xmlSchematronParserCtxtPtr ret; + + if (URL == NULL) + return (NULL); + + ret = + (xmlSchematronParserCtxtPtr) + xmlMalloc(sizeof(xmlSchematronParserCtxt)); + if (ret == NULL) { + xmlSchematronPErrMemory(NULL, "allocating schema parser context", + NULL); + return (NULL); + } + memset(ret, 0, sizeof(xmlSchematronParserCtxt)); + ret->type = XML_STRON_CTXT_PARSER; + ret->dict = xmlDictCreate(); + ret->URL = xmlDictLookup(ret->dict, (const xmlChar *) URL, -1); + ret->includes = NULL; + ret->xctxt = xmlXPathNewContext(NULL); + if (ret->xctxt == NULL) { + xmlSchematronPErrMemory(NULL, "allocating schema parser XPath context", + NULL); + xmlSchematronFreeParserCtxt(ret); + return (NULL); + } + ret->xctxt->flags = XML_XPATH_CHECKNS; + return (ret); +} + +/** + * xmlSchematronNewMemParserCtxt: + * @buffer: a pointer to a char array containing the schemas + * @size: the size of the array + * + * Create an XML Schematrons parse context for that memory buffer expected + * to contain an XML Schematrons file. + * + * Returns the parser context or NULL in case of error + */ +xmlSchematronParserCtxtPtr +xmlSchematronNewMemParserCtxt(const char *buffer, int size) +{ + xmlSchematronParserCtxtPtr ret; + + if ((buffer == NULL) || (size <= 0)) + return (NULL); + + ret = + (xmlSchematronParserCtxtPtr) + xmlMalloc(sizeof(xmlSchematronParserCtxt)); + if (ret == NULL) { + xmlSchematronPErrMemory(NULL, "allocating schema parser context", + NULL); + return (NULL); + } + memset(ret, 0, sizeof(xmlSchematronParserCtxt)); + ret->buffer = buffer; + ret->size = size; + ret->dict = xmlDictCreate(); + ret->xctxt = xmlXPathNewContext(NULL); + if (ret->xctxt == NULL) { + xmlSchematronPErrMemory(NULL, "allocating schema parser XPath context", + NULL); + xmlSchematronFreeParserCtxt(ret); + return (NULL); + } + return (ret); +} + +/** + * xmlSchematronNewDocParserCtxt: + * @doc: a preparsed document tree + * + * Create an XML Schematrons parse context for that document. + * NB. The document may be modified during the parsing process. + * + * Returns the parser context or NULL in case of error + */ +xmlSchematronParserCtxtPtr +xmlSchematronNewDocParserCtxt(xmlDocPtr doc) +{ + xmlSchematronParserCtxtPtr ret; + + if (doc == NULL) + return (NULL); + + ret = + (xmlSchematronParserCtxtPtr) + xmlMalloc(sizeof(xmlSchematronParserCtxt)); + if (ret == NULL) { + xmlSchematronPErrMemory(NULL, "allocating schema parser context", + NULL); + return (NULL); + } + memset(ret, 0, sizeof(xmlSchematronParserCtxt)); + ret->doc = doc; + ret->dict = xmlDictCreate(); + /* The application has responsibility for the document */ + ret->preserve = 1; + ret->xctxt = xmlXPathNewContext(doc); + if (ret->xctxt == NULL) { + xmlSchematronPErrMemory(NULL, "allocating schema parser XPath context", + NULL); + xmlSchematronFreeParserCtxt(ret); + return (NULL); + } + + return (ret); +} + +/** + * xmlSchematronFreeParserCtxt: + * @ctxt: the schema parser context + * + * Free the resources associated to the schema parser context + */ +void +xmlSchematronFreeParserCtxt(xmlSchematronParserCtxtPtr ctxt) +{ + if (ctxt == NULL) + return; + if (ctxt->doc != NULL && !ctxt->preserve) + xmlFreeDoc(ctxt->doc); + if (ctxt->xctxt != NULL) { + xmlXPathFreeContext(ctxt->xctxt); + } + if (ctxt->namespaces != NULL) + xmlFree((char **) ctxt->namespaces); + xmlDictFree(ctxt->dict); + xmlFree(ctxt); +} + +#if 0 +/** + * xmlSchematronPushInclude: + * @ctxt: the schema parser context + * @doc: the included document + * @cur: the current include node + * + * Add an included document + */ +static void +xmlSchematronPushInclude(xmlSchematronParserCtxtPtr ctxt, + xmlDocPtr doc, xmlNodePtr cur) +{ + if (ctxt->includes == NULL) { + ctxt->maxIncludes = 10; + ctxt->includes = (xmlNodePtr *) + xmlMalloc(ctxt->maxIncludes * 2 * sizeof(xmlNodePtr)); + if (ctxt->includes == NULL) { + xmlSchematronPErrMemory(NULL, "allocating parser includes", + NULL); + return; + } + ctxt->nbIncludes = 0; + } else if (ctxt->nbIncludes + 2 >= ctxt->maxIncludes) { + xmlNodePtr *tmp; + + tmp = (xmlNodePtr *) + xmlRealloc(ctxt->includes, ctxt->maxIncludes * 4 * + sizeof(xmlNodePtr)); + if (tmp == NULL) { + xmlSchematronPErrMemory(NULL, "allocating parser includes", + NULL); + return; + } + ctxt->includes = tmp; + ctxt->maxIncludes *= 2; + } + ctxt->includes[2 * ctxt->nbIncludes] = cur; + ctxt->includes[2 * ctxt->nbIncludes + 1] = (xmlNodePtr) doc; + ctxt->nbIncludes++; +} + +/** + * xmlSchematronPopInclude: + * @ctxt: the schema parser context + * + * Pop an include level. The included document is being freed + * + * Returns the node immediately following the include or NULL if the + * include list was empty. + */ +static xmlNodePtr +xmlSchematronPopInclude(xmlSchematronParserCtxtPtr ctxt) +{ + xmlDocPtr doc; + xmlNodePtr ret; + + if (ctxt->nbIncludes <= 0) + return(NULL); + ctxt->nbIncludes--; + doc = (xmlDocPtr) ctxt->includes[2 * ctxt->nbIncludes + 1]; + ret = ctxt->includes[2 * ctxt->nbIncludes]; + xmlFreeDoc(doc); + if (ret != NULL) + ret = ret->next; + if (ret == NULL) + return(xmlSchematronPopInclude(ctxt)); + return(ret); +} +#endif + +/** + * xmlSchematronAddNamespace: + * @ctxt: the schema parser context + * @prefix: the namespace prefix + * @ns: the namespace name + * + * Add a namespace definition in the context + */ +static void +xmlSchematronAddNamespace(xmlSchematronParserCtxtPtr ctxt, + const xmlChar *prefix, const xmlChar *ns) +{ + if (ctxt->namespaces == NULL) { + ctxt->maxNamespaces = 10; + ctxt->namespaces = (const xmlChar **) + xmlMalloc(ctxt->maxNamespaces * 2 * sizeof(const xmlChar *)); + if (ctxt->namespaces == NULL) { + xmlSchematronPErrMemory(NULL, "allocating parser namespaces", + NULL); + return; + } + ctxt->nbNamespaces = 0; + } else if (ctxt->nbNamespaces + 2 >= ctxt->maxNamespaces) { + const xmlChar **tmp; + + tmp = (const xmlChar **) + xmlRealloc((xmlChar **) ctxt->namespaces, ctxt->maxNamespaces * 4 * + sizeof(const xmlChar *)); + if (tmp == NULL) { + xmlSchematronPErrMemory(NULL, "allocating parser namespaces", + NULL); + return; + } + ctxt->namespaces = tmp; + ctxt->maxNamespaces *= 2; + } + ctxt->namespaces[2 * ctxt->nbNamespaces] = + xmlDictLookup(ctxt->dict, ns, -1); + ctxt->namespaces[2 * ctxt->nbNamespaces + 1] = + xmlDictLookup(ctxt->dict, prefix, -1); + ctxt->nbNamespaces++; + ctxt->namespaces[2 * ctxt->nbNamespaces] = NULL; + ctxt->namespaces[2 * ctxt->nbNamespaces + 1] = NULL; + +} + +/** + * xmlSchematronParseRule: + * @ctxt: a schema validation context + * @rule: the rule node + * + * parse a rule element + */ +static void +xmlSchematronParseRule(xmlSchematronParserCtxtPtr ctxt, + xmlSchematronPatternPtr pattern, + xmlNodePtr rule) +{ + xmlNodePtr cur; + int nbChecks = 0; + xmlChar *test; + xmlChar *context; + xmlChar *report; + xmlSchematronRulePtr ruleptr; + xmlSchematronTestPtr testptr; + + if ((ctxt == NULL) || (rule == NULL)) return; + + context = xmlGetNoNsProp(rule, BAD_CAST "context"); + if (context == NULL) { + xmlSchematronPErr(ctxt, rule, + XML_SCHEMAP_NOROOT, + "rule has no context attribute", + NULL, NULL); + return; + } else if (context[0] == 0) { + xmlSchematronPErr(ctxt, rule, + XML_SCHEMAP_NOROOT, + "rule has an empty context attribute", + NULL, NULL); + xmlFree(context); + return; + } else { + ruleptr = xmlSchematronAddRule(ctxt, ctxt->schema, pattern, + rule, context, NULL); + if (ruleptr == NULL) { + xmlFree(context); + return; + } + } + + cur = rule->children; + NEXT_SCHEMATRON(cur); + while (cur != NULL) { + if (IS_SCHEMATRON(cur, "assert")) { + nbChecks++; + test = xmlGetNoNsProp(cur, BAD_CAST "test"); + if (test == NULL) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "assert has no test attribute", + NULL, NULL); + } else if (test[0] == 0) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "assert has an empty test attribute", + NULL, NULL); + xmlFree(test); + } else { + /* TODO will need dynamic processing instead */ + report = xmlNodeGetContent(cur); + + testptr = xmlSchematronAddTest(ctxt, XML_SCHEMATRON_ASSERT, + ruleptr, cur, test, report); + if (testptr == NULL) + xmlFree(test); + } + } else if (IS_SCHEMATRON(cur, "report")) { + nbChecks++; + test = xmlGetNoNsProp(cur, BAD_CAST "test"); + if (test == NULL) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "assert has no test attribute", + NULL, NULL); + } else if (test[0] == 0) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "assert has an empty test attribute", + NULL, NULL); + xmlFree(test); + } else { + /* TODO will need dynamic processing instead */ + report = xmlNodeGetContent(cur); + + testptr = xmlSchematronAddTest(ctxt, XML_SCHEMATRON_REPORT, + ruleptr, cur, test, report); + if (testptr == NULL) + xmlFree(test); + } + } else { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "Expecting an assert or a report element instead of %s", + cur->name, NULL); + } + cur = cur->next; + NEXT_SCHEMATRON(cur); + } + if (nbChecks == 0) { + xmlSchematronPErr(ctxt, rule, + XML_SCHEMAP_NOROOT, + "rule has no assert nor report element", NULL, NULL); + } +} + +/** + * xmlSchematronParsePattern: + * @ctxt: a schema validation context + * @pat: the pattern node + * + * parse a pattern element + */ +static void +xmlSchematronParsePattern(xmlSchematronParserCtxtPtr ctxt, xmlNodePtr pat) +{ + xmlNodePtr cur; + xmlSchematronPatternPtr pattern; + int nbRules = 0; + xmlChar *id; + + if ((ctxt == NULL) || (pat == NULL)) return; + + id = xmlGetNoNsProp(pat, BAD_CAST "id"); + if (id == NULL) { + id = xmlGetNoNsProp(pat, BAD_CAST "name"); + } + pattern = xmlSchematronAddPattern(ctxt, ctxt->schema, pat, id); + if (pattern == NULL) { + if (id != NULL) + xmlFree(id); + return; + } + cur = pat->children; + NEXT_SCHEMATRON(cur); + while (cur != NULL) { + if (IS_SCHEMATRON(cur, "rule")) { + xmlSchematronParseRule(ctxt, pattern, cur); + nbRules++; + } else { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "Expecting a rule element instead of %s", cur->name, NULL); + } + cur = cur->next; + NEXT_SCHEMATRON(cur); + } + if (nbRules == 0) { + xmlSchematronPErr(ctxt, pat, + XML_SCHEMAP_NOROOT, + "Pattern has no rule element", NULL, NULL); + } +} + +#if 0 +/** + * xmlSchematronLoadInclude: + * @ctxt: a schema validation context + * @cur: the include element + * + * Load the include document, Push the current pointer + * + * Returns the updated node pointer + */ +static xmlNodePtr +xmlSchematronLoadInclude(xmlSchematronParserCtxtPtr ctxt, xmlNodePtr cur) +{ + xmlNodePtr ret = NULL; + xmlDocPtr doc = NULL; + xmlChar *href = NULL; + xmlChar *base = NULL; + xmlChar *URI = NULL; + + if ((ctxt == NULL) || (cur == NULL)) + return(NULL); + + href = xmlGetNoNsProp(cur, BAD_CAST "href"); + if (href == NULL) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "Include has no href attribute", NULL, NULL); + return(cur->next); + } + + /* do the URI base composition, load and find the root */ + base = xmlNodeGetBase(cur->doc, cur); + URI = xmlBuildURI(href, base); + doc = xmlReadFile((const char *) URI, NULL, SCHEMATRON_PARSE_OPTIONS); + if (doc == NULL) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_FAILED_LOAD, + "could not load include '%s'.\n", + URI, NULL); + goto done; + } + ret = xmlDocGetRootElement(doc); + if (ret == NULL) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_FAILED_LOAD, + "could not find root from include '%s'.\n", + URI, NULL); + goto done; + } + + /* Success, push the include for rollback on exit */ + xmlSchematronPushInclude(ctxt, doc, cur); + +done: + if (ret == NULL) { + if (doc != NULL) + xmlFreeDoc(doc); + } + xmlFree(href); + if (base != NULL) + xmlFree(base); + if (URI != NULL) + xmlFree(URI); + return(ret); +} +#endif + +/** + * xmlSchematronParse: + * @ctxt: a schema validation context + * + * parse a schema definition resource and build an internal + * XML Schema structure which can be used to validate instances. + * + * Returns the internal XML Schematron structure built from the resource or + * NULL in case of error + */ +xmlSchematronPtr +xmlSchematronParse(xmlSchematronParserCtxtPtr ctxt) +{ + xmlSchematronPtr ret = NULL; + xmlDocPtr doc; + xmlNodePtr root, cur; + int preserve = 0; + + if (ctxt == NULL) + return (NULL); + + ctxt->nberrors = 0; + + /* + * First step is to parse the input document into an DOM/Infoset + */ + if (ctxt->URL != NULL) { + doc = xmlReadFile((const char *) ctxt->URL, NULL, + SCHEMATRON_PARSE_OPTIONS); + if (doc == NULL) { + xmlSchematronPErr(ctxt, NULL, + XML_SCHEMAP_FAILED_LOAD, + "xmlSchematronParse: could not load '%s'.\n", + ctxt->URL, NULL); + return (NULL); + } + ctxt->preserve = 0; + } else if (ctxt->buffer != NULL) { + doc = xmlReadMemory(ctxt->buffer, ctxt->size, NULL, NULL, + SCHEMATRON_PARSE_OPTIONS); + if (doc == NULL) { + xmlSchematronPErr(ctxt, NULL, + XML_SCHEMAP_FAILED_PARSE, + "xmlSchematronParse: could not parse.\n", + NULL, NULL); + return (NULL); + } + doc->URL = xmlStrdup(BAD_CAST "in_memory_buffer"); + ctxt->URL = xmlDictLookup(ctxt->dict, BAD_CAST "in_memory_buffer", -1); + ctxt->preserve = 0; + } else if (ctxt->doc != NULL) { + doc = ctxt->doc; + preserve = 1; + ctxt->preserve = 1; + } else { + xmlSchematronPErr(ctxt, NULL, + XML_SCHEMAP_NOTHING_TO_PARSE, + "xmlSchematronParse: could not parse.\n", + NULL, NULL); + return (NULL); + } + + /* + * Then extract the root and Schematron parse it + */ + root = xmlDocGetRootElement(doc); + if (root == NULL) { + xmlSchematronPErr(ctxt, (xmlNodePtr) doc, + XML_SCHEMAP_NOROOT, + "The schema has no document element.\n", NULL, NULL); + if (!preserve) { + xmlFreeDoc(doc); + } + return (NULL); + } + + if (!IS_SCHEMATRON(root, "schema")) { + xmlSchematronPErr(ctxt, root, + XML_SCHEMAP_NOROOT, + "The XML document '%s' is not a XML schematron document", + ctxt->URL, NULL); + goto exit; + } + ret = xmlSchematronNewSchematron(ctxt); + if (ret == NULL) + goto exit; + ctxt->schema = ret; + + /* + * scan the schema elements + */ + cur = root->children; + NEXT_SCHEMATRON(cur); + if (IS_SCHEMATRON(cur, "title")) { + xmlChar *title = xmlNodeGetContent(cur); + if (title != NULL) { + ret->title = xmlDictLookup(ret->dict, title, -1); + xmlFree(title); + } + cur = cur->next; + NEXT_SCHEMATRON(cur); + } + while (IS_SCHEMATRON(cur, "ns")) { + xmlChar *prefix = xmlGetNoNsProp(cur, BAD_CAST "prefix"); + xmlChar *uri = xmlGetNoNsProp(cur, BAD_CAST "uri"); + if ((uri == NULL) || (uri[0] == 0)) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "ns element has no uri", NULL, NULL); + } + if ((prefix == NULL) || (prefix[0] == 0)) { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "ns element has no prefix", NULL, NULL); + } + if ((prefix) && (uri)) { + xmlXPathRegisterNs(ctxt->xctxt, prefix, uri); + xmlSchematronAddNamespace(ctxt, prefix, uri); + ret->nbNs++; + } + if (uri) + xmlFree(uri); + if (prefix) + xmlFree(prefix); + cur = cur->next; + NEXT_SCHEMATRON(cur); + } + while (cur != NULL) { + if (IS_SCHEMATRON(cur, "pattern")) { + xmlSchematronParsePattern(ctxt, cur); + ret->nbPattern++; + } else { + xmlSchematronPErr(ctxt, cur, + XML_SCHEMAP_NOROOT, + "Expecting a pattern element instead of %s", cur->name, NULL); + } + cur = cur->next; + NEXT_SCHEMATRON(cur); + } + if (ret->nbPattern == 0) { + xmlSchematronPErr(ctxt, root, + XML_SCHEMAP_NOROOT, + "The schematron document '%s' has no pattern", + ctxt->URL, NULL); + goto exit; + } + /* the original document must be kept for reporting */ + ret->doc = doc; + if (preserve) { + ret->preserve = 1; + } + preserve = 1; + +exit: + if (!preserve) { + xmlFreeDoc(doc); + } + if (ret != NULL) { + if (ctxt->nberrors != 0) { + xmlSchematronFree(ret); + ret = NULL; + } else { + ret->namespaces = ctxt->namespaces; + ret->nbNamespaces = ctxt->nbNamespaces; + ctxt->namespaces = NULL; + } + } + return (ret); +} + +/************************************************************************ + * * + * Schematrontron Reports handler * + * * + ************************************************************************/ + +static xmlNodePtr +xmlSchematronGetNode(xmlSchematronValidCtxtPtr ctxt, + xmlNodePtr cur, const xmlChar *xpath) { + xmlNodePtr node = NULL; + xmlXPathObjectPtr ret; + + if ((ctxt == NULL) || (cur == NULL) || (xpath == NULL)) + return(NULL); + + ctxt->xctxt->doc = cur->doc; + ctxt->xctxt->node = cur; + ret = xmlXPathEval(xpath, ctxt->xctxt); + if (ret == NULL) + return(NULL); + + if ((ret->type == XPATH_NODESET) && + (ret->nodesetval != NULL) && (ret->nodesetval->nodeNr > 0)) + node = ret->nodesetval->nodeTab[0]; + + xmlXPathFreeObject(ret); + return(node); +} + +/** + * xmlSchematronReportOutput: + * @ctxt: the validation context + * @cur: the current node tested + * @msg: the message output + * + * Output part of the report to whatever channel the user selected + */ +static void +xmlSchematronReportOutput(xmlSchematronValidCtxtPtr ctxt ATTRIBUTE_UNUSED, + xmlNodePtr cur ATTRIBUTE_UNUSED, + const char *msg) { + /* TODO */ + fprintf(stderr, "%s", msg); +} + +/** + * xmlSchematronFormatReport: + * @ctxt: the validation context + * @test: the test node + * @cur: the current node tested + * + * Build the string being reported to the user. + * + * Returns a report string or NULL in case of error. The string needs + * to be deallocated by the caller + */ +static xmlChar * +xmlSchematronFormatReport(xmlSchematronValidCtxtPtr ctxt, + xmlNodePtr test, xmlNodePtr cur) { + xmlChar *ret = NULL; + xmlNodePtr child, node; + + if ((test == NULL) || (cur == NULL)) + return(ret); + + child = test->children; + while (child != NULL) { + if ((child->type == XML_TEXT_NODE) || + (child->type == XML_CDATA_SECTION_NODE)) + ret = xmlStrcat(ret, child->content); + else if (IS_SCHEMATRON(child, "name")) { + xmlChar *path; + + path = xmlGetNoNsProp(child, BAD_CAST "path"); + + node = cur; + if (path != NULL) { + node = xmlSchematronGetNode(ctxt, cur, path); + if (node == NULL) + node = cur; + xmlFree(path); + } + + if ((node->ns == NULL) || (node->ns->prefix == NULL)) + ret = xmlStrcat(ret, node->name); + else { + ret = xmlStrcat(ret, node->ns->prefix); + ret = xmlStrcat(ret, BAD_CAST ":"); + ret = xmlStrcat(ret, node->name); + } + } else { + child = child->next; + continue; + } + + /* + * remove superfluous \n + */ + if (ret != NULL) { + int len = xmlStrlen(ret); + xmlChar c; + + if (len > 0) { + c = ret[len - 1]; + if ((c == ' ') || (c == '\n') || (c == '\r') || (c == '\t')) { + while ((c == ' ') || (c == '\n') || + (c == '\r') || (c == '\t')) { + len--; + if (len == 0) + break; + c = ret[len - 1]; + } + ret[len] = ' '; + ret[len + 1] = 0; + } + } + } + + child = child->next; + } + return(ret); +} + +/** + * xmlSchematronReportSuccess: + * @ctxt: the validation context + * @test: the compiled test + * @cur: the current node tested + * @success: boolean value for the result + * + * called from the validation engine when an assert or report test have + * been done. + */ +static void +xmlSchematronReportSuccess(xmlSchematronValidCtxtPtr ctxt, + xmlSchematronTestPtr test, xmlNodePtr cur, xmlSchematronPatternPtr pattern, int success) { + if ((ctxt == NULL) || (cur == NULL) || (test == NULL)) + return; + /* if quiet and not SVRL report only failures */ + if ((ctxt->flags & XML_SCHEMATRON_OUT_QUIET) && + ((ctxt->flags & XML_SCHEMATRON_OUT_XML) == 0) && + (test->type == XML_SCHEMATRON_REPORT)) + return; + if (ctxt->flags & XML_SCHEMATRON_OUT_XML) { + TODO + } else { + xmlChar *path; + char msg[1000]; + long line; + const xmlChar *report = NULL; + + if (((test->type == XML_SCHEMATRON_REPORT) & (!success)) || + ((test->type == XML_SCHEMATRON_ASSERT) & (success))) + return; + line = xmlGetLineNo(cur); + path = xmlGetNodePath(cur); + if (path == NULL) + path = (xmlChar *) cur->name; +#if 0 + if ((test->report != NULL) && (test->report[0] != 0)) + report = test->report; +#endif + if (test->node != NULL) + report = xmlSchematronFormatReport(ctxt, test->node, cur); + if (report == NULL) { + if (test->type == XML_SCHEMATRON_ASSERT) { + report = xmlStrdup((const xmlChar *) "node failed assert"); + } else { + report = xmlStrdup((const xmlChar *) "node failed report"); + } + } + snprintf(msg, 999, "%s line %ld: %s\n", (const char *) path, + line, (const char *) report); + + if (ctxt->flags & XML_SCHEMATRON_OUT_ERROR) { + xmlStructuredErrorFunc schannel = NULL; + xmlGenericErrorFunc channel = NULL; + void *data = NULL; + + if (ctxt != NULL) { + if (ctxt->serror != NULL) + schannel = ctxt->serror; + else + channel = ctxt->error; + data = ctxt->userData; + } + + __xmlRaiseError(schannel, channel, data, + NULL, cur, XML_FROM_SCHEMATRONV, + (test->type == XML_SCHEMATRON_ASSERT)?XML_SCHEMATRONV_ASSERT:XML_SCHEMATRONV_REPORT, + XML_ERR_ERROR, NULL, line, + (pattern == NULL)?NULL:((const char *) pattern->name), + (const char *) path, + (const char *) report, 0, 0, + "%s", msg); + } else { + xmlSchematronReportOutput(ctxt, cur, &msg[0]); + } + + xmlFree((char *) report); + + if ((path != NULL) && (path != (xmlChar *) cur->name)) + xmlFree(path); + } +} + +/** + * xmlSchematronReportPattern: + * @ctxt: the validation context + * @pattern: the current pattern + * + * called from the validation engine when starting to check a pattern + */ +static void +xmlSchematronReportPattern(xmlSchematronValidCtxtPtr ctxt, + xmlSchematronPatternPtr pattern) { + if ((ctxt == NULL) || (pattern == NULL)) + return; + if ((ctxt->flags & XML_SCHEMATRON_OUT_QUIET) || (ctxt->flags & XML_SCHEMATRON_OUT_ERROR)) /* Error gives pattern name as part of error */ + return; + if (ctxt->flags & XML_SCHEMATRON_OUT_XML) { + TODO + } else { + char msg[1000]; + + if (pattern->name == NULL) + return; + snprintf(msg, 999, "Pattern: %s\n", (const char *) pattern->name); + xmlSchematronReportOutput(ctxt, NULL, &msg[0]); + } +} + + +/************************************************************************ + * * + * Validation against a Schematrontron * + * * + ************************************************************************/ + +/** + * xmlSchematronSetValidStructuredErrors: + * @ctxt: a Schematron validation context + * @serror: the structured error function + * @ctx: the functions context + * + * Set the structured error callback + */ +void +xmlSchematronSetValidStructuredErrors(xmlSchematronValidCtxtPtr ctxt, + xmlStructuredErrorFunc serror, void *ctx) +{ + if (ctxt == NULL) + return; + ctxt->serror = serror; + ctxt->error = NULL; + ctxt->warning = NULL; + ctxt->userData = ctx; +} + +/** + * xmlSchematronNewValidCtxt: + * @schema: a precompiled XML Schematrons + * @options: a set of xmlSchematronValidOptions + * + * Create an XML Schematrons validation context based on the given schema. + * + * Returns the validation context or NULL in case of error + */ +xmlSchematronValidCtxtPtr +xmlSchematronNewValidCtxt(xmlSchematronPtr schema, int options) +{ + int i; + xmlSchematronValidCtxtPtr ret; + + ret = (xmlSchematronValidCtxtPtr) xmlMalloc(sizeof(xmlSchematronValidCtxt)); + if (ret == NULL) { + xmlSchematronVErrMemory(NULL, "allocating validation context", + NULL); + return (NULL); + } + memset(ret, 0, sizeof(xmlSchematronValidCtxt)); + ret->type = XML_STRON_CTXT_VALIDATOR; + ret->schema = schema; + ret->xctxt = xmlXPathNewContext(NULL); + ret->flags = options; + if (ret->xctxt == NULL) { + xmlSchematronPErrMemory(NULL, "allocating schema parser XPath context", + NULL); + xmlSchematronFreeValidCtxt(ret); + return (NULL); + } + for (i = 0;i < schema->nbNamespaces;i++) { + if ((schema->namespaces[2 * i] == NULL) || + (schema->namespaces[2 * i + 1] == NULL)) + break; + xmlXPathRegisterNs(ret->xctxt, schema->namespaces[2 * i + 1], + schema->namespaces[2 * i]); + } + return (ret); +} + +/** + * xmlSchematronFreeValidCtxt: + * @ctxt: the schema validation context + * + * Free the resources associated to the schema validation context + */ +void +xmlSchematronFreeValidCtxt(xmlSchematronValidCtxtPtr ctxt) +{ + if (ctxt == NULL) + return; + if (ctxt->xctxt != NULL) + xmlXPathFreeContext(ctxt->xctxt); + if (ctxt->dict != NULL) + xmlDictFree(ctxt->dict); + xmlFree(ctxt); +} + +static xmlNodePtr +xmlSchematronNextNode(xmlNodePtr cur) { + if (cur->children != NULL) { + /* + * Do not descend on entities declarations + */ + if (cur->children->type != XML_ENTITY_DECL) { + cur = cur->children; + /* + * Skip DTDs + */ + if (cur->type != XML_DTD_NODE) + return(cur); + } + } + + while (cur->next != NULL) { + cur = cur->next; + if ((cur->type != XML_ENTITY_DECL) && + (cur->type != XML_DTD_NODE)) + return(cur); + } + + do { + cur = cur->parent; + if (cur == NULL) break; + if (cur->type == XML_DOCUMENT_NODE) return(NULL); + if (cur->next != NULL) { + cur = cur->next; + return(cur); + } + } while (cur != NULL); + return(cur); +} + +/** + * xmlSchematronRunTest: + * @ctxt: the schema validation context + * @test: the current test + * @instance: the document instance tree + * @cur: the current node in the instance + * + * Validate a rule against a tree instance at a given position + * + * Returns 1 in case of success, 0 if error and -1 in case of internal error + */ +static int +xmlSchematronRunTest(xmlSchematronValidCtxtPtr ctxt, + xmlSchematronTestPtr test, xmlDocPtr instance, xmlNodePtr cur, xmlSchematronPatternPtr pattern) +{ + xmlXPathObjectPtr ret; + int failed; + + failed = 0; + ctxt->xctxt->doc = instance; + ctxt->xctxt->node = cur; + ret = xmlXPathCompiledEval(test->comp, ctxt->xctxt); + if (ret == NULL) { + failed = 1; + } else { + switch (ret->type) { + case XPATH_XSLT_TREE: + case XPATH_NODESET: + if ((ret->nodesetval == NULL) || + (ret->nodesetval->nodeNr == 0)) + failed = 1; + break; + case XPATH_BOOLEAN: + failed = !ret->boolval; + break; + case XPATH_NUMBER: + if ((xmlXPathIsNaN(ret->floatval)) || + (ret->floatval == 0.0)) + failed = 1; + break; + case XPATH_STRING: + if ((ret->stringval == NULL) || + (ret->stringval[0] == 0)) + failed = 1; + break; + case XPATH_UNDEFINED: + case XPATH_POINT: + case XPATH_RANGE: + case XPATH_LOCATIONSET: + case XPATH_USERS: + failed = 1; + break; + } + xmlXPathFreeObject(ret); + } + if ((failed) && (test->type == XML_SCHEMATRON_ASSERT)) + ctxt->nberrors++; + else if ((!failed) && (test->type == XML_SCHEMATRON_REPORT)) + ctxt->nberrors++; + + xmlSchematronReportSuccess(ctxt, test, cur, pattern, !failed); + + return(!failed); +} + +/** + * xmlSchematronValidateDoc: + * @ctxt: the schema validation context + * @instance: the document instance tree + * + * Validate a tree instance against the schematron + * + * Returns 0 in case of success, -1 in case of internal error + * and an error count otherwise. + */ +int +xmlSchematronValidateDoc(xmlSchematronValidCtxtPtr ctxt, xmlDocPtr instance) +{ + xmlNodePtr cur, root; + xmlSchematronPatternPtr pattern; + xmlSchematronRulePtr rule; + xmlSchematronTestPtr test; + + if ((ctxt == NULL) || (ctxt->schema == NULL) || + (ctxt->schema->rules == NULL) || (instance == NULL)) + return(-1); + ctxt->nberrors = 0; + root = xmlDocGetRootElement(instance); + if (root == NULL) { + TODO + ctxt->nberrors++; + return(1); + } + if ((ctxt->flags & XML_SCHEMATRON_OUT_QUIET) || + (ctxt->flags == 0)) { + /* + * we are just trying to assert the validity of the document, + * speed primes over the output, run in a single pass + */ + cur = root; + while (cur != NULL) { + rule = ctxt->schema->rules; + while (rule != NULL) { + if (xmlPatternMatch(rule->pattern, cur) == 1) { + test = rule->tests; + while (test != NULL) { + xmlSchematronRunTest(ctxt, test, instance, cur, (xmlSchematronPatternPtr)rule->pattern); + test = test->next; + } + } + rule = rule->next; + } + + cur = xmlSchematronNextNode(cur); + } + } else { + /* + * Process all contexts one at a time + */ + pattern = ctxt->schema->patterns; + + while (pattern != NULL) { + xmlSchematronReportPattern(ctxt, pattern); + + /* + * TODO convert the pattern rule to a direct XPath and + * compute directly instead of using the pattern matching + * over the full document... + * Check the exact semantic + */ + cur = root; + while (cur != NULL) { + rule = pattern->rules; + while (rule != NULL) { + if (xmlPatternMatch(rule->pattern, cur) == 1) { + test = rule->tests; + while (test != NULL) { + xmlSchematronRunTest(ctxt, test, instance, cur, pattern); + test = test->next; + } + } + rule = rule->patnext; + } + + cur = xmlSchematronNextNode(cur); + } + pattern = pattern->next; + } + } + return(ctxt->nberrors); +} + +#ifdef STANDALONE +int +main(void) +{ + int ret; + xmlDocPtr instance; + xmlSchematronParserCtxtPtr pctxt; + xmlSchematronValidCtxtPtr vctxt; + xmlSchematronPtr schema = NULL; + + pctxt = xmlSchematronNewParserCtxt("tst.sct"); + if (pctxt == NULL) { + fprintf(stderr, "failed to build schematron parser\n"); + } else { + schema = xmlSchematronParse(pctxt); + if (schema == NULL) { + fprintf(stderr, "failed to compile schematron\n"); + } + xmlSchematronFreeParserCtxt(pctxt); + } + instance = xmlReadFile("tst.sct", NULL, + XML_PARSE_NOENT | XML_PARSE_NOCDATA); + if (instance == NULL) { + fprintf(stderr, "failed to parse instance\n"); + } + if ((schema != NULL) && (instance != NULL)) { + vctxt = xmlSchematronNewValidCtxt(schema); + if (vctxt == NULL) { + fprintf(stderr, "failed to build schematron validator\n"); + } else { + ret = xmlSchematronValidateDoc(vctxt, instance); + xmlSchematronFreeValidCtxt(vctxt); + } + } + xmlSchematronFree(schema); + xmlFreeDoc(instance); + + xmlCleanupParser(); + xmlMemoryDump(); + + return (0); +} +#endif +#define bottom_schematron +#include "elfgcchack.h" +#endif /* LIBXML_SCHEMATRON_ENABLED */ diff --git a/testAutomata.c b/testAutomata.c new file mode 100644 index 0000000..13213c6 --- /dev/null +++ b/testAutomata.c @@ -0,0 +1,309 @@ +/* + * testAutomata.c: simple module for testing regexp automata + * + * See Copyright for the status of this software. + * + * Daniel Veillard + */ + +#include "libxml.h" +#ifdef LIBXML_AUTOMATA_ENABLED +#include + +#include +#include + +static int scanNumber(char **ptr) { + int ret = 0; + char *cur; + + cur = *ptr; + while ((*cur >= '0') && (*cur <= '9')) { + ret = ret * 10 + (*cur - '0'); + cur++; + } + *ptr = cur; + return(ret); +} + +static void +testRegexpFile(const char *filename) { + FILE *input; + char expr[5000]; + int len; + int ret; + int i; + xmlAutomataPtr am; + xmlAutomataStatePtr states[1000]; + xmlRegexpPtr regexp = NULL; + xmlRegExecCtxtPtr exec = NULL; + + for (i = 0;i<1000;i++) + states[i] = NULL; + + input = fopen(filename, "r"); + if (input == NULL) { + xmlGenericError(xmlGenericErrorContext, + "Cannot open %s for reading\n", filename); + return; + } + + am = xmlNewAutomata(); + if (am == NULL) { + xmlGenericError(xmlGenericErrorContext, + "Cannot create automata\n"); + fclose(input); + return; + } + states[0] = xmlAutomataGetInitState(am); + if (states[0] == NULL) { + xmlGenericError(xmlGenericErrorContext, + "Cannot get start state\n"); + xmlFreeAutomata(am); + fclose(input); + return; + } + ret = 0; + + while (fgets(expr, 4500, input) != NULL) { + if (expr[0] == '#') + continue; + len = strlen(expr); + len--; + while ((len >= 0) && + ((expr[len] == '\n') || (expr[len] == '\t') || + (expr[len] == '\r') || (expr[len] == ' '))) len--; + expr[len + 1] = 0; + if (len >= 0) { + if ((am != NULL) && (expr[0] == 't') && (expr[1] == ' ')) { + char *ptr = &expr[2]; + int from, to; + + from = scanNumber(&ptr); + if (*ptr != ' ') { + xmlGenericError(xmlGenericErrorContext, + "Bad line %s\n", expr); + break; + } + if (states[from] == NULL) + states[from] = xmlAutomataNewState(am); + ptr++; + to = scanNumber(&ptr); + if (*ptr != ' ') { + xmlGenericError(xmlGenericErrorContext, + "Bad line %s\n", expr); + break; + } + if (states[to] == NULL) + states[to] = xmlAutomataNewState(am); + ptr++; + xmlAutomataNewTransition(am, states[from], states[to], + BAD_CAST ptr, NULL); + } else if ((am != NULL) && (expr[0] == 'e') && (expr[1] == ' ')) { + char *ptr = &expr[2]; + int from, to; + + from = scanNumber(&ptr); + if (*ptr != ' ') { + xmlGenericError(xmlGenericErrorContext, + "Bad line %s\n", expr); + break; + } + if (states[from] == NULL) + states[from] = xmlAutomataNewState(am); + ptr++; + to = scanNumber(&ptr); + if (states[to] == NULL) + states[to] = xmlAutomataNewState(am); + xmlAutomataNewEpsilon(am, states[from], states[to]); + } else if ((am != NULL) && (expr[0] == 'f') && (expr[1] == ' ')) { + char *ptr = &expr[2]; + int state; + + state = scanNumber(&ptr); + if (states[state] == NULL) { + xmlGenericError(xmlGenericErrorContext, + "Bad state %d : %s\n", state, expr); + break; + } + xmlAutomataSetFinalState(am, states[state]); + } else if ((am != NULL) && (expr[0] == 'c') && (expr[1] == ' ')) { + char *ptr = &expr[2]; + int from, to; + int min, max; + + from = scanNumber(&ptr); + if (*ptr != ' ') { + xmlGenericError(xmlGenericErrorContext, + "Bad line %s\n", expr); + break; + } + if (states[from] == NULL) + states[from] = xmlAutomataNewState(am); + ptr++; + to = scanNumber(&ptr); + if (*ptr != ' ') { + xmlGenericError(xmlGenericErrorContext, + "Bad line %s\n", expr); + break; + } + if (states[to] == NULL) + states[to] = xmlAutomataNewState(am); + ptr++; + min = scanNumber(&ptr); + if (*ptr != ' ') { + xmlGenericError(xmlGenericErrorContext, + "Bad line %s\n", expr); + break; + } + ptr++; + max = scanNumber(&ptr); + if (*ptr != ' ') { + xmlGenericError(xmlGenericErrorContext, + "Bad line %s\n", expr); + break; + } + ptr++; + xmlAutomataNewCountTrans(am, states[from], states[to], + BAD_CAST ptr, min, max, NULL); + } else if ((am != NULL) && (expr[0] == '-') && (expr[1] == '-')) { + /* end of the automata */ + regexp = xmlAutomataCompile(am); + xmlFreeAutomata(am); + am = NULL; + if (regexp == NULL) { + xmlGenericError(xmlGenericErrorContext, + "Failed to compile the automata"); + break; + } + } else if ((expr[0] == '=') && (expr[1] == '>')) { + if (regexp == NULL) { + printf("=> failed not compiled\n"); + } else { + if (exec == NULL) + exec = xmlRegNewExecCtxt(regexp, NULL, NULL); + if (ret == 0) { + ret = xmlRegExecPushString(exec, NULL, NULL); + } + if (ret == 1) + printf("=> Passed\n"); + else if ((ret == 0) || (ret == -1)) + printf("=> Failed\n"); + else if (ret < 0) + printf("=> Error\n"); + xmlRegFreeExecCtxt(exec); + exec = NULL; + } + ret = 0; + } else if (regexp != NULL) { + if (exec == NULL) + exec = xmlRegNewExecCtxt(regexp, NULL, NULL); + ret = xmlRegExecPushString(exec, BAD_CAST expr, NULL); + } else { + xmlGenericError(xmlGenericErrorContext, + "Unexpected line %s\n", expr); + } + } + } + fclose(input); + if (regexp != NULL) + xmlRegFreeRegexp(regexp); + if (exec != NULL) + xmlRegFreeExecCtxt(exec); + if (am != NULL) + xmlFreeAutomata(am); +} + +int main(int argc, char **argv) { + + xmlInitMemory(); + + if (argc == 1) { + int ret; + xmlAutomataPtr am; + xmlAutomataStatePtr start, cur; + xmlRegexpPtr regexp; + xmlRegExecCtxtPtr exec; + + am = xmlNewAutomata(); + start = xmlAutomataGetInitState(am); + + /* generate a[ba]*a */ + cur = xmlAutomataNewTransition(am, start, NULL, BAD_CAST"a", NULL); + xmlAutomataNewTransition(am, cur, cur, BAD_CAST"b", NULL); + xmlAutomataNewTransition(am, cur, cur, BAD_CAST"a", NULL); + cur = xmlAutomataNewCountTrans(am, cur, NULL, BAD_CAST"a", 2, 3, NULL); + xmlAutomataSetFinalState(am, cur); + + /* compile it in a regexp and free the automata */ + regexp = xmlAutomataCompile(am); + xmlFreeAutomata(am); + + /* test the regexp */ + xmlRegexpPrint(stdout, regexp); + exec = xmlRegNewExecCtxt(regexp, NULL, NULL); + ret = xmlRegExecPushString(exec, BAD_CAST"a", NULL); + if (ret == 1) + printf("final\n"); + else if (ret < 0) + printf("error\n"); + ret =xmlRegExecPushString(exec, BAD_CAST"a", NULL); + if (ret == 1) + printf("final\n"); + else if (ret < 0) + printf("error\n"); + ret =xmlRegExecPushString(exec, BAD_CAST"b", NULL); + if (ret == 1) + printf("final\n"); + else if (ret < 0) + printf("error\n"); + ret =xmlRegExecPushString(exec, BAD_CAST"a", NULL); + if (ret == 1) + printf("final\n"); + else if (ret < 0) + printf("error\n"); + ret =xmlRegExecPushString(exec, BAD_CAST"a", NULL); + if (ret == 1) + printf("final\n"); + else if (ret < 0) + printf("error\n"); + ret =xmlRegExecPushString(exec, BAD_CAST"a", NULL); + if (ret == 1) + printf("final\n"); + else if (ret < 0) + printf("error\n"); + ret =xmlRegExecPushString(exec, BAD_CAST"a", NULL); + if (ret == 1) + printf("final\n"); + else if (ret < 0) + printf("error\n"); + if (ret == 0) { + ret = xmlRegExecPushString(exec, NULL, NULL); + if (ret == 1) + printf("final\n"); + else if (ret < 0) + printf("error\n"); + } + xmlRegFreeExecCtxt(exec); + + /* free the regexp */ + xmlRegFreeRegexp(regexp); + } else { + int i; + + for (i = 1;i < argc;i++) + testRegexpFile(argv[i]); + } + + xmlCleanupParser(); + xmlMemoryDump(); + return(0); +} + +#else +#include +int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + printf("%s : Automata support not compiled in\n", argv[0]); + return(0); +} +#endif /* LIBXML_AUTOMATA_ENABLED */ diff --git a/testC14N.c b/testC14N.c new file mode 100644 index 0000000..addc800 --- /dev/null +++ b/testC14N.c @@ -0,0 +1,373 @@ +/* + * Canonical XML implementation test program + * (http://www.w3.org/TR/2001/REC-xml-c14n-20010315) + * + * See Copyright for the status of this software. + * + * Author: Aleksey Sanin + */ +#include "libxml.h" +#if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + +#include +#include +#ifndef STDOUT_FILENO +#ifdef HAVE_UNISTD_H +#include +#else +#define STDOUT_FILENO fileno(stdout) +#endif /* HAVE_UNISTD_H */ +#endif +#ifdef _WIN32 +#include +#endif +#ifdef HAVE_STDLIB_H +#include +#endif + +#include +#include +#include +#include + +#include + + +static void usage(const char *name) { + fprintf(stderr, + "Usage: %s [] []\n", + name); + fprintf(stderr, "where is one of following:\n"); + fprintf(stderr, + "--with-comments \t XML file canonicalization v1.0 w comments \n"); + fprintf(stderr, + "--without-comments \t XML file canonicalization v1.0 w/o comments\n"); + fprintf(stderr, + "--1-1-with-comments \t XML file canonicalization v1.1 w comments\n"); + fprintf(stderr, + "--1-1-without-comments \t XML file canonicalization v1.1 w/o comments\n"); + fprintf(stderr, + "--exc-with-comments \t Exclusive XML file canonicalization v1.0 w comments\n"); + fprintf(stderr, + "--exc-without-comments\t Exclusive XML file canonicalization v1.0 w/o comments\n"); +} + +static xmlXPathObjectPtr +load_xpath_expr (xmlDocPtr parent_doc, const char* filename); + +static xmlChar **parse_list(xmlChar *str); + +/* static void print_xpath_nodes(xmlNodeSetPtr nodes); */ + +static int +test_c14n(const char* xml_filename, int with_comments, int mode, + const char* xpath_filename, xmlChar **inclusive_namespaces) { + xmlDocPtr doc; + xmlXPathObjectPtr xpath = NULL; + xmlChar *result = NULL; + int ret; + + /* + * build an XML tree from a the file; we need to add default + * attributes and resolve all character and entities references + */ + xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefault(1); + + doc = xmlReadFile(xml_filename, NULL, XML_PARSE_DTDATTR | XML_PARSE_NOENT); + if (doc == NULL) { + fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_filename); + return(-1); + } + + /* + * Check the document is of the right kind + */ + if(xmlDocGetRootElement(doc) == NULL) { + fprintf(stderr,"Error: empty document for file \"%s\"\n", xml_filename); + xmlFreeDoc(doc); + return(-1); + } + + /* + * load xpath file if specified + */ + if(xpath_filename) { + xpath = load_xpath_expr(doc, xpath_filename); + if(xpath == NULL) { + fprintf(stderr,"Error: unable to evaluate xpath expression\n"); + xmlFreeDoc(doc); + return(-1); + } + } + + /* + * Canonical form + */ + /* fprintf(stderr,"File \"%s\" loaded: start canonization\n", xml_filename); */ + ret = xmlC14NDocDumpMemory(doc, + (xpath) ? xpath->nodesetval : NULL, + mode, inclusive_namespaces, + with_comments, &result); + if(ret >= 0) { + if(result != NULL) { + if (write(STDOUT_FILENO, result, ret) == -1) { + fprintf(stderr, "Can't write data\n"); + } + xmlFree(result); + } + } else { + fprintf(stderr,"Error: failed to canonicalize XML file \"%s\" (ret=%d)\n", xml_filename, ret); + if(result != NULL) xmlFree(result); + xmlFreeDoc(doc); + return(-1); + } + + /* + * Cleanup + */ + if(xpath != NULL) xmlXPathFreeObject(xpath); + xmlFreeDoc(doc); + + return(ret); +} + +int main(int argc, char **argv) { + int ret = -1; + + /* + * Init libxml + */ + xmlInitParser(); + LIBXML_TEST_VERSION + + /* + * Parse command line and process file + */ + if( argc < 3 ) { + fprintf(stderr, "Error: wrong number of arguments.\n"); + usage(argv[0]); + } else if(strcmp(argv[1], "--with-comments") == 0) { + ret = test_c14n(argv[2], 1, XML_C14N_1_0, (argc > 3) ? argv[3] : NULL, NULL); + } else if(strcmp(argv[1], "--without-comments") == 0) { + ret = test_c14n(argv[2], 0, XML_C14N_1_0, (argc > 3) ? argv[3] : NULL, NULL); + } else if(strcmp(argv[1], "--1-1-with-comments") == 0) { + ret = test_c14n(argv[2], 1, XML_C14N_1_1, (argc > 3) ? argv[3] : NULL, NULL); + } else if(strcmp(argv[1], "--1-1-without-comments") == 0) { + ret = test_c14n(argv[2], 0, XML_C14N_1_1, (argc > 3) ? argv[3] : NULL, NULL); + } else if(strcmp(argv[1], "--exc-with-comments") == 0) { + xmlChar **list; + + /* load exclusive namespace from command line */ + list = (argc > 4) ? parse_list((xmlChar *)argv[4]) : NULL; + ret = test_c14n(argv[2], 1, XML_C14N_EXCLUSIVE_1_0, (argc > 3) ? argv[3] : NULL, list); + if(list != NULL) xmlFree(list); + } else if(strcmp(argv[1], "--exc-without-comments") == 0) { + xmlChar **list; + + /* load exclusive namespace from command line */ + list = (argc > 4) ? parse_list((xmlChar *)argv[4]) : NULL; + ret = test_c14n(argv[2], 0, XML_C14N_EXCLUSIVE_1_0, (argc > 3) ? argv[3] : NULL, list); + if(list != NULL) xmlFree(list); + } else { + fprintf(stderr, "Error: bad option.\n"); + usage(argv[0]); + } + + /* + * Shutdown libxml + */ + xmlCleanupParser(); + xmlMemoryDump(); + + return((ret >= 0) ? 0 : 1); +} + +/* + * Macro used to grow the current buffer. + */ +#define growBufferReentrant() { \ + buffer_size *= 2; \ + buffer = (xmlChar **) \ + xmlRealloc(buffer, buffer_size * sizeof(xmlChar*)); \ + if (buffer == NULL) { \ + perror("realloc failed"); \ + return(NULL); \ + } \ +} + +static xmlChar ** +parse_list(xmlChar *str) { + xmlChar **buffer; + xmlChar **out = NULL; + int buffer_size = 0; + int len; + + if(str == NULL) { + return(NULL); + } + + len = xmlStrlen(str); + if((str[0] == '\'') && (str[len - 1] == '\'')) { + str[len - 1] = '\0'; + str++; + } + /* + * allocate an translation buffer. + */ + buffer_size = 1000; + buffer = (xmlChar **) xmlMalloc(buffer_size * sizeof(xmlChar*)); + if (buffer == NULL) { + perror("malloc failed"); + return(NULL); + } + out = buffer; + + while(*str != '\0') { + if (out - buffer > buffer_size - 10) { + int indx = out - buffer; + + growBufferReentrant(); + out = &buffer[indx]; + } + (*out++) = str; + while(*str != ',' && *str != '\0') ++str; + if(*str == ',') *(str++) = '\0'; + } + (*out) = NULL; + return buffer; +} + +static xmlXPathObjectPtr +load_xpath_expr (xmlDocPtr parent_doc, const char* filename) { + xmlXPathObjectPtr xpath; + xmlDocPtr doc; + xmlChar *expr; + xmlXPathContextPtr ctx; + xmlNodePtr node; + xmlNsPtr ns; + + /* + * load XPath expr as a file + */ + xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefault(1); + + doc = xmlReadFile(filename, NULL, XML_PARSE_DTDATTR | XML_PARSE_NOENT); + if (doc == NULL) { + fprintf(stderr, "Error: unable to parse file \"%s\"\n", filename); + return(NULL); + } + + /* + * Check the document is of the right kind + */ + if(xmlDocGetRootElement(doc) == NULL) { + fprintf(stderr,"Error: empty document for file \"%s\"\n", filename); + xmlFreeDoc(doc); + return(NULL); + } + + node = doc->children; + while(node != NULL && !xmlStrEqual(node->name, (const xmlChar *)"XPath")) { + node = node->next; + } + + if(node == NULL) { + fprintf(stderr,"Error: XPath element expected in the file \"%s\"\n", filename); + xmlFreeDoc(doc); + return(NULL); + } + + expr = xmlNodeGetContent(node); + if(expr == NULL) { + fprintf(stderr,"Error: XPath content element is NULL \"%s\"\n", filename); + xmlFreeDoc(doc); + return(NULL); + } + + ctx = xmlXPathNewContext(parent_doc); + if(ctx == NULL) { + fprintf(stderr,"Error: unable to create new context\n"); + xmlFree(expr); + xmlFreeDoc(doc); + return(NULL); + } + + /* + * Register namespaces + */ + ns = node->nsDef; + while(ns != NULL) { + if(xmlXPathRegisterNs(ctx, ns->prefix, ns->href) != 0) { + fprintf(stderr,"Error: unable to register NS with prefix=\"%s\" and href=\"%s\"\n", ns->prefix, ns->href); + xmlFree(expr); + xmlXPathFreeContext(ctx); + xmlFreeDoc(doc); + return(NULL); + } + ns = ns->next; + } + + /* + * Evaluate xpath + */ + xpath = xmlXPathEvalExpression(expr, ctx); + if(xpath == NULL) { + fprintf(stderr,"Error: unable to evaluate xpath expression\n"); + xmlFree(expr); + xmlXPathFreeContext(ctx); + xmlFreeDoc(doc); + return(NULL); + } + + /* print_xpath_nodes(xpath->nodesetval); */ + + xmlFree(expr); + xmlXPathFreeContext(ctx); + xmlFreeDoc(doc); + return(xpath); +} + +/* +static void +print_xpath_nodes(xmlNodeSetPtr nodes) { + xmlNodePtr cur; + int i; + + if(nodes == NULL ){ + fprintf(stderr, "Error: no nodes set defined\n"); + return; + } + + fprintf(stderr, "Nodes Set:\n-----\n"); + for(i = 0; i < nodes->nodeNr; ++i) { + if(nodes->nodeTab[i]->type == XML_NAMESPACE_DECL) { + xmlNsPtr ns; + + ns = (xmlNsPtr)nodes->nodeTab[i]; + cur = (xmlNodePtr)ns->next; + fprintf(stderr, "namespace \"%s\"=\"%s\" for node %s:%s\n", + ns->prefix, ns->href, + (cur->ns) ? cur->ns->prefix : BAD_CAST "", cur->name); + } else if(nodes->nodeTab[i]->type == XML_ELEMENT_NODE) { + cur = nodes->nodeTab[i]; + fprintf(stderr, "element node \"%s:%s\"\n", + (cur->ns) ? cur->ns->prefix : BAD_CAST "", cur->name); + } else { + cur = nodes->nodeTab[i]; + fprintf(stderr, "node \"%s\": type %d\n", cur->name, cur->type); + } + } +} +*/ + +#else +#include +int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + printf("%s : XPath/Canonicalization and output support not compiled in\n", argv[0]); + return(0); +} +#endif /* LIBXML_C14N_ENABLED */ + + diff --git a/testHTML.c b/testHTML.c new file mode 100644 index 0000000..9b42778 --- /dev/null +++ b/testHTML.c @@ -0,0 +1,880 @@ +/* + * testHTML.c : a small tester program for HTML input. + * + * See Copyright for the status of this software. + * + * daniel@veillard.com + */ + +#include "libxml.h" + +#ifdef LIBXML_HTML_ENABLED + +#include +#include + + +#ifdef HAVE_SYS_TYPES_H +#include +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +#ifdef HAVE_FCNTL_H +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_STDLIB_H +#include +#endif + +#include +#include +#include +#include +#include +#include + +#ifdef LIBXML_DEBUG_ENABLED +static int debug = 0; +#endif +static int copy = 0; +static int sax = 0; +static int repeat = 0; +static int noout = 0; +#ifdef LIBXML_PUSH_ENABLED +static int push = 0; +#endif /* LIBXML_PUSH_ENABLED */ +static char *encoding = NULL; +static int options = 0; + +static xmlSAXHandler emptySAXHandlerStruct = { + NULL, /* internalSubset */ + NULL, /* isStandalone */ + NULL, /* hasInternalSubset */ + NULL, /* hasExternalSubset */ + NULL, /* resolveEntity */ + NULL, /* getEntity */ + NULL, /* entityDecl */ + NULL, /* notationDecl */ + NULL, /* attributeDecl */ + NULL, /* elementDecl */ + NULL, /* unparsedEntityDecl */ + NULL, /* setDocumentLocator */ + NULL, /* startDocument */ + NULL, /* endDocument */ + NULL, /* startElement */ + NULL, /* endElement */ + NULL, /* reference */ + NULL, /* characters */ + NULL, /* ignorableWhitespace */ + NULL, /* processingInstruction */ + NULL, /* comment */ + NULL, /* xmlParserWarning */ + NULL, /* xmlParserError */ + NULL, /* xmlParserError */ + NULL, /* getParameterEntity */ + NULL, /* cdataBlock */ + NULL, /* externalSubset */ + 1, /* initialized */ + NULL, /* private */ + NULL, /* startElementNsSAX2Func */ + NULL, /* endElementNsSAX2Func */ + NULL /* xmlStructuredErrorFunc */ +}; + +static xmlSAXHandlerPtr emptySAXHandler = &emptySAXHandlerStruct; +extern xmlSAXHandlerPtr debugSAXHandler; + +/************************************************************************ + * * + * Debug Handlers * + * * + ************************************************************************/ + +/** + * isStandaloneDebug: + * @ctxt: An XML parser context + * + * Is this document tagged standalone ? + * + * Returns 1 if true + */ +static int +isStandaloneDebug(void *ctx ATTRIBUTE_UNUSED) +{ + fprintf(stdout, "SAX.isStandalone()\n"); + return(0); +} + +/** + * hasInternalSubsetDebug: + * @ctxt: An XML parser context + * + * Does this document has an internal subset + * + * Returns 1 if true + */ +static int +hasInternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED) +{ + fprintf(stdout, "SAX.hasInternalSubset()\n"); + return(0); +} + +/** + * hasExternalSubsetDebug: + * @ctxt: An XML parser context + * + * Does this document has an external subset + * + * Returns 1 if true + */ +static int +hasExternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED) +{ + fprintf(stdout, "SAX.hasExternalSubset()\n"); + return(0); +} + +/** + * hasInternalSubsetDebug: + * @ctxt: An XML parser context + * + * Does this document has an internal subset + */ +static void +internalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, + const xmlChar *ExternalID, const xmlChar *SystemID) +{ + fprintf(stdout, "SAX.internalSubset(%s,", name); + if (ExternalID == NULL) + fprintf(stdout, " ,"); + else + fprintf(stdout, " %s,", ExternalID); + if (SystemID == NULL) + fprintf(stdout, " )\n"); + else + fprintf(stdout, " %s)\n", SystemID); +} + +/** + * resolveEntityDebug: + * @ctxt: An XML parser context + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * + * Special entity resolver, better left to the parser, it has + * more context than the application layer. + * The default behaviour is to NOT resolve the entities, in that case + * the ENTITY_REF nodes are built in the structure (and the parameter + * values). + * + * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour. + */ +static xmlParserInputPtr +resolveEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *publicId, const xmlChar *systemId) +{ + /* xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; */ + + + fprintf(stdout, "SAX.resolveEntity("); + if (publicId != NULL) + fprintf(stdout, "%s", (char *)publicId); + else + fprintf(stdout, " "); + if (systemId != NULL) + fprintf(stdout, ", %s)\n", (char *)systemId); + else + fprintf(stdout, ", )\n"); +/********* + if (systemId != NULL) { + return(xmlNewInputFromFile(ctxt, (char *) systemId)); + } + *********/ + return(NULL); +} + +/** + * getEntityDebug: + * @ctxt: An XML parser context + * @name: The entity name + * + * Get an entity by name + * + * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour. + */ +static xmlEntityPtr +getEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) +{ + fprintf(stdout, "SAX.getEntity(%s)\n", name); + return(NULL); +} + +/** + * getParameterEntityDebug: + * @ctxt: An XML parser context + * @name: The entity name + * + * Get a parameter entity by name + * + * Returns the xmlParserInputPtr + */ +static xmlEntityPtr +getParameterEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) +{ + fprintf(stdout, "SAX.getParameterEntity(%s)\n", name); + return(NULL); +} + + +/** + * entityDeclDebug: + * @ctxt: An XML parser context + * @name: the entity name + * @type: the entity type + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * @content: the entity value (without processing). + * + * An entity definition has been parsed + */ +static void +entityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type, + const xmlChar *publicId, const xmlChar *systemId, xmlChar *content) +{ + fprintf(stdout, "SAX.entityDecl(%s, %d, %s, %s, %s)\n", + name, type, publicId, systemId, content); +} + +/** + * attributeDeclDebug: + * @ctxt: An XML parser context + * @name: the attribute name + * @type: the attribute type + * + * An attribute definition has been parsed + */ +static void +attributeDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *elem, const xmlChar *name, + int type, int def, const xmlChar *defaultValue, + xmlEnumerationPtr tree ATTRIBUTE_UNUSED) +{ + fprintf(stdout, "SAX.attributeDecl(%s, %s, %d, %d, %s, ...)\n", + elem, name, type, def, defaultValue); +} + +/** + * elementDeclDebug: + * @ctxt: An XML parser context + * @name: the element name + * @type: the element type + * @content: the element value (without processing). + * + * An element definition has been parsed + */ +static void +elementDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type, + xmlElementContentPtr content ATTRIBUTE_UNUSED) +{ + fprintf(stdout, "SAX.elementDecl(%s, %d, ...)\n", + name, type); +} + +/** + * notationDeclDebug: + * @ctxt: An XML parser context + * @name: The name of the notation + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * + * What to do when a notation declaration has been parsed. + */ +static void +notationDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, + const xmlChar *publicId, const xmlChar *systemId) +{ + fprintf(stdout, "SAX.notationDecl(%s, %s, %s)\n", + (char *) name, (char *) publicId, (char *) systemId); +} + +/** + * unparsedEntityDeclDebug: + * @ctxt: An XML parser context + * @name: The name of the entity + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * @notationName: the name of the notation + * + * What to do when an unparsed entity declaration is parsed + */ +static void +unparsedEntityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, + const xmlChar *publicId, const xmlChar *systemId, + const xmlChar *notationName) +{ + fprintf(stdout, "SAX.unparsedEntityDecl(%s, %s, %s, %s)\n", + (char *) name, (char *) publicId, (char *) systemId, + (char *) notationName); +} + +/** + * setDocumentLocatorDebug: + * @ctxt: An XML parser context + * @loc: A SAX Locator + * + * Receive the document locator at startup, actually xmlDefaultSAXLocator + * Everything is available on the context, so this is useless in our case. + */ +static void +setDocumentLocatorDebug(void *ctx ATTRIBUTE_UNUSED, xmlSAXLocatorPtr loc ATTRIBUTE_UNUSED) +{ + fprintf(stdout, "SAX.setDocumentLocator()\n"); +} + +/** + * startDocumentDebug: + * @ctxt: An XML parser context + * + * called when the document start being processed. + */ +static void +startDocumentDebug(void *ctx ATTRIBUTE_UNUSED) +{ + fprintf(stdout, "SAX.startDocument()\n"); +} + +/** + * endDocumentDebug: + * @ctxt: An XML parser context + * + * called when the document end has been detected. + */ +static void +endDocumentDebug(void *ctx ATTRIBUTE_UNUSED) +{ + fprintf(stdout, "SAX.endDocument()\n"); +} + +/** + * startElementDebug: + * @ctxt: An XML parser context + * @name: The element name + * + * called when an opening tag has been processed. + */ +static void +startElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, const xmlChar **atts) +{ + int i; + + fprintf(stdout, "SAX.startElement(%s", (char *) name); + if (atts != NULL) { + for (i = 0;(atts[i] != NULL);i++) { + fprintf(stdout, ", %s", atts[i++]); + if (atts[i] != NULL) { + unsigned char output[40]; + const unsigned char *att = atts[i]; + int outlen, attlen; + fprintf(stdout, "='"); + while ((attlen = strlen((char*)att)) > 0) { + outlen = sizeof output - 1; + htmlEncodeEntities(output, &outlen, att, &attlen, '\''); + output[outlen] = 0; + fprintf(stdout, "%s", (char *) output); + att += attlen; + } + fprintf(stdout, "'"); + } + } + } + fprintf(stdout, ")\n"); +} + +/** + * endElementDebug: + * @ctxt: An XML parser context + * @name: The element name + * + * called when the end of an element has been detected. + */ +static void +endElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) +{ + fprintf(stdout, "SAX.endElement(%s)\n", (char *) name); +} + +/** + * charactersDebug: + * @ctxt: An XML parser context + * @ch: a xmlChar string + * @len: the number of xmlChar + * + * receiving some chars from the parser. + * Question: how much at a time ??? + */ +static void +charactersDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len) +{ + unsigned char output[40]; + int inlen = len, outlen = 30; + + htmlEncodeEntities(output, &outlen, ch, &inlen, 0); + output[outlen] = 0; + + fprintf(stdout, "SAX.characters(%s, %d)\n", output, len); +} + +/** + * cdataDebug: + * @ctxt: An XML parser context + * @ch: a xmlChar string + * @len: the number of xmlChar + * + * receiving some cdata chars from the parser. + * Question: how much at a time ??? + */ +static void +cdataDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len) +{ + unsigned char output[40]; + int inlen = len, outlen = 30; + + htmlEncodeEntities(output, &outlen, ch, &inlen, 0); + output[outlen] = 0; + + fprintf(stdout, "SAX.cdata(%s, %d)\n", output, len); +} + +/** + * referenceDebug: + * @ctxt: An XML parser context + * @name: The entity name + * + * called when an entity reference is detected. + */ +static void +referenceDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) +{ + fprintf(stdout, "SAX.reference(%s)\n", name); +} + +/** + * ignorableWhitespaceDebug: + * @ctxt: An XML parser context + * @ch: a xmlChar string + * @start: the first char in the string + * @len: the number of xmlChar + * + * receiving some ignorable whitespaces from the parser. + * Question: how much at a time ??? + */ +static void +ignorableWhitespaceDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len) +{ + char output[40]; + int i; + + for (i = 0;(i 0) { + ctxt = htmlCreatePushParserCtxt(emptySAXHandler, NULL, + chars, res, filename, XML_CHAR_ENCODING_NONE); + while ((res = fread(chars, 1, size, f)) > 0) { + htmlParseChunk(ctxt, chars, res, 0); + } + htmlParseChunk(ctxt, chars, 0, 1); + doc = ctxt->myDoc; + htmlFreeParserCtxt(ctxt); + } + if (doc != NULL) { + fprintf(stdout, "htmlSAXParseFile returned non-NULL\n"); + xmlFreeDoc(doc); + } + fclose(f); + } + if (!noout) { +#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__) + f = fopen(filename, "rb"); +#else + f = fopen(filename, "r"); +#endif + if (f != NULL) { + int res, size = 3; + char chars[4096]; + htmlParserCtxtPtr ctxt; + + /* if (repeat) */ + size = 4096; + res = fread(chars, 1, 4, f); + if (res > 0) { + ctxt = htmlCreatePushParserCtxt(debugSAXHandler, NULL, + chars, res, filename, XML_CHAR_ENCODING_NONE); + while ((res = fread(chars, 1, size, f)) > 0) { + htmlParseChunk(ctxt, chars, res, 0); + } + htmlParseChunk(ctxt, chars, 0, 1); + doc = ctxt->myDoc; + htmlFreeParserCtxt(ctxt); + } + if (doc != NULL) { + fprintf(stdout, "htmlSAXParseFile returned non-NULL\n"); + xmlFreeDoc(doc); + } + fclose(f); + } + } + } else { +#endif /* LIBXML_PUSH_ENABLED */ + doc = htmlSAXParseFile(filename, NULL, emptySAXHandler, NULL); + if (doc != NULL) { + fprintf(stdout, "htmlSAXParseFile returned non-NULL\n"); + xmlFreeDoc(doc); + } + + if (!noout) { + /* + * Debug callback + */ + doc = htmlSAXParseFile(filename, NULL, debugSAXHandler, NULL); + if (doc != NULL) { + fprintf(stdout, "htmlSAXParseFile returned non-NULL\n"); + xmlFreeDoc(doc); + } + } +#ifdef LIBXML_PUSH_ENABLED + } +#endif /* LIBXML_PUSH_ENABLED */ +} + +static void +parseAndPrintFile(char *filename) { + htmlDocPtr doc = NULL; + + /* + * build an HTML tree from a string; + */ +#ifdef LIBXML_PUSH_ENABLED + if (push) { + FILE *f; + +#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__) + f = fopen(filename, "rb"); +#else + f = fopen(filename, "r"); +#endif + if (f != NULL) { + int res, size = 3; + char chars[4096]; + htmlParserCtxtPtr ctxt; + + /* if (repeat) */ + size = 4096; + res = fread(chars, 1, 4, f); + if (res > 0) { + ctxt = htmlCreatePushParserCtxt(NULL, NULL, + chars, res, filename, XML_CHAR_ENCODING_NONE); + while ((res = fread(chars, 1, size, f)) > 0) { + htmlParseChunk(ctxt, chars, res, 0); + } + htmlParseChunk(ctxt, chars, 0, 1); + doc = ctxt->myDoc; + htmlFreeParserCtxt(ctxt); + } + fclose(f); + } + } else { + doc = htmlReadFile(filename, NULL, options); + } +#else + doc = htmlReadFile(filename,NULL,options); +#endif + if (doc == NULL) { + xmlGenericError(xmlGenericErrorContext, + "Could not parse %s\n", filename); + } + +#ifdef LIBXML_TREE_ENABLED + /* + * test intermediate copy if needed. + */ + if (copy) { + htmlDocPtr tmp; + + tmp = doc; + doc = xmlCopyDoc(doc, 1); + xmlFreeDoc(tmp); + } +#endif + +#ifdef LIBXML_OUTPUT_ENABLED + /* + * print it. + */ + if (!noout) { +#ifdef LIBXML_DEBUG_ENABLED + if (!debug) { + if (encoding) + htmlSaveFileEnc("-", doc, encoding); + else + htmlDocDump(stdout, doc); + } else + xmlDebugDumpDocument(stdout, doc); +#else + if (encoding) + htmlSaveFileEnc("-", doc, encoding); + else + htmlDocDump(stdout, doc); +#endif + } +#endif /* LIBXML_OUTPUT_ENABLED */ + + /* + * free it. + */ + xmlFreeDoc(doc); +} + +int main(int argc, char **argv) { + int i, count; + int files = 0; + + for (i = 1; i < argc ; i++) { +#ifdef LIBXML_DEBUG_ENABLED + if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug"))) + debug++; + else +#endif + if ((!strcmp(argv[i], "-copy")) || (!strcmp(argv[i], "--copy"))) + copy++; +#ifdef LIBXML_PUSH_ENABLED + else if ((!strcmp(argv[i], "-push")) || (!strcmp(argv[i], "--push"))) + push++; +#endif /* LIBXML_PUSH_ENABLED */ + else if ((!strcmp(argv[i], "-sax")) || (!strcmp(argv[i], "--sax"))) + sax++; + else if ((!strcmp(argv[i], "-noout")) || (!strcmp(argv[i], "--noout"))) + noout++; + else if ((!strcmp(argv[i], "-repeat")) || + (!strcmp(argv[i], "--repeat"))) + repeat++; + else if ((!strcmp(argv[i], "-encode")) || + (!strcmp(argv[i], "--encode"))) { + i++; + encoding = argv[i]; + } + } + for (i = 1; i < argc ; i++) { + if ((!strcmp(argv[i], "-encode")) || + (!strcmp(argv[i], "--encode"))) { + i++; + continue; + } + if (argv[i][0] != '-') { + if (repeat) { + for (count = 0;count < 100 * repeat;count++) { + if (sax) + parseSAXFile(argv[i]); + else + parseAndPrintFile(argv[i]); + } + } else { + if (sax) + parseSAXFile(argv[i]); + else + parseAndPrintFile(argv[i]); + } + files ++; + } + } + if (files == 0) { + printf("Usage : %s [--debug] [--copy] [--copy] HTMLfiles ...\n", + argv[0]); + printf("\tParse the HTML files and output the result of the parsing\n"); +#ifdef LIBXML_DEBUG_ENABLED + printf("\t--debug : dump a debug tree of the in-memory document\n"); +#endif + printf("\t--copy : used to test the internal copy implementation\n"); + printf("\t--sax : debug the sequence of SAX callbacks\n"); + printf("\t--repeat : parse the file 100 times, for timing\n"); + printf("\t--noout : do not print the result\n"); +#ifdef LIBXML_PUSH_ENABLED + printf("\t--push : use the push mode parser\n"); +#endif /* LIBXML_PUSH_ENABLED */ + printf("\t--encode encoding : output in the given encoding\n"); + } + xmlCleanupParser(); + xmlMemoryDump(); + + return(0); +} +#else /* !LIBXML_HTML_ENABLED */ +#include +int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + printf("%s : HTML support not compiled in\n", argv[0]); + return(0); +} +#endif diff --git a/testModule.c b/testModule.c new file mode 100644 index 0000000..77b7ba1 --- /dev/null +++ b/testModule.c @@ -0,0 +1,82 @@ +/* + * testModule.c : a small tester program for xmlModule + * + * See Copyright for the status of this software. + * + * joelwreed@comcast.net + */ + +#include "libxml.h" +#ifdef LIBXML_MODULES_ENABLED +#include + +#include +#include +#include +#include + +#include +#include +#include + +#ifdef _WIN32 +#define MODULE_PATH "." +#include /* for _MAX_PATH */ +#ifndef __MINGW32__ +#define PATH_MAX _MAX_PATH +#endif +#else +#define MODULE_PATH ".libs" +#endif + +/* Used for SCO Openserver*/ +#ifndef PATH_MAX +#ifdef _POSIX_PATH_MAX +#define PATH_MAX _POSIX_PATH_MAX +#else +#define PATH_MAX 4096 +#endif +#endif + +typedef int (*hello_world_t)(void); + +int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + xmlChar filename[PATH_MAX]; + xmlModulePtr module = NULL; + hello_world_t hello_world = NULL; + + /* build the module filename, and confirm the module exists */ + xmlStrPrintf(filename, sizeof(filename), + "%s/testdso%s", + (const xmlChar*)MODULE_PATH, + (const xmlChar*)LIBXML_MODULE_EXTENSION); + + module = xmlModuleOpen((const char*)filename, 0); + if (module) + { + if (xmlModuleSymbol(module, "hello_world", (void **) &hello_world)) { + fprintf(stderr, "Failure to lookup\n"); + return(1); + } + if (hello_world == NULL) { + fprintf(stderr, "Lookup returned NULL\n"); + return(1); + } + + (*hello_world)(); + + xmlModuleClose(module); + } + + xmlMemoryDump(); + + return(0); +} + +#else +#include +int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + printf("%s : Module support not compiled in\n", argv[0]); + return(0); +} +#endif /* LIBXML_SCHEMAS_ENABLED */ diff --git a/testOOM.c b/testOOM.c new file mode 100644 index 0000000..9ff13f2 --- /dev/null +++ b/testOOM.c @@ -0,0 +1,377 @@ +/* + * testOOM.c: Test out-of-memory handling + * + * See Copyright for the status of this software. + * + * hp@redhat.com + */ + +#include "libxml.h" + +#include +#include + +#ifdef HAVE_SYS_TYPES_H +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_STDLIB_H +#include +#endif +#ifdef HAVE_STRING_H +#include +#endif + +#include + +#include "testOOMlib.h" + +#ifndef TRUE +#define TRUE (1) +#endif +#ifndef FALSE +#define FALSE (0) +#endif + +#define EXIT_OOM 2 + +int error = FALSE; +int errcount = 0; +int noent = 0; +int count = 0; +int valid = 0; +int showErrs = 0; + +/* + * Since we are using the xmlTextReader functions, we set up + * strings for the element types to help in debugging any error + * output + */ +const char *elementNames[] = { + "XML_READER_TYPE_NONE", + "XML_READER_TYPE_ELEMENT", + "XML_READER_TYPE_ATTRIBUTE", + "XML_READER_TYPE_TEXT", + "XML_READER_TYPE_CDATA", + "XML_READER_TYPE_ENTITY_REFERENCE", + "XML_READER_TYPE_ENTITY", + "XML_READER_TYPE_PROCESSING_INSTRUCTION", + "XML_READER_TYPE_COMMENT", + "XML_READER_TYPE_DOCUMENT", + "XML_READER_TYPE_DOCUMENT_TYPE", + "XML_READER_TYPE_DOCUMENT_FRAGMENT", + "XML_READER_TYPE_NOTATION", + "XML_READER_TYPE_WHITESPACE", + "XML_READER_TYPE_SIGNIFICANT_WHITESPACE", + "XML_READER_TYPE_END_ELEMENT", + "XML_READER_TYPE_END_ENTITY", + "XML_READER_TYPE_XML_DECLARATION"}; + +/* not using xmlBuff here because I don't want those + * mallocs to interfere */ +struct buffer { + char *str; + size_t len; + size_t max; +}; + +static struct buffer *buffer_create (size_t init_len) +{ + struct buffer *b; + b = malloc (sizeof *b); + if (b == NULL) + exit (EXIT_OOM); + if (init_len) { + b->str = malloc (init_len); + if (b->str == NULL) + exit (EXIT_OOM); + } + else + b->str = NULL; + b->len = 0; + b->max = init_len; + return b; +} + +static void buffer_free (struct buffer *b) +{ + free (b->str); + free (b); +} + +static size_t buffer_get_length (struct buffer *b) +{ + return b->len; +} + +static void buffer_expand (struct buffer *b, size_t min) +{ + void *new_str; + size_t new_size = b->max ? b->max : 512; + while (new_size < b->len + min) + new_size *= 2; + if (new_size > b->max) { + new_str = realloc (b->str, new_size); + if (new_str == NULL) + exit (EXIT_OOM); + b->str = new_str; + b->max = new_size; + } +} + +static void buffer_add_char (struct buffer *b, char c) +{ + buffer_expand (b, 1); + b->str[b->len] = c; + b->len += 1; +} + +static void buffer_add_string (struct buffer *b, const char *s) +{ + size_t size = strlen(s) + 1; + unsigned int ix; + for (ix=0; ixstr + b->len, s); + b->str[b->len+size-1] = '\n'; /* replace string term with newline */ + b->len += size; +} + +static int buffer_equal (struct buffer *b1, struct buffer *b2) +{ + return (b1->len == b2->len && + (b1->len == 0 || (memcmp (b1->str, b2->str, b1->len) == 0))); +} + +static void buffer_dump (struct buffer *b, const char *fname) +{ + FILE *f = fopen (fname, "wb"); + if (f != NULL) { + fwrite (b->str, 1, b->len, f); + fclose (f); + } +} + + +static void usage(const char *progname) { + printf("Usage : %s [options] XMLfiles ...\n", progname); + printf("\tParse the XML files using the xmlTextReader API\n"); + printf("\t --count: count the number of attribute and elements\n"); + printf("\t --valid: validate the document\n"); + printf("\t --show: display the error messages encountered\n"); + exit(1); +} +static unsigned int elem, attrs, chars; + +static int processNode (xmlTextReaderPtr reader, void *data) +{ + struct buffer *buff = data; + int type; + + type = xmlTextReaderNodeType(reader); + if (count) { + if (type == 1) { + elem++; + attrs += xmlTextReaderAttributeCount(reader); + } else if (type == 3) { + const xmlChar *txt; + txt = xmlTextReaderConstValue(reader); + if (txt != NULL) + chars += xmlStrlen (txt); + else + return FALSE; + } + } + + if (buff != NULL) { + int ret; + const char *s; + + buffer_add_string (buff, elementNames[type]); + + if (type == 1) { + s = (const char *)xmlTextReaderConstName (reader); + if (s == NULL) return FALSE; + buffer_add_string (buff, s); + while ((ret = xmlTextReaderMoveToNextAttribute (reader)) == 1) { + s = (const char *)xmlTextReaderConstName (reader); + if (s == NULL) return FALSE; + buffer_add_string (buff, s); + buffer_add_char (buff, '='); + s = (const char *)xmlTextReaderConstValue (reader); + if (s == NULL) return FALSE; + buffer_add_string (buff, s); + } + if (ret == -1) return FALSE; + } + else if (type == 3) { + s = (const char *)xmlTextReaderConstValue (reader); + if (s == NULL) return FALSE; + buffer_add_string (buff, s); + } + } + + return TRUE; +} + + +struct file_params { + const char *filename; + struct buffer *verif_buff; +}; + +static void +error_func (void *data ATTRIBUTE_UNUSED, xmlErrorPtr err) +{ + + errcount++; + if (err->level == XML_ERR_ERROR || + err->level == XML_ERR_FATAL) + error = TRUE; + if (showErrs) { + printf("%3d line %d: %s\n", error, err->line, err->message); + } +} + +static int +check_load_file_memory_func (void *data) +{ + struct file_params *p = data; + struct buffer *b; + xmlTextReaderPtr reader; + int ret, status, first_run; + + if (count) { + elem = 0; + attrs = 0; + chars = 0; + } + + first_run = p->verif_buff == NULL; + status = TRUE; + error = FALSE; + if (first_run) + b = buffer_create (0); + else + b = buffer_create (buffer_get_length (p->verif_buff)); + + reader = xmlNewTextReaderFilename (p->filename); + if (reader == NULL) + goto out; + + xmlTextReaderSetStructuredErrorHandler (reader, error_func, NULL); + xmlSetStructuredErrorFunc(NULL, error_func); + + if (valid) { + if (xmlTextReaderSetParserProp(reader, XML_PARSER_VALIDATE, 1) == -1) + goto out; + } + + /* + * Process all nodes in sequence + */ + while ((ret = xmlTextReaderRead(reader)) == 1) { + if (!processNode(reader, b)) + goto out; + } + if (ret == -1) + goto out; + + if (error) { + fprintf (stdout, "error handler was called but parse completed successfully (last error #%d)\n", errcount); + return FALSE; + } + + /* + * Done, cleanup and status + */ + if (! first_run) { + status = buffer_equal (p->verif_buff, b); + if (! status) { + buffer_dump (p->verif_buff, ".OOM.verif_buff"); + buffer_dump (b, ".OOM.buff"); + } + } + + if (count) + { + fprintf (stdout, "# %s: %u elems, %u attrs, %u chars %s\n", + p->filename, elem, attrs, chars, + status ? "ok" : "wrong"); + } + + out: + if (first_run) + p->verif_buff = b; + else + buffer_free (b); + if (reader) + xmlFreeTextReader (reader); + return status; +} + +int main(int argc, char **argv) { + int i; + int files = 0; + + if (argc <= 1) { + usage(argv[0]); + return(1); + } + LIBXML_TEST_VERSION; + + xmlMemSetup (test_free, + test_malloc, + test_realloc, + test_strdup); + + xmlInitParser(); + + for (i = 1; i < argc ; i++) { + if ((!strcmp(argv[i], "-count")) || (!strcmp(argv[i], "--count"))) + count++; + else if ((!strcmp(argv[i], "-valid")) || (!strcmp(argv[i], "--valid"))) + valid++; + else if ((!strcmp(argv[i], "-noent")) || + (!strcmp(argv[i], "--noent"))) + noent++; + else if ((!strcmp(argv[i], "-show")) || + (!strcmp(argv[i], "--show"))) + showErrs++; + } + if (noent != 0) + xmlSubstituteEntitiesDefault(1); + for (i = 1; i < argc ; i++) { + if (argv[i][0] != '-') { + struct file_params p; + p.filename = argv[i]; + p.verif_buff = NULL; + + if (!test_oom_handling (check_load_file_memory_func, + &p)) { + fprintf (stdout, "Failed!\n"); + return 1; + } + + buffer_free (p.verif_buff); + xmlCleanupParser(); + + if (test_get_malloc_blocks_outstanding () > 0) { + fprintf (stdout, "%d blocks leaked\n", + test_get_malloc_blocks_outstanding ()); + xmlMemoryDump(); + return 1; + } + + files ++; + } + } + xmlMemoryDump(); + + return 0; +} diff --git a/testOOMlib.c b/testOOMlib.c new file mode 100644 index 0000000..34c4aa0 --- /dev/null +++ b/testOOMlib.c @@ -0,0 +1,269 @@ +/* + * testOOM.c: Test out-of-memory handling + * + * See Copyright for the status of this software. + * + * Copyright 2003 Red Hat, Inc. + * Written by: hp@redhat.com + */ + +#include "testOOMlib.h" + +#ifdef HAVE_STDLIB_H +#include +#endif + +#include + +#define _TEST_INT_MAX 2147483647 +#ifndef TRUE +#define TRUE (1) +#endif +#ifndef FALSE +#define FALSE (0) +#endif +#ifndef NULL +#define NULL ((void*)0) +#endif + +#include + +static int fail_alloc_counter = _TEST_INT_MAX; +static int n_failures_per_failure = 1; +static int n_failures_this_failure = 0; +static int n_blocks_outstanding = 0; + +/** + * set_fail_alloc_counter: + * @until_next_fail: number of successful allocs before one fails + * + * Sets the number of allocations until we simulate a failed + * allocation. If set to 0, the next allocation to run + * fails; if set to 1, one succeeds then the next fails; etc. + * Set to _TEST_INT_MAX to not fail anything. + */ +static void +set_fail_alloc_counter (int until_next_fail) +{ + fail_alloc_counter = until_next_fail; +} + +/** + * get_fail_alloc_counter: + * + * Returns the number of successful allocs until we'll simulate + * a failed alloc. + */ +static int +get_fail_alloc_counter (void) +{ + return fail_alloc_counter; +} + +/** + * set_fail_alloc_failures: + * @failures_per_failure: number to fail + * + * Sets how many mallocs to fail when the fail alloc counter reaches + * 0. + * + */ +static void +set_fail_alloc_failures (int failures_per_failure) +{ + n_failures_per_failure = failures_per_failure; +} + +/** + * decrement_fail_alloc_counter: + * + * Called when about to alloc some memory; if + * it returns #TRUE, then the allocation should + * fail. If it returns #FALSE, then the allocation + * should not fail. + * + * returns #TRUE if this alloc should fail + */ +static int +decrement_fail_alloc_counter (void) +{ + if (fail_alloc_counter <= 0) + { + n_failures_this_failure += 1; + if (n_failures_this_failure >= n_failures_per_failure) + { + fail_alloc_counter = _TEST_INT_MAX; + + n_failures_this_failure = 0; + } + + return TRUE; + } + else + { + fail_alloc_counter -= 1; + return FALSE; + } +} + +/** + * test_get_malloc_blocks_outstanding: + * + * Get the number of outstanding malloc()'d blocks. + * + * Returns number of blocks + */ +int +test_get_malloc_blocks_outstanding (void) +{ + return n_blocks_outstanding; +} + +void* +test_malloc (size_t bytes) +{ + if (decrement_fail_alloc_counter ()) + { + /* FAIL the malloc */ + return NULL; + } + + if (bytes == 0) /* some system mallocs handle this, some don't */ + return NULL; + else + { + void *mem; + mem = xmlMemMalloc (bytes); + + if (mem) + n_blocks_outstanding += 1; + + return mem; + } +} + +void* +test_realloc (void *memory, + size_t bytes) +{ + if (decrement_fail_alloc_counter ()) + { + /* FAIL */ + return NULL; + } + + if (bytes == 0) /* guarantee this is safe */ + { + test_free (memory); + return NULL; + } + else + { + void *mem; + mem = xmlMemRealloc (memory, bytes); + + if (memory == NULL && mem != NULL) + n_blocks_outstanding += 1; + + return mem; + } +} + +void +test_free (void *memory) +{ + if (memory) /* we guarantee it's safe to free (NULL) */ + { + n_blocks_outstanding -= 1; + + xmlMemFree (memory); + } +} + +char* +test_strdup (const char *str) +{ + int len; + char *copy; + + if (str == NULL) + return NULL; + + len = strlen (str); + + copy = test_malloc (len + 1); + if (copy == NULL) + return NULL; + + memcpy (copy, str, len + 1); + + return copy; +} + +static int +run_failing_each_malloc (int n_mallocs, + TestMemoryFunction func, + void *data) +{ + n_mallocs += 10; /* fudge factor to ensure reallocs etc. are covered */ + + while (n_mallocs >= 0) + { + set_fail_alloc_counter (n_mallocs); + + if (!(* func) (data)) + return FALSE; + + n_mallocs -= 1; + } + + set_fail_alloc_counter (_TEST_INT_MAX); + + return TRUE; +} + +/** + * test_oom_handling: + * @func: function to call + * @data: data to pass to function + * + * Tests how well the given function responds to out-of-memory + * situations. Calls the function repeatedly, failing a different + * call to malloc() each time. If the function ever returns #FALSE, + * the test fails. The function should return #TRUE whenever something + * valid (such as returning an error, or succeeding) occurs, and #FALSE + * if it gets confused in some way. + * + * Returns #TRUE if the function never returns FALSE + */ +int +test_oom_handling (TestMemoryFunction func, + void *data) +{ + int approx_mallocs; + + /* Run once to see about how many mallocs are involved */ + + set_fail_alloc_counter (_TEST_INT_MAX); + + if (!(* func) (data)) + return FALSE; + + approx_mallocs = _TEST_INT_MAX - get_fail_alloc_counter (); + + set_fail_alloc_failures (1); + if (!run_failing_each_malloc (approx_mallocs, func, data)) + return FALSE; + + set_fail_alloc_failures (2); + if (!run_failing_each_malloc (approx_mallocs, func, data)) + return FALSE; + + set_fail_alloc_failures (3); + if (!run_failing_each_malloc (approx_mallocs, func, data)) + return FALSE; + + set_fail_alloc_counter (_TEST_INT_MAX); + + return TRUE; +} diff --git a/testOOMlib.h b/testOOMlib.h new file mode 100644 index 0000000..751999d --- /dev/null +++ b/testOOMlib.h @@ -0,0 +1,26 @@ +#ifndef TEST_OOM_LIB_H +#define TEST_OOM_LIB_H + +#include + +#ifdef HAVE_SYS_TYPES_H +#include +#endif + +void* test_malloc (size_t bytes); +void* test_realloc (void *memory, + size_t bytes); +void test_free (void *memory); +char* test_strdup (const char *str); + +/* returns true on success */ +typedef int (* TestMemoryFunction) (void *data); + +/* returns true on success */ +int test_oom_handling (TestMemoryFunction func, + void *data); + +/* get number of blocks leaked */ +int test_get_malloc_blocks_outstanding (void); + +#endif diff --git a/testReader.c b/testReader.c new file mode 100644 index 0000000..da2f1b0 --- /dev/null +++ b/testReader.c @@ -0,0 +1,145 @@ +/* + * testReader.c : a small tester program for parsing using the xmlReader + * + * See Copyright for the status of this software. + * + * daniel@veillard.com + */ + +#include "libxml.h" + +#ifdef LIBXML_READER_ENABLED +#include +#include + +#ifdef HAVE_SYS_TYPES_H +#include +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +#ifdef HAVE_FCNTL_H +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_STDLIB_H +#include +#endif +#ifdef HAVE_STRING_H +#include +#endif + + +#include + +static int debug = 0; +static int dump = 0; +static int noent = 0; +static int count = 0; +static int valid = 0; +static int consumed = 0; + +static void usage(const char *progname) { + printf("Usage : %s [options] XMLfiles ...\n", progname); + printf("\tParse the XML files using the xmlTextReader API\n"); + printf("\t --count: count the number of attribute and elements\n"); + printf("\t --valid: validate the document\n"); + printf("\t --consumed: count the number of bytes consumed\n"); + exit(1); +} +static int elem, attrs; + +static void processNode(xmlTextReaderPtr reader) { + int type; + + type = xmlTextReaderNodeType(reader); + if (count) { + if (type == 1) { + elem++; + attrs += xmlTextReaderAttributeCount(reader); + } + } +} + +static void handleFile(const char *filename) { + xmlTextReaderPtr reader; + int ret; + + if (count) { + elem = 0; + attrs = 0; + } + + reader = xmlNewTextReaderFilename(filename); + if (reader != NULL) { + if (valid) + xmlTextReaderSetParserProp(reader, XML_PARSER_VALIDATE, 1); + + /* + * Process all nodes in sequence + */ + ret = xmlTextReaderRead(reader); + while (ret == 1) { + processNode(reader); + ret = xmlTextReaderRead(reader); + } + + /* + * Done, cleanup and status + */ + if (consumed) + printf("%ld bytes consumed by parser\n", xmlTextReaderByteConsumed(reader)); + xmlFreeTextReader(reader); + if (ret != 0) { + printf("%s : failed to parse\n", filename); + } else if (count) + printf("%s : %d elements, %d attributes\n", filename, elem, attrs); + } else { + fprintf(stderr, "Unable to open %s\n", filename); + } +} + +int main(int argc, char **argv) { + int i; + int files = 0; + + if (argc <= 1) { + usage(argv[0]); + return(1); + } + LIBXML_TEST_VERSION + for (i = 1; i < argc ; i++) { + if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug"))) + debug++; + else if ((!strcmp(argv[i], "-dump")) || (!strcmp(argv[i], "--dump"))) + dump++; + else if ((!strcmp(argv[i], "-count")) || (!strcmp(argv[i], "--count"))) + count++; + else if ((!strcmp(argv[i], "-consumed")) || (!strcmp(argv[i], "--consumed"))) + consumed++; + else if ((!strcmp(argv[i], "-valid")) || (!strcmp(argv[i], "--valid"))) + valid++; + else if ((!strcmp(argv[i], "-noent")) || + (!strcmp(argv[i], "--noent"))) + noent++; + } + if (noent != 0) xmlSubstituteEntitiesDefault(1); + for (i = 1; i < argc ; i++) { + if (argv[i][0] != '-') { + handleFile(argv[i]); + files ++; + } + } + xmlCleanupParser(); + xmlMemoryDump(); + + return(0); +} +#else +int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + printf("%s : xmlReader parser support not compiled in\n", argv[0]); + return(0); +} +#endif /* LIBXML_READER_ENABLED */ diff --git a/testRegexp.c b/testRegexp.c new file mode 100644 index 0000000..2181741 --- /dev/null +++ b/testRegexp.c @@ -0,0 +1,402 @@ +/* + * testRegexp.c: simple module for testing regular expressions + * + * See Copyright for the status of this software. + * + * Daniel Veillard + */ + +#include "libxml.h" +#ifdef LIBXML_REGEXP_ENABLED +#include + +#include +#include + +static int repeat = 0; +static int debug = 0; + +static void testRegexp(xmlRegexpPtr comp, const char *value) { + int ret; + + ret = xmlRegexpExec(comp, (const xmlChar *) value); + if (ret == 1) + printf("%s: Ok\n", value); + else if (ret == 0) + printf("%s: Fail\n", value); + else + printf("%s: Error: %d\n", value, ret); + if (repeat) { + int j; + for (j = 0;j < 999999;j++) + xmlRegexpExec(comp, (const xmlChar *) value); + } +} + +static void +testRegexpFile(const char *filename) { + xmlRegexpPtr comp = NULL; + FILE *input; + char expression[5000]; + int len; + + input = fopen(filename, "r"); + if (input == NULL) { + xmlGenericError(xmlGenericErrorContext, + "Cannot open %s for reading\n", filename); + return; + } + while (fgets(expression, 4500, input) != NULL) { + len = strlen(expression); + len--; + while ((len >= 0) && + ((expression[len] == '\n') || (expression[len] == '\t') || + (expression[len] == '\r') || (expression[len] == ' '))) len--; + expression[len + 1] = 0; + if (len >= 0) { + if (expression[0] == '#') + continue; + if ((expression[0] == '=') && (expression[1] == '>')) { + char *pattern = &expression[2]; + + if (comp != NULL) { + xmlRegFreeRegexp(comp); + comp = NULL; + } + printf("Regexp: %s\n", pattern) ; + comp = xmlRegexpCompile((const xmlChar *) pattern); + if (comp == NULL) { + printf(" failed to compile\n"); + break; + } + } else if (comp == NULL) { + printf("Regexp: %s\n", expression) ; + comp = xmlRegexpCompile((const xmlChar *) expression); + if (comp == NULL) { + printf(" failed to compile\n"); + break; + } + } else if (comp != NULL) { + testRegexp(comp, expression); + } + } + } + fclose(input); + if (comp != NULL) + xmlRegFreeRegexp(comp); +} + +#ifdef LIBXML_EXPR_ENABLED +static void +runFileTest(xmlExpCtxtPtr ctxt, const char *filename) { + xmlExpNodePtr expr = NULL, sub; + FILE *input; + char expression[5000]; + int len; + + input = fopen(filename, "r"); + if (input == NULL) { + xmlGenericError(xmlGenericErrorContext, + "Cannot open %s for reading\n", filename); + return; + } + while (fgets(expression, 4500, input) != NULL) { + len = strlen(expression); + len--; + while ((len >= 0) && + ((expression[len] == '\n') || (expression[len] == '\t') || + (expression[len] == '\r') || (expression[len] == ' '))) len--; + expression[len + 1] = 0; + if (len >= 0) { + if (expression[0] == '#') + continue; + if ((expression[0] == '=') && (expression[1] == '>')) { + char *str = &expression[2]; + + if (expr != NULL) { + xmlExpFree(ctxt, expr); + if (xmlExpCtxtNbNodes(ctxt) != 0) + printf(" Parse/free of Expression leaked %d\n", + xmlExpCtxtNbNodes(ctxt)); + expr = NULL; + } + printf("Expression: %s\n", str) ; + expr = xmlExpParse(ctxt, str); + if (expr == NULL) { + printf(" parsing Failed\n"); + break; + } + } else if (expr != NULL) { + int expect = -1; + int nodes1, nodes2; + + if (expression[0] == '0') + expect = 0; + if (expression[0] == '1') + expect = 1; + printf("Subexp: %s", expression + 2) ; + nodes1 = xmlExpCtxtNbNodes(ctxt); + sub = xmlExpParse(ctxt, expression + 2); + if (sub == NULL) { + printf(" parsing Failed\n"); + break; + } else { + int ret; + + nodes2 = xmlExpCtxtNbNodes(ctxt); + ret = xmlExpSubsume(ctxt, expr, sub); + + if ((expect == 1) && (ret == 1)) { + printf(" => accept, Ok\n"); + } else if ((expect == 0) && (ret == 0)) { + printf(" => reject, Ok\n"); + } else if ((expect == 1) && (ret == 0)) { + printf(" => reject, Failed\n"); + } else if ((expect == 0) && (ret == 1)) { + printf(" => accept, Failed\n"); + } else { + printf(" => fail internally\n"); + } + if (xmlExpCtxtNbNodes(ctxt) > nodes2) { + printf(" Subsume leaked %d\n", + xmlExpCtxtNbNodes(ctxt) - nodes2); + nodes1 += xmlExpCtxtNbNodes(ctxt) - nodes2; + } + xmlExpFree(ctxt, sub); + if (xmlExpCtxtNbNodes(ctxt) > nodes1) { + printf(" Parse/free leaked %d\n", + xmlExpCtxtNbNodes(ctxt) - nodes1); + } + } + + } + } + } + if (expr != NULL) { + xmlExpFree(ctxt, expr); + if (xmlExpCtxtNbNodes(ctxt) != 0) + printf(" Parse/free of Expression leaked %d\n", + xmlExpCtxtNbNodes(ctxt)); + } + fclose(input); +} + +static void +testReduce(xmlExpCtxtPtr ctxt, xmlExpNodePtr expr, const char *tst) { + xmlBufferPtr xmlExpBuf; + xmlExpNodePtr sub, deriv; + + sub = xmlExpParse(ctxt, tst); + if (sub == NULL) { + printf("Subset %s failed to parse\n", tst); + return; + } + xmlExpBuf = xmlBufferCreate(); + xmlExpDump(xmlExpBuf, sub); + printf("Subset parsed as: %s\n", + (const char *) xmlBufferContent(xmlExpBuf)); + deriv = xmlExpExpDerive(ctxt, expr, sub); + if (deriv == NULL) { + printf("Derivation led to an internal error, report this !\n"); + } else { + xmlBufferEmpty(xmlExpBuf); + xmlExpDump(xmlExpBuf, deriv); + if (xmlExpIsNillable(deriv)) + printf("Resulting nillable derivation: %s\n", + (const char *) xmlBufferContent(xmlExpBuf)); + else + printf("Resulting derivation: %s\n", + (const char *) xmlBufferContent(xmlExpBuf)); + xmlExpFree(ctxt, deriv); + } + xmlBufferFree(xmlExpBuf); + xmlExpFree(ctxt, sub); +} + +static void +exprDebug(xmlExpCtxtPtr ctxt, xmlExpNodePtr expr) { + xmlBufferPtr xmlExpBuf; + xmlExpNodePtr deriv; + const char *list[40]; + int ret; + + xmlExpBuf = xmlBufferCreate(); + + if (expr == NULL) { + printf("Failed to parse\n"); + return; + } + xmlExpDump(xmlExpBuf, expr); + printf("Parsed as: %s\n", (const char *) xmlBufferContent(xmlExpBuf)); + printf("Max token input = %d\n", xmlExpMaxToken(expr)); + if (xmlExpIsNillable(expr) == 1) + printf("Is nillable\n"); + ret = xmlExpGetLanguage(ctxt, expr, (const xmlChar **) &list[0], 40); + if (ret < 0) + printf("Failed to get list: %d\n", ret); + else { + int i; + + printf("Language has %d strings, testing string derivations\n", ret); + for (i = 0;i < ret;i++) { + deriv = xmlExpStringDerive(ctxt, expr, BAD_CAST list[i], -1); + if (deriv == NULL) { + printf(" %s -> derivation failed\n", list[i]); + } else { + xmlBufferEmpty(xmlExpBuf); + xmlExpDump(xmlExpBuf, deriv); + printf(" %s -> %s\n", list[i], + (const char *) xmlBufferContent(xmlExpBuf)); + } + xmlExpFree(ctxt, deriv); + } + } + xmlBufferFree(xmlExpBuf); +} +#endif + +static void usage(const char *name) { + fprintf(stderr, "Usage: %s [flags]\n", name); + fprintf(stderr, "Testing tool for libxml2 string and pattern regexps\n"); + fprintf(stderr, " --debug: switch on debugging\n"); + fprintf(stderr, " --repeat: loop on the operation\n"); +#ifdef LIBXML_EXPR_ENABLED + fprintf(stderr, " --expr: test xmlExp and not xmlRegexp\n"); +#endif + fprintf(stderr, " --input filename: use the given filename for regexp\n"); + fprintf(stderr, " --input filename: use the given filename for exp\n"); +} + +int main(int argc, char **argv) { + xmlRegexpPtr comp = NULL; +#ifdef LIBXML_EXPR_ENABLED + xmlExpNodePtr expr = NULL; + int use_exp = 0; + xmlExpCtxtPtr ctxt = NULL; +#endif + const char *pattern = NULL; + char *filename = NULL; + int i; + + xmlInitMemory(); + + if (argc <= 1) { + usage(argv[0]); + return(1); + } + for (i = 1; i < argc ; i++) { + if (!strcmp(argv[i], "-")) + break; + + if (argv[i][0] != '-') + continue; + if (!strcmp(argv[i], "--")) + break; + + if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug"))) { + debug++; + } else if ((!strcmp(argv[i], "-repeat")) || + (!strcmp(argv[i], "--repeat"))) { + repeat++; +#ifdef LIBXML_EXPR_ENABLED + } else if ((!strcmp(argv[i], "-expr")) || + (!strcmp(argv[i], "--expr"))) { + use_exp++; +#endif + } else if ((!strcmp(argv[i], "-i")) || (!strcmp(argv[i], "-f")) || + (!strcmp(argv[i], "--input"))) + filename = argv[++i]; + else { + fprintf(stderr, "Unknown option %s\n", argv[i]); + usage(argv[0]); + } + } + +#ifdef LIBXML_EXPR_ENABLED + if (use_exp) + ctxt = xmlExpNewCtxt(0, NULL); +#endif + + if (filename != NULL) { +#ifdef LIBXML_EXPR_ENABLED + if (use_exp) + runFileTest(ctxt, filename); + else +#endif + testRegexpFile(filename); + } else { + int data = 0; +#ifdef LIBXML_EXPR_ENABLED + + if (use_exp) { + for (i = 1; i < argc ; i++) { + if (strcmp(argv[i], "--") == 0) + data = 1; + else if ((argv[i][0] != '-') || (strcmp(argv[i], "-") == 0) || + (data == 1)) { + if (pattern == NULL) { + pattern = argv[i]; + printf("Testing expr %s:\n", pattern); + expr = xmlExpParse(ctxt, pattern); + if (expr == NULL) { + printf(" failed to compile\n"); + break; + } + if (debug) { + exprDebug(ctxt, expr); + } + } else { + testReduce(ctxt, expr, argv[i]); + } + } + } + if (expr != NULL) { + xmlExpFree(ctxt, expr); + expr = NULL; + } + } else +#endif + { + for (i = 1; i < argc ; i++) { + if (strcmp(argv[i], "--") == 0) + data = 1; + else if ((argv[i][0] != '-') || (strcmp(argv[i], "-") == 0) || + (data == 1)) { + if (pattern == NULL) { + pattern = argv[i]; + printf("Testing %s:\n", pattern); + comp = xmlRegexpCompile((const xmlChar *) pattern); + if (comp == NULL) { + printf(" failed to compile\n"); + break; + } + if (debug) + xmlRegexpPrint(stdout, comp); + } else { + testRegexp(comp, argv[i]); + } + } + } + if (comp != NULL) + xmlRegFreeRegexp(comp); + } + } +#ifdef LIBXML_EXPR_ENABLED + if (ctxt != NULL) { + printf("Ops: %d nodes, %d cons\n", + xmlExpCtxtNbNodes(ctxt), xmlExpCtxtNbCons(ctxt)); + xmlExpFreeCtxt(ctxt); + } +#endif + xmlCleanupParser(); + xmlMemoryDump(); + return(0); +} + +#else +#include +int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + printf("%s : Regexp support not compiled in\n", argv[0]); + return(0); +} +#endif /* LIBXML_REGEXP_ENABLED */ diff --git a/testRelax.c b/testRelax.c new file mode 100644 index 0000000..3549f93 --- /dev/null +++ b/testRelax.c @@ -0,0 +1,188 @@ +/* + * testRelax.c : a small tester program for RelaxNG validation + * + * See Copyright for the status of this software. + * + * Daniel.Veillard@w3.org + */ + +#include "libxml.h" +#ifdef LIBXML_SCHEMAS_ENABLED + +#include +#include + +#include +#include +#include + + +#ifdef HAVE_SYS_TYPES_H +#include +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +#ifdef HAVE_FCNTL_H +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_STDLIB_H +#include +#endif +#ifdef HAVE_SYS_MMAN_H +#include +/* seems needed for Solaris */ +#ifndef MAP_FAILED +#define MAP_FAILED ((void *) -1) +#endif +#endif + +#include +#include +#include + +#ifdef LIBXML_DEBUG_ENABLED +static int debug = 0; +#endif +static int noout = 0; +static int tree = 0; +#ifdef HAVE_MMAP +static int memory = 0; +#endif + + +int main(int argc, char **argv) { + int i; + int files = 0; + xmlRelaxNGPtr schema = NULL; + + for (i = 1; i < argc ; i++) { +#ifdef LIBXML_DEBUG_ENABLED + if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug"))) + debug++; + else +#endif +#ifdef HAVE_MMAP + if ((!strcmp(argv[i], "-memory")) || (!strcmp(argv[i], "--memory"))) { + memory++; + } else +#endif + if ((!strcmp(argv[i], "-noout")) || (!strcmp(argv[i], "--noout"))) { + noout++; + } else + if ((!strcmp(argv[i], "-tree")) || (!strcmp(argv[i], "--tree"))) { + tree++; + } + } + xmlLineNumbersDefault(1); + xmlSubstituteEntitiesDefault(1); + for (i = 1; i < argc ; i++) { + if (argv[i][0] != '-') { + if (schema == NULL) { + xmlRelaxNGParserCtxtPtr ctxt; + +#ifdef HAVE_MMAP + if (memory) { + int fd; + struct stat info; + const char *base; + if (stat(argv[i], &info) < 0) + break; + if ((fd = open(argv[i], O_RDONLY)) < 0) + break; + base = mmap(NULL, info.st_size, PROT_READ, + MAP_SHARED, fd, 0) ; + if (base == (void *) MAP_FAILED) + break; + + ctxt = xmlRelaxNGNewMemParserCtxt((char *)base,info.st_size); + + xmlRelaxNGSetParserErrors(ctxt, + xmlGenericError, xmlGenericError, NULL); + schema = xmlRelaxNGParse(ctxt); + xmlRelaxNGFreeParserCtxt(ctxt); + munmap((char *) base, info.st_size); + } else +#endif + { + ctxt = xmlRelaxNGNewParserCtxt(argv[i]); + xmlRelaxNGSetParserErrors(ctxt, + xmlGenericError, xmlGenericError, NULL); + schema = xmlRelaxNGParse(ctxt); + xmlRelaxNGFreeParserCtxt(ctxt); + } + if (schema == NULL) { + printf("Relax-NG schema %s failed to compile\n", argv[i]); + files = -1; + break; + } +#ifdef LIBXML_OUTPUT_ENABLED +#ifdef LIBXML_DEBUG_ENABLED + if (debug) + xmlRelaxNGDump(stdout, schema); +#endif + if (tree) + xmlRelaxNGDumpTree(stdout, schema); +#endif /* LIBXML_OUTPUT_ENABLED */ + } else { + xmlDocPtr doc; + + doc = xmlReadFile(argv[i],NULL,0); + + if (doc == NULL) { + fprintf(stderr, "Could not parse %s\n", argv[i]); + } else { + xmlRelaxNGValidCtxtPtr ctxt; + int ret; + + ctxt = xmlRelaxNGNewValidCtxt(schema); + xmlRelaxNGSetValidErrors(ctxt, + xmlGenericError, xmlGenericError, NULL); + ret = xmlRelaxNGValidateDoc(ctxt, doc); + if (ret == 0) { + printf("%s validates\n", argv[i]); + } else if (ret > 0) { + printf("%s fails to validate\n", argv[i]); + } else { + printf("%s validation generated an internal error\n", + argv[i]); + } + xmlRelaxNGFreeValidCtxt(ctxt); + xmlFreeDoc(doc); + } + } + files ++; + } + } + if (schema != NULL) + xmlRelaxNGFree(schema); + if (files == 0) { + printf("Usage : %s [--debug] [--noout] schemas XMLfiles ...\n", + argv[0]); + printf("\tParse the HTML files and output the result of the parsing\n"); +#ifdef LIBXML_DEBUG_ENABLED + printf("\t--debug : dump a debug tree of the in-memory document\n"); +#endif + printf("\t--noout : do not print the result\n"); + printf("\t--tree : print the intermediate Relax-NG document tree\n"); +#ifdef HAVE_MMAP + printf("\t--memory : test the schemas in memory parsing\n"); +#endif + } + xmlRelaxNGCleanupTypes(); + xmlCleanupParser(); + xmlMemoryDump(); + + return(0); +} + +#else +#include +int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + printf("%s : RelaxNG support not compiled in\n", argv[0]); + return(0); +} +#endif /* LIBXML_SCHEMAS_ENABLED */ diff --git a/testSAX.c b/testSAX.c new file mode 100644 index 0000000..81c4b93 --- /dev/null +++ b/testSAX.c @@ -0,0 +1,1198 @@ +/* + * testSAX.c : a small tester program for parsing using the SAX API. + * + * See Copyright for the status of this software. + * + * daniel@veillard.com + */ + +#include "libxml.h" + +#ifdef HAVE_SYS_TIME_H +#include +#endif +#ifdef HAVE_SYS_TIMEB_H +#include +#endif +#ifdef HAVE_TIME_H +#include +#endif + +#ifdef LIBXML_SAX1_ENABLED +#include +#include + +#ifdef HAVE_SYS_TYPES_H +#include +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +#ifdef HAVE_FCNTL_H +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_STDLIB_H +#include +#endif +#ifdef HAVE_STRING_H +#include +#endif + + +#include +#include +#include +#include /* only for xmlNewInputFromFile() */ +#include +#include +#include + +static int debug = 0; +static int copy = 0; +static int recovery = 0; +static int push = 0; +static int speed = 0; +static int noent = 0; +static int quiet = 0; +static int nonull = 0; +static int sax2 = 0; +static int repeat = 0; +static int callbacks = 0; +static int timing = 0; + +/* + * Timing routines. + */ +/* + * Internal timing routines to remove the necessity to have unix-specific + * function calls + */ + +#ifndef HAVE_GETTIMEOFDAY +#ifdef HAVE_SYS_TIMEB_H +#ifdef HAVE_SYS_TIME_H +#ifdef HAVE_FTIME + +static int +my_gettimeofday(struct timeval *tvp, void *tzp) +{ + struct timeb timebuffer; + + ftime(&timebuffer); + if (tvp) { + tvp->tv_sec = timebuffer.time; + tvp->tv_usec = timebuffer.millitm * 1000L; + } + return (0); +} +#define HAVE_GETTIMEOFDAY 1 +#define gettimeofday my_gettimeofday + +#endif /* HAVE_FTIME */ +#endif /* HAVE_SYS_TIME_H */ +#endif /* HAVE_SYS_TIMEB_H */ +#endif /* !HAVE_GETTIMEOFDAY */ + +#if defined(HAVE_GETTIMEOFDAY) +static struct timeval begin, end; + +/* + * startTimer: call where you want to start timing + */ +static void +startTimer(void) +{ + gettimeofday(&begin, NULL); +} + +/* + * endTimer: call where you want to stop timing and to print out a + * message about the timing performed; format is a printf + * type argument + */ +static void XMLCDECL +endTimer(const char *fmt, ...) +{ + long msec; + va_list ap; + + gettimeofday(&end, NULL); + msec = end.tv_sec - begin.tv_sec; + msec *= 1000; + msec += (end.tv_usec - begin.tv_usec) / 1000; + +#ifndef HAVE_STDARG_H +#error "endTimer required stdarg functions" +#endif + va_start(ap, fmt); + vfprintf(stderr, fmt, ap); + va_end(ap); + + fprintf(stderr, " took %ld ms\n", msec); +} +#elif defined(HAVE_TIME_H) +/* + * No gettimeofday function, so we have to make do with calling clock. + * This is obviously less accurate, but there's little we can do about + * that. + */ +#ifndef CLOCKS_PER_SEC +#define CLOCKS_PER_SEC 100 +#endif + +static clock_t begin, end; +static void +startTimer(void) +{ + begin = clock(); +} +static void XMLCDECL +endTimer(const char *fmt, ...) +{ + long msec; + va_list ap; + + end = clock(); + msec = ((end - begin) * 1000) / CLOCKS_PER_SEC; + +#ifndef HAVE_STDARG_H +#error "endTimer required stdarg functions" +#endif + va_start(ap, fmt); + vfprintf(stderr, fmt, ap); + va_end(ap); + fprintf(stderr, " took %ld ms\n", msec); +} +#else + +/* + * We don't have a gettimeofday or time.h, so we just don't do timing + */ +static void +startTimer(void) +{ + /* + * Do nothing + */ +} +static void XMLCDECL +endTimer(char *format, ...) +{ + /* + * We cannot do anything because we don't have a timing function + */ +#ifdef HAVE_STDARG_H + va_start(ap, format); + vfprintf(stderr, format, ap); + va_end(ap); + fprintf(stderr, " was not timed\n", msec); +#else + /* We don't have gettimeofday, time or stdarg.h, what crazy world is + * this ?! + */ +#endif +} +#endif + +/* + * empty SAX block + */ +static xmlSAXHandler emptySAXHandlerStruct = { + NULL, /* internalSubset */ + NULL, /* isStandalone */ + NULL, /* hasInternalSubset */ + NULL, /* hasExternalSubset */ + NULL, /* resolveEntity */ + NULL, /* getEntity */ + NULL, /* entityDecl */ + NULL, /* notationDecl */ + NULL, /* attributeDecl */ + NULL, /* elementDecl */ + NULL, /* unparsedEntityDecl */ + NULL, /* setDocumentLocator */ + NULL, /* startDocument */ + NULL, /* endDocument */ + NULL, /* startElement */ + NULL, /* endElement */ + NULL, /* reference */ + NULL, /* characters */ + NULL, /* ignorableWhitespace */ + NULL, /* processingInstruction */ + NULL, /* comment */ + NULL, /* xmlParserWarning */ + NULL, /* xmlParserError */ + NULL, /* xmlParserError */ + NULL, /* getParameterEntity */ + NULL, /* cdataBlock; */ + NULL, /* externalSubset; */ + 1, + NULL, + NULL, /* startElementNs */ + NULL, /* endElementNs */ + NULL /* xmlStructuredErrorFunc */ +}; + +static xmlSAXHandlerPtr emptySAXHandler = &emptySAXHandlerStruct; +extern xmlSAXHandlerPtr debugSAXHandler; + +/************************************************************************ + * * + * Debug Handlers * + * * + ************************************************************************/ + +/** + * isStandaloneDebug: + * @ctxt: An XML parser context + * + * Is this document tagged standalone ? + * + * Returns 1 if true + */ +static int +isStandaloneDebug(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return(0); + fprintf(stdout, "SAX.isStandalone()\n"); + return(0); +} + +/** + * hasInternalSubsetDebug: + * @ctxt: An XML parser context + * + * Does this document has an internal subset + * + * Returns 1 if true + */ +static int +hasInternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return(0); + fprintf(stdout, "SAX.hasInternalSubset()\n"); + return(0); +} + +/** + * hasExternalSubsetDebug: + * @ctxt: An XML parser context + * + * Does this document has an external subset + * + * Returns 1 if true + */ +static int +hasExternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return(0); + fprintf(stdout, "SAX.hasExternalSubset()\n"); + return(0); +} + +/** + * internalSubsetDebug: + * @ctxt: An XML parser context + * + * Does this document has an internal subset + */ +static void +internalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, + const xmlChar *ExternalID, const xmlChar *SystemID) +{ + callbacks++; + if (quiet) + return; + fprintf(stdout, "SAX.internalSubset(%s,", name); + if (ExternalID == NULL) + fprintf(stdout, " ,"); + else + fprintf(stdout, " %s,", ExternalID); + if (SystemID == NULL) + fprintf(stdout, " )\n"); + else + fprintf(stdout, " %s)\n", SystemID); +} + +/** + * externalSubsetDebug: + * @ctxt: An XML parser context + * + * Does this document has an external subset + */ +static void +externalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, + const xmlChar *ExternalID, const xmlChar *SystemID) +{ + callbacks++; + if (quiet) + return; + fprintf(stdout, "SAX.externalSubset(%s,", name); + if (ExternalID == NULL) + fprintf(stdout, " ,"); + else + fprintf(stdout, " %s,", ExternalID); + if (SystemID == NULL) + fprintf(stdout, " )\n"); + else + fprintf(stdout, " %s)\n", SystemID); +} + +/** + * resolveEntityDebug: + * @ctxt: An XML parser context + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * + * Special entity resolver, better left to the parser, it has + * more context than the application layer. + * The default behaviour is to NOT resolve the entities, in that case + * the ENTITY_REF nodes are built in the structure (and the parameter + * values). + * + * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour. + */ +static xmlParserInputPtr +resolveEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *publicId, const xmlChar *systemId) +{ + callbacks++; + if (quiet) + return(NULL); + /* xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; */ + + + fprintf(stdout, "SAX.resolveEntity("); + if (publicId != NULL) + fprintf(stdout, "%s", (char *)publicId); + else + fprintf(stdout, " "); + if (systemId != NULL) + fprintf(stdout, ", %s)\n", (char *)systemId); + else + fprintf(stdout, ", )\n"); +/********* + if (systemId != NULL) { + return(xmlNewInputFromFile(ctxt, (char *) systemId)); + } + *********/ + return(NULL); +} + +/** + * getEntityDebug: + * @ctxt: An XML parser context + * @name: The entity name + * + * Get an entity by name + * + * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour. + */ +static xmlEntityPtr +getEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) +{ + callbacks++; + if (quiet) + return(NULL); + fprintf(stdout, "SAX.getEntity(%s)\n", name); + return(NULL); +} + +/** + * getParameterEntityDebug: + * @ctxt: An XML parser context + * @name: The entity name + * + * Get a parameter entity by name + * + * Returns the xmlParserInputPtr + */ +static xmlEntityPtr +getParameterEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) +{ + callbacks++; + if (quiet) + return(NULL); + fprintf(stdout, "SAX.getParameterEntity(%s)\n", name); + return(NULL); +} + + +/** + * entityDeclDebug: + * @ctxt: An XML parser context + * @name: the entity name + * @type: the entity type + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * @content: the entity value (without processing). + * + * An entity definition has been parsed + */ +static void +entityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type, + const xmlChar *publicId, const xmlChar *systemId, xmlChar *content) +{ +const xmlChar *nullstr = BAD_CAST "(null)"; + /* not all libraries handle printing null pointers nicely */ + if (publicId == NULL) + publicId = nullstr; + if (systemId == NULL) + systemId = nullstr; + if (content == NULL) + content = (xmlChar *)nullstr; + callbacks++; + if (quiet) + return; + fprintf(stdout, "SAX.entityDecl(%s, %d, %s, %s, %s)\n", + name, type, publicId, systemId, content); +} + +/** + * attributeDeclDebug: + * @ctxt: An XML parser context + * @name: the attribute name + * @type: the attribute type + * + * An attribute definition has been parsed + */ +static void +attributeDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar * elem, + const xmlChar * name, int type, int def, + const xmlChar * defaultValue, xmlEnumerationPtr tree) +{ + callbacks++; + if (quiet) + return; + if (defaultValue == NULL) + fprintf(stdout, "SAX.attributeDecl(%s, %s, %d, %d, NULL, ...)\n", + elem, name, type, def); + else + fprintf(stdout, "SAX.attributeDecl(%s, %s, %d, %d, %s, ...)\n", + elem, name, type, def, defaultValue); + xmlFreeEnumeration(tree); +} + +/** + * elementDeclDebug: + * @ctxt: An XML parser context + * @name: the element name + * @type: the element type + * @content: the element value (without processing). + * + * An element definition has been parsed + */ +static void +elementDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type, + xmlElementContentPtr content ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return; + fprintf(stdout, "SAX.elementDecl(%s, %d, ...)\n", + name, type); +} + +/** + * notationDeclDebug: + * @ctxt: An XML parser context + * @name: The name of the notation + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * + * What to do when a notation declaration has been parsed. + */ +static void +notationDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, + const xmlChar *publicId, const xmlChar *systemId) +{ + callbacks++; + if (quiet) + return; + fprintf(stdout, "SAX.notationDecl(%s, %s, %s)\n", + (char *) name, (char *) publicId, (char *) systemId); +} + +/** + * unparsedEntityDeclDebug: + * @ctxt: An XML parser context + * @name: The name of the entity + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * @notationName: the name of the notation + * + * What to do when an unparsed entity declaration is parsed + */ +static void +unparsedEntityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, + const xmlChar *publicId, const xmlChar *systemId, + const xmlChar *notationName) +{ +const xmlChar *nullstr = BAD_CAST "(null)"; + + if (publicId == NULL) + publicId = nullstr; + if (systemId == NULL) + systemId = nullstr; + if (notationName == NULL) + notationName = nullstr; + callbacks++; + if (quiet) + return; + fprintf(stdout, "SAX.unparsedEntityDecl(%s, %s, %s, %s)\n", + (char *) name, (char *) publicId, (char *) systemId, + (char *) notationName); +} + +/** + * setDocumentLocatorDebug: + * @ctxt: An XML parser context + * @loc: A SAX Locator + * + * Receive the document locator at startup, actually xmlDefaultSAXLocator + * Everything is available on the context, so this is useless in our case. + */ +static void +setDocumentLocatorDebug(void *ctx ATTRIBUTE_UNUSED, xmlSAXLocatorPtr loc ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return; + fprintf(stdout, "SAX.setDocumentLocator()\n"); +} + +/** + * startDocumentDebug: + * @ctxt: An XML parser context + * + * called when the document start being processed. + */ +static void +startDocumentDebug(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return; + fprintf(stdout, "SAX.startDocument()\n"); +} + +/** + * endDocumentDebug: + * @ctxt: An XML parser context + * + * called when the document end has been detected. + */ +static void +endDocumentDebug(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + if (quiet) + return; + fprintf(stdout, "SAX.endDocument()\n"); +} + +/** + * startElementDebug: + * @ctxt: An XML parser context + * @name: The element name + * + * called when an opening tag has been processed. + */ +static void +startElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, const xmlChar **atts) +{ + int i; + + callbacks++; + if (quiet) + return; + fprintf(stdout, "SAX.startElement(%s", (char *) name); + if (atts != NULL) { + for (i = 0;(atts[i] != NULL);i++) { + fprintf(stdout, ", %s='", atts[i++]); + if (atts[i] != NULL) + fprintf(stdout, "%s'", atts[i]); + } + } + fprintf(stdout, ")\n"); +} + +/** + * endElementDebug: + * @ctxt: An XML parser context + * @name: The element name + * + * called when the end of an element has been detected. + */ +static void +endElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name) +{ + callbacks++; + if (quiet) + return; + fprintf(stdout, "SAX.endElement(%s)\n", (char *) name); +} + +/** + * charactersDebug: + * @ctxt: An XML parser context + * @ch: a xmlChar string + * @len: the number of xmlChar + * + * receiving some chars from the parser. + * Question: how much at a time ??? + */ +static void +charactersDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len) +{ + char output[40]; + int i; + + callbacks++; + if (quiet) + return; + for (i = 0;(i 0) { + ctxt = xmlCreatePushParserCtxt(emptySAXHandler, NULL, + chars, ret, filename); + while ((ret = fread(chars, 1, 3, f)) > 0) { + xmlParseChunk(ctxt, chars, ret, 0); + } + xmlParseChunk(ctxt, chars, 0, 1); + xmlFreeParserCtxt(ctxt); + } + fclose(f); + } else { + xmlGenericError(xmlGenericErrorContext, + "Cannot read file %s\n", filename); + } + } + /* + * Debug callback + */ +#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__) + f = fopen(filename, "rb"); +#else + f = fopen(filename, "r"); +#endif + if (f != NULL) { + int ret; + char chars[10]; + xmlParserCtxtPtr ctxt; + + ret = fread(chars, 1, 4, f); + if (ret > 0) { + if (sax2) + ctxt = xmlCreatePushParserCtxt(debugSAX2Handler, NULL, + chars, ret, filename); + else + ctxt = xmlCreatePushParserCtxt(debugSAXHandler, NULL, + chars, ret, filename); + while ((ret = fread(chars, 1, 3, f)) > 0) { + xmlParseChunk(ctxt, chars, ret, 0); + } + ret = xmlParseChunk(ctxt, chars, 0, 1); + xmlFreeParserCtxt(ctxt); + if (ret != 0) { + fprintf(stdout, + "xmlSAXUserParseFile returned error %d\n", ret); + } + } + fclose(f); + } + } else { +#endif /* LIBXML_PUSH_ENABLED */ + if (!speed) { + /* + * Empty callbacks for checking + */ + if ((!quiet) && (!nonull)) { + res = xmlSAXUserParseFile(emptySAXHandler, NULL, filename); + if (res != 0) { + fprintf(stdout, "xmlSAXUserParseFile returned error %d\n", res); + } + } + + /* + * Debug callback + */ + callbacks = 0; + if (repeat) { + int i; + for (i = 0;i < 99;i++) { + if (sax2) + res = xmlSAXUserParseFile(debugSAX2Handler, NULL, + filename); + else + res = xmlSAXUserParseFile(debugSAXHandler, NULL, + filename); + } + } + if (sax2) + res = xmlSAXUserParseFile(debugSAX2Handler, NULL, filename); + else + res = xmlSAXUserParseFile(debugSAXHandler, NULL, filename); + if (res != 0) { + fprintf(stdout, "xmlSAXUserParseFile returned error %d\n", res); + } + if (quiet) + fprintf(stdout, "%d callbacks generated\n", callbacks); + } else { + /* + * test 100x the SAX parse + */ + int i; + + for (i = 0; i<100;i++) + res = xmlSAXUserParseFile(emptySAXHandler, NULL, filename); + if (res != 0) { + fprintf(stdout, "xmlSAXUserParseFile returned error %d\n", res); + } + } +#ifdef LIBXML_PUSH_ENABLED + } +#endif +} + + +int main(int argc, char **argv) { + int i; + int files = 0; + + LIBXML_TEST_VERSION /* be safe, plus calls xmlInitParser */ + + for (i = 1; i < argc ; i++) { + if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug"))) + debug++; + else if ((!strcmp(argv[i], "-copy")) || (!strcmp(argv[i], "--copy"))) + copy++; + else if ((!strcmp(argv[i], "-recover")) || + (!strcmp(argv[i], "--recover"))) + recovery++; + else if ((!strcmp(argv[i], "-push")) || + (!strcmp(argv[i], "--push"))) +#ifdef LIBXML_PUSH_ENABLED + push++; +#else + fprintf(stderr,"'push' not enabled in library - ignoring\n"); +#endif /* LIBXML_PUSH_ENABLED */ + else if ((!strcmp(argv[i], "-speed")) || + (!strcmp(argv[i], "--speed"))) + speed++; + else if ((!strcmp(argv[i], "-timing")) || + (!strcmp(argv[i], "--timing"))) { + nonull++; + timing++; + quiet++; + } else if ((!strcmp(argv[i], "-repeat")) || + (!strcmp(argv[i], "--repeat"))) { + repeat++; + quiet++; + } else if ((!strcmp(argv[i], "-noent")) || + (!strcmp(argv[i], "--noent"))) + noent++; + else if ((!strcmp(argv[i], "-quiet")) || + (!strcmp(argv[i], "--quiet"))) + quiet++; + else if ((!strcmp(argv[i], "-sax2")) || + (!strcmp(argv[i], "--sax2"))) + sax2++; + else if ((!strcmp(argv[i], "-nonull")) || + (!strcmp(argv[i], "--nonull"))) + nonull++; + } + if (noent != 0) xmlSubstituteEntitiesDefault(1); + for (i = 1; i < argc ; i++) { + if (argv[i][0] != '-') { + if (timing) { + startTimer(); + } + parseAndPrintFile(argv[i]); + if (timing) { + endTimer("Parsing"); + } + files ++; + } + } + xmlCleanupParser(); + xmlMemoryDump(); + + return(0); +} +#else +int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + printf("%s : SAX1 parsing support not compiled in\n", argv[0]); + return(0); +} +#endif /* LIBXML_SAX1_ENABLED */ diff --git a/testSchemas.c b/testSchemas.c new file mode 100644 index 0000000..fc39862 --- /dev/null +++ b/testSchemas.c @@ -0,0 +1,179 @@ +/* + * testSchemas.c : a small tester program for Schema validation + * + * See Copyright for the status of this software. + * + * Daniel.Veillard@w3.org + */ + +#include "libxml.h" +#ifdef LIBXML_SCHEMAS_ENABLED + +#include +#include + +#include +#include +#include + + +#ifdef HAVE_SYS_TYPES_H +#include +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +#ifdef HAVE_FCNTL_H +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_STDLIB_H +#include +#endif +#ifdef HAVE_SYS_MMAN_H +#include +/* seems needed for Solaris */ +#ifndef MAP_FAILED +#define MAP_FAILED ((void *) -1) +#endif +#endif + +#include +#include +#include +#include + +#ifdef LIBXML_DEBUG_ENABLED +static int debug = 0; +#endif +static int noout = 0; +#ifdef HAVE_MMAP +static int memory = 0; +#endif + + +int main(int argc, char **argv) { + int i; + int files = 0; + xmlSchemaPtr schema = NULL; + + for (i = 1; i < argc ; i++) { +#ifdef LIBXML_DEBUG_ENABLED + if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug"))) + debug++; + else +#endif +#ifdef HAVE_MMAP + if ((!strcmp(argv[i], "-memory")) || (!strcmp(argv[i], "--memory"))) { + memory++; + } else +#endif + if ((!strcmp(argv[i], "-noout")) || (!strcmp(argv[i], "--noout"))) { + noout++; + } + } + xmlLineNumbersDefault(1); + for (i = 1; i < argc ; i++) { + if (argv[i][0] != '-') { + if (schema == NULL) { + xmlSchemaParserCtxtPtr ctxt; + +#ifdef HAVE_MMAP + if (memory) { + int fd; + struct stat info; + const char *base; + if (stat(argv[i], &info) < 0) + break; + if ((fd = open(argv[i], O_RDONLY)) < 0) + break; + base = mmap(NULL, info.st_size, PROT_READ, + MAP_SHARED, fd, 0) ; + if (base == (void *) MAP_FAILED) + break; + + ctxt = xmlSchemaNewMemParserCtxt((char *)base,info.st_size); + + xmlSchemaSetParserErrors(ctxt, + xmlGenericError, xmlGenericError, NULL); + schema = xmlSchemaParse(ctxt); + xmlSchemaFreeParserCtxt(ctxt); + munmap((char *) base, info.st_size); + } else +#endif + { + ctxt = xmlSchemaNewParserCtxt(argv[i]); + xmlSchemaSetParserErrors(ctxt, + xmlGenericError, xmlGenericError, NULL); + schema = xmlSchemaParse(ctxt); + xmlSchemaFreeParserCtxt(ctxt); + } +#ifdef LIBXML_OUTPUT_ENABLED +#ifdef LIBXML_DEBUG_ENABLED + if (debug) + xmlSchemaDump(stdout, schema); +#endif +#endif /* LIBXML_OUTPUT_ENABLED */ + if (schema == NULL) + goto failed_schemas; + } else { + xmlDocPtr doc; + + doc = xmlReadFile(argv[i],NULL,0); + + if (doc == NULL) { + fprintf(stderr, "Could not parse %s\n", argv[i]); + } else { + xmlSchemaValidCtxtPtr ctxt; + int ret; + + ctxt = xmlSchemaNewValidCtxt(schema); + xmlSchemaSetValidErrors(ctxt, + xmlGenericError, xmlGenericError, NULL); + ret = xmlSchemaValidateDoc(ctxt, doc); + if (ret == 0) { + printf("%s validates\n", argv[i]); + } else if (ret > 0) { + printf("%s fails to validate\n", argv[i]); + } else { + printf("%s validation generated an internal error\n", + argv[i]); + } + xmlSchemaFreeValidCtxt(ctxt); + xmlFreeDoc(doc); + } + } + files ++; + } + } + if (schema != NULL) + xmlSchemaFree(schema); + if (files == 0) { + printf("Usage : %s [--debug] [--noout] schemas XMLfiles ...\n", + argv[0]); + printf("\tParse the HTML files and output the result of the parsing\n"); +#ifdef LIBXML_DEBUG_ENABLED + printf("\t--debug : dump a debug tree of the in-memory document\n"); +#endif + printf("\t--noout : do not print the result\n"); +#ifdef HAVE_MMAP + printf("\t--memory : test the schemas in memory parsing\n"); +#endif + } +failed_schemas: + xmlSchemaCleanupTypes(); + xmlCleanupParser(); + xmlMemoryDump(); + + return(0); +} + +#else +#include +int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + printf("%s : Schemas support not compiled in\n", argv[0]); + return(0); +} +#endif /* LIBXML_SCHEMAS_ENABLED */ diff --git a/testThreads.c b/testThreads.c new file mode 100644 index 0000000..bef6537 --- /dev/null +++ b/testThreads.c @@ -0,0 +1,275 @@ +#include "libxml.h" + +#include +#include + +#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED) +#include +#include +#include +#include +#ifdef HAVE_PTHREAD_H +#include +#elif defined HAVE_WIN32_THREADS +#include +#elif defined HAVE_BEOS_THREADS +#include +#endif +#include +#if !defined(_MSC_VER) +#include +#endif +#include + +#define MAX_ARGC 20 +#define TEST_REPEAT_COUNT 500 +#ifdef HAVE_PTHREAD_H +static pthread_t tid[MAX_ARGC]; +#elif defined HAVE_WIN32_THREADS +static HANDLE tid[MAX_ARGC]; +#elif defined HAVE_BEOS_THREADS +static thread_id tid[MAX_ARGC]; +#endif + +typedef struct { + const char *filename; + int okay; +} xmlThreadParams; + +static const char *catalog = "test/threads/complex.xml"; +static xmlThreadParams threadParams[] = { + { "test/threads/abc.xml", 0 }, + { "test/threads/acb.xml", 0 }, + { "test/threads/bac.xml", 0 }, + { "test/threads/bca.xml", 0 }, + { "test/threads/cab.xml", 0 }, + { "test/threads/cba.xml", 0 }, + { "test/threads/invalid.xml", 0 } +}; +static const unsigned int num_threads = sizeof(threadParams) / + sizeof(threadParams[0]); + +#ifndef xmlDoValidityCheckingDefaultValue +#error xmlDoValidityCheckingDefaultValue is not a macro +#endif +#ifndef xmlGenericErrorContext +#error xmlGenericErrorContext is not a macro +#endif + +static void * +thread_specific_data(void *private_data) +{ + xmlDocPtr myDoc; + xmlThreadParams *params = (xmlThreadParams *) private_data; + const char *filename = params->filename; + int okay = 1; + + if (!strcmp(filename, "test/threads/invalid.xml")) { + xmlDoValidityCheckingDefaultValue = 0; + xmlGenericErrorContext = stdout; + } else { + xmlDoValidityCheckingDefaultValue = 1; + xmlGenericErrorContext = stderr; + } +#ifdef LIBXML_SAX1_ENABLED + myDoc = xmlParseFile(filename); +#else + myDoc = xmlReadFile(filename, NULL, XML_WITH_CATALOG); +#endif + if (myDoc) { + xmlFreeDoc(myDoc); + } else { + printf("parse failed\n"); + okay = 0; + } + if (!strcmp(filename, "test/threads/invalid.xml")) { + if (xmlDoValidityCheckingDefaultValue != 0) { + printf("ValidityCheckingDefaultValue override failed\n"); + okay = 0; + } + if (xmlGenericErrorContext != stdout) { + printf("xmlGenericErrorContext override failed\n"); + okay = 0; + } + } else { + if (xmlDoValidityCheckingDefaultValue != 1) { + printf("ValidityCheckingDefaultValue override failed\n"); + okay = 0; + } + if (xmlGenericErrorContext != stderr) { + printf("xmlGenericErrorContext override failed\n"); + okay = 0; + } + } + params->okay = okay; + return(NULL); +} + +#ifdef HAVE_PTHREAD_H +int +main(void) +{ + unsigned int i, repeat; + int ret; + + xmlInitParser(); + for (repeat = 0;repeat < TEST_REPEAT_COUNT;repeat++) { + xmlLoadCatalog(catalog); + + memset(tid, 0xff, sizeof(*tid)*num_threads); + + for (i = 0; i < num_threads; i++) { + ret = pthread_create(&tid[i], NULL, thread_specific_data, + (void *) &threadParams[i]); + if (ret != 0) { + perror("pthread_create"); + exit(1); + } + } + for (i = 0; i < num_threads; i++) { + void *result; + ret = pthread_join(tid[i], &result); + if (ret != 0) { + perror("pthread_join"); + exit(1); + } + } + + xmlCatalogCleanup(); + for (i = 0; i < num_threads; i++) + if (threadParams[i].okay == 0) + printf("Thread %d handling %s failed\n", i, + threadParams[i].filename); + } + xmlCleanupParser(); + xmlMemoryDump(); + return (0); +} +#elif defined HAVE_WIN32_THREADS +static DWORD WINAPI +win32_thread_specific_data(void *private_data) +{ + thread_specific_data(private_data); + return(0); +} + +int +main(void) +{ + unsigned int i, repeat; + BOOL ret; + + xmlInitParser(); + for (repeat = 0;repeat < TEST_REPEAT_COUNT;repeat++) + { + xmlLoadCatalog(catalog); + + for (i = 0; i < num_threads; i++) + { + tid[i] = (HANDLE) -1; + } + + for (i = 0; i < num_threads; i++) + { + DWORD useless; + tid[i] = CreateThread(NULL, 0, + win32_thread_specific_data, &threadParams[i], 0, &useless); + if (tid[i] == NULL) + { + perror("CreateThread"); + exit(1); + } + } + + if (WaitForMultipleObjects (num_threads, tid, TRUE, INFINITE) == WAIT_FAILED) + perror ("WaitForMultipleObjects failed"); + + for (i = 0; i < num_threads; i++) + { + DWORD exitCode; + ret = GetExitCodeThread (tid[i], &exitCode); + if (ret == 0) + { + perror("GetExitCodeThread"); + exit(1); + } + CloseHandle (tid[i]); + } + + xmlCatalogCleanup(); + for (i = 0; i < num_threads; i++) { + if (threadParams[i].okay == 0) + printf("Thread %d handling %s failed\n", i, + threadParams[i].filename); + } + } + + xmlCleanupParser(); + xmlMemoryDump(); + + return (0); +} +#elif defined HAVE_BEOS_THREADS +int +main(void) +{ + unsigned int i, repeat; + status_t ret; + + xmlInitParser(); + printf("Parser initialized\n"); + for (repeat = 0;repeat < TEST_REPEAT_COUNT;repeat++) { + printf("repeat: %d\n",repeat); + xmlLoadCatalog(catalog); + printf("loaded catalog: %s\n", catalog); + for (i = 0; i < num_threads; i++) { + tid[i] = (thread_id) -1; + } + printf("cleaned threads\n"); + for (i = 0; i < num_threads; i++) { + tid[i] = spawn_thread(thread_specific_data, "xmlTestThread", B_NORMAL_PRIORITY, (void *) &threadParams[i]); + if (tid[i] < B_OK) { + perror("beos_thread_create"); + exit(1); + } + printf("beos_thread_create %d -> %d\n", i, tid[i]); + } + for (i = 0; i < num_threads; i++) { + void *result; + ret = wait_for_thread(tid[i], &result); + printf("beos_thread_wait %d -> %d\n", i, ret); + if (ret != B_OK) { + perror("beos_thread_wait"); + exit(1); + } + } + + xmlCatalogCleanup(); + ret = B_OK; + for (i = 0; i < num_threads; i++) + if (threadParams[i].okay == 0) { + printf("Thread %d handling %s failed\n", i, + threadParams[i].filename); + ret = B_ERROR; + } + } + xmlCleanupParser(); + xmlMemoryDump(); + + if (ret == B_OK) + printf("testThread : BeOS : SUCCESS!\n"); + else + printf("testThread : BeOS : FAILED!\n"); + + return (0); +} +#endif /* pthreads or BeOS threads */ + +#else /* !LIBXML_THREADS_ENABLED */ +int +main(void) +{ + fprintf(stderr, "libxml was not compiled with thread or catalog support\n"); + return (0); +} +#endif diff --git a/testURI.c b/testURI.c new file mode 100644 index 0000000..0043b20 --- /dev/null +++ b/testURI.c @@ -0,0 +1,135 @@ +/* + * testURI.c : a small tester program for XML input. + * + * See Copyright for the status of this software. + * + * daniel@veillard.com + */ + +#include "libxml.h" + +#include +#include +#include + +#include +#include +#include + +static const char *base = NULL; +static int escape = 0; +static int debug = 0; +static int relative = 0; + +static void handleURI(const char *str) { + int ret; + xmlURIPtr uri; + xmlChar *res = NULL, *parsed = NULL; + + uri = xmlCreateURI(); + + if (base == NULL) { + ret = xmlParseURIReference(uri, str); + if (ret != 0) + printf("%s : error %d\n", str, ret); + else { + if (debug) { + if (uri->scheme) printf("scheme: %s\n", uri->scheme); + if (uri->opaque) printf("opaque: %s\n", uri->opaque); + if (uri->authority) printf("authority: %s\n", uri->authority); + if (uri->server) printf("server: %s\n", uri->server); + if (uri->user) printf("user: %s\n", uri->user); + if (uri->port != 0) printf("port: %d\n", uri->port); + if (uri->path) printf("path: %s\n", uri->path); + if (uri->query) printf("query: %s\n", uri->query); + if (uri->fragment) printf("fragment: %s\n", uri->fragment); + if (uri->query_raw) printf("query_raw: %s\n", uri->query_raw); + if (uri->cleanup != 0) printf("cleanup\n"); + } + xmlNormalizeURIPath(uri->path); + if (escape != 0) { + parsed = xmlSaveUri(uri); + res = xmlURIEscape(parsed); + printf("%s\n", (char *) res); + + } else { + xmlPrintURI(stdout, uri); + printf("\n"); + } + } + } else { + if (relative) { + res = xmlBuildRelativeURI((xmlChar *)str, (xmlChar *) base); + } else { + res = xmlBuildURI((xmlChar *)str, (xmlChar *) base); + } + + if (res != NULL) { + printf("%s\n", (char *) res); + } + else + printf("::ERROR::\n"); + } + if (res != NULL) + xmlFree(res); + if (parsed != NULL) + xmlFree(parsed); + xmlFreeURI(uri); +} + +int main(int argc, char **argv) { + int i, arg = 1; + + if ((argc > arg) && (argv[arg] != NULL) && + (!strcmp(argv[arg], "--relative"))) { + arg++; + relative++; + } + if ((argc > arg) && (argv[arg] != NULL) && + ((!strcmp(argv[arg], "-base")) || (!strcmp(argv[arg], "--base")))) { + arg++; + base = argv[arg]; + if (base != NULL) + arg++; + } + if ((argc > arg) && (argv[arg] != NULL) && + ((!strcmp(argv[arg], "-escape")) || (!strcmp(argv[arg], "--escape")))) { + arg++; + escape++; + } + if ((argc > arg) && (argv[arg] != NULL) && + ((!strcmp(argv[arg], "-debug")) || (!strcmp(argv[arg], "--debug")))) { + arg++; + debug++; + } + if (argv[arg] == NULL) { + char str[1024]; + + while (1) { + /* + * read one line in string buffer. + */ + if (fgets (&str[0], sizeof (str) - 1, stdin) == NULL) + break; + + /* + * remove the ending spaces + */ + i = strlen(str); + while ((i > 0) && + ((str[i - 1] == '\n') || (str[i - 1] == '\r') || + (str[i - 1] == ' ') || (str[i - 1] == '\t'))) { + i--; + str[i] = 0; + } + handleURI(str); + } + } else { + while (argv[arg] != NULL) { + handleURI(argv[arg]); + arg++; + } + } + xmlMemoryDump(); + return(0); +} diff --git a/testXPath.c b/testXPath.c new file mode 100644 index 0000000..ebb9ff7 --- /dev/null +++ b/testXPath.c @@ -0,0 +1,229 @@ +/* + * testXPath.c : a small tester program for XPath. + * + * See Copyright for the status of this software. + * + * daniel@veillard.com + */ + +#include "libxml.h" +#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_DEBUG_ENABLED) + +#include + +#ifdef HAVE_SYS_TYPES_H +#include +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +#ifdef HAVE_FCNTL_H +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_STDLIB_H +#include +#endif + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#if defined(LIBXML_XPTR_ENABLED) +#include +static int xptr = 0; +#endif +static int debug = 0; +static int valid = 0; +static int expr = 0; +static int tree = 0; +static int nocdata = 0; +static xmlDocPtr document = NULL; + +/* + * Default document + */ +static xmlChar buffer[] = +"\n\ +\n\ + \n\ + Welcome to Gnome\n\ + \n\ + \n\ + The Linux adventure\n\ +

    bla bla bla ...

    \n\ + \n\ +

    ...

    \n\ +
    \n\ + \n\ + Chapter 2\n\ +

    this is chapter 2 ...

    \n\ +
    \n\ + \n\ + Chapter 3\n\ +

    this is chapter 3 ...

    \n\ +
    \n\ +
    \n\ +"; + + +static void +testXPath(const char *str) { + xmlXPathObjectPtr res; + xmlXPathContextPtr ctxt; + +#if defined(LIBXML_XPTR_ENABLED) + if (xptr) { + ctxt = xmlXPtrNewContext(document, NULL, NULL); + res = xmlXPtrEval(BAD_CAST str, ctxt); + } else { +#endif + ctxt = xmlXPathNewContext(document); + ctxt->node = xmlDocGetRootElement(document); + if (expr) + res = xmlXPathEvalExpression(BAD_CAST str, ctxt); + else { + /* res = xmlXPathEval(BAD_CAST str, ctxt); */ + xmlXPathCompExprPtr comp; + + comp = xmlXPathCompile(BAD_CAST str); + if (comp != NULL) { + if (tree) + xmlXPathDebugDumpCompExpr(stdout, comp, 0); + + res = xmlXPathCompiledEval(comp, ctxt); + xmlXPathFreeCompExpr(comp); + } else + res = NULL; + } +#if defined(LIBXML_XPTR_ENABLED) + } +#endif + xmlXPathDebugDumpObject(stdout, res, 0); + xmlXPathFreeObject(res); + xmlXPathFreeContext(ctxt); +} + +static void +testXPathFile(const char *filename) { + FILE *input; + char expression[5000]; + int len; + + input = fopen(filename, "r"); + if (input == NULL) { + xmlGenericError(xmlGenericErrorContext, + "Cannot open %s for reading\n", filename); + return; + } + while (fgets(expression, 4500, input) != NULL) { + len = strlen(expression); + len--; + while ((len >= 0) && + ((expression[len] == '\n') || (expression[len] == '\t') || + (expression[len] == '\r') || (expression[len] == ' '))) len--; + expression[len + 1] = 0; + if (len >= 0) { + printf("\n========================\nExpression: %s\n", expression) ; + testXPath(expression); + } + } + + fclose(input); +} + +int main(int argc, char **argv) { + int i; + int strings = 0; + int usefile = 0; + char *filename = NULL; + + for (i = 1; i < argc ; i++) { +#if defined(LIBXML_XPTR_ENABLED) + if ((!strcmp(argv[i], "-xptr")) || (!strcmp(argv[i], "--xptr"))) + xptr++; + else +#endif + if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug"))) + debug++; + else if ((!strcmp(argv[i], "-valid")) || (!strcmp(argv[i], "--valid"))) + valid++; + else if ((!strcmp(argv[i], "-expr")) || (!strcmp(argv[i], "--expr"))) + expr++; + else if ((!strcmp(argv[i], "-tree")) || (!strcmp(argv[i], "--tree"))) + tree++; + else if ((!strcmp(argv[i], "-nocdata")) || + (!strcmp(argv[i], "--nocdata"))) + nocdata++; + else if ((!strcmp(argv[i], "-i")) || (!strcmp(argv[i], "--input"))) + filename = argv[++i]; + else if ((!strcmp(argv[i], "-f")) || (!strcmp(argv[i], "--file"))) + usefile++; + } + if (valid != 0) xmlDoValidityCheckingDefaultValue = 1; + xmlLoadExtDtdDefaultValue |= XML_DETECT_IDS; + xmlLoadExtDtdDefaultValue |= XML_COMPLETE_ATTRS; + xmlSubstituteEntitiesDefaultValue = 1; +#ifdef LIBXML_SAX1_ENABLED + if (nocdata != 0) { + xmlDefaultSAXHandlerInit(); + xmlDefaultSAXHandler.cdataBlock = NULL; + } +#endif + if (document == NULL) { + if (filename == NULL) + document = xmlReadDoc(buffer,NULL,NULL,XML_PARSE_COMPACT); + else + document = xmlReadFile(filename,NULL,XML_PARSE_COMPACT); + } + for (i = 1; i < argc ; i++) { + if ((!strcmp(argv[i], "-i")) || (!strcmp(argv[i], "--input"))) { + i++; continue; + } + if (argv[i][0] != '-') { + if (usefile) + testXPathFile(argv[i]); + else + testXPath(argv[i]); + strings ++; + } + } + if (strings == 0) { + printf("Usage : %s [--debug] [--copy] stringsorfiles ...\n", + argv[0]); + printf("\tParse the XPath strings and output the result of the parsing\n"); + printf("\t--debug : dump a debug version of the result\n"); + printf("\t--valid : switch on DTD support in the parser\n"); +#if defined(LIBXML_XPTR_ENABLED) + printf("\t--xptr : expressions are XPointer expressions\n"); +#endif + printf("\t--expr : debug XPath expressions only\n"); + printf("\t--tree : show the compiled XPath tree\n"); + printf("\t--nocdata : do not generate CDATA nodes\n"); + printf("\t--input filename : or\n"); + printf("\t-i filename : read the document from filename\n"); + printf("\t--file : or\n"); + printf("\t-f : read queries from files, args\n"); + } + if (document != NULL) + xmlFreeDoc(document); + xmlCleanupParser(); + xmlMemoryDump(); + + return(0); +} +#else +#include +int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + printf("%s : XPath/Debug support not compiled in\n", argv[0]); + return(0); +} +#endif /* LIBXML_XPATH_ENABLED */ diff --git a/testapi.c b/testapi.c new file mode 100644 index 0000000..ff8b470 --- /dev/null +++ b/testapi.c @@ -0,0 +1,52348 @@ +/* + * testapi.c: libxml2 API tester program. + * + * Automatically generated by gentest.py from libxml2-api.xml + * + * See Copyright for the status of this software. + * + * daniel@veillard.com + */ + +#include "libxml.h" +#include + +#include /* for putenv() */ +#include +#include +#include + + +static int testlibxml2(void); +static int test_module(const char *module); + +static int generic_errors = 0; +static int call_tests = 0; +static int function_tests = 0; + +static xmlChar chartab[1024]; +static int inttab[1024]; +static unsigned long longtab[1024]; + +static xmlDocPtr api_doc = NULL; +static xmlDtdPtr api_dtd = NULL; +static xmlNodePtr api_root = NULL; +static xmlAttrPtr api_attr = NULL; +static xmlNsPtr api_ns = NULL; + +static void +structured_errors(void *userData ATTRIBUTE_UNUSED, + xmlErrorPtr error ATTRIBUTE_UNUSED) { + generic_errors++; +} + +static void +free_api_doc(void) { + xmlFreeDoc(api_doc); + api_doc = NULL; + api_dtd = NULL; + api_root = NULL; + api_attr = NULL; + api_ns = NULL; +} + +static xmlDocPtr +get_api_doc(void) { + if (api_doc == NULL) { + api_doc = xmlReadMemory("]>", 88, "root_test", NULL, 0); + api_root = NULL; + api_attr = NULL; + } + return(api_doc); +} + +static xmlDtdPtr +get_api_dtd(void) { + if ((api_dtd == NULL) || (api_dtd->type != XML_DTD_NODE)) { + get_api_doc(); + if ((api_doc != NULL) && (api_doc->children != NULL) && + (api_doc->children->type == XML_DTD_NODE)) + api_dtd = (xmlDtdPtr) api_doc->children; + } + return(api_dtd); +} + +static xmlNodePtr +get_api_root(void) { + if ((api_root == NULL) || (api_root->type != XML_ELEMENT_NODE)) { + get_api_doc(); + if ((api_doc != NULL) && (api_doc->children != NULL) && + (api_doc->children->next != NULL) && + (api_doc->children->next->type == XML_ELEMENT_NODE)) + api_root = api_doc->children->next; + } + return(api_root); +} + +static xmlNsPtr +get_api_ns(void) { + get_api_root(); + if (api_root != NULL) + api_ns = api_root->nsDef; + return(api_ns); +} + +static xmlAttrPtr +get_api_attr(void) { +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) + static int nr = 0; + xmlChar name[20]; +#endif + + if ((api_root == NULL) || (api_root->type != XML_ELEMENT_NODE)) { + get_api_root(); + } + if (api_root == NULL) + return(NULL); + if (api_root->properties != NULL) { + api_attr = api_root->properties; + return(api_root->properties); + } + api_attr = NULL; +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) + snprintf((char *) name, 20, "foo%d", nr++); + api_attr = xmlSetProp(api_root, name, (const xmlChar *) "bar"); +#endif + return(api_attr); +} + +static int quiet = 0; + +int main(int argc, char **argv) { + int ret; + int blocks, mem; + +#ifdef HAVE_PUTENV + /* access to the proxy can slow up regression tests a lot */ + putenv((char *) "http_proxy="); +#endif + + memset(chartab, 0, sizeof(chartab)); + strncpy((char *) chartab, " chartab\n", 20); + memset(inttab, 0, sizeof(inttab)); + memset(longtab, 0, sizeof(longtab)); + + xmlInitParser(); +#ifdef LIBXML_SCHEMAS_ENABLED + xmlRelaxNGInitTypes(); +#endif + + LIBXML_TEST_VERSION + + xmlSetStructuredErrorFunc(NULL, structured_errors); + + if (argc >= 2) { + if (!strcmp(argv[1], "-q")) { + quiet = 1; + if (argc >= 3) + ret = test_module(argv[2]); + else + ret = testlibxml2(); + } else { + ret = test_module(argv[1]); + } + } else + ret = testlibxml2(); + + xmlCleanupParser(); + blocks = xmlMemBlocks(); + mem = xmlMemUsed(); + if ((blocks != 0) || (mem != 0)) { + printf("testapi leaked %d bytes in %d blocks\n", mem, blocks); + } + xmlMemoryDump(); + + return (ret != 0); +} + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* + We manually define xmlErrMemory because it's normal declaration + is "hidden" by #ifdef IN_LIBXML +*/ +void xmlErrMemory(xmlParserCtxtPtr ctxt, const char *extra); + +/* + We need some "remote" addresses, but want to avoid getting into + name resolution delays, so we use these +*/ +#define REMOTE1GOOD "http://localhost/" +#define REMOTE1BAD "http:http://http" +#define REMOTE2GOOD "ftp://localhost/foo" + +#define gen_nb_void_ptr 2 + +static void *gen_void_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_void_ptr(int no ATTRIBUTE_UNUSED, void *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#if 0 +#define gen_nb_const_void_ptr 2 + +static const void *gen_const_void_ptr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return((const void *) "immutable string"); + return(NULL); +} +static void des_const_void_ptr(int no ATTRIBUTE_UNUSED, const void *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + +#define gen_nb_userdata 3 + +static void *gen_userdata(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return((void *) &call_tests); + if (no == 1) return((void *) -1); + return(NULL); +} +static void des_userdata(int no ATTRIBUTE_UNUSED, void *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + + +#define gen_nb_int 4 + +static int gen_int(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(0); + if (no == 1) return(1); + if (no == 2) return(-1); + if (no == 3) return(122); + return(-1); +} + +static void des_int(int no ATTRIBUTE_UNUSED, int val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_parseroptions 5 + +static int gen_parseroptions(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(XML_PARSE_NOBLANKS | XML_PARSE_RECOVER); + if (no == 1) return(XML_PARSE_NOENT | XML_PARSE_DTDLOAD | XML_PARSE_DTDATTR | XML_PARSE_DTDVALID | XML_PARSE_NOCDATA); + if (no == 2) return(XML_PARSE_XINCLUDE | XML_PARSE_NOXINCNODE | XML_PARSE_NSCLEAN); + if (no == 3) return(XML_PARSE_XINCLUDE | XML_PARSE_NODICT); + return(XML_PARSE_SAX1); +} + +static void des_parseroptions(int no ATTRIBUTE_UNUSED, int val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#if 0 +#define gen_nb_long 5 + +static long gen_long(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(0); + if (no == 1) return(1); + if (no == 2) return(-1); + if (no == 3) return(122); + return(-1); +} + +static void des_long(int no ATTRIBUTE_UNUSED, long val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + +#define gen_nb_xmlChar 4 + +static xmlChar gen_xmlChar(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return('a'); + if (no == 1) return(' '); + if (no == 2) return((xmlChar) '\xf8'); + return(0); +} + +static void des_xmlChar(int no ATTRIBUTE_UNUSED, xmlChar val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_unsigned_int 3 + +static unsigned int gen_unsigned_int(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(0); + if (no == 1) return(1); + if (no == 2) return(122); + return((unsigned int) -1); +} + +static void des_unsigned_int(int no ATTRIBUTE_UNUSED, unsigned int val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_unsigned_long 4 + +static unsigned long gen_unsigned_long(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(0); + if (no == 1) return(1); + if (no == 2) return(122); + return((unsigned long) -1); +} + +static void des_unsigned_long(int no ATTRIBUTE_UNUSED, unsigned long val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_double 4 + +static double gen_double(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(0); + if (no == 1) return(-1.1); +#if defined(LIBXML_XPATH_ENABLED) + if (no == 2) return(xmlXPathNAN); +#endif + return(-1); +} + +static void des_double(int no ATTRIBUTE_UNUSED, double val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_unsigned_long_ptr 2 + +static unsigned long *gen_unsigned_long_ptr(int no, int nr) { + if (no == 0) return(&longtab[nr]); + return(NULL); +} + +static void des_unsigned_long_ptr(int no ATTRIBUTE_UNUSED, unsigned long *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_int_ptr 2 + +static int *gen_int_ptr(int no, int nr) { + if (no == 0) return(&inttab[nr]); + return(NULL); +} + +static void des_int_ptr(int no ATTRIBUTE_UNUSED, int *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_const_char_ptr 4 + +static char *gen_const_char_ptr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return((char *) "foo"); + if (no == 1) return((char *) ""); + if (no == 2) return((char *) "test/ent2"); + return(NULL); +} +static void des_const_char_ptr(int no ATTRIBUTE_UNUSED, const char *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_xmlChar_ptr 2 + +static xmlChar *gen_xmlChar_ptr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(&chartab[0]); + return(NULL); +} +static void des_xmlChar_ptr(int no ATTRIBUTE_UNUSED, xmlChar *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_FILE_ptr 2 + +static FILE *gen_FILE_ptr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(fopen("test.out", "a+")); + return(NULL); +} +static void des_FILE_ptr(int no ATTRIBUTE_UNUSED, FILE *val, int nr ATTRIBUTE_UNUSED) { + if (val != NULL) fclose(val); +} + +#define gen_nb_debug_FILE_ptr 2 +static FILE *gen_debug_FILE_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(fopen("test.out", "a+")); +} +static void des_debug_FILE_ptr(int no ATTRIBUTE_UNUSED, FILE *val, int nr ATTRIBUTE_UNUSED) { + if (val != NULL) fclose(val); +} + +#define gen_nb_const_xmlChar_ptr 5 + +static xmlChar *gen_const_xmlChar_ptr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return((xmlChar *) "foo"); + if (no == 1) return((xmlChar *) ""); + if (no == 2) return((xmlChar *) "n" "\xf8" "ne"); + if (no == 3) return((xmlChar *) " 2ab "); + return(NULL); +} +static void des_const_xmlChar_ptr(int no ATTRIBUTE_UNUSED, const xmlChar *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_filepath 8 + +static const char *gen_filepath(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return("missing.xml"); + if (no == 1) return(""); + if (no == 2) return("test/ent2"); + if (no == 3) return("test/valid/REC-xml-19980210.xml"); + if (no == 4) return("test/valid/dtds/xhtml1-strict.dtd"); + if (no == 5) return(REMOTE1GOOD); + if (no == 6) return(REMOTE1BAD); + return(NULL); +} +static void des_filepath(int no ATTRIBUTE_UNUSED, const char *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_eaten_name 2 + +static xmlChar *gen_eaten_name(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(xmlStrdup(BAD_CAST "eaten")); + return(NULL); +} +static void des_eaten_name(int no ATTRIBUTE_UNUSED, xmlChar *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_fileoutput 6 + +static const char *gen_fileoutput(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return("/missing.xml"); + if (no == 1) return(""); + if (no == 2) return(REMOTE2GOOD); + if (no == 3) return(REMOTE1GOOD); + if (no == 4) return(REMOTE1BAD); + return(NULL); +} +static void des_fileoutput(int no ATTRIBUTE_UNUSED, const char *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_xmlParserCtxtPtr 3 +static xmlParserCtxtPtr gen_xmlParserCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(xmlNewParserCtxt()); + if (no == 1) return(xmlCreateMemoryParserCtxt("", 6)); + return(NULL); +} +static void des_xmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, xmlParserCtxtPtr val, int nr ATTRIBUTE_UNUSED) { + if (val != NULL) + xmlFreeParserCtxt(val); +} + +#define gen_nb_xmlSAXHandlerPtr 2 +static xmlSAXHandlerPtr gen_xmlSAXHandlerPtr(int no, int nr ATTRIBUTE_UNUSED) { +#ifdef LIBXML_SAX1_ENABLED + if (no == 0) return((xmlSAXHandlerPtr) &xmlDefaultSAXHandler); +#endif + return(NULL); +} +static void des_xmlSAXHandlerPtr(int no ATTRIBUTE_UNUSED, xmlSAXHandlerPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_xmlValidCtxtPtr 2 +static xmlValidCtxtPtr gen_xmlValidCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) { +#ifdef LIBXML_VALID_ENABLED + if (no == 0) return(xmlNewValidCtxt()); +#endif + return(NULL); +} +static void des_xmlValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlValidCtxtPtr val, int nr ATTRIBUTE_UNUSED) { +#ifdef LIBXML_VALID_ENABLED + if (val != NULL) + xmlFreeValidCtxt(val); +#endif +} + +#define gen_nb_xmlParserInputBufferPtr 8 + +static xmlParserInputBufferPtr gen_xmlParserInputBufferPtr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(xmlParserInputBufferCreateFilename("missing.xml", XML_CHAR_ENCODING_NONE)); + if (no == 1) return(xmlParserInputBufferCreateFilename("", XML_CHAR_ENCODING_NONE)); + if (no == 2) return(xmlParserInputBufferCreateFilename("test/ent2", XML_CHAR_ENCODING_NONE)); + if (no == 3) return(xmlParserInputBufferCreateFilename("test/valid/REC-xml-19980210.xml", XML_CHAR_ENCODING_NONE)); + if (no == 4) return(xmlParserInputBufferCreateFilename("test/valid/dtds/xhtml1-strict.dtd", XML_CHAR_ENCODING_NONE)); + if (no == 5) return(xmlParserInputBufferCreateFilename(REMOTE1GOOD, XML_CHAR_ENCODING_NONE)); + if (no == 6) return(xmlParserInputBufferCreateFilename(REMOTE1BAD, XML_CHAR_ENCODING_NONE)); + return(NULL); +} +static void des_xmlParserInputBufferPtr(int no ATTRIBUTE_UNUSED, xmlParserInputBufferPtr val, int nr ATTRIBUTE_UNUSED) { + xmlFreeParserInputBuffer(val); +} + +#define gen_nb_xmlDocPtr 4 +static xmlDocPtr gen_xmlDocPtr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(xmlNewDoc(BAD_CAST "1.0")); + if (no == 1) return(xmlReadMemory("", 6, "test", NULL, 0)); + if (no == 2) return(xmlReadMemory(" ", 24, "test", NULL, 0)); + return(NULL); +} +static void des_xmlDocPtr(int no ATTRIBUTE_UNUSED, xmlDocPtr val, int nr ATTRIBUTE_UNUSED) { + if ((val != NULL) && (val != api_doc) && (val->doc != api_doc)) + xmlFreeDoc(val); +} + +#define gen_nb_xmlAttrPtr 2 +static xmlAttrPtr gen_xmlAttrPtr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(get_api_attr()); + return(NULL); +} +static void des_xmlAttrPtr(int no, xmlAttrPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + if (no == 0) free_api_doc(); +} + +#define gen_nb_xmlDictPtr 2 +static xmlDictPtr gen_xmlDictPtr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(xmlDictCreate()); + return(NULL); +} +static void des_xmlDictPtr(int no ATTRIBUTE_UNUSED, xmlDictPtr val, int nr ATTRIBUTE_UNUSED) { + if (val != NULL) + xmlDictFree(val); +} + +#define gen_nb_xmlNodePtr 3 +static xmlNodePtr gen_xmlNodePtr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(xmlNewPI(BAD_CAST "test", NULL)); + if (no == 1) return(get_api_root()); + return(NULL); +/* if (no == 2) return((xmlNodePtr) get_api_doc()); */ +} +static void des_xmlNodePtr(int no, xmlNodePtr val, int nr ATTRIBUTE_UNUSED) { + if (no == 1) { + free_api_doc(); + } else if (val != NULL) { + xmlUnlinkNode(val); + xmlFreeNode(val); + } +} + +#define gen_nb_xmlDtdPtr 3 +static xmlDtdPtr gen_xmlDtdPtr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) + return(xmlNewDtd(NULL, BAD_CAST "dtd", BAD_CAST"foo", BAD_CAST"bar")); + if (no == 1) return(get_api_dtd()); + return(NULL); +} +static void des_xmlDtdPtr(int no, xmlDtdPtr val, int nr ATTRIBUTE_UNUSED) { + if (no == 1) free_api_doc(); + else if (val != NULL) { + xmlUnlinkNode((xmlNodePtr) val); + xmlFreeNode((xmlNodePtr) val); + } +} + +#define gen_nb_xmlNsPtr 2 +static xmlNsPtr gen_xmlNsPtr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(get_api_ns()); + return(NULL); +} +static void des_xmlNsPtr(int no, xmlNsPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + if (no == 0) free_api_doc(); +} + +#define gen_nb_xmlNodePtr_in 3 +static xmlNodePtr gen_xmlNodePtr_in(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(xmlNewPI(BAD_CAST "test", NULL)); + if (no == 0) return(xmlNewText(BAD_CAST "text")); + return(NULL); +} +static void des_xmlNodePtr_in(int no ATTRIBUTE_UNUSED, xmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#ifdef LIBXML_WRITER_ENABLED +#define gen_nb_xmlTextWriterPtr 2 +static xmlTextWriterPtr gen_xmlTextWriterPtr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(xmlNewTextWriterFilename("test.out", 0)); + return(NULL); +} +static void des_xmlTextWriterPtr(int no ATTRIBUTE_UNUSED, xmlTextWriterPtr val, int nr ATTRIBUTE_UNUSED) { + if (val != NULL) xmlFreeTextWriter(val); +} +#endif + +#ifdef LIBXML_READER_ENABLED +#define gen_nb_xmlTextReaderPtr 4 +static xmlTextReaderPtr gen_xmlTextReaderPtr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(xmlNewTextReaderFilename("test/ent2")); + if (no == 1) return(xmlNewTextReaderFilename("test/valid/REC-xml-19980210.xml")); + if (no == 2) return(xmlNewTextReaderFilename("test/valid/dtds/xhtml1-strict.dtd")); + return(NULL); +} +static void des_xmlTextReaderPtr(int no ATTRIBUTE_UNUSED, xmlTextReaderPtr val, int nr ATTRIBUTE_UNUSED) { + if (val != NULL) xmlFreeTextReader(val); +} +#endif + +#define gen_nb_xmlBufferPtr 3 +static const xmlChar *static_buf_content = (xmlChar *)"a static buffer"; +static xmlBufferPtr gen_xmlBufferPtr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(xmlBufferCreate()); + if (no == 1) return(xmlBufferCreateStatic((void *)static_buf_content, 13)); + return(NULL); +} +static void des_xmlBufferPtr(int no ATTRIBUTE_UNUSED, xmlBufferPtr val, int nr ATTRIBUTE_UNUSED) { + if (val != NULL) { + xmlBufferFree(val); + } +} + +#define gen_nb_xmlListPtr 2 +static xmlListPtr gen_xmlListPtr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(xmlListCreate(NULL, NULL)); + return(NULL); +} +static void des_xmlListPtr(int no ATTRIBUTE_UNUSED, xmlListPtr val, int nr ATTRIBUTE_UNUSED) { + if (val != NULL) { + xmlListDelete(val); + } +} + +#define gen_nb_xmlHashTablePtr 2 +static xmlHashTablePtr gen_xmlHashTablePtr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(xmlHashCreate(10)); + return(NULL); +} +static void des_xmlHashTablePtr(int no ATTRIBUTE_UNUSED, xmlHashTablePtr val, int nr ATTRIBUTE_UNUSED) { + if (val != NULL) { + xmlHashFree(val, NULL); + } +} + +#include + +#ifdef LIBXML_XPATH_ENABLED +#define gen_nb_xmlXPathObjectPtr 5 +static xmlXPathObjectPtr gen_xmlXPathObjectPtr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(xmlXPathNewString(BAD_CAST "string object")); + if (no == 1) return(xmlXPathNewFloat(1.1)); + if (no == 2) return(xmlXPathNewBoolean(1)); + if (no == 3) return(xmlXPathNewNodeSet(NULL)); + return(NULL); +} +static void des_xmlXPathObjectPtr(int no ATTRIBUTE_UNUSED, xmlXPathObjectPtr val, int nr ATTRIBUTE_UNUSED) { + if (val != NULL) { + xmlXPathFreeObject(val); + } +} +#endif + +#ifdef LIBXML_OUTPUT_ENABLED +#define gen_nb_xmlOutputBufferPtr 2 +static xmlOutputBufferPtr gen_xmlOutputBufferPtr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(xmlOutputBufferCreateFilename("test.out", NULL, 0)); + return(NULL); +} +static void des_xmlOutputBufferPtr(int no ATTRIBUTE_UNUSED, xmlOutputBufferPtr val, int nr ATTRIBUTE_UNUSED) { + if (val != NULL) { + xmlOutputBufferClose(val); + } +} +#endif + +#ifdef LIBXML_FTP_ENABLED +#define gen_nb_xmlNanoFTPCtxtPtr 4 +static void *gen_xmlNanoFTPCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(xmlNanoFTPNewCtxt(REMOTE2GOOD)); + if (no == 1) return(xmlNanoFTPNewCtxt(REMOTE1GOOD)); + if (no == 2) return(xmlNanoFTPNewCtxt("foo")); + return(NULL); +} +static void des_xmlNanoFTPCtxtPtr(int no ATTRIBUTE_UNUSED, void *val, int nr ATTRIBUTE_UNUSED) { + if (val != NULL) { + xmlNanoFTPFreeCtxt(val); + } +} +#endif + +#ifdef LIBXML_HTTP_ENABLED +#define gen_nb_xmlNanoHTTPCtxtPtr 1 +static void *gen_xmlNanoHTTPCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(xmlNanoHTTPOpen(REMOTE1GOOD, NULL)); + if (no == 1) return(xmlNanoHTTPOpen(REMOTE2GOOD, NULL)); + if (no == 2) return(xmlNanoHTTPOpen(REMOTE1BAD, NULL)); + return(NULL); +} +static void des_xmlNanoHTTPCtxtPtr(int no ATTRIBUTE_UNUSED, void *val, int nr ATTRIBUTE_UNUSED) { + if (val != NULL) { + xmlNanoHTTPClose(val); + } +} +#endif + +#define gen_nb_xmlCharEncoding 4 +static xmlCharEncoding gen_xmlCharEncoding(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(XML_CHAR_ENCODING_UTF8); + if (no == 1) return(XML_CHAR_ENCODING_NONE); + if (no == 2) return(XML_CHAR_ENCODING_8859_1); + return(XML_CHAR_ENCODING_ERROR); +} +static void des_xmlCharEncoding(int no ATTRIBUTE_UNUSED, xmlCharEncoding val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED) + +#define gen_nb_xmlExpCtxtPtr 1 +static xmlExpCtxtPtr gen_xmlExpCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlExpCtxtPtr(int no ATTRIBUTE_UNUSED, xmlExpCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_xmlExpNodePtr 1 +static xmlExpNodePtr gen_xmlExpNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlExpNodePtr(int no ATTRIBUTE_UNUSED, xmlExpNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#endif + +#if defined(LIBXML_SCHEMAS_ENABLED) +#define gen_nb_xmlSchemaPtr 1 +static xmlSchemaPtr gen_xmlSchemaPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlSchemaPtr(int no ATTRIBUTE_UNUSED, xmlSchemaPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_xmlSchemaValidCtxtPtr 1 +static xmlSchemaValidCtxtPtr gen_xmlSchemaValidCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlSchemaValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchemaValidCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#endif /* LIBXML_SCHEMAS_ENABLED */ + +#define gen_nb_xmlHashDeallocator 2 +static void +test_xmlHashDeallocator(void *payload ATTRIBUTE_UNUSED, + const xmlChar *name ATTRIBUTE_UNUSED) { +} + +static xmlHashDeallocator gen_xmlHashDeallocator(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(test_xmlHashDeallocator); + return(NULL); +} +static void des_xmlHashDeallocator(int no ATTRIBUTE_UNUSED, xmlHashDeallocator val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + + +static void desret_int(int val ATTRIBUTE_UNUSED) { +} +static void desret_xmlChar(xmlChar val ATTRIBUTE_UNUSED) { +} +static void desret_long(long val ATTRIBUTE_UNUSED) { +} +static void desret_unsigned_long(unsigned long val ATTRIBUTE_UNUSED) { +} +static void desret_double(double val ATTRIBUTE_UNUSED) { +} +static void desret_xmlCharEncoding(xmlCharEncoding val ATTRIBUTE_UNUSED) { +} +#if 0 +static void desret_const_void_ptr(void *val ATTRIBUTE_UNUSED) { +} +#endif +static void desret_void_ptr(void *val ATTRIBUTE_UNUSED) { +} +static void desret_const_char_ptr(const char *val ATTRIBUTE_UNUSED) { +} +static void desret_const_xmlChar_ptr(const xmlChar *val ATTRIBUTE_UNUSED) { +} +static void desret_xmlChar_ptr(xmlChar *val) { + if (val != NULL) + xmlFree(val); +} +static void desret_xmlDocPtr(xmlDocPtr val) { + if (val != api_doc) + xmlFreeDoc(val); +} +static void desret_xmlDictPtr(xmlDictPtr val) { + xmlDictFree(val); +} +#ifdef LIBXML_OUTPUT_ENABLED +static void desret_xmlOutputBufferPtr(xmlOutputBufferPtr val) { + xmlOutputBufferClose(val); +} +#endif +#ifdef LIBXML_READER_ENABLED +static void desret_xmlTextReaderPtr(xmlTextReaderPtr val) { + xmlFreeTextReader(val); +} +#endif +static void desret_xmlNodePtr(xmlNodePtr val) { + if ((val != NULL) && (val != api_root) && (val != (xmlNodePtr) api_doc)) { + xmlUnlinkNode(val); + xmlFreeNode(val); + } +} +static void desret_xmlAttrPtr(xmlAttrPtr val) { + if (val != NULL) { + xmlUnlinkNode((xmlNodePtr) val); + xmlFreeNode((xmlNodePtr) val); + } +} +static void desret_xmlEntityPtr(xmlEntityPtr val) { + if (val != NULL) { + xmlUnlinkNode((xmlNodePtr) val); + xmlFreeNode((xmlNodePtr) val); + } +} +static void desret_xmlElementPtr(xmlElementPtr val) { + if (val != NULL) { + xmlUnlinkNode((xmlNodePtr) val); + } +} +static void desret_xmlAttributePtr(xmlAttributePtr val) { + if (val != NULL) { + xmlUnlinkNode((xmlNodePtr) val); + } +} +static void desret_xmlNsPtr(xmlNsPtr val ATTRIBUTE_UNUSED) { +} +static void desret_xmlDtdPtr(xmlDtdPtr val) { + desret_xmlNodePtr((xmlNodePtr)val); +} +#ifdef LIBXML_XPATH_ENABLED +static void desret_xmlXPathObjectPtr(xmlXPathObjectPtr val) { + xmlXPathFreeObject(val); +} +static void desret_xmlNodeSetPtr(xmlNodeSetPtr val) { + xmlXPathFreeNodeSet(val); +} +#endif +static void desret_xmlParserCtxtPtr(xmlParserCtxtPtr val) { + xmlFreeParserCtxt(val); +} +static void desret_xmlParserInputBufferPtr(xmlParserInputBufferPtr val) { + xmlFreeParserInputBuffer(val); +} +static void desret_xmlParserInputPtr(xmlParserInputPtr val) { + xmlFreeInputStream(val); +} +#ifdef LIBXML_WRITER_ENABLED +static void desret_xmlTextWriterPtr(xmlTextWriterPtr val) { + xmlFreeTextWriter(val); +} +#endif +static void desret_xmlBufferPtr(xmlBufferPtr val) { + xmlBufferFree(val); +} +#ifdef LIBXML_SCHEMAS_ENABLED +static void desret_xmlSchemaParserCtxtPtr(xmlSchemaParserCtxtPtr val) { + xmlSchemaFreeParserCtxt(val); +} +static void desret_xmlSchemaTypePtr(xmlSchemaTypePtr val ATTRIBUTE_UNUSED) { +} +static void desret_xmlRelaxNGParserCtxtPtr(xmlRelaxNGParserCtxtPtr val) { + xmlRelaxNGFreeParserCtxt(val); +} +#endif +#ifdef LIBXML_HTML_ENABLED +static void desret_const_htmlEntityDesc_ptr(const htmlEntityDesc * val ATTRIBUTE_UNUSED) { +} +#endif +#ifdef LIBXML_HTTP_ENABLED +static void desret_xmlNanoHTTPCtxtPtr(void *val) { + xmlNanoHTTPClose(val); +} +#endif +#ifdef LIBXML_FTP_ENABLED +static void desret_xmlNanoFTPCtxtPtr(void *val) { + xmlNanoFTPClose(val); +} +#endif +/* cut and pasted from autogenerated to avoid troubles */ +#define gen_nb_const_xmlChar_ptr_ptr 1 +static xmlChar ** gen_const_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_const_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, const xmlChar ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_unsigned_char_ptr 1 +static unsigned char * gen_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, unsigned char * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_const_unsigned_char_ptr 1 +static unsigned char * gen_const_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_const_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, const unsigned char * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#ifdef LIBXML_HTML_ENABLED +#define gen_nb_const_htmlNodePtr 1 +static htmlNodePtr gen_const_htmlNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_const_htmlNodePtr(int no ATTRIBUTE_UNUSED, const htmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + +#ifdef LIBXML_HTML_ENABLED +#define gen_nb_htmlDocPtr 3 +static htmlDocPtr gen_htmlDocPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(htmlNewDoc(NULL, NULL)); + if (no == 1) return(htmlReadMemory("", 7, "test", NULL, 0)); + return(NULL); +} +static void des_htmlDocPtr(int no ATTRIBUTE_UNUSED, htmlDocPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + if ((val != NULL) && (val != api_doc) && (val->doc != api_doc)) + xmlFreeDoc(val); +} +static void desret_htmlDocPtr(htmlDocPtr val) { + if ((val != NULL) && (val != api_doc) && (val->doc != api_doc)) + xmlFreeDoc(val); +} +#define gen_nb_htmlParserCtxtPtr 3 +static htmlParserCtxtPtr gen_htmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + if (no == 0) return(xmlNewParserCtxt()); + if (no == 1) return(htmlCreateMemoryParserCtxt("", 7)); + return(NULL); +} +static void des_htmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, htmlParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + if (val != NULL) + htmlFreeParserCtxt(val); +} +static void desret_htmlParserCtxtPtr(htmlParserCtxtPtr val) { + if (val != NULL) + htmlFreeParserCtxt(val); +} +#endif + +#ifdef LIBXML_XPATH_ENABLED +#define gen_nb_xmlNodeSetPtr 1 +static xmlNodeSetPtr gen_xmlNodeSetPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlNodeSetPtr(int no ATTRIBUTE_UNUSED, xmlNodeSetPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + +#ifdef LIBXML_DEBUG_ENABLED +#ifdef LIBXML_XPATH_ENABLED +#define gen_nb_xmlShellCtxtPtr 1 +static xmlShellCtxtPtr gen_xmlShellCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlShellCtxtPtr(int no ATTRIBUTE_UNUSED, xmlShellCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif +#endif + +#ifdef LIBXML_PATTERN_ENABLED +#define gen_nb_xmlPatternPtr 1 +static xmlPatternPtr gen_xmlPatternPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlPatternPtr(int no ATTRIBUTE_UNUSED, xmlPatternPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + +#define gen_nb_xmlElementContentPtr 1 +static xmlElementContentPtr gen_xmlElementContentPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlElementContentPtr(int no ATTRIBUTE_UNUSED, xmlElementContentPtr val, int nr ATTRIBUTE_UNUSED) { + if (val != NULL) + xmlFreeElementContent(val); +} +static void desret_xmlElementContentPtr(xmlElementContentPtr val) { + if (val != NULL) + xmlFreeElementContent(val); +} + +#define gen_nb_xmlParserNodeInfoSeqPtr 1 +static xmlParserNodeInfoSeqPtr gen_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, xmlParserNodeInfoSeqPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static void desret_const_xmlParserNodeInfo_ptr(const xmlParserNodeInfo *val ATTRIBUTE_UNUSED) { +} + +#define gen_nb_void_ptr_ptr 1 +static void ** gen_void_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_void_ptr_ptr(int no ATTRIBUTE_UNUSED, void ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +/************************************************************************ + * * + * WARNING: end of the manually maintained part of the test code * + * do not remove or alter the CUT HERE line * + * * + ************************************************************************/ + +/* CUT HERE: everything below that line is generated */ +#ifdef LIBXML_HTML_ENABLED +static void desret_htmlStatus(htmlStatus val ATTRIBUTE_UNUSED) { +} + +#endif + +#define gen_nb_xmlAttributeDefault 4 +static xmlAttributeDefault gen_xmlAttributeDefault(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 1) return(XML_ATTRIBUTE_FIXED); + if (no == 2) return(XML_ATTRIBUTE_IMPLIED); + if (no == 3) return(XML_ATTRIBUTE_NONE); + if (no == 4) return(XML_ATTRIBUTE_REQUIRED); + return(0); +} + +static void des_xmlAttributeDefault(int no ATTRIBUTE_UNUSED, xmlAttributeDefault val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_xmlAttributeType 4 +static xmlAttributeType gen_xmlAttributeType(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 1) return(XML_ATTRIBUTE_CDATA); + if (no == 2) return(XML_ATTRIBUTE_ENTITIES); + if (no == 3) return(XML_ATTRIBUTE_ENTITY); + if (no == 4) return(XML_ATTRIBUTE_ENUMERATION); + return(0); +} + +static void des_xmlAttributeType(int no ATTRIBUTE_UNUSED, xmlAttributeType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_xmlBufferAllocationScheme 4 +static xmlBufferAllocationScheme gen_xmlBufferAllocationScheme(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 1) return(XML_BUFFER_ALLOC_BOUNDED); + if (no == 2) return(XML_BUFFER_ALLOC_DOUBLEIT); + if (no == 3) return(XML_BUFFER_ALLOC_EXACT); + if (no == 4) return(XML_BUFFER_ALLOC_HYBRID); + return(0); +} + +static void des_xmlBufferAllocationScheme(int no ATTRIBUTE_UNUSED, xmlBufferAllocationScheme val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static void desret_xmlBufferAllocationScheme(xmlBufferAllocationScheme val ATTRIBUTE_UNUSED) { +} + +#ifdef LIBXML_CATALOG_ENABLED +#define gen_nb_xmlCatalogAllow 4 +static xmlCatalogAllow gen_xmlCatalogAllow(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 1) return(XML_CATA_ALLOW_ALL); + if (no == 2) return(XML_CATA_ALLOW_DOCUMENT); + if (no == 3) return(XML_CATA_ALLOW_GLOBAL); + if (no == 4) return(XML_CATA_ALLOW_NONE); + return(0); +} + +static void des_xmlCatalogAllow(int no ATTRIBUTE_UNUSED, xmlCatalogAllow val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static void desret_xmlCatalogAllow(xmlCatalogAllow val ATTRIBUTE_UNUSED) { +} + +#endif + +#ifdef LIBXML_CATALOG_ENABLED +#define gen_nb_xmlCatalogPrefer 3 +static xmlCatalogPrefer gen_xmlCatalogPrefer(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 1) return(XML_CATA_PREFER_NONE); + if (no == 2) return(XML_CATA_PREFER_PUBLIC); + if (no == 3) return(XML_CATA_PREFER_SYSTEM); + return(0); +} + +static void des_xmlCatalogPrefer(int no ATTRIBUTE_UNUSED, xmlCatalogPrefer val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static void desret_xmlCatalogPrefer(xmlCatalogPrefer val ATTRIBUTE_UNUSED) { +} + +#endif + +#define gen_nb_xmlElementContentType 4 +static xmlElementContentType gen_xmlElementContentType(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 1) return(XML_ELEMENT_CONTENT_ELEMENT); + if (no == 2) return(XML_ELEMENT_CONTENT_OR); + if (no == 3) return(XML_ELEMENT_CONTENT_PCDATA); + if (no == 4) return(XML_ELEMENT_CONTENT_SEQ); + return(0); +} + +static void des_xmlElementContentType(int no ATTRIBUTE_UNUSED, xmlElementContentType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_xmlElementTypeVal 4 +static xmlElementTypeVal gen_xmlElementTypeVal(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 1) return(XML_ELEMENT_TYPE_ANY); + if (no == 2) return(XML_ELEMENT_TYPE_ELEMENT); + if (no == 3) return(XML_ELEMENT_TYPE_EMPTY); + if (no == 4) return(XML_ELEMENT_TYPE_MIXED); + return(0); +} + +static void des_xmlElementTypeVal(int no ATTRIBUTE_UNUSED, xmlElementTypeVal val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_xmlFeature 4 +static xmlFeature gen_xmlFeature(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 1) return(XML_WITH_AUTOMATA); + if (no == 2) return(XML_WITH_C14N); + if (no == 3) return(XML_WITH_CATALOG); + if (no == 4) return(XML_WITH_DEBUG); + return(0); +} + +static void des_xmlFeature(int no ATTRIBUTE_UNUSED, xmlFeature val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static void desret_xmlParserErrors(xmlParserErrors val ATTRIBUTE_UNUSED) { +} + +#ifdef LIBXML_SCHEMAS_ENABLED +#define gen_nb_xmlSchemaValType 4 +static xmlSchemaValType gen_xmlSchemaValType(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 1) return(XML_SCHEMAS_ANYSIMPLETYPE); + if (no == 2) return(XML_SCHEMAS_ANYTYPE); + if (no == 3) return(XML_SCHEMAS_ANYURI); + if (no == 4) return(XML_SCHEMAS_BASE64BINARY); + return(0); +} + +static void des_xmlSchemaValType(int no ATTRIBUTE_UNUSED, xmlSchemaValType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static void desret_xmlSchemaValType(xmlSchemaValType val ATTRIBUTE_UNUSED) { +} + +#endif + +#ifdef LIBXML_SCHEMAS_ENABLED +#define gen_nb_xmlSchemaWhitespaceValueType 4 +static xmlSchemaWhitespaceValueType gen_xmlSchemaWhitespaceValueType(int no, int nr ATTRIBUTE_UNUSED) { + if (no == 1) return(XML_SCHEMA_WHITESPACE_COLLAPSE); + if (no == 2) return(XML_SCHEMA_WHITESPACE_PRESERVE); + if (no == 3) return(XML_SCHEMA_WHITESPACE_REPLACE); + if (no == 4) return(XML_SCHEMA_WHITESPACE_UNKNOWN); + return(0); +} + +static void des_xmlSchemaWhitespaceValueType(int no ATTRIBUTE_UNUSED, xmlSchemaWhitespaceValueType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +static int test_HTMLparser(void); +static int test_HTMLtree(void); +static int test_SAX2(void); +static int test_c14n(void); +static int test_catalog(void); +static int test_chvalid(void); +static int test_debugXML(void); +static int test_dict(void); +static int test_encoding(void); +static int test_entities(void); +static int test_hash(void); +static int test_list(void); +static int test_nanoftp(void); +static int test_nanohttp(void); +static int test_parser(void); +static int test_parserInternals(void); +static int test_pattern(void); +static int test_relaxng(void); +static int test_schemasInternals(void); +static int test_schematron(void); +static int test_tree(void); +static int test_uri(void); +static int test_valid(void); +static int test_xinclude(void); +static int test_xmlIO(void); +static int test_xmlautomata(void); +static int test_xmlerror(void); +static int test_xmlmodule(void); +static int test_xmlreader(void); +static int test_xmlregexp(void); +static int test_xmlsave(void); +static int test_xmlschemas(void); +static int test_xmlschemastypes(void); +static int test_xmlstring(void); +static int test_xmlunicode(void); +static int test_xmlwriter(void); +static int test_xpath(void); +static int test_xpathInternals(void); +static int test_xpointer(void); + +/** + * testlibxml2: + * + * Main entry point of the tester for the full libxml2 module, + * it calls all the tester entry point for each module. + * + * Returns the number of error found + */ +static int +testlibxml2(void) +{ + int test_ret = 0; + + test_ret += test_HTMLparser(); + test_ret += test_HTMLtree(); + test_ret += test_SAX2(); + test_ret += test_c14n(); + test_ret += test_catalog(); + test_ret += test_chvalid(); + test_ret += test_debugXML(); + test_ret += test_dict(); + test_ret += test_encoding(); + test_ret += test_entities(); + test_ret += test_hash(); + test_ret += test_list(); + test_ret += test_nanoftp(); + test_ret += test_nanohttp(); + test_ret += test_parser(); + test_ret += test_parserInternals(); + test_ret += test_pattern(); + test_ret += test_relaxng(); + test_ret += test_schemasInternals(); + test_ret += test_schematron(); + test_ret += test_tree(); + test_ret += test_uri(); + test_ret += test_valid(); + test_ret += test_xinclude(); + test_ret += test_xmlIO(); + test_ret += test_xmlautomata(); + test_ret += test_xmlerror(); + test_ret += test_xmlmodule(); + test_ret += test_xmlreader(); + test_ret += test_xmlregexp(); + test_ret += test_xmlsave(); + test_ret += test_xmlschemas(); + test_ret += test_xmlschemastypes(); + test_ret += test_xmlstring(); + test_ret += test_xmlunicode(); + test_ret += test_xmlwriter(); + test_ret += test_xpath(); + test_ret += test_xpathInternals(); + test_ret += test_xpointer(); + + printf("Total: %d functions, %d tests, %d errors\n", + function_tests, call_tests, test_ret); + return(test_ret); +} + + +static int +test_UTF8ToHtml(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + int ret_val; + unsigned char * out; /* a pointer to an array of bytes to store the result */ + int n_out; + int * outlen; /* the length of @out */ + int n_outlen; + unsigned char * in; /* a pointer to an array of UTF-8 chars */ + int n_in; + int * inlen; /* the length of @in */ + int n_inlen; + + for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) { + for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) { + for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) { + for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) { + mem_base = xmlMemBlocks(); + out = gen_unsigned_char_ptr(n_out, 0); + outlen = gen_int_ptr(n_outlen, 1); + in = gen_const_unsigned_char_ptr(n_in, 2); + inlen = gen_int_ptr(n_inlen, 3); + + ret_val = UTF8ToHtml(out, outlen, (const unsigned char *)in, inlen); + desret_int(ret_val); + call_tests++; + des_unsigned_char_ptr(n_out, out, 0); + des_int_ptr(n_outlen, outlen, 1); + des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2); + des_int_ptr(n_inlen, inlen, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in UTF8ToHtml", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_out); + printf(" %d", n_outlen); + printf(" %d", n_in); + printf(" %d", n_inlen); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +#ifdef LIBXML_HTML_ENABLED + +#define gen_nb_const_htmlElemDesc_ptr 1 +static htmlElemDesc * gen_const_htmlElemDesc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_const_htmlElemDesc_ptr(int no ATTRIBUTE_UNUSED, const htmlElemDesc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_htmlAttrAllowed(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + htmlStatus ret_val; + htmlElemDesc * elt; /* HTML element */ + int n_elt; + xmlChar * attr; /* HTML attribute */ + int n_attr; + int legacy; /* whether to allow deprecated attributes */ + int n_legacy; + + for (n_elt = 0;n_elt < gen_nb_const_htmlElemDesc_ptr;n_elt++) { + for (n_attr = 0;n_attr < gen_nb_const_xmlChar_ptr;n_attr++) { + for (n_legacy = 0;n_legacy < gen_nb_int;n_legacy++) { + mem_base = xmlMemBlocks(); + elt = gen_const_htmlElemDesc_ptr(n_elt, 0); + attr = gen_const_xmlChar_ptr(n_attr, 1); + legacy = gen_int(n_legacy, 2); + + ret_val = htmlAttrAllowed((const htmlElemDesc *)elt, (const xmlChar *)attr, legacy); + desret_htmlStatus(ret_val); + call_tests++; + des_const_htmlElemDesc_ptr(n_elt, (const htmlElemDesc *)elt, 0); + des_const_xmlChar_ptr(n_attr, (const xmlChar *)attr, 1); + des_int(n_legacy, legacy, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlAttrAllowed", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_elt); + printf(" %d", n_attr); + printf(" %d", n_legacy); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +#ifdef LIBXML_HTML_ENABLED + +#define gen_nb_htmlNodePtr 1 +static htmlNodePtr gen_htmlNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_htmlNodePtr(int no ATTRIBUTE_UNUSED, htmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_htmlAutoCloseTag(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + int ret_val; + htmlDocPtr doc; /* the HTML document */ + int n_doc; + xmlChar * name; /* The tag name */ + int n_name; + htmlNodePtr elem; /* the HTML element */ + int n_elem; + + for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_elem = 0;n_elem < gen_nb_htmlNodePtr;n_elem++) { + mem_base = xmlMemBlocks(); + doc = gen_htmlDocPtr(n_doc, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + elem = gen_htmlNodePtr(n_elem, 2); + + ret_val = htmlAutoCloseTag(doc, (const xmlChar *)name, elem); + desret_int(ret_val); + call_tests++; + des_htmlDocPtr(n_doc, doc, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_htmlNodePtr(n_elem, elem, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlAutoCloseTag", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_name); + printf(" %d", n_elem); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlCreateMemoryParserCtxt(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + htmlParserCtxtPtr ret_val; + char * buffer; /* a pointer to a char array */ + int n_buffer; + int size; /* the size of the array */ + int n_size; + + for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + mem_base = xmlMemBlocks(); + buffer = gen_const_char_ptr(n_buffer, 0); + size = gen_int(n_size, 1); + if ((buffer != NULL) && + (size > (int) strlen((const char *) buffer) + 1)) + continue; + + ret_val = htmlCreateMemoryParserCtxt((const char *)buffer, size); + desret_htmlParserCtxtPtr(ret_val); + call_tests++; + des_const_char_ptr(n_buffer, (const char *)buffer, 0); + des_int(n_size, size, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlCreateMemoryParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buffer); + printf(" %d", n_size); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +#ifdef LIBXML_HTML_ENABLED + +#define gen_nb_htmlSAXHandlerPtr 1 +static htmlSAXHandlerPtr gen_htmlSAXHandlerPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_htmlSAXHandlerPtr(int no ATTRIBUTE_UNUSED, htmlSAXHandlerPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_htmlCreatePushParserCtxt(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_PUSH_ENABLED) + int mem_base; + htmlParserCtxtPtr ret_val; + htmlSAXHandlerPtr sax; /* a SAX handler */ + int n_sax; + void * user_data; /* The user data returned on SAX callbacks */ + int n_user_data; + char * chunk; /* a pointer to an array of chars */ + int n_chunk; + int size; /* number of chars in the array */ + int n_size; + const char * filename; /* an optional file name or URI */ + int n_filename; + xmlCharEncoding enc; /* an optional encoding */ + int n_enc; + + for (n_sax = 0;n_sax < gen_nb_htmlSAXHandlerPtr;n_sax++) { + for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) { + for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) { + for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) { + mem_base = xmlMemBlocks(); + sax = gen_htmlSAXHandlerPtr(n_sax, 0); + user_data = gen_userdata(n_user_data, 1); + chunk = gen_const_char_ptr(n_chunk, 2); + size = gen_int(n_size, 3); + filename = gen_fileoutput(n_filename, 4); + enc = gen_xmlCharEncoding(n_enc, 5); + if ((chunk != NULL) && + (size > (int) strlen((const char *) chunk) + 1)) + continue; + + ret_val = htmlCreatePushParserCtxt(sax, user_data, (const char *)chunk, size, filename, enc); + desret_htmlParserCtxtPtr(ret_val); + call_tests++; + des_htmlSAXHandlerPtr(n_sax, sax, 0); + des_userdata(n_user_data, user_data, 1); + des_const_char_ptr(n_chunk, (const char *)chunk, 2); + des_int(n_size, size, 3); + des_fileoutput(n_filename, filename, 4); + des_xmlCharEncoding(n_enc, enc, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlCreatePushParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_sax); + printf(" %d", n_user_data); + printf(" %d", n_chunk); + printf(" %d", n_size); + printf(" %d", n_filename); + printf(" %d", n_enc); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlCtxtReadDoc(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + htmlDocPtr ret_val; + htmlParserCtxtPtr ctxt; /* an HTML parser context */ + int n_ctxt; + xmlChar * cur; /* a pointer to a zero terminated string */ + int n_cur; + const char * URL; /* the base URL to use for the document */ + int n_URL; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + int options; /* a combination of htmlParserOption(s) */ + int n_options; + + for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) { + for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) { + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_options = 0;n_options < gen_nb_int;n_options++) { + mem_base = xmlMemBlocks(); + ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0); + cur = gen_const_xmlChar_ptr(n_cur, 1); + URL = gen_filepath(n_URL, 2); + encoding = gen_const_char_ptr(n_encoding, 3); + options = gen_int(n_options, 4); + + ret_val = htmlCtxtReadDoc(ctxt, (const xmlChar *)cur, URL, (const char *)encoding, options); + desret_htmlDocPtr(ret_val); + call_tests++; + des_htmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1); + des_filepath(n_URL, URL, 2); + des_const_char_ptr(n_encoding, (const char *)encoding, 3); + des_int(n_options, options, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlCtxtReadDoc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_cur); + printf(" %d", n_URL); + printf(" %d", n_encoding); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlCtxtReadFile(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + htmlDocPtr ret_val; + htmlParserCtxtPtr ctxt; /* an HTML parser context */ + int n_ctxt; + const char * filename; /* a file or URL */ + int n_filename; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + int options; /* a combination of htmlParserOption(s) */ + int n_options; + + for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) { + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_options = 0;n_options < gen_nb_int;n_options++) { + ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0); + filename = gen_filepath(n_filename, 1); + encoding = gen_const_char_ptr(n_encoding, 2); + options = gen_int(n_options, 3); + + ret_val = htmlCtxtReadFile(ctxt, filename, (const char *)encoding, options); + desret_htmlDocPtr(ret_val); + call_tests++; + des_htmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_filepath(n_filename, filename, 1); + des_const_char_ptr(n_encoding, (const char *)encoding, 2); + des_int(n_options, options, 3); + xmlResetLastError(); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlCtxtReadMemory(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + htmlDocPtr ret_val; + htmlParserCtxtPtr ctxt; /* an HTML parser context */ + int n_ctxt; + char * buffer; /* a pointer to a char array */ + int n_buffer; + int size; /* the size of the array */ + int n_size; + const char * URL; /* the base URL to use for the document */ + int n_URL; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + int options; /* a combination of htmlParserOption(s) */ + int n_options; + + for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) { + for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_options = 0;n_options < gen_nb_int;n_options++) { + mem_base = xmlMemBlocks(); + ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0); + buffer = gen_const_char_ptr(n_buffer, 1); + size = gen_int(n_size, 2); + URL = gen_filepath(n_URL, 3); + encoding = gen_const_char_ptr(n_encoding, 4); + options = gen_int(n_options, 5); + if ((buffer != NULL) && + (size > (int) strlen((const char *) buffer) + 1)) + continue; + + ret_val = htmlCtxtReadMemory(ctxt, (const char *)buffer, size, URL, (const char *)encoding, options); + desret_htmlDocPtr(ret_val); + call_tests++; + des_htmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_const_char_ptr(n_buffer, (const char *)buffer, 1); + des_int(n_size, size, 2); + des_filepath(n_URL, URL, 3); + des_const_char_ptr(n_encoding, (const char *)encoding, 4); + des_int(n_options, options, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlCtxtReadMemory", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_buffer); + printf(" %d", n_size); + printf(" %d", n_URL); + printf(" %d", n_encoding); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlCtxtReset(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + htmlParserCtxtPtr ctxt; /* an HTML parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0); + + htmlCtxtReset(ctxt); + call_tests++; + des_htmlParserCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlCtxtReset", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlCtxtUseOptions(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + int ret_val; + htmlParserCtxtPtr ctxt; /* an HTML parser context */ + int n_ctxt; + int options; /* a combination of htmlParserOption(s) */ + int n_options; + + for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) { + for (n_options = 0;n_options < gen_nb_int;n_options++) { + mem_base = xmlMemBlocks(); + ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0); + options = gen_int(n_options, 1); + + ret_val = htmlCtxtUseOptions(ctxt, options); + desret_int(ret_val); + call_tests++; + des_htmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_int(n_options, options, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlCtxtUseOptions", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_options); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlElementAllowedHere(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + int ret_val; + htmlElemDesc * parent; /* HTML parent element */ + int n_parent; + xmlChar * elt; /* HTML element */ + int n_elt; + + for (n_parent = 0;n_parent < gen_nb_const_htmlElemDesc_ptr;n_parent++) { + for (n_elt = 0;n_elt < gen_nb_const_xmlChar_ptr;n_elt++) { + mem_base = xmlMemBlocks(); + parent = gen_const_htmlElemDesc_ptr(n_parent, 0); + elt = gen_const_xmlChar_ptr(n_elt, 1); + + ret_val = htmlElementAllowedHere((const htmlElemDesc *)parent, (const xmlChar *)elt); + desret_int(ret_val); + call_tests++; + des_const_htmlElemDesc_ptr(n_parent, (const htmlElemDesc *)parent, 0); + des_const_xmlChar_ptr(n_elt, (const xmlChar *)elt, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlElementAllowedHere", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_parent); + printf(" %d", n_elt); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlElementStatusHere(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + htmlStatus ret_val; + htmlElemDesc * parent; /* HTML parent element */ + int n_parent; + htmlElemDesc * elt; /* HTML element */ + int n_elt; + + for (n_parent = 0;n_parent < gen_nb_const_htmlElemDesc_ptr;n_parent++) { + for (n_elt = 0;n_elt < gen_nb_const_htmlElemDesc_ptr;n_elt++) { + mem_base = xmlMemBlocks(); + parent = gen_const_htmlElemDesc_ptr(n_parent, 0); + elt = gen_const_htmlElemDesc_ptr(n_elt, 1); + + ret_val = htmlElementStatusHere((const htmlElemDesc *)parent, (const htmlElemDesc *)elt); + desret_htmlStatus(ret_val); + call_tests++; + des_const_htmlElemDesc_ptr(n_parent, (const htmlElemDesc *)parent, 0); + des_const_htmlElemDesc_ptr(n_elt, (const htmlElemDesc *)elt, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlElementStatusHere", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_parent); + printf(" %d", n_elt); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlEncodeEntities(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + int ret_val; + unsigned char * out; /* a pointer to an array of bytes to store the result */ + int n_out; + int * outlen; /* the length of @out */ + int n_outlen; + unsigned char * in; /* a pointer to an array of UTF-8 chars */ + int n_in; + int * inlen; /* the length of @in */ + int n_inlen; + int quoteChar; /* the quote character to escape (' or ") or zero. */ + int n_quoteChar; + + for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) { + for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) { + for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) { + for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) { + for (n_quoteChar = 0;n_quoteChar < gen_nb_int;n_quoteChar++) { + mem_base = xmlMemBlocks(); + out = gen_unsigned_char_ptr(n_out, 0); + outlen = gen_int_ptr(n_outlen, 1); + in = gen_const_unsigned_char_ptr(n_in, 2); + inlen = gen_int_ptr(n_inlen, 3); + quoteChar = gen_int(n_quoteChar, 4); + + ret_val = htmlEncodeEntities(out, outlen, (const unsigned char *)in, inlen, quoteChar); + desret_int(ret_val); + call_tests++; + des_unsigned_char_ptr(n_out, out, 0); + des_int_ptr(n_outlen, outlen, 1); + des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2); + des_int_ptr(n_inlen, inlen, 3); + des_int(n_quoteChar, quoteChar, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlEncodeEntities", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_out); + printf(" %d", n_outlen); + printf(" %d", n_in); + printf(" %d", n_inlen); + printf(" %d", n_quoteChar); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlEntityLookup(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + const htmlEntityDesc * ret_val; + xmlChar * name; /* the entity name */ + int n_name; + + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + name = gen_const_xmlChar_ptr(n_name, 0); + + ret_val = htmlEntityLookup((const xmlChar *)name); + desret_const_htmlEntityDesc_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlEntityLookup", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_name); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlEntityValueLookup(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + const htmlEntityDesc * ret_val; + unsigned int value; /* the entity's unicode value */ + int n_value; + + for (n_value = 0;n_value < gen_nb_unsigned_int;n_value++) { + mem_base = xmlMemBlocks(); + value = gen_unsigned_int(n_value, 0); + + ret_val = htmlEntityValueLookup(value); + desret_const_htmlEntityDesc_ptr(ret_val); + call_tests++; + des_unsigned_int(n_value, value, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlEntityValueLookup", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_value); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlHandleOmittedElem(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + int ret_val; + int val; /* int 0 or 1 */ + int n_val; + + for (n_val = 0;n_val < gen_nb_int;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_int(n_val, 0); + + ret_val = htmlHandleOmittedElem(val); + desret_int(ret_val); + call_tests++; + des_int(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlHandleOmittedElem", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlIsAutoClosed(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + int ret_val; + htmlDocPtr doc; /* the HTML document */ + int n_doc; + htmlNodePtr elem; /* the HTML element */ + int n_elem; + + for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) { + for (n_elem = 0;n_elem < gen_nb_htmlNodePtr;n_elem++) { + mem_base = xmlMemBlocks(); + doc = gen_htmlDocPtr(n_doc, 0); + elem = gen_htmlNodePtr(n_elem, 1); + + ret_val = htmlIsAutoClosed(doc, elem); + desret_int(ret_val); + call_tests++; + des_htmlDocPtr(n_doc, doc, 0); + des_htmlNodePtr(n_elem, elem, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlIsAutoClosed", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_elem); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlIsScriptAttribute(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + int ret_val; + xmlChar * name; /* an attribute name */ + int n_name; + + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + name = gen_const_xmlChar_ptr(n_name, 0); + + ret_val = htmlIsScriptAttribute((const xmlChar *)name); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlIsScriptAttribute", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_name); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlNewParserCtxt(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + htmlParserCtxtPtr ret_val; + + mem_base = xmlMemBlocks(); + + ret_val = htmlNewParserCtxt(); + desret_htmlParserCtxtPtr(ret_val); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlNewParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlNodeStatus(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + htmlStatus ret_val; + htmlNodePtr node; /* an htmlNodePtr in a tree */ + int n_node; + int legacy; /* whether to allow deprecated elements (YES is faster here for Element nodes) */ + int n_legacy; + + for (n_node = 0;n_node < gen_nb_const_htmlNodePtr;n_node++) { + for (n_legacy = 0;n_legacy < gen_nb_int;n_legacy++) { + mem_base = xmlMemBlocks(); + node = gen_const_htmlNodePtr(n_node, 0); + legacy = gen_int(n_legacy, 1); + + ret_val = htmlNodeStatus((const htmlNodePtr)node, legacy); + desret_htmlStatus(ret_val); + call_tests++; + des_const_htmlNodePtr(n_node, (const htmlNodePtr)node, 0); + des_int(n_legacy, legacy, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlNodeStatus", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_legacy); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlParseCharRef(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + int ret_val; + htmlParserCtxtPtr ctxt; /* an HTML parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0); + + ret_val = htmlParseCharRef(ctxt); + desret_int(ret_val); + call_tests++; + des_htmlParserCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlParseCharRef", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlParseChunk(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_PUSH_ENABLED) + int mem_base; + int ret_val; + htmlParserCtxtPtr ctxt; /* an HTML parser context */ + int n_ctxt; + char * chunk; /* an char array */ + int n_chunk; + int size; /* the size in byte of the chunk */ + int n_size; + int terminate; /* last chunk indicator */ + int n_terminate; + + for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) { + for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + for (n_terminate = 0;n_terminate < gen_nb_int;n_terminate++) { + mem_base = xmlMemBlocks(); + ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0); + chunk = gen_const_char_ptr(n_chunk, 1); + size = gen_int(n_size, 2); + terminate = gen_int(n_terminate, 3); + if ((chunk != NULL) && + (size > (int) strlen((const char *) chunk) + 1)) + continue; + + ret_val = htmlParseChunk(ctxt, (const char *)chunk, size, terminate); + if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;} + desret_int(ret_val); + call_tests++; + des_htmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_const_char_ptr(n_chunk, (const char *)chunk, 1); + des_int(n_size, size, 2); + des_int(n_terminate, terminate, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlParseChunk", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_chunk); + printf(" %d", n_size); + printf(" %d", n_terminate); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlParseDoc(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + htmlDocPtr ret_val; + xmlChar * cur; /* a pointer to an array of xmlChar */ + int n_cur; + char * encoding; /* a free form C string describing the HTML document encoding, or NULL */ + int n_encoding; + + for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + mem_base = xmlMemBlocks(); + cur = gen_const_xmlChar_ptr(n_cur, 0); + encoding = gen_const_char_ptr(n_encoding, 1); + + ret_val = htmlParseDoc((const xmlChar *)cur, (const char *)encoding); + desret_htmlDocPtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0); + des_const_char_ptr(n_encoding, (const char *)encoding, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlParseDoc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_encoding); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlParseDocument(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + int ret_val; + htmlParserCtxtPtr ctxt; /* an HTML parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0); + + ret_val = htmlParseDocument(ctxt); + if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;} + desret_int(ret_val); + call_tests++; + des_htmlParserCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlParseDocument", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlParseElement(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + htmlParserCtxtPtr ctxt; /* an HTML parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0); + + htmlParseElement(ctxt); + call_tests++; + des_htmlParserCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlParseElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlParseEntityRef(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + const htmlEntityDesc * ret_val; + htmlParserCtxtPtr ctxt; /* an HTML parser context */ + int n_ctxt; + xmlChar ** str; /* location to store the entity name */ + int n_str; + + for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) { + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr_ptr;n_str++) { + mem_base = xmlMemBlocks(); + ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0); + str = gen_const_xmlChar_ptr_ptr(n_str, 1); + + ret_val = htmlParseEntityRef(ctxt, (const xmlChar **)str); + desret_const_htmlEntityDesc_ptr(ret_val); + call_tests++; + des_htmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_const_xmlChar_ptr_ptr(n_str, (const xmlChar **)str, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlParseEntityRef", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_str); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlParseFile(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + htmlDocPtr ret_val; + const char * filename; /* the filename */ + int n_filename; + char * encoding; /* a free form C string describing the HTML document encoding, or NULL */ + int n_encoding; + + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + filename = gen_filepath(n_filename, 0); + encoding = gen_const_char_ptr(n_encoding, 1); + + ret_val = htmlParseFile(filename, (const char *)encoding); + desret_htmlDocPtr(ret_val); + call_tests++; + des_filepath(n_filename, filename, 0); + des_const_char_ptr(n_encoding, (const char *)encoding, 1); + xmlResetLastError(); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlReadDoc(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + htmlDocPtr ret_val; + xmlChar * cur; /* a pointer to a zero terminated string */ + int n_cur; + const char * URL; /* the base URL to use for the document */ + int n_URL; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + int options; /* a combination of htmlParserOption(s) */ + int n_options; + + for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) { + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_options = 0;n_options < gen_nb_int;n_options++) { + mem_base = xmlMemBlocks(); + cur = gen_const_xmlChar_ptr(n_cur, 0); + URL = gen_filepath(n_URL, 1); + encoding = gen_const_char_ptr(n_encoding, 2); + options = gen_int(n_options, 3); + + ret_val = htmlReadDoc((const xmlChar *)cur, URL, (const char *)encoding, options); + desret_htmlDocPtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0); + des_filepath(n_URL, URL, 1); + des_const_char_ptr(n_encoding, (const char *)encoding, 2); + des_int(n_options, options, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlReadDoc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_URL); + printf(" %d", n_encoding); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlReadFile(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + htmlDocPtr ret_val; + const char * filename; /* a file or URL */ + int n_filename; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + int options; /* a combination of htmlParserOption(s) */ + int n_options; + + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_options = 0;n_options < gen_nb_int;n_options++) { + mem_base = xmlMemBlocks(); + filename = gen_filepath(n_filename, 0); + encoding = gen_const_char_ptr(n_encoding, 1); + options = gen_int(n_options, 2); + + ret_val = htmlReadFile(filename, (const char *)encoding, options); + desret_htmlDocPtr(ret_val); + call_tests++; + des_filepath(n_filename, filename, 0); + des_const_char_ptr(n_encoding, (const char *)encoding, 1); + des_int(n_options, options, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlReadFile", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf(" %d", n_encoding); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlReadMemory(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + htmlDocPtr ret_val; + char * buffer; /* a pointer to a char array */ + int n_buffer; + int size; /* the size of the array */ + int n_size; + const char * URL; /* the base URL to use for the document */ + int n_URL; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + int options; /* a combination of htmlParserOption(s) */ + int n_options; + + for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_options = 0;n_options < gen_nb_int;n_options++) { + mem_base = xmlMemBlocks(); + buffer = gen_const_char_ptr(n_buffer, 0); + size = gen_int(n_size, 1); + URL = gen_filepath(n_URL, 2); + encoding = gen_const_char_ptr(n_encoding, 3); + options = gen_int(n_options, 4); + if ((buffer != NULL) && + (size > (int) strlen((const char *) buffer) + 1)) + continue; + + ret_val = htmlReadMemory((const char *)buffer, size, URL, (const char *)encoding, options); + desret_htmlDocPtr(ret_val); + call_tests++; + des_const_char_ptr(n_buffer, (const char *)buffer, 0); + des_int(n_size, size, 1); + des_filepath(n_URL, URL, 2); + des_const_char_ptr(n_encoding, (const char *)encoding, 3); + des_int(n_options, options, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlReadMemory", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buffer); + printf(" %d", n_size); + printf(" %d", n_URL); + printf(" %d", n_encoding); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlSAXParseDoc(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + htmlDocPtr ret_val; + xmlChar * cur; /* a pointer to an array of xmlChar */ + int n_cur; + char * encoding; /* a free form C string describing the HTML document encoding, or NULL */ + int n_encoding; + htmlSAXHandlerPtr sax; /* the SAX handler block */ + int n_sax; + void * userData; /* if using SAX, this pointer will be provided on callbacks. */ + int n_userData; + + for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_sax = 0;n_sax < gen_nb_htmlSAXHandlerPtr;n_sax++) { + for (n_userData = 0;n_userData < gen_nb_userdata;n_userData++) { + mem_base = xmlMemBlocks(); + cur = gen_const_xmlChar_ptr(n_cur, 0); + encoding = gen_const_char_ptr(n_encoding, 1); + sax = gen_htmlSAXHandlerPtr(n_sax, 2); + userData = gen_userdata(n_userData, 3); + + ret_val = htmlSAXParseDoc((const xmlChar *)cur, (const char *)encoding, sax, userData); + desret_htmlDocPtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0); + des_const_char_ptr(n_encoding, (const char *)encoding, 1); + des_htmlSAXHandlerPtr(n_sax, sax, 2); + des_userdata(n_userData, userData, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlSAXParseDoc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_encoding); + printf(" %d", n_sax); + printf(" %d", n_userData); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlSAXParseFile(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + htmlDocPtr ret_val; + const char * filename; /* the filename */ + int n_filename; + char * encoding; /* a free form C string describing the HTML document encoding, or NULL */ + int n_encoding; + htmlSAXHandlerPtr sax; /* the SAX handler block */ + int n_sax; + void * userData; /* if using SAX, this pointer will be provided on callbacks. */ + int n_userData; + + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_sax = 0;n_sax < gen_nb_htmlSAXHandlerPtr;n_sax++) { + for (n_userData = 0;n_userData < gen_nb_userdata;n_userData++) { + mem_base = xmlMemBlocks(); + filename = gen_filepath(n_filename, 0); + encoding = gen_const_char_ptr(n_encoding, 1); + sax = gen_htmlSAXHandlerPtr(n_sax, 2); + userData = gen_userdata(n_userData, 3); + + ret_val = htmlSAXParseFile(filename, (const char *)encoding, sax, userData); + desret_htmlDocPtr(ret_val); + call_tests++; + des_filepath(n_filename, filename, 0); + des_const_char_ptr(n_encoding, (const char *)encoding, 1); + des_htmlSAXHandlerPtr(n_sax, sax, 2); + des_userdata(n_userData, userData, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlSAXParseFile", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf(" %d", n_encoding); + printf(" %d", n_sax); + printf(" %d", n_userData); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlTagLookup(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + +static int +test_HTMLparser(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing HTMLparser : 32 of 38 functions ...\n"); + test_ret += test_UTF8ToHtml(); + test_ret += test_htmlAttrAllowed(); + test_ret += test_htmlAutoCloseTag(); + test_ret += test_htmlCreateMemoryParserCtxt(); + test_ret += test_htmlCreatePushParserCtxt(); + test_ret += test_htmlCtxtReadDoc(); + test_ret += test_htmlCtxtReadFile(); + test_ret += test_htmlCtxtReadMemory(); + test_ret += test_htmlCtxtReset(); + test_ret += test_htmlCtxtUseOptions(); + test_ret += test_htmlElementAllowedHere(); + test_ret += test_htmlElementStatusHere(); + test_ret += test_htmlEncodeEntities(); + test_ret += test_htmlEntityLookup(); + test_ret += test_htmlEntityValueLookup(); + test_ret += test_htmlHandleOmittedElem(); + test_ret += test_htmlIsAutoClosed(); + test_ret += test_htmlIsScriptAttribute(); + test_ret += test_htmlNewParserCtxt(); + test_ret += test_htmlNodeStatus(); + test_ret += test_htmlParseCharRef(); + test_ret += test_htmlParseChunk(); + test_ret += test_htmlParseDoc(); + test_ret += test_htmlParseDocument(); + test_ret += test_htmlParseElement(); + test_ret += test_htmlParseEntityRef(); + test_ret += test_htmlParseFile(); + test_ret += test_htmlReadDoc(); + test_ret += test_htmlReadFile(); + test_ret += test_htmlReadMemory(); + test_ret += test_htmlSAXParseDoc(); + test_ret += test_htmlSAXParseFile(); + test_ret += test_htmlTagLookup(); + + if (test_ret != 0) + printf("Module HTMLparser: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_htmlDocContentDumpFormatOutput(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlOutputBufferPtr buf; /* the HTML buffer output */ + int n_buf; + xmlDocPtr cur; /* the document */ + int n_cur; + char * encoding; /* the encoding string */ + int n_encoding; + int format; /* should formatting spaces been added */ + int n_format; + + for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) { + for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_format = 0;n_format < gen_nb_int;n_format++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlOutputBufferPtr(n_buf, 0); + cur = gen_xmlDocPtr(n_cur, 1); + encoding = gen_const_char_ptr(n_encoding, 2); + format = gen_int(n_format, 3); + + htmlDocContentDumpFormatOutput(buf, cur, (const char *)encoding, format); + call_tests++; + des_xmlOutputBufferPtr(n_buf, buf, 0); + des_xmlDocPtr(n_cur, cur, 1); + des_const_char_ptr(n_encoding, (const char *)encoding, 2); + des_int(n_format, format, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlDocContentDumpFormatOutput", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_cur); + printf(" %d", n_encoding); + printf(" %d", n_format); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlDocContentDumpOutput(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlOutputBufferPtr buf; /* the HTML buffer output */ + int n_buf; + xmlDocPtr cur; /* the document */ + int n_cur; + char * encoding; /* the encoding string */ + int n_encoding; + + for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) { + for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlOutputBufferPtr(n_buf, 0); + cur = gen_xmlDocPtr(n_cur, 1); + encoding = gen_const_char_ptr(n_encoding, 2); + + htmlDocContentDumpOutput(buf, cur, (const char *)encoding); + call_tests++; + des_xmlOutputBufferPtr(n_buf, buf, 0); + des_xmlDocPtr(n_cur, cur, 1); + des_const_char_ptr(n_encoding, (const char *)encoding, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlDocContentDumpOutput", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_cur); + printf(" %d", n_encoding); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlDocDump(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + FILE * f; /* the FILE* */ + int n_f; + xmlDocPtr cur; /* the document */ + int n_cur; + + for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) { + for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) { + mem_base = xmlMemBlocks(); + f = gen_FILE_ptr(n_f, 0); + cur = gen_xmlDocPtr(n_cur, 1); + + ret_val = htmlDocDump(f, cur); + desret_int(ret_val); + call_tests++; + des_FILE_ptr(n_f, f, 0); + des_xmlDocPtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlDocDump", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_f); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +#define gen_nb_xmlChar_ptr_ptr 1 +static xmlChar ** gen_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, xmlChar ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_htmlDocDumpMemory(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlDocPtr cur; /* the document */ + int n_cur; + xmlChar ** mem; /* OUT: the memory pointer */ + int n_mem; + int * size; /* OUT: the memory length */ + int n_size; + + for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) { + for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) { + for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlDocPtr(n_cur, 0); + mem = gen_xmlChar_ptr_ptr(n_mem, 1); + size = gen_int_ptr(n_size, 2); + + htmlDocDumpMemory(cur, mem, size); + call_tests++; + des_xmlDocPtr(n_cur, cur, 0); + des_xmlChar_ptr_ptr(n_mem, mem, 1); + des_int_ptr(n_size, size, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlDocDumpMemory", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_mem); + printf(" %d", n_size); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlDocDumpMemoryFormat(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlDocPtr cur; /* the document */ + int n_cur; + xmlChar ** mem; /* OUT: the memory pointer */ + int n_mem; + int * size; /* OUT: the memory length */ + int n_size; + int format; /* should formatting spaces been added */ + int n_format; + + for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) { + for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) { + for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) { + for (n_format = 0;n_format < gen_nb_int;n_format++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlDocPtr(n_cur, 0); + mem = gen_xmlChar_ptr_ptr(n_mem, 1); + size = gen_int_ptr(n_size, 2); + format = gen_int(n_format, 3); + + htmlDocDumpMemoryFormat(cur, mem, size, format); + call_tests++; + des_xmlDocPtr(n_cur, cur, 0); + des_xmlChar_ptr_ptr(n_mem, mem, 1); + des_int_ptr(n_size, size, 2); + des_int(n_format, format, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlDocDumpMemoryFormat", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_mem); + printf(" %d", n_size); + printf(" %d", n_format); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlGetMetaEncoding(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + const xmlChar * ret_val; + htmlDocPtr doc; /* the document */ + int n_doc; + + for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) { + mem_base = xmlMemBlocks(); + doc = gen_htmlDocPtr(n_doc, 0); + + ret_val = htmlGetMetaEncoding(doc); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_htmlDocPtr(n_doc, doc, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlGetMetaEncoding", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlIsBooleanAttr(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + int ret_val; + xmlChar * name; /* the name of the attribute to check */ + int n_name; + + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + name = gen_const_xmlChar_ptr(n_name, 0); + + ret_val = htmlIsBooleanAttr((const xmlChar *)name); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlIsBooleanAttr", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_name); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlNewDoc(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + htmlDocPtr ret_val; + xmlChar * URI; /* URI for the dtd, or NULL */ + int n_URI; + xmlChar * ExternalID; /* the external ID of the DTD, or NULL */ + int n_ExternalID; + + for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) { + for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) { + mem_base = xmlMemBlocks(); + URI = gen_const_xmlChar_ptr(n_URI, 0); + ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 1); + + ret_val = htmlNewDoc((const xmlChar *)URI, (const xmlChar *)ExternalID); + desret_htmlDocPtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0); + des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlNewDoc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_URI); + printf(" %d", n_ExternalID); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlNewDocNoDtD(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + htmlDocPtr ret_val; + xmlChar * URI; /* URI for the dtd, or NULL */ + int n_URI; + xmlChar * ExternalID; /* the external ID of the DTD, or NULL */ + int n_ExternalID; + + for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) { + for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) { + mem_base = xmlMemBlocks(); + URI = gen_const_xmlChar_ptr(n_URI, 0); + ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 1); + + ret_val = htmlNewDocNoDtD((const xmlChar *)URI, (const xmlChar *)ExternalID); + desret_htmlDocPtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0); + des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlNewDocNoDtD", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_URI); + printf(" %d", n_ExternalID); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlNodeDump(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + xmlBufferPtr buf; /* the HTML buffer output */ + int n_buf; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNodePtr cur; /* the current node */ + int n_cur; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + doc = gen_xmlDocPtr(n_doc, 1); + cur = gen_xmlNodePtr(n_cur, 2); + + ret_val = htmlNodeDump(buf, doc, cur); + desret_int(ret_val); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNodePtr(n_cur, cur, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlNodeDump", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_doc); + printf(" %d", n_cur); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlNodeDumpFile(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + FILE * out; /* the FILE pointer */ + int n_out; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNodePtr cur; /* the current node */ + int n_cur; + + for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + mem_base = xmlMemBlocks(); + out = gen_FILE_ptr(n_out, 0); + doc = gen_xmlDocPtr(n_doc, 1); + cur = gen_xmlNodePtr(n_cur, 2); + + htmlNodeDumpFile(out, doc, cur); + call_tests++; + des_FILE_ptr(n_out, out, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNodePtr(n_cur, cur, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlNodeDumpFile", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_out); + printf(" %d", n_doc); + printf(" %d", n_cur); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlNodeDumpFileFormat(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + FILE * out; /* the FILE pointer */ + int n_out; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNodePtr cur; /* the current node */ + int n_cur; + char * encoding; /* the document encoding */ + int n_encoding; + int format; /* should formatting spaces been added */ + int n_format; + + for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_format = 0;n_format < gen_nb_int;n_format++) { + mem_base = xmlMemBlocks(); + out = gen_FILE_ptr(n_out, 0); + doc = gen_xmlDocPtr(n_doc, 1); + cur = gen_xmlNodePtr(n_cur, 2); + encoding = gen_const_char_ptr(n_encoding, 3); + format = gen_int(n_format, 4); + + ret_val = htmlNodeDumpFileFormat(out, doc, cur, (const char *)encoding, format); + desret_int(ret_val); + call_tests++; + des_FILE_ptr(n_out, out, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNodePtr(n_cur, cur, 2); + des_const_char_ptr(n_encoding, (const char *)encoding, 3); + des_int(n_format, format, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlNodeDumpFileFormat", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_out); + printf(" %d", n_doc); + printf(" %d", n_cur); + printf(" %d", n_encoding); + printf(" %d", n_format); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlNodeDumpFormatOutput(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlOutputBufferPtr buf; /* the HTML buffer output */ + int n_buf; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNodePtr cur; /* the current node */ + int n_cur; + char * encoding; /* the encoding string */ + int n_encoding; + int format; /* should formatting spaces been added */ + int n_format; + + for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_format = 0;n_format < gen_nb_int;n_format++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlOutputBufferPtr(n_buf, 0); + doc = gen_xmlDocPtr(n_doc, 1); + cur = gen_xmlNodePtr(n_cur, 2); + encoding = gen_const_char_ptr(n_encoding, 3); + format = gen_int(n_format, 4); + + htmlNodeDumpFormatOutput(buf, doc, cur, (const char *)encoding, format); + call_tests++; + des_xmlOutputBufferPtr(n_buf, buf, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNodePtr(n_cur, cur, 2); + des_const_char_ptr(n_encoding, (const char *)encoding, 3); + des_int(n_format, format, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlNodeDumpFormatOutput", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_doc); + printf(" %d", n_cur); + printf(" %d", n_encoding); + printf(" %d", n_format); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlNodeDumpOutput(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlOutputBufferPtr buf; /* the HTML buffer output */ + int n_buf; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNodePtr cur; /* the current node */ + int n_cur; + char * encoding; /* the encoding string */ + int n_encoding; + + for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlOutputBufferPtr(n_buf, 0); + doc = gen_xmlDocPtr(n_doc, 1); + cur = gen_xmlNodePtr(n_cur, 2); + encoding = gen_const_char_ptr(n_encoding, 3); + + htmlNodeDumpOutput(buf, doc, cur, (const char *)encoding); + call_tests++; + des_xmlOutputBufferPtr(n_buf, buf, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNodePtr(n_cur, cur, 2); + des_const_char_ptr(n_encoding, (const char *)encoding, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlNodeDumpOutput", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_doc); + printf(" %d", n_cur); + printf(" %d", n_encoding); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlSaveFile(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + const char * filename; /* the filename (or URL) */ + int n_filename; + xmlDocPtr cur; /* the document */ + int n_cur; + + for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) { + for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) { + mem_base = xmlMemBlocks(); + filename = gen_fileoutput(n_filename, 0); + cur = gen_xmlDocPtr(n_cur, 1); + + ret_val = htmlSaveFile(filename, cur); + desret_int(ret_val); + call_tests++; + des_fileoutput(n_filename, filename, 0); + des_xmlDocPtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlSaveFile", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlSaveFileEnc(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + const char * filename; /* the filename */ + int n_filename; + xmlDocPtr cur; /* the document */ + int n_cur; + char * encoding; /* the document encoding */ + int n_encoding; + + for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) { + for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + mem_base = xmlMemBlocks(); + filename = gen_fileoutput(n_filename, 0); + cur = gen_xmlDocPtr(n_cur, 1); + encoding = gen_const_char_ptr(n_encoding, 2); + + ret_val = htmlSaveFileEnc(filename, cur, (const char *)encoding); + desret_int(ret_val); + call_tests++; + des_fileoutput(n_filename, filename, 0); + des_xmlDocPtr(n_cur, cur, 1); + des_const_char_ptr(n_encoding, (const char *)encoding, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlSaveFileEnc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf(" %d", n_cur); + printf(" %d", n_encoding); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlSaveFileFormat(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + const char * filename; /* the filename */ + int n_filename; + xmlDocPtr cur; /* the document */ + int n_cur; + char * encoding; /* the document encoding */ + int n_encoding; + int format; /* should formatting spaces been added */ + int n_format; + + for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) { + for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_format = 0;n_format < gen_nb_int;n_format++) { + mem_base = xmlMemBlocks(); + filename = gen_fileoutput(n_filename, 0); + cur = gen_xmlDocPtr(n_cur, 1); + encoding = gen_const_char_ptr(n_encoding, 2); + format = gen_int(n_format, 3); + + ret_val = htmlSaveFileFormat(filename, cur, (const char *)encoding, format); + desret_int(ret_val); + call_tests++; + des_fileoutput(n_filename, filename, 0); + des_xmlDocPtr(n_cur, cur, 1); + des_const_char_ptr(n_encoding, (const char *)encoding, 2); + des_int(n_format, format, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlSaveFileFormat", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf(" %d", n_cur); + printf(" %d", n_encoding); + printf(" %d", n_format); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlSetMetaEncoding(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + int ret_val; + htmlDocPtr doc; /* the document */ + int n_doc; + xmlChar * encoding; /* the encoding string */ + int n_encoding; + + for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) { + for (n_encoding = 0;n_encoding < gen_nb_const_xmlChar_ptr;n_encoding++) { + mem_base = xmlMemBlocks(); + doc = gen_htmlDocPtr(n_doc, 0); + encoding = gen_const_xmlChar_ptr(n_encoding, 1); + + ret_val = htmlSetMetaEncoding(doc, (const xmlChar *)encoding); + desret_int(ret_val); + call_tests++; + des_htmlDocPtr(n_doc, doc, 0); + des_const_xmlChar_ptr(n_encoding, (const xmlChar *)encoding, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlSetMetaEncoding", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_encoding); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_HTMLtree(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing HTMLtree : 18 of 18 functions ...\n"); + test_ret += test_htmlDocContentDumpFormatOutput(); + test_ret += test_htmlDocContentDumpOutput(); + test_ret += test_htmlDocDump(); + test_ret += test_htmlDocDumpMemory(); + test_ret += test_htmlDocDumpMemoryFormat(); + test_ret += test_htmlGetMetaEncoding(); + test_ret += test_htmlIsBooleanAttr(); + test_ret += test_htmlNewDoc(); + test_ret += test_htmlNewDocNoDtD(); + test_ret += test_htmlNodeDump(); + test_ret += test_htmlNodeDumpFile(); + test_ret += test_htmlNodeDumpFileFormat(); + test_ret += test_htmlNodeDumpFormatOutput(); + test_ret += test_htmlNodeDumpOutput(); + test_ret += test_htmlSaveFile(); + test_ret += test_htmlSaveFileEnc(); + test_ret += test_htmlSaveFileFormat(); + test_ret += test_htmlSetMetaEncoding(); + + if (test_ret != 0) + printf("Module HTMLtree: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_docbDefaultSAXHandlerInit(void) { + int test_ret = 0; + +#if defined(LIBXML_DOCB_ENABLED) +#ifdef LIBXML_DOCB_ENABLED + int mem_base; + + mem_base = xmlMemBlocks(); + + docbDefaultSAXHandlerInit(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in docbDefaultSAXHandlerInit", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_htmlDefaultSAXHandlerInit(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) +#ifdef LIBXML_HTML_ENABLED + int mem_base; + + mem_base = xmlMemBlocks(); + + htmlDefaultSAXHandlerInit(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlDefaultSAXHandlerInit", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlDefaultSAXHandlerInit(void) { + int test_ret = 0; + + int mem_base; + + mem_base = xmlMemBlocks(); + + xmlDefaultSAXHandlerInit(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDefaultSAXHandlerInit", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; + + return(test_ret); +} + + +#define gen_nb_xmlEnumerationPtr 1 +static xmlEnumerationPtr gen_xmlEnumerationPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlEnumerationPtr(int no ATTRIBUTE_UNUSED, xmlEnumerationPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlSAX2AttributeDecl(void) { + int test_ret = 0; + + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * elem; /* the name of the element */ + int n_elem; + xmlChar * fullname; /* the attribute name */ + int n_fullname; + int type; /* the attribute type */ + int n_type; + int def; /* the type of default value */ + int n_def; + xmlChar * defaultValue; /* the attribute default value */ + int n_defaultValue; + xmlEnumerationPtr tree; /* the tree of enumerated value set */ + int n_tree; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) { + for (n_fullname = 0;n_fullname < gen_nb_const_xmlChar_ptr;n_fullname++) { + for (n_type = 0;n_type < gen_nb_int;n_type++) { + for (n_def = 0;n_def < gen_nb_int;n_def++) { + for (n_defaultValue = 0;n_defaultValue < gen_nb_const_xmlChar_ptr;n_defaultValue++) { + for (n_tree = 0;n_tree < gen_nb_xmlEnumerationPtr;n_tree++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + elem = gen_const_xmlChar_ptr(n_elem, 1); + fullname = gen_const_xmlChar_ptr(n_fullname, 2); + type = gen_int(n_type, 3); + def = gen_int(n_def, 4); + defaultValue = gen_const_xmlChar_ptr(n_defaultValue, 5); + tree = gen_xmlEnumerationPtr(n_tree, 6); + + xmlSAX2AttributeDecl(ctx, (const xmlChar *)elem, (const xmlChar *)fullname, type, def, (const xmlChar *)defaultValue, tree); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 1); + des_const_xmlChar_ptr(n_fullname, (const xmlChar *)fullname, 2); + des_int(n_type, type, 3); + des_int(n_def, def, 4); + des_const_xmlChar_ptr(n_defaultValue, (const xmlChar *)defaultValue, 5); + des_xmlEnumerationPtr(n_tree, tree, 6); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2AttributeDecl", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_elem); + printf(" %d", n_fullname); + printf(" %d", n_type); + printf(" %d", n_def); + printf(" %d", n_defaultValue); + printf(" %d", n_tree); + printf("\n"); + } + } + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2CDataBlock(void) { + int test_ret = 0; + + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * value; /* The pcdata content */ + int n_value; + int len; /* the block length */ + int n_len; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + value = gen_const_xmlChar_ptr(n_value, 1); + len = gen_int(n_len, 2); + if ((value != NULL) && + (len > (int) strlen((const char *) value) + 1)) + continue; + + xmlSAX2CDataBlock(ctx, (const xmlChar *)value, len); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2CDataBlock", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_value); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2Characters(void) { + int test_ret = 0; + + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * ch; /* a xmlChar string */ + int n_ch; + int len; /* the number of xmlChar */ + int n_len; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_ch = 0;n_ch < gen_nb_const_xmlChar_ptr;n_ch++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + ch = gen_const_xmlChar_ptr(n_ch, 1); + len = gen_int(n_len, 2); + if ((ch != NULL) && + (len > (int) strlen((const char *) ch) + 1)) + continue; + + xmlSAX2Characters(ctx, (const xmlChar *)ch, len); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_ch, (const xmlChar *)ch, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2Characters", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_ch); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2Comment(void) { + int test_ret = 0; + + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * value; /* the xmlSAX2Comment content */ + int n_value; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + value = gen_const_xmlChar_ptr(n_value, 1); + + xmlSAX2Comment(ctx, (const xmlChar *)value); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2Comment", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_value); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2ElementDecl(void) { + int test_ret = 0; + + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * name; /* the element name */ + int n_name; + int type; /* the element type */ + int n_type; + xmlElementContentPtr content; /* the element value tree */ + int n_content; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_type = 0;n_type < gen_nb_int;n_type++) { + for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + type = gen_int(n_type, 2); + content = gen_xmlElementContentPtr(n_content, 3); + + xmlSAX2ElementDecl(ctx, (const xmlChar *)name, type, content); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_int(n_type, type, 2); + des_xmlElementContentPtr(n_content, content, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2ElementDecl", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_name); + printf(" %d", n_type); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2EndDocument(void) { + int test_ret = 0; + + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + + xmlSAX2EndDocument(ctx); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2EndDocument", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2EndElement(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * name; /* The element name */ + int n_name; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + xmlSAX2EndElement(ctx, (const xmlChar *)name); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2EndElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlSAX2EndElementNs(void) { + int test_ret = 0; + + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * localname; /* the local name of the element */ + int n_localname; + xmlChar * prefix; /* the element namespace prefix if available */ + int n_prefix; + xmlChar * URI; /* the element namespace name if available */ + int n_URI; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_localname = 0;n_localname < gen_nb_const_xmlChar_ptr;n_localname++) { + for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) { + for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + localname = gen_const_xmlChar_ptr(n_localname, 1); + prefix = gen_const_xmlChar_ptr(n_prefix, 2); + URI = gen_const_xmlChar_ptr(n_URI, 3); + + xmlSAX2EndElementNs(ctx, (const xmlChar *)localname, (const xmlChar *)prefix, (const xmlChar *)URI); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_localname, (const xmlChar *)localname, 1); + des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2); + des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2EndElementNs", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_localname); + printf(" %d", n_prefix); + printf(" %d", n_URI); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2EntityDecl(void) { + int test_ret = 0; + + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * name; /* the entity name */ + int n_name; + int type; /* the entity type */ + int n_type; + xmlChar * publicId; /* The public ID of the entity */ + int n_publicId; + xmlChar * systemId; /* The system ID of the entity */ + int n_systemId; + xmlChar * content; /* the entity value (without processing). */ + int n_content; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_type = 0;n_type < gen_nb_int;n_type++) { + for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) { + for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) { + for (n_content = 0;n_content < gen_nb_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + type = gen_int(n_type, 2); + publicId = gen_const_xmlChar_ptr(n_publicId, 3); + systemId = gen_const_xmlChar_ptr(n_systemId, 4); + content = gen_xmlChar_ptr(n_content, 5); + + xmlSAX2EntityDecl(ctx, (const xmlChar *)name, type, (const xmlChar *)publicId, (const xmlChar *)systemId, content); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_int(n_type, type, 2); + des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 3); + des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 4); + des_xmlChar_ptr(n_content, content, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2EntityDecl", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_name); + printf(" %d", n_type); + printf(" %d", n_publicId); + printf(" %d", n_systemId); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2ExternalSubset(void) { + int test_ret = 0; + + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * name; /* the root element name */ + int n_name; + xmlChar * ExternalID; /* the external ID */ + int n_ExternalID; + xmlChar * SystemID; /* the SYSTEM ID (e.g. filename or URL) */ + int n_SystemID; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) { + for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2); + SystemID = gen_const_xmlChar_ptr(n_SystemID, 3); + + xmlSAX2ExternalSubset(ctx, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2); + des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2ExternalSubset", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_name); + printf(" %d", n_ExternalID); + printf(" %d", n_SystemID); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2GetColumnNumber(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + + ret_val = xmlSAX2GetColumnNumber(ctx); + desret_int(ret_val); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2GetColumnNumber", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2GetEntity(void) { + int test_ret = 0; + + int mem_base; + xmlEntityPtr ret_val; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * name; /* The entity name */ + int n_name; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlSAX2GetEntity(ctx, (const xmlChar *)name); + desret_xmlEntityPtr(ret_val); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2GetEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2GetLineNumber(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + + ret_val = xmlSAX2GetLineNumber(ctx); + desret_int(ret_val); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2GetLineNumber", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2GetParameterEntity(void) { + int test_ret = 0; + + int mem_base; + xmlEntityPtr ret_val; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * name; /* The entity name */ + int n_name; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlSAX2GetParameterEntity(ctx, (const xmlChar *)name); + desret_xmlEntityPtr(ret_val); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2GetParameterEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2GetPublicId(void) { + int test_ret = 0; + + int mem_base; + const xmlChar * ret_val; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + + ret_val = xmlSAX2GetPublicId(ctx); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2GetPublicId", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2GetSystemId(void) { + int test_ret = 0; + + int mem_base; + const xmlChar * ret_val; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + + ret_val = xmlSAX2GetSystemId(ctx); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2GetSystemId", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2HasExternalSubset(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + + ret_val = xmlSAX2HasExternalSubset(ctx); + desret_int(ret_val); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2HasExternalSubset", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2HasInternalSubset(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + + ret_val = xmlSAX2HasInternalSubset(ctx); + desret_int(ret_val); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2HasInternalSubset", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2IgnorableWhitespace(void) { + int test_ret = 0; + + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * ch; /* a xmlChar string */ + int n_ch; + int len; /* the number of xmlChar */ + int n_len; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_ch = 0;n_ch < gen_nb_const_xmlChar_ptr;n_ch++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + ch = gen_const_xmlChar_ptr(n_ch, 1); + len = gen_int(n_len, 2); + if ((ch != NULL) && + (len > (int) strlen((const char *) ch) + 1)) + continue; + + xmlSAX2IgnorableWhitespace(ctx, (const xmlChar *)ch, len); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_ch, (const xmlChar *)ch, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2IgnorableWhitespace", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_ch); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +#define gen_nb_xmlSAXHandler_ptr 1 +static xmlSAXHandler * gen_xmlSAXHandler_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlSAXHandler_ptr(int no ATTRIBUTE_UNUSED, xmlSAXHandler * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlSAX2InitDefaultSAXHandler(void) { + int test_ret = 0; + + int mem_base; + xmlSAXHandler * hdlr; /* the SAX handler */ + int n_hdlr; + int warning; /* flag if non-zero sets the handler warning procedure */ + int n_warning; + + for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) { + for (n_warning = 0;n_warning < gen_nb_int;n_warning++) { + mem_base = xmlMemBlocks(); + hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0); + warning = gen_int(n_warning, 1); + + xmlSAX2InitDefaultSAXHandler(hdlr, warning); + call_tests++; + des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0); + des_int(n_warning, warning, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2InitDefaultSAXHandler", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_hdlr); + printf(" %d", n_warning); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2InitDocbDefaultSAXHandler(void) { + int test_ret = 0; + +#if defined(LIBXML_DOCB_ENABLED) + int mem_base; + xmlSAXHandler * hdlr; /* the SAX handler */ + int n_hdlr; + + for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) { + mem_base = xmlMemBlocks(); + hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0); + + xmlSAX2InitDocbDefaultSAXHandler(hdlr); + call_tests++; + des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2InitDocbDefaultSAXHandler", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_hdlr); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSAX2InitHtmlDefaultSAXHandler(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + xmlSAXHandler * hdlr; /* the SAX handler */ + int n_hdlr; + + for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) { + mem_base = xmlMemBlocks(); + hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0); + + xmlSAX2InitHtmlDefaultSAXHandler(hdlr); + call_tests++; + des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2InitHtmlDefaultSAXHandler", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_hdlr); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSAX2InternalSubset(void) { + int test_ret = 0; + + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * name; /* the root element name */ + int n_name; + xmlChar * ExternalID; /* the external ID */ + int n_ExternalID; + xmlChar * SystemID; /* the SYSTEM ID (e.g. filename or URL) */ + int n_SystemID; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) { + for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2); + SystemID = gen_const_xmlChar_ptr(n_SystemID, 3); + + xmlSAX2InternalSubset(ctx, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2); + des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2InternalSubset", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_name); + printf(" %d", n_ExternalID); + printf(" %d", n_SystemID); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2IsStandalone(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + + ret_val = xmlSAX2IsStandalone(ctx); + desret_int(ret_val); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2IsStandalone", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2NotationDecl(void) { + int test_ret = 0; + + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * name; /* The name of the notation */ + int n_name; + xmlChar * publicId; /* The public ID of the entity */ + int n_publicId; + xmlChar * systemId; /* The system ID of the entity */ + int n_systemId; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) { + for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + publicId = gen_const_xmlChar_ptr(n_publicId, 2); + systemId = gen_const_xmlChar_ptr(n_systemId, 3); + + xmlSAX2NotationDecl(ctx, (const xmlChar *)name, (const xmlChar *)publicId, (const xmlChar *)systemId); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 2); + des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2NotationDecl", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_name); + printf(" %d", n_publicId); + printf(" %d", n_systemId); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2ProcessingInstruction(void) { + int test_ret = 0; + + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * target; /* the target name */ + int n_target; + xmlChar * data; /* the PI data's */ + int n_data; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_target = 0;n_target < gen_nb_const_xmlChar_ptr;n_target++) { + for (n_data = 0;n_data < gen_nb_const_xmlChar_ptr;n_data++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + target = gen_const_xmlChar_ptr(n_target, 1); + data = gen_const_xmlChar_ptr(n_data, 2); + + xmlSAX2ProcessingInstruction(ctx, (const xmlChar *)target, (const xmlChar *)data); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_target, (const xmlChar *)target, 1); + des_const_xmlChar_ptr(n_data, (const xmlChar *)data, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2ProcessingInstruction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_target); + printf(" %d", n_data); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2Reference(void) { + int test_ret = 0; + + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * name; /* The entity name */ + int n_name; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + xmlSAX2Reference(ctx, (const xmlChar *)name); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2Reference", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2ResolveEntity(void) { + int test_ret = 0; + + int mem_base; + xmlParserInputPtr ret_val; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * publicId; /* The public ID of the entity */ + int n_publicId; + xmlChar * systemId; /* The system ID of the entity */ + int n_systemId; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) { + for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + publicId = gen_const_xmlChar_ptr(n_publicId, 1); + systemId = gen_const_xmlChar_ptr(n_systemId, 2); + + ret_val = xmlSAX2ResolveEntity(ctx, (const xmlChar *)publicId, (const xmlChar *)systemId); + desret_xmlParserInputPtr(ret_val); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 1); + des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2ResolveEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_publicId); + printf(" %d", n_systemId); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +#define gen_nb_xmlSAXLocatorPtr 1 +static xmlSAXLocatorPtr gen_xmlSAXLocatorPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlSAXLocatorPtr(int no ATTRIBUTE_UNUSED, xmlSAXLocatorPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlSAX2SetDocumentLocator(void) { + int test_ret = 0; + + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlSAXLocatorPtr loc; /* A SAX Locator */ + int n_loc; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_loc = 0;n_loc < gen_nb_xmlSAXLocatorPtr;n_loc++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + loc = gen_xmlSAXLocatorPtr(n_loc, 1); + + xmlSAX2SetDocumentLocator(ctx, loc); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_xmlSAXLocatorPtr(n_loc, loc, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2SetDocumentLocator", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_loc); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2StartDocument(void) { + int test_ret = 0; + + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + + xmlSAX2StartDocument(ctx); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2StartDocument", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2StartElement(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * fullname; /* The element name, including namespace prefix */ + int n_fullname; + xmlChar ** atts; /* An array of name/value attributes pairs, NULL terminated */ + int n_atts; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_fullname = 0;n_fullname < gen_nb_const_xmlChar_ptr;n_fullname++) { + for (n_atts = 0;n_atts < gen_nb_const_xmlChar_ptr_ptr;n_atts++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + fullname = gen_const_xmlChar_ptr(n_fullname, 1); + atts = gen_const_xmlChar_ptr_ptr(n_atts, 2); + + xmlSAX2StartElement(ctx, (const xmlChar *)fullname, (const xmlChar **)atts); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_fullname, (const xmlChar *)fullname, 1); + des_const_xmlChar_ptr_ptr(n_atts, (const xmlChar **)atts, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2StartElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_fullname); + printf(" %d", n_atts); + printf("\n"); + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlSAX2StartElementNs(void) { + int test_ret = 0; + + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * localname; /* the local name of the element */ + int n_localname; + xmlChar * prefix; /* the element namespace prefix if available */ + int n_prefix; + xmlChar * URI; /* the element namespace name if available */ + int n_URI; + int nb_namespaces; /* number of namespace definitions on that node */ + int n_nb_namespaces; + xmlChar ** namespaces; /* pointer to the array of prefix/URI pairs namespace definitions */ + int n_namespaces; + int nb_attributes; /* the number of attributes on that node */ + int n_nb_attributes; + int nb_defaulted; /* the number of defaulted attributes. */ + int n_nb_defaulted; + xmlChar ** attributes; /* pointer to the array of (localname/prefix/URI/value/end) attribute values. */ + int n_attributes; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_localname = 0;n_localname < gen_nb_const_xmlChar_ptr;n_localname++) { + for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) { + for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) { + for (n_nb_namespaces = 0;n_nb_namespaces < gen_nb_int;n_nb_namespaces++) { + for (n_namespaces = 0;n_namespaces < gen_nb_const_xmlChar_ptr_ptr;n_namespaces++) { + for (n_nb_attributes = 0;n_nb_attributes < gen_nb_int;n_nb_attributes++) { + for (n_nb_defaulted = 0;n_nb_defaulted < gen_nb_int;n_nb_defaulted++) { + for (n_attributes = 0;n_attributes < gen_nb_const_xmlChar_ptr_ptr;n_attributes++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + localname = gen_const_xmlChar_ptr(n_localname, 1); + prefix = gen_const_xmlChar_ptr(n_prefix, 2); + URI = gen_const_xmlChar_ptr(n_URI, 3); + nb_namespaces = gen_int(n_nb_namespaces, 4); + namespaces = gen_const_xmlChar_ptr_ptr(n_namespaces, 5); + nb_attributes = gen_int(n_nb_attributes, 6); + nb_defaulted = gen_int(n_nb_defaulted, 7); + attributes = gen_const_xmlChar_ptr_ptr(n_attributes, 8); + + xmlSAX2StartElementNs(ctx, (const xmlChar *)localname, (const xmlChar *)prefix, (const xmlChar *)URI, nb_namespaces, (const xmlChar **)namespaces, nb_attributes, nb_defaulted, (const xmlChar **)attributes); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_localname, (const xmlChar *)localname, 1); + des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2); + des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 3); + des_int(n_nb_namespaces, nb_namespaces, 4); + des_const_xmlChar_ptr_ptr(n_namespaces, (const xmlChar **)namespaces, 5); + des_int(n_nb_attributes, nb_attributes, 6); + des_int(n_nb_defaulted, nb_defaulted, 7); + des_const_xmlChar_ptr_ptr(n_attributes, (const xmlChar **)attributes, 8); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2StartElementNs", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_localname); + printf(" %d", n_prefix); + printf(" %d", n_URI); + printf(" %d", n_nb_namespaces); + printf(" %d", n_namespaces); + printf(" %d", n_nb_attributes); + printf(" %d", n_nb_defaulted); + printf(" %d", n_attributes); + printf("\n"); + } + } + } + } + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAX2UnparsedEntityDecl(void) { + int test_ret = 0; + + int mem_base; + void * ctx; /* the user data (XML parser context) */ + int n_ctx; + xmlChar * name; /* The name of the entity */ + int n_name; + xmlChar * publicId; /* The public ID of the entity */ + int n_publicId; + xmlChar * systemId; /* The system ID of the entity */ + int n_systemId; + xmlChar * notationName; /* the name of the notation */ + int n_notationName; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) { + for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) { + for (n_notationName = 0;n_notationName < gen_nb_const_xmlChar_ptr;n_notationName++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + publicId = gen_const_xmlChar_ptr(n_publicId, 2); + systemId = gen_const_xmlChar_ptr(n_systemId, 3); + notationName = gen_const_xmlChar_ptr(n_notationName, 4); + + xmlSAX2UnparsedEntityDecl(ctx, (const xmlChar *)name, (const xmlChar *)publicId, (const xmlChar *)systemId, (const xmlChar *)notationName); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 2); + des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 3); + des_const_xmlChar_ptr(n_notationName, (const xmlChar *)notationName, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAX2UnparsedEntityDecl", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_name); + printf(" %d", n_publicId); + printf(" %d", n_systemId); + printf(" %d", n_notationName); + printf("\n"); + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSAXDefaultVersion(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + int ret_val; + int version; /* the version, 1 or 2 */ + int n_version; + + for (n_version = 0;n_version < gen_nb_int;n_version++) { + mem_base = xmlMemBlocks(); + version = gen_int(n_version, 0); + + ret_val = xmlSAXDefaultVersion(version); + desret_int(ret_val); + call_tests++; + des_int(n_version, version, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAXDefaultVersion", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_version); + printf("\n"); + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlSAXVersion(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlSAXHandler * hdlr; /* the SAX handler */ + int n_hdlr; + int version; /* the version, 1 or 2 */ + int n_version; + + for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) { + for (n_version = 0;n_version < gen_nb_int;n_version++) { + mem_base = xmlMemBlocks(); + hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0); + version = gen_int(n_version, 1); + + ret_val = xmlSAXVersion(hdlr, version); + desret_int(ret_val); + call_tests++; + des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0); + des_int(n_version, version, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAXVersion", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_hdlr); + printf(" %d", n_version); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + +static int +test_SAX2(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing SAX2 : 38 of 38 functions ...\n"); + test_ret += test_docbDefaultSAXHandlerInit(); + test_ret += test_htmlDefaultSAXHandlerInit(); + test_ret += test_xmlDefaultSAXHandlerInit(); + test_ret += test_xmlSAX2AttributeDecl(); + test_ret += test_xmlSAX2CDataBlock(); + test_ret += test_xmlSAX2Characters(); + test_ret += test_xmlSAX2Comment(); + test_ret += test_xmlSAX2ElementDecl(); + test_ret += test_xmlSAX2EndDocument(); + test_ret += test_xmlSAX2EndElement(); + test_ret += test_xmlSAX2EndElementNs(); + test_ret += test_xmlSAX2EntityDecl(); + test_ret += test_xmlSAX2ExternalSubset(); + test_ret += test_xmlSAX2GetColumnNumber(); + test_ret += test_xmlSAX2GetEntity(); + test_ret += test_xmlSAX2GetLineNumber(); + test_ret += test_xmlSAX2GetParameterEntity(); + test_ret += test_xmlSAX2GetPublicId(); + test_ret += test_xmlSAX2GetSystemId(); + test_ret += test_xmlSAX2HasExternalSubset(); + test_ret += test_xmlSAX2HasInternalSubset(); + test_ret += test_xmlSAX2IgnorableWhitespace(); + test_ret += test_xmlSAX2InitDefaultSAXHandler(); + test_ret += test_xmlSAX2InitDocbDefaultSAXHandler(); + test_ret += test_xmlSAX2InitHtmlDefaultSAXHandler(); + test_ret += test_xmlSAX2InternalSubset(); + test_ret += test_xmlSAX2IsStandalone(); + test_ret += test_xmlSAX2NotationDecl(); + test_ret += test_xmlSAX2ProcessingInstruction(); + test_ret += test_xmlSAX2Reference(); + test_ret += test_xmlSAX2ResolveEntity(); + test_ret += test_xmlSAX2SetDocumentLocator(); + test_ret += test_xmlSAX2StartDocument(); + test_ret += test_xmlSAX2StartElement(); + test_ret += test_xmlSAX2StartElementNs(); + test_ret += test_xmlSAX2UnparsedEntityDecl(); + test_ret += test_xmlSAXDefaultVersion(); + test_ret += test_xmlSAXVersion(); + + if (test_ret != 0) + printf("Module SAX2: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlC14NDocDumpMemory(void) { + int test_ret = 0; + +#if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + xmlDocPtr doc; /* the XML document for canonization */ + int n_doc; + xmlNodeSetPtr nodes; /* the nodes set to be included in the canonized image or NULL if all document nodes should be included */ + int n_nodes; + int mode; /* the c14n mode (see @xmlC14NMode) */ + int n_mode; + xmlChar ** inclusive_ns_prefixes; /* the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise) */ + int n_inclusive_ns_prefixes; + int with_comments; /* include comments in the result (!=0) or not (==0) */ + int n_with_comments; + xmlChar ** doc_txt_ptr; /* the memory pointer for allocated canonical XML text; the caller of this functions is responsible for calling xmlFree() to free allocated memory */ + int n_doc_txt_ptr; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) { + for (n_mode = 0;n_mode < gen_nb_int;n_mode++) { + for (n_inclusive_ns_prefixes = 0;n_inclusive_ns_prefixes < gen_nb_xmlChar_ptr_ptr;n_inclusive_ns_prefixes++) { + for (n_with_comments = 0;n_with_comments < gen_nb_int;n_with_comments++) { + for (n_doc_txt_ptr = 0;n_doc_txt_ptr < gen_nb_xmlChar_ptr_ptr;n_doc_txt_ptr++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + nodes = gen_xmlNodeSetPtr(n_nodes, 1); + mode = gen_int(n_mode, 2); + inclusive_ns_prefixes = gen_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, 3); + with_comments = gen_int(n_with_comments, 4); + doc_txt_ptr = gen_xmlChar_ptr_ptr(n_doc_txt_ptr, 5); + + ret_val = xmlC14NDocDumpMemory(doc, nodes, mode, inclusive_ns_prefixes, with_comments, doc_txt_ptr); + desret_int(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlNodeSetPtr(n_nodes, nodes, 1); + des_int(n_mode, mode, 2); + des_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, inclusive_ns_prefixes, 3); + des_int(n_with_comments, with_comments, 4); + des_xmlChar_ptr_ptr(n_doc_txt_ptr, doc_txt_ptr, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlC14NDocDumpMemory", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_nodes); + printf(" %d", n_mode); + printf(" %d", n_inclusive_ns_prefixes); + printf(" %d", n_with_comments); + printf(" %d", n_doc_txt_ptr); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlC14NDocSave(void) { + int test_ret = 0; + +#if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + xmlDocPtr doc; /* the XML document for canonization */ + int n_doc; + xmlNodeSetPtr nodes; /* the nodes set to be included in the canonized image or NULL if all document nodes should be included */ + int n_nodes; + int mode; /* the c14n mode (see @xmlC14NMode) */ + int n_mode; + xmlChar ** inclusive_ns_prefixes; /* the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise) */ + int n_inclusive_ns_prefixes; + int with_comments; /* include comments in the result (!=0) or not (==0) */ + int n_with_comments; + const char * filename; /* the filename to store canonical XML image */ + int n_filename; + int compression; /* the compression level (zlib required): -1 - libxml default, 0 - uncompressed, >0 - compression level */ + int n_compression; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) { + for (n_mode = 0;n_mode < gen_nb_int;n_mode++) { + for (n_inclusive_ns_prefixes = 0;n_inclusive_ns_prefixes < gen_nb_xmlChar_ptr_ptr;n_inclusive_ns_prefixes++) { + for (n_with_comments = 0;n_with_comments < gen_nb_int;n_with_comments++) { + for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) { + for (n_compression = 0;n_compression < gen_nb_int;n_compression++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + nodes = gen_xmlNodeSetPtr(n_nodes, 1); + mode = gen_int(n_mode, 2); + inclusive_ns_prefixes = gen_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, 3); + with_comments = gen_int(n_with_comments, 4); + filename = gen_fileoutput(n_filename, 5); + compression = gen_int(n_compression, 6); + + ret_val = xmlC14NDocSave(doc, nodes, mode, inclusive_ns_prefixes, with_comments, filename, compression); + desret_int(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlNodeSetPtr(n_nodes, nodes, 1); + des_int(n_mode, mode, 2); + des_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, inclusive_ns_prefixes, 3); + des_int(n_with_comments, with_comments, 4); + des_fileoutput(n_filename, filename, 5); + des_int(n_compression, compression, 6); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlC14NDocSave", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_nodes); + printf(" %d", n_mode); + printf(" %d", n_inclusive_ns_prefixes); + printf(" %d", n_with_comments); + printf(" %d", n_filename); + printf(" %d", n_compression); + printf("\n"); + } + } + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlC14NDocSaveTo(void) { + int test_ret = 0; + +#if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + xmlDocPtr doc; /* the XML document for canonization */ + int n_doc; + xmlNodeSetPtr nodes; /* the nodes set to be included in the canonized image or NULL if all document nodes should be included */ + int n_nodes; + int mode; /* the c14n mode (see @xmlC14NMode) */ + int n_mode; + xmlChar ** inclusive_ns_prefixes; /* the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise) */ + int n_inclusive_ns_prefixes; + int with_comments; /* include comments in the result (!=0) or not (==0) */ + int n_with_comments; + xmlOutputBufferPtr buf; /* the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output */ + int n_buf; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) { + for (n_mode = 0;n_mode < gen_nb_int;n_mode++) { + for (n_inclusive_ns_prefixes = 0;n_inclusive_ns_prefixes < gen_nb_xmlChar_ptr_ptr;n_inclusive_ns_prefixes++) { + for (n_with_comments = 0;n_with_comments < gen_nb_int;n_with_comments++) { + for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + nodes = gen_xmlNodeSetPtr(n_nodes, 1); + mode = gen_int(n_mode, 2); + inclusive_ns_prefixes = gen_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, 3); + with_comments = gen_int(n_with_comments, 4); + buf = gen_xmlOutputBufferPtr(n_buf, 5); + + ret_val = xmlC14NDocSaveTo(doc, nodes, mode, inclusive_ns_prefixes, with_comments, buf); + desret_int(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlNodeSetPtr(n_nodes, nodes, 1); + des_int(n_mode, mode, 2); + des_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, inclusive_ns_prefixes, 3); + des_int(n_with_comments, with_comments, 4); + des_xmlOutputBufferPtr(n_buf, buf, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlC14NDocSaveTo", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_nodes); + printf(" %d", n_mode); + printf(" %d", n_inclusive_ns_prefixes); + printf(" %d", n_with_comments); + printf(" %d", n_buf); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlC14NExecute(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + +static int +test_c14n(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing c14n : 3 of 4 functions ...\n"); + test_ret += test_xmlC14NDocDumpMemory(); + test_ret += test_xmlC14NDocSave(); + test_ret += test_xmlC14NDocSaveTo(); + test_ret += test_xmlC14NExecute(); + + if (test_ret != 0) + printf("Module c14n: %d errors\n", test_ret); + return(test_ret); +} +#ifdef LIBXML_CATALOG_ENABLED + +#define gen_nb_xmlCatalogPtr 1 +static xmlCatalogPtr gen_xmlCatalogPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlCatalogPtr(int no ATTRIBUTE_UNUSED, xmlCatalogPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlACatalogAdd(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int mem_base; + int ret_val; + xmlCatalogPtr catal; /* a Catalog */ + int n_catal; + xmlChar * type; /* the type of record to add to the catalog */ + int n_type; + xmlChar * orig; /* the system, public or prefix to match */ + int n_orig; + xmlChar * replace; /* the replacement value for the match */ + int n_replace; + + for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) { + for (n_type = 0;n_type < gen_nb_const_xmlChar_ptr;n_type++) { + for (n_orig = 0;n_orig < gen_nb_const_xmlChar_ptr;n_orig++) { + for (n_replace = 0;n_replace < gen_nb_const_xmlChar_ptr;n_replace++) { + mem_base = xmlMemBlocks(); + catal = gen_xmlCatalogPtr(n_catal, 0); + type = gen_const_xmlChar_ptr(n_type, 1); + orig = gen_const_xmlChar_ptr(n_orig, 2); + replace = gen_const_xmlChar_ptr(n_replace, 3); + + ret_val = xmlACatalogAdd(catal, (const xmlChar *)type, (const xmlChar *)orig, (const xmlChar *)replace); + desret_int(ret_val); + call_tests++; + des_xmlCatalogPtr(n_catal, catal, 0); + des_const_xmlChar_ptr(n_type, (const xmlChar *)type, 1); + des_const_xmlChar_ptr(n_orig, (const xmlChar *)orig, 2); + des_const_xmlChar_ptr(n_replace, (const xmlChar *)replace, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlACatalogAdd", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_catal); + printf(" %d", n_type); + printf(" %d", n_orig); + printf(" %d", n_replace); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlACatalogDump(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlCatalogPtr catal; /* a Catalog */ + int n_catal; + FILE * out; /* the file. */ + int n_out; + + for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) { + for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) { + mem_base = xmlMemBlocks(); + catal = gen_xmlCatalogPtr(n_catal, 0); + out = gen_FILE_ptr(n_out, 1); + + xmlACatalogDump(catal, out); + call_tests++; + des_xmlCatalogPtr(n_catal, catal, 0); + des_FILE_ptr(n_out, out, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlACatalogDump", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_catal); + printf(" %d", n_out); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlACatalogRemove(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int mem_base; + int ret_val; + xmlCatalogPtr catal; /* a Catalog */ + int n_catal; + xmlChar * value; /* the value to remove */ + int n_value; + + for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + catal = gen_xmlCatalogPtr(n_catal, 0); + value = gen_const_xmlChar_ptr(n_value, 1); + + ret_val = xmlACatalogRemove(catal, (const xmlChar *)value); + desret_int(ret_val); + call_tests++; + des_xmlCatalogPtr(n_catal, catal, 0); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlACatalogRemove", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_catal); + printf(" %d", n_value); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlACatalogResolve(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlCatalogPtr catal; /* a Catalog */ + int n_catal; + xmlChar * pubID; /* the public ID string */ + int n_pubID; + xmlChar * sysID; /* the system ID string */ + int n_sysID; + + for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) { + for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) { + for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) { + mem_base = xmlMemBlocks(); + catal = gen_xmlCatalogPtr(n_catal, 0); + pubID = gen_const_xmlChar_ptr(n_pubID, 1); + sysID = gen_const_xmlChar_ptr(n_sysID, 2); + + ret_val = xmlACatalogResolve(catal, (const xmlChar *)pubID, (const xmlChar *)sysID); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlCatalogPtr(n_catal, catal, 0); + des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 1); + des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlACatalogResolve", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_catal); + printf(" %d", n_pubID); + printf(" %d", n_sysID); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlACatalogResolvePublic(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlCatalogPtr catal; /* a Catalog */ + int n_catal; + xmlChar * pubID; /* the public ID string */ + int n_pubID; + + for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) { + for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) { + mem_base = xmlMemBlocks(); + catal = gen_xmlCatalogPtr(n_catal, 0); + pubID = gen_const_xmlChar_ptr(n_pubID, 1); + + ret_val = xmlACatalogResolvePublic(catal, (const xmlChar *)pubID); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlCatalogPtr(n_catal, catal, 0); + des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlACatalogResolvePublic", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_catal); + printf(" %d", n_pubID); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlACatalogResolveSystem(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlCatalogPtr catal; /* a Catalog */ + int n_catal; + xmlChar * sysID; /* the system ID string */ + int n_sysID; + + for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) { + for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) { + mem_base = xmlMemBlocks(); + catal = gen_xmlCatalogPtr(n_catal, 0); + sysID = gen_const_xmlChar_ptr(n_sysID, 1); + + ret_val = xmlACatalogResolveSystem(catal, (const xmlChar *)sysID); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlCatalogPtr(n_catal, catal, 0); + des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlACatalogResolveSystem", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_catal); + printf(" %d", n_sysID); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlACatalogResolveURI(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlCatalogPtr catal; /* a Catalog */ + int n_catal; + xmlChar * URI; /* the URI */ + int n_URI; + + for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) { + for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) { + mem_base = xmlMemBlocks(); + catal = gen_xmlCatalogPtr(n_catal, 0); + URI = gen_const_xmlChar_ptr(n_URI, 1); + + ret_val = xmlACatalogResolveURI(catal, (const xmlChar *)URI); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlCatalogPtr(n_catal, catal, 0); + des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlACatalogResolveURI", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_catal); + printf(" %d", n_URI); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlCatalogAdd(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int mem_base; + int ret_val; + xmlChar * type; /* the type of record to add to the catalog */ + int n_type; + xmlChar * orig; /* the system, public or prefix to match */ + int n_orig; + xmlChar * replace; /* the replacement value for the match */ + int n_replace; + + for (n_type = 0;n_type < gen_nb_const_xmlChar_ptr;n_type++) { + for (n_orig = 0;n_orig < gen_nb_const_xmlChar_ptr;n_orig++) { + for (n_replace = 0;n_replace < gen_nb_const_xmlChar_ptr;n_replace++) { + mem_base = xmlMemBlocks(); + type = gen_const_xmlChar_ptr(n_type, 0); + orig = gen_const_xmlChar_ptr(n_orig, 1); + replace = gen_const_xmlChar_ptr(n_replace, 2); + + ret_val = xmlCatalogAdd((const xmlChar *)type, (const xmlChar *)orig, (const xmlChar *)replace); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_type, (const xmlChar *)type, 0); + des_const_xmlChar_ptr(n_orig, (const xmlChar *)orig, 1); + des_const_xmlChar_ptr(n_replace, (const xmlChar *)replace, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCatalogAdd", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_type); + printf(" %d", n_orig); + printf(" %d", n_replace); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlCatalogCleanup(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + + + xmlCatalogCleanup(); + call_tests++; + xmlResetLastError(); + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlCatalogConvert(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int ret_val; + + + ret_val = xmlCatalogConvert(); + desret_int(ret_val); + call_tests++; + xmlResetLastError(); + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlCatalogDump(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + FILE * out; /* the file. */ + int n_out; + + for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) { + mem_base = xmlMemBlocks(); + out = gen_FILE_ptr(n_out, 0); + + xmlCatalogDump(out); + call_tests++; + des_FILE_ptr(n_out, out, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCatalogDump", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_out); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlCatalogGetDefaults(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int mem_base; + xmlCatalogAllow ret_val; + + mem_base = xmlMemBlocks(); + + ret_val = xmlCatalogGetDefaults(); + desret_xmlCatalogAllow(ret_val); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCatalogGetDefaults", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlCatalogIsEmpty(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int mem_base; + int ret_val; + xmlCatalogPtr catal; /* should this create an SGML catalog */ + int n_catal; + + for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) { + mem_base = xmlMemBlocks(); + catal = gen_xmlCatalogPtr(n_catal, 0); + + ret_val = xmlCatalogIsEmpty(catal); + desret_int(ret_val); + call_tests++; + des_xmlCatalogPtr(n_catal, catal, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCatalogIsEmpty", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_catal); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlCatalogLocalResolve(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int mem_base; + xmlChar * ret_val; + void * catalogs; /* a document's list of catalogs */ + int n_catalogs; + xmlChar * pubID; /* the public ID string */ + int n_pubID; + xmlChar * sysID; /* the system ID string */ + int n_sysID; + + for (n_catalogs = 0;n_catalogs < gen_nb_void_ptr;n_catalogs++) { + for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) { + for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) { + mem_base = xmlMemBlocks(); + catalogs = gen_void_ptr(n_catalogs, 0); + pubID = gen_const_xmlChar_ptr(n_pubID, 1); + sysID = gen_const_xmlChar_ptr(n_sysID, 2); + + ret_val = xmlCatalogLocalResolve(catalogs, (const xmlChar *)pubID, (const xmlChar *)sysID); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_void_ptr(n_catalogs, catalogs, 0); + des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 1); + des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCatalogLocalResolve", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_catalogs); + printf(" %d", n_pubID); + printf(" %d", n_sysID); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlCatalogLocalResolveURI(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int mem_base; + xmlChar * ret_val; + void * catalogs; /* a document's list of catalogs */ + int n_catalogs; + xmlChar * URI; /* the URI */ + int n_URI; + + for (n_catalogs = 0;n_catalogs < gen_nb_void_ptr;n_catalogs++) { + for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) { + mem_base = xmlMemBlocks(); + catalogs = gen_void_ptr(n_catalogs, 0); + URI = gen_const_xmlChar_ptr(n_URI, 1); + + ret_val = xmlCatalogLocalResolveURI(catalogs, (const xmlChar *)URI); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_void_ptr(n_catalogs, catalogs, 0); + des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCatalogLocalResolveURI", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_catalogs); + printf(" %d", n_URI); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlCatalogRemove(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int ret_val; + xmlChar * value; /* the value to remove */ + int n_value; + + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + value = gen_const_xmlChar_ptr(n_value, 0); + + ret_val = xmlCatalogRemove((const xmlChar *)value); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0); + xmlResetLastError(); + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlCatalogResolve(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + xmlChar * ret_val; + xmlChar * pubID; /* the public ID string */ + int n_pubID; + xmlChar * sysID; /* the system ID string */ + int n_sysID; + + for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) { + for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) { + pubID = gen_const_xmlChar_ptr(n_pubID, 0); + sysID = gen_const_xmlChar_ptr(n_sysID, 1); + + ret_val = xmlCatalogResolve((const xmlChar *)pubID, (const xmlChar *)sysID); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 0); + des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 1); + xmlResetLastError(); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlCatalogResolvePublic(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlChar * pubID; /* the public ID string */ + int n_pubID; + + for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) { + mem_base = xmlMemBlocks(); + pubID = gen_const_xmlChar_ptr(n_pubID, 0); + + ret_val = xmlCatalogResolvePublic((const xmlChar *)pubID); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCatalogResolvePublic", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_pubID); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlCatalogResolveSystem(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlChar * sysID; /* the system ID string */ + int n_sysID; + + for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) { + mem_base = xmlMemBlocks(); + sysID = gen_const_xmlChar_ptr(n_sysID, 0); + + ret_val = xmlCatalogResolveSystem((const xmlChar *)sysID); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCatalogResolveSystem", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_sysID); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlCatalogResolveURI(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlChar * URI; /* the URI */ + int n_URI; + + for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) { + mem_base = xmlMemBlocks(); + URI = gen_const_xmlChar_ptr(n_URI, 0); + + ret_val = xmlCatalogResolveURI((const xmlChar *)URI); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCatalogResolveURI", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_URI); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlCatalogSetDefaultPrefer(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int mem_base; + xmlCatalogPrefer ret_val; + xmlCatalogPrefer prefer; /* the default preference for delegation */ + int n_prefer; + + for (n_prefer = 0;n_prefer < gen_nb_xmlCatalogPrefer;n_prefer++) { + mem_base = xmlMemBlocks(); + prefer = gen_xmlCatalogPrefer(n_prefer, 0); + + ret_val = xmlCatalogSetDefaultPrefer(prefer); + desret_xmlCatalogPrefer(ret_val); + call_tests++; + des_xmlCatalogPrefer(n_prefer, prefer, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCatalogSetDefaultPrefer", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_prefer); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlCatalogSetDefaults(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int mem_base; + xmlCatalogAllow allow; /* what catalogs should be accepted */ + int n_allow; + + for (n_allow = 0;n_allow < gen_nb_xmlCatalogAllow;n_allow++) { + mem_base = xmlMemBlocks(); + allow = gen_xmlCatalogAllow(n_allow, 0); + + xmlCatalogSetDefaults(allow); + call_tests++; + des_xmlCatalogAllow(n_allow, allow, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCatalogSetDefaults", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_allow); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlConvertSGMLCatalog(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int mem_base; + int ret_val; + xmlCatalogPtr catal; /* the catalog */ + int n_catal; + + for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) { + mem_base = xmlMemBlocks(); + catal = gen_xmlCatalogPtr(n_catal, 0); + + ret_val = xmlConvertSGMLCatalog(catal); + desret_int(ret_val); + call_tests++; + des_xmlCatalogPtr(n_catal, catal, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlConvertSGMLCatalog", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_catal); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlInitializeCatalog(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int mem_base; + + mem_base = xmlMemBlocks(); + + xmlInitializeCatalog(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlInitializeCatalog", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlLoadACatalog(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlLoadCatalog(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int ret_val; + const char * filename; /* a file path */ + int n_filename; + + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + filename = gen_filepath(n_filename, 0); + + ret_val = xmlLoadCatalog(filename); + desret_int(ret_val); + call_tests++; + des_filepath(n_filename, filename, 0); + xmlResetLastError(); + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlLoadCatalogs(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + char * pathss; /* a list of directories separated by a colon or a space. */ + int n_pathss; + + for (n_pathss = 0;n_pathss < gen_nb_const_char_ptr;n_pathss++) { + pathss = gen_const_char_ptr(n_pathss, 0); + + xmlLoadCatalogs((const char *)pathss); + call_tests++; + des_const_char_ptr(n_pathss, (const char *)pathss, 0); + xmlResetLastError(); + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlLoadSGMLSuperCatalog(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlNewCatalog(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlParseCatalogFile(void) { + int test_ret = 0; + +#if defined(LIBXML_CATALOG_ENABLED) + int mem_base; + xmlDocPtr ret_val; + const char * filename; /* the filename */ + int n_filename; + + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + mem_base = xmlMemBlocks(); + filename = gen_filepath(n_filename, 0); + + ret_val = xmlParseCatalogFile(filename); + desret_xmlDocPtr(ret_val); + call_tests++; + des_filepath(n_filename, filename, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParseCatalogFile", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_catalog(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing catalog : 27 of 36 functions ...\n"); + test_ret += test_xmlACatalogAdd(); + test_ret += test_xmlACatalogDump(); + test_ret += test_xmlACatalogRemove(); + test_ret += test_xmlACatalogResolve(); + test_ret += test_xmlACatalogResolvePublic(); + test_ret += test_xmlACatalogResolveSystem(); + test_ret += test_xmlACatalogResolveURI(); + test_ret += test_xmlCatalogAdd(); + test_ret += test_xmlCatalogCleanup(); + test_ret += test_xmlCatalogConvert(); + test_ret += test_xmlCatalogDump(); + test_ret += test_xmlCatalogGetDefaults(); + test_ret += test_xmlCatalogIsEmpty(); + test_ret += test_xmlCatalogLocalResolve(); + test_ret += test_xmlCatalogLocalResolveURI(); + test_ret += test_xmlCatalogRemove(); + test_ret += test_xmlCatalogResolve(); + test_ret += test_xmlCatalogResolvePublic(); + test_ret += test_xmlCatalogResolveSystem(); + test_ret += test_xmlCatalogResolveURI(); + test_ret += test_xmlCatalogSetDefaultPrefer(); + test_ret += test_xmlCatalogSetDefaults(); + test_ret += test_xmlConvertSGMLCatalog(); + test_ret += test_xmlInitializeCatalog(); + test_ret += test_xmlLoadACatalog(); + test_ret += test_xmlLoadCatalog(); + test_ret += test_xmlLoadCatalogs(); + test_ret += test_xmlLoadSGMLSuperCatalog(); + test_ret += test_xmlNewCatalog(); + test_ret += test_xmlParseCatalogFile(); + + if (test_ret != 0) + printf("Module catalog: %d errors\n", test_ret); + return(test_ret); +} + +#define gen_nb_const_xmlChRangeGroup_ptr 1 +static xmlChRangeGroup * gen_const_xmlChRangeGroup_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_const_xmlChRangeGroup_ptr(int no ATTRIBUTE_UNUSED, const xmlChRangeGroup * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlCharInRange(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + unsigned int val; /* character to be validated */ + int n_val; + xmlChRangeGroup * rptr; /* pointer to range to be used to validate */ + int n_rptr; + + for (n_val = 0;n_val < gen_nb_unsigned_int;n_val++) { + for (n_rptr = 0;n_rptr < gen_nb_const_xmlChRangeGroup_ptr;n_rptr++) { + mem_base = xmlMemBlocks(); + val = gen_unsigned_int(n_val, 0); + rptr = gen_const_xmlChRangeGroup_ptr(n_rptr, 1); + + ret_val = xmlCharInRange(val, (const xmlChRangeGroup *)rptr); + desret_int(ret_val); + call_tests++; + des_unsigned_int(n_val, val, 0); + des_const_xmlChRangeGroup_ptr(n_rptr, (const xmlChRangeGroup *)rptr, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCharInRange", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf(" %d", n_rptr); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlIsBaseChar(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + unsigned int ch; /* character to validate */ + int n_ch; + + for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) { + mem_base = xmlMemBlocks(); + ch = gen_unsigned_int(n_ch, 0); + + ret_val = xmlIsBaseChar(ch); + desret_int(ret_val); + call_tests++; + des_unsigned_int(n_ch, ch, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIsBaseChar", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ch); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlIsBlank(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + unsigned int ch; /* character to validate */ + int n_ch; + + for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) { + mem_base = xmlMemBlocks(); + ch = gen_unsigned_int(n_ch, 0); + + ret_val = xmlIsBlank(ch); + desret_int(ret_val); + call_tests++; + des_unsigned_int(n_ch, ch, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIsBlank", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ch); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlIsChar(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + unsigned int ch; /* character to validate */ + int n_ch; + + for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) { + mem_base = xmlMemBlocks(); + ch = gen_unsigned_int(n_ch, 0); + + ret_val = xmlIsChar(ch); + desret_int(ret_val); + call_tests++; + des_unsigned_int(n_ch, ch, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIsChar", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ch); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlIsCombining(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + unsigned int ch; /* character to validate */ + int n_ch; + + for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) { + mem_base = xmlMemBlocks(); + ch = gen_unsigned_int(n_ch, 0); + + ret_val = xmlIsCombining(ch); + desret_int(ret_val); + call_tests++; + des_unsigned_int(n_ch, ch, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIsCombining", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ch); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlIsDigit(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + unsigned int ch; /* character to validate */ + int n_ch; + + for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) { + mem_base = xmlMemBlocks(); + ch = gen_unsigned_int(n_ch, 0); + + ret_val = xmlIsDigit(ch); + desret_int(ret_val); + call_tests++; + des_unsigned_int(n_ch, ch, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIsDigit", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ch); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlIsExtender(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + unsigned int ch; /* character to validate */ + int n_ch; + + for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) { + mem_base = xmlMemBlocks(); + ch = gen_unsigned_int(n_ch, 0); + + ret_val = xmlIsExtender(ch); + desret_int(ret_val); + call_tests++; + des_unsigned_int(n_ch, ch, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIsExtender", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ch); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlIsIdeographic(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + unsigned int ch; /* character to validate */ + int n_ch; + + for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) { + mem_base = xmlMemBlocks(); + ch = gen_unsigned_int(n_ch, 0); + + ret_val = xmlIsIdeographic(ch); + desret_int(ret_val); + call_tests++; + des_unsigned_int(n_ch, ch, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIsIdeographic", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ch); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlIsPubidChar(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + unsigned int ch; /* character to validate */ + int n_ch; + + for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) { + mem_base = xmlMemBlocks(); + ch = gen_unsigned_int(n_ch, 0); + + ret_val = xmlIsPubidChar(ch); + desret_int(ret_val); + call_tests++; + des_unsigned_int(n_ch, ch, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIsPubidChar", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ch); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + +static int +test_chvalid(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing chvalid : 9 of 9 functions ...\n"); + test_ret += test_xmlCharInRange(); + test_ret += test_xmlIsBaseChar(); + test_ret += test_xmlIsBlank(); + test_ret += test_xmlIsChar(); + test_ret += test_xmlIsCombining(); + test_ret += test_xmlIsDigit(); + test_ret += test_xmlIsExtender(); + test_ret += test_xmlIsIdeographic(); + test_ret += test_xmlIsPubidChar(); + + if (test_ret != 0) + printf("Module chvalid: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlBoolToText(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) + int mem_base; + const char * ret_val; + int boolval; /* a bool to turn into text */ + int n_boolval; + + for (n_boolval = 0;n_boolval < gen_nb_int;n_boolval++) { + mem_base = xmlMemBlocks(); + boolval = gen_int(n_boolval, 0); + + ret_val = xmlBoolToText(boolval); + desret_const_char_ptr(ret_val); + call_tests++; + des_int(n_boolval, boolval, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBoolToText", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_boolval); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlDebugCheckDocument(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) + int mem_base; + int ret_val; + FILE * output; /* the FILE * for the output */ + int n_output; + xmlDocPtr doc; /* the document */ + int n_doc; + + for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + mem_base = xmlMemBlocks(); + output = gen_debug_FILE_ptr(n_output, 0); + doc = gen_xmlDocPtr(n_doc, 1); + + ret_val = xmlDebugCheckDocument(output, doc); + desret_int(ret_val); + call_tests++; + des_debug_FILE_ptr(n_output, output, 0); + des_xmlDocPtr(n_doc, doc, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDebugCheckDocument", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_output); + printf(" %d", n_doc); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlDebugDumpAttr(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) + int mem_base; + FILE * output; /* the FILE * for the output */ + int n_output; + xmlAttrPtr attr; /* the attribute */ + int n_attr; + int depth; /* the indentation level. */ + int n_depth; + + for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) { + for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) { + for (n_depth = 0;n_depth < gen_nb_int;n_depth++) { + mem_base = xmlMemBlocks(); + output = gen_debug_FILE_ptr(n_output, 0); + attr = gen_xmlAttrPtr(n_attr, 1); + depth = gen_int(n_depth, 2); + + xmlDebugDumpAttr(output, attr, depth); + call_tests++; + des_debug_FILE_ptr(n_output, output, 0); + des_xmlAttrPtr(n_attr, attr, 1); + des_int(n_depth, depth, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDebugDumpAttr", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_output); + printf(" %d", n_attr); + printf(" %d", n_depth); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlDebugDumpAttrList(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) + int mem_base; + FILE * output; /* the FILE * for the output */ + int n_output; + xmlAttrPtr attr; /* the attribute list */ + int n_attr; + int depth; /* the indentation level. */ + int n_depth; + + for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) { + for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) { + for (n_depth = 0;n_depth < gen_nb_int;n_depth++) { + mem_base = xmlMemBlocks(); + output = gen_debug_FILE_ptr(n_output, 0); + attr = gen_xmlAttrPtr(n_attr, 1); + depth = gen_int(n_depth, 2); + + xmlDebugDumpAttrList(output, attr, depth); + call_tests++; + des_debug_FILE_ptr(n_output, output, 0); + des_xmlAttrPtr(n_attr, attr, 1); + des_int(n_depth, depth, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDebugDumpAttrList", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_output); + printf(" %d", n_attr); + printf(" %d", n_depth); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlDebugDumpDTD(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) + int mem_base; + FILE * output; /* the FILE * for the output */ + int n_output; + xmlDtdPtr dtd; /* the DTD */ + int n_dtd; + + for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) { + for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) { + mem_base = xmlMemBlocks(); + output = gen_debug_FILE_ptr(n_output, 0); + dtd = gen_xmlDtdPtr(n_dtd, 1); + + xmlDebugDumpDTD(output, dtd); + call_tests++; + des_debug_FILE_ptr(n_output, output, 0); + des_xmlDtdPtr(n_dtd, dtd, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDebugDumpDTD", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_output); + printf(" %d", n_dtd); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlDebugDumpDocument(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) + int mem_base; + FILE * output; /* the FILE * for the output */ + int n_output; + xmlDocPtr doc; /* the document */ + int n_doc; + + for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + mem_base = xmlMemBlocks(); + output = gen_debug_FILE_ptr(n_output, 0); + doc = gen_xmlDocPtr(n_doc, 1); + + xmlDebugDumpDocument(output, doc); + call_tests++; + des_debug_FILE_ptr(n_output, output, 0); + des_xmlDocPtr(n_doc, doc, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDebugDumpDocument", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_output); + printf(" %d", n_doc); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlDebugDumpDocumentHead(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) + int mem_base; + FILE * output; /* the FILE * for the output */ + int n_output; + xmlDocPtr doc; /* the document */ + int n_doc; + + for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + mem_base = xmlMemBlocks(); + output = gen_debug_FILE_ptr(n_output, 0); + doc = gen_xmlDocPtr(n_doc, 1); + + xmlDebugDumpDocumentHead(output, doc); + call_tests++; + des_debug_FILE_ptr(n_output, output, 0); + des_xmlDocPtr(n_doc, doc, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDebugDumpDocumentHead", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_output); + printf(" %d", n_doc); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlDebugDumpEntities(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) + int mem_base; + FILE * output; /* the FILE * for the output */ + int n_output; + xmlDocPtr doc; /* the document */ + int n_doc; + + for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + mem_base = xmlMemBlocks(); + output = gen_debug_FILE_ptr(n_output, 0); + doc = gen_xmlDocPtr(n_doc, 1); + + xmlDebugDumpEntities(output, doc); + call_tests++; + des_debug_FILE_ptr(n_output, output, 0); + des_xmlDocPtr(n_doc, doc, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDebugDumpEntities", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_output); + printf(" %d", n_doc); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlDebugDumpNode(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) + int mem_base; + FILE * output; /* the FILE * for the output */ + int n_output; + xmlNodePtr node; /* the node */ + int n_node; + int depth; /* the indentation level. */ + int n_depth; + + for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_depth = 0;n_depth < gen_nb_int;n_depth++) { + mem_base = xmlMemBlocks(); + output = gen_debug_FILE_ptr(n_output, 0); + node = gen_xmlNodePtr(n_node, 1); + depth = gen_int(n_depth, 2); + + xmlDebugDumpNode(output, node, depth); + call_tests++; + des_debug_FILE_ptr(n_output, output, 0); + des_xmlNodePtr(n_node, node, 1); + des_int(n_depth, depth, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDebugDumpNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_output); + printf(" %d", n_node); + printf(" %d", n_depth); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlDebugDumpNodeList(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) + int mem_base; + FILE * output; /* the FILE * for the output */ + int n_output; + xmlNodePtr node; /* the node list */ + int n_node; + int depth; /* the indentation level. */ + int n_depth; + + for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_depth = 0;n_depth < gen_nb_int;n_depth++) { + mem_base = xmlMemBlocks(); + output = gen_debug_FILE_ptr(n_output, 0); + node = gen_xmlNodePtr(n_node, 1); + depth = gen_int(n_depth, 2); + + xmlDebugDumpNodeList(output, node, depth); + call_tests++; + des_debug_FILE_ptr(n_output, output, 0); + des_xmlNodePtr(n_node, node, 1); + des_int(n_depth, depth, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDebugDumpNodeList", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_output); + printf(" %d", n_node); + printf(" %d", n_depth); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlDebugDumpOneNode(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) + int mem_base; + FILE * output; /* the FILE * for the output */ + int n_output; + xmlNodePtr node; /* the node */ + int n_node; + int depth; /* the indentation level. */ + int n_depth; + + for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_depth = 0;n_depth < gen_nb_int;n_depth++) { + mem_base = xmlMemBlocks(); + output = gen_debug_FILE_ptr(n_output, 0); + node = gen_xmlNodePtr(n_node, 1); + depth = gen_int(n_depth, 2); + + xmlDebugDumpOneNode(output, node, depth); + call_tests++; + des_debug_FILE_ptr(n_output, output, 0); + des_xmlNodePtr(n_node, node, 1); + des_int(n_depth, depth, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDebugDumpOneNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_output); + printf(" %d", n_node); + printf(" %d", n_depth); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlDebugDumpString(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) + int mem_base; + FILE * output; /* the FILE * for the output */ + int n_output; + xmlChar * str; /* the string */ + int n_str; + + for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) { + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + mem_base = xmlMemBlocks(); + output = gen_debug_FILE_ptr(n_output, 0); + str = gen_const_xmlChar_ptr(n_str, 1); + + xmlDebugDumpString(output, (const xmlChar *)str); + call_tests++; + des_debug_FILE_ptr(n_output, output, 0); + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDebugDumpString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_output); + printf(" %d", n_str); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlLsCountNode(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) + int mem_base; + int ret_val; + xmlNodePtr node; /* the node to count */ + int n_node; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + + ret_val = xmlLsCountNode(node); + desret_int(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlLsCountNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlLsOneNode(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) + int mem_base; + FILE * output; /* the FILE * for the output */ + int n_output; + xmlNodePtr node; /* the node to dump */ + int n_node; + + for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + mem_base = xmlMemBlocks(); + output = gen_debug_FILE_ptr(n_output, 0); + node = gen_xmlNodePtr(n_node, 1); + + xmlLsOneNode(output, node); + call_tests++; + des_debug_FILE_ptr(n_output, output, 0); + des_xmlNodePtr(n_node, node, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlLsOneNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_output); + printf(" %d", n_node); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlShell(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +#define gen_nb_char_ptr 1 +static char * gen_char_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_char_ptr(int no ATTRIBUTE_UNUSED, char * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlShellBase(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlShellCtxtPtr ctxt; /* the shell context */ + int n_ctxt; + char * arg; /* unused */ + int n_arg; + xmlNodePtr node; /* a node */ + int n_node; + xmlNodePtr node2; /* unused */ + int n_node2; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) { + for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0); + arg = gen_char_ptr(n_arg, 1); + node = gen_xmlNodePtr(n_node, 2); + node2 = gen_xmlNodePtr(n_node2, 3); + + ret_val = xmlShellBase(ctxt, arg, node, node2); + desret_int(ret_val); + call_tests++; + des_xmlShellCtxtPtr(n_ctxt, ctxt, 0); + des_char_ptr(n_arg, arg, 1); + des_xmlNodePtr(n_node, node, 2); + des_xmlNodePtr(n_node2, node2, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlShellBase", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_arg); + printf(" %d", n_node); + printf(" %d", n_node2); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlShellCat(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + xmlShellCtxtPtr ctxt; /* the shell context */ + int n_ctxt; + char * arg; /* unused */ + int n_arg; + xmlNodePtr node; /* a node */ + int n_node; + xmlNodePtr node2; /* unused */ + int n_node2; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) { + for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0); + arg = gen_char_ptr(n_arg, 1); + node = gen_xmlNodePtr(n_node, 2); + node2 = gen_xmlNodePtr(n_node2, 3); + + ret_val = xmlShellCat(ctxt, arg, node, node2); + desret_int(ret_val); + call_tests++; + des_xmlShellCtxtPtr(n_ctxt, ctxt, 0); + des_char_ptr(n_arg, arg, 1); + des_xmlNodePtr(n_node, node, 2); + des_xmlNodePtr(n_node2, node2, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlShellCat", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_arg); + printf(" %d", n_node); + printf(" %d", n_node2); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlShellDir(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlShellCtxtPtr ctxt; /* the shell context */ + int n_ctxt; + char * arg; /* unused */ + int n_arg; + xmlNodePtr node; /* a node */ + int n_node; + xmlNodePtr node2; /* unused */ + int n_node2; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) { + for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0); + arg = gen_char_ptr(n_arg, 1); + node = gen_xmlNodePtr(n_node, 2); + node2 = gen_xmlNodePtr(n_node2, 3); + + ret_val = xmlShellDir(ctxt, arg, node, node2); + desret_int(ret_val); + call_tests++; + des_xmlShellCtxtPtr(n_ctxt, ctxt, 0); + des_char_ptr(n_arg, arg, 1); + des_xmlNodePtr(n_node, node, 2); + des_xmlNodePtr(n_node2, node2, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlShellDir", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_arg); + printf(" %d", n_node); + printf(" %d", n_node2); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlShellDu(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlShellCtxtPtr ctxt; /* the shell context */ + int n_ctxt; + char * arg; /* unused */ + int n_arg; + xmlNodePtr tree; /* a node defining a subtree */ + int n_tree; + xmlNodePtr node2; /* unused */ + int n_node2; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) { + for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) { + for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) { + for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0); + arg = gen_char_ptr(n_arg, 1); + tree = gen_xmlNodePtr(n_tree, 2); + node2 = gen_xmlNodePtr(n_node2, 3); + + ret_val = xmlShellDu(ctxt, arg, tree, node2); + desret_int(ret_val); + call_tests++; + des_xmlShellCtxtPtr(n_ctxt, ctxt, 0); + des_char_ptr(n_arg, arg, 1); + des_xmlNodePtr(n_tree, tree, 2); + des_xmlNodePtr(n_node2, node2, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlShellDu", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_arg); + printf(" %d", n_tree); + printf(" %d", n_node2); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlShellList(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlShellCtxtPtr ctxt; /* the shell context */ + int n_ctxt; + char * arg; /* unused */ + int n_arg; + xmlNodePtr node; /* a node */ + int n_node; + xmlNodePtr node2; /* unused */ + int n_node2; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) { + for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0); + arg = gen_char_ptr(n_arg, 1); + node = gen_xmlNodePtr(n_node, 2); + node2 = gen_xmlNodePtr(n_node2, 3); + + ret_val = xmlShellList(ctxt, arg, node, node2); + desret_int(ret_val); + call_tests++; + des_xmlShellCtxtPtr(n_ctxt, ctxt, 0); + des_char_ptr(n_arg, arg, 1); + des_xmlNodePtr(n_node, node, 2); + des_xmlNodePtr(n_node2, node2, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlShellList", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_arg); + printf(" %d", n_node); + printf(" %d", n_node2); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlShellLoad(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlShellCtxtPtr ctxt; /* the shell context */ + int n_ctxt; + char * filename; /* the file name */ + int n_filename; + xmlNodePtr node; /* unused */ + int n_node; + xmlNodePtr node2; /* unused */ + int n_node2; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) { + for (n_filename = 0;n_filename < gen_nb_char_ptr;n_filename++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0); + filename = gen_char_ptr(n_filename, 1); + node = gen_xmlNodePtr(n_node, 2); + node2 = gen_xmlNodePtr(n_node2, 3); + + ret_val = xmlShellLoad(ctxt, filename, node, node2); + desret_int(ret_val); + call_tests++; + des_xmlShellCtxtPtr(n_ctxt, ctxt, 0); + des_char_ptr(n_filename, filename, 1); + des_xmlNodePtr(n_node, node, 2); + des_xmlNodePtr(n_node2, node2, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlShellLoad", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_filename); + printf(" %d", n_node); + printf(" %d", n_node2); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlShellPrintXPathResult(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr list; /* a valid result generated by an xpath evaluation */ + int n_list; + + for (n_list = 0;n_list < gen_nb_xmlXPathObjectPtr;n_list++) { + mem_base = xmlMemBlocks(); + list = gen_xmlXPathObjectPtr(n_list, 0); + + xmlShellPrintXPathResult(list); + call_tests++; + des_xmlXPathObjectPtr(n_list, list, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlShellPrintXPathResult", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_list); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlShellPwd(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlShellCtxtPtr ctxt; /* the shell context */ + int n_ctxt; + char * buffer; /* the output buffer */ + int n_buffer; + xmlNodePtr node; /* a node */ + int n_node; + xmlNodePtr node2; /* unused */ + int n_node2; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) { + for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0); + buffer = gen_char_ptr(n_buffer, 1); + node = gen_xmlNodePtr(n_node, 2); + node2 = gen_xmlNodePtr(n_node2, 3); + + ret_val = xmlShellPwd(ctxt, buffer, node, node2); + desret_int(ret_val); + call_tests++; + des_xmlShellCtxtPtr(n_ctxt, ctxt, 0); + des_char_ptr(n_buffer, buffer, 1); + des_xmlNodePtr(n_node, node, 2); + des_xmlNodePtr(n_node2, node2, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlShellPwd", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_buffer); + printf(" %d", n_node); + printf(" %d", n_node2); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlShellSave(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + xmlShellCtxtPtr ctxt; /* the shell context */ + int n_ctxt; + char * filename; /* the file name (optional) */ + int n_filename; + xmlNodePtr node; /* unused */ + int n_node; + xmlNodePtr node2; /* unused */ + int n_node2; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) { + for (n_filename = 0;n_filename < gen_nb_char_ptr;n_filename++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0); + filename = gen_char_ptr(n_filename, 1); + node = gen_xmlNodePtr(n_node, 2); + node2 = gen_xmlNodePtr(n_node2, 3); + + ret_val = xmlShellSave(ctxt, filename, node, node2); + desret_int(ret_val); + call_tests++; + des_xmlShellCtxtPtr(n_ctxt, ctxt, 0); + des_char_ptr(n_filename, filename, 1); + des_xmlNodePtr(n_node, node, 2); + des_xmlNodePtr(n_node2, node2, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlShellSave", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_filename); + printf(" %d", n_node); + printf(" %d", n_node2); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlShellValidate(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_VALID_ENABLED) + int mem_base; + int ret_val; + xmlShellCtxtPtr ctxt; /* the shell context */ + int n_ctxt; + char * dtd; /* the DTD URI (optional) */ + int n_dtd; + xmlNodePtr node; /* unused */ + int n_node; + xmlNodePtr node2; /* unused */ + int n_node2; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) { + for (n_dtd = 0;n_dtd < gen_nb_char_ptr;n_dtd++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0); + dtd = gen_char_ptr(n_dtd, 1); + node = gen_xmlNodePtr(n_node, 2); + node2 = gen_xmlNodePtr(n_node2, 3); + + ret_val = xmlShellValidate(ctxt, dtd, node, node2); + desret_int(ret_val); + call_tests++; + des_xmlShellCtxtPtr(n_ctxt, ctxt, 0); + des_char_ptr(n_dtd, dtd, 1); + des_xmlNodePtr(n_node, node, 2); + des_xmlNodePtr(n_node2, node2, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlShellValidate", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_dtd); + printf(" %d", n_node); + printf(" %d", n_node2); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlShellWrite(void) { + int test_ret = 0; + +#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + xmlShellCtxtPtr ctxt; /* the shell context */ + int n_ctxt; + char * filename; /* the file name */ + int n_filename; + xmlNodePtr node; /* a node in the tree */ + int n_node; + xmlNodePtr node2; /* unused */ + int n_node2; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) { + for (n_filename = 0;n_filename < gen_nb_char_ptr;n_filename++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0); + filename = gen_char_ptr(n_filename, 1); + node = gen_xmlNodePtr(n_node, 2); + node2 = gen_xmlNodePtr(n_node2, 3); + + ret_val = xmlShellWrite(ctxt, filename, node, node2); + desret_int(ret_val); + call_tests++; + des_xmlShellCtxtPtr(n_ctxt, ctxt, 0); + des_char_ptr(n_filename, filename, 1); + des_xmlNodePtr(n_node, node, 2); + des_xmlNodePtr(n_node2, node2, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlShellWrite", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_filename); + printf(" %d", n_node); + printf(" %d", n_node2); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_debugXML(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing debugXML : 25 of 28 functions ...\n"); + test_ret += test_xmlBoolToText(); + test_ret += test_xmlDebugCheckDocument(); + test_ret += test_xmlDebugDumpAttr(); + test_ret += test_xmlDebugDumpAttrList(); + test_ret += test_xmlDebugDumpDTD(); + test_ret += test_xmlDebugDumpDocument(); + test_ret += test_xmlDebugDumpDocumentHead(); + test_ret += test_xmlDebugDumpEntities(); + test_ret += test_xmlDebugDumpNode(); + test_ret += test_xmlDebugDumpNodeList(); + test_ret += test_xmlDebugDumpOneNode(); + test_ret += test_xmlDebugDumpString(); + test_ret += test_xmlLsCountNode(); + test_ret += test_xmlLsOneNode(); + test_ret += test_xmlShell(); + test_ret += test_xmlShellBase(); + test_ret += test_xmlShellCat(); + test_ret += test_xmlShellDir(); + test_ret += test_xmlShellDu(); + test_ret += test_xmlShellList(); + test_ret += test_xmlShellLoad(); + test_ret += test_xmlShellPrintXPathResult(); + test_ret += test_xmlShellPwd(); + test_ret += test_xmlShellSave(); + test_ret += test_xmlShellValidate(); + test_ret += test_xmlShellWrite(); + + if (test_ret != 0) + printf("Module debugXML: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlDictCleanup(void) { + int test_ret = 0; + + int mem_base; + + mem_base = xmlMemBlocks(); + + xmlDictCleanup(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDictCleanup", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlDictCreate(void) { + int test_ret = 0; + + int mem_base; + xmlDictPtr ret_val; + + mem_base = xmlMemBlocks(); + + ret_val = xmlDictCreate(); + desret_xmlDictPtr(ret_val); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDictCreate", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlDictCreateSub(void) { + int test_ret = 0; + + int mem_base; + xmlDictPtr ret_val; + xmlDictPtr sub; /* an existing dictionary */ + int n_sub; + + for (n_sub = 0;n_sub < gen_nb_xmlDictPtr;n_sub++) { + mem_base = xmlMemBlocks(); + sub = gen_xmlDictPtr(n_sub, 0); + + ret_val = xmlDictCreateSub(sub); + desret_xmlDictPtr(ret_val); + call_tests++; + des_xmlDictPtr(n_sub, sub, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDictCreateSub", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_sub); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlDictExists(void) { + int test_ret = 0; + + int mem_base; + const xmlChar * ret_val; + xmlDictPtr dict; /* the dictionary */ + int n_dict; + xmlChar * name; /* the name of the userdata */ + int n_name; + int len; /* the length of the name, if -1 it is recomputed */ + int n_len; + + for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + dict = gen_xmlDictPtr(n_dict, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + len = gen_int(n_len, 2); + if ((name != NULL) && + (len > (int) strlen((const char *) name) + 1)) + continue; + + ret_val = xmlDictExists(dict, (const xmlChar *)name, len); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_xmlDictPtr(n_dict, dict, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDictExists", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_dict); + printf(" %d", n_name); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlDictGetUsage(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlDictLookup(void) { + int test_ret = 0; + + int mem_base; + const xmlChar * ret_val; + xmlDictPtr dict; /* the dictionary */ + int n_dict; + xmlChar * name; /* the name of the userdata */ + int n_name; + int len; /* the length of the name, if -1 it is recomputed */ + int n_len; + + for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + dict = gen_xmlDictPtr(n_dict, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + len = gen_int(n_len, 2); + if ((name != NULL) && + (len > (int) strlen((const char *) name) + 1)) + continue; + + ret_val = xmlDictLookup(dict, (const xmlChar *)name, len); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_xmlDictPtr(n_dict, dict, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDictLookup", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_dict); + printf(" %d", n_name); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlDictOwns(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlDictPtr dict; /* the dictionary */ + int n_dict; + xmlChar * str; /* the string */ + int n_str; + + for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) { + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + mem_base = xmlMemBlocks(); + dict = gen_xmlDictPtr(n_dict, 0); + str = gen_const_xmlChar_ptr(n_str, 1); + + ret_val = xmlDictOwns(dict, (const xmlChar *)str); + desret_int(ret_val); + call_tests++; + des_xmlDictPtr(n_dict, dict, 0); + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDictOwns", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_dict); + printf(" %d", n_str); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlDictQLookup(void) { + int test_ret = 0; + + int mem_base; + const xmlChar * ret_val; + xmlDictPtr dict; /* the dictionary */ + int n_dict; + xmlChar * prefix; /* the prefix */ + int n_prefix; + xmlChar * name; /* the name */ + int n_name; + + for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) { + for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + dict = gen_xmlDictPtr(n_dict, 0); + prefix = gen_const_xmlChar_ptr(n_prefix, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + + ret_val = xmlDictQLookup(dict, (const xmlChar *)prefix, (const xmlChar *)name); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_xmlDictPtr(n_dict, dict, 0); + des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDictQLookup", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_dict); + printf(" %d", n_prefix); + printf(" %d", n_name); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlDictReference(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlDictPtr dict; /* the dictionary */ + int n_dict; + + for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) { + mem_base = xmlMemBlocks(); + dict = gen_xmlDictPtr(n_dict, 0); + + ret_val = xmlDictReference(dict); + xmlDictFree(dict); + desret_int(ret_val); + call_tests++; + des_xmlDictPtr(n_dict, dict, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDictReference", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_dict); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlDictSetLimit(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlDictSize(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlDictPtr dict; /* the dictionary */ + int n_dict; + + for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) { + mem_base = xmlMemBlocks(); + dict = gen_xmlDictPtr(n_dict, 0); + + ret_val = xmlDictSize(dict); + desret_int(ret_val); + call_tests++; + des_xmlDictPtr(n_dict, dict, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDictSize", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_dict); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlInitializeDict(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + + mem_base = xmlMemBlocks(); + + ret_val = xmlInitializeDict(); + desret_int(ret_val); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlInitializeDict", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; + + return(test_ret); +} + +static int +test_dict(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing dict : 10 of 13 functions ...\n"); + test_ret += test_xmlDictCleanup(); + test_ret += test_xmlDictCreate(); + test_ret += test_xmlDictCreateSub(); + test_ret += test_xmlDictExists(); + test_ret += test_xmlDictGetUsage(); + test_ret += test_xmlDictLookup(); + test_ret += test_xmlDictOwns(); + test_ret += test_xmlDictQLookup(); + test_ret += test_xmlDictReference(); + test_ret += test_xmlDictSetLimit(); + test_ret += test_xmlDictSize(); + test_ret += test_xmlInitializeDict(); + + if (test_ret != 0) + printf("Module dict: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_UTF8Toisolat1(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) +#ifdef LIBXML_OUTPUT_ENABLED + int mem_base; + int ret_val; + unsigned char * out; /* a pointer to an array of bytes to store the result */ + int n_out; + int * outlen; /* the length of @out */ + int n_outlen; + unsigned char * in; /* a pointer to an array of UTF-8 chars */ + int n_in; + int * inlen; /* the length of @in */ + int n_inlen; + + for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) { + for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) { + for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) { + for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) { + mem_base = xmlMemBlocks(); + out = gen_unsigned_char_ptr(n_out, 0); + outlen = gen_int_ptr(n_outlen, 1); + in = gen_const_unsigned_char_ptr(n_in, 2); + inlen = gen_int_ptr(n_inlen, 3); + + ret_val = UTF8Toisolat1(out, outlen, (const unsigned char *)in, inlen); + desret_int(ret_val); + call_tests++; + des_unsigned_char_ptr(n_out, out, 0); + des_int_ptr(n_outlen, outlen, 1); + des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2); + des_int_ptr(n_inlen, inlen, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in UTF8Toisolat1", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_out); + printf(" %d", n_outlen); + printf(" %d", n_in); + printf(" %d", n_inlen); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_isolat1ToUTF8(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + unsigned char * out; /* a pointer to an array of bytes to store the result */ + int n_out; + int * outlen; /* the length of @out */ + int n_outlen; + unsigned char * in; /* a pointer to an array of ISO Latin 1 chars */ + int n_in; + int * inlen; /* the length of @in */ + int n_inlen; + + for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) { + for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) { + for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) { + for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) { + mem_base = xmlMemBlocks(); + out = gen_unsigned_char_ptr(n_out, 0); + outlen = gen_int_ptr(n_outlen, 1); + in = gen_const_unsigned_char_ptr(n_in, 2); + inlen = gen_int_ptr(n_inlen, 3); + + ret_val = isolat1ToUTF8(out, outlen, (const unsigned char *)in, inlen); + desret_int(ret_val); + call_tests++; + des_unsigned_char_ptr(n_out, out, 0); + des_int_ptr(n_outlen, outlen, 1); + des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2); + des_int_ptr(n_inlen, inlen, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in isolat1ToUTF8", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_out); + printf(" %d", n_outlen); + printf(" %d", n_in); + printf(" %d", n_inlen); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlAddEncodingAlias(void) { + int test_ret = 0; + + int ret_val; + char * name; /* the encoding name as parsed, in UTF-8 format (ASCII actually) */ + int n_name; + char * alias; /* the alias name as parsed, in UTF-8 format (ASCII actually) */ + int n_alias; + + for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) { + for (n_alias = 0;n_alias < gen_nb_const_char_ptr;n_alias++) { + name = gen_const_char_ptr(n_name, 0); + alias = gen_const_char_ptr(n_alias, 1); + + ret_val = xmlAddEncodingAlias((const char *)name, (const char *)alias); + desret_int(ret_val); + call_tests++; + des_const_char_ptr(n_name, (const char *)name, 0); + des_const_char_ptr(n_alias, (const char *)alias, 1); + xmlResetLastError(); + } + } + function_tests++; + + return(test_ret); +} + + +#define gen_nb_xmlCharEncodingHandler_ptr 1 +static xmlCharEncodingHandler * gen_xmlCharEncodingHandler_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlCharEncodingHandler_ptr(int no ATTRIBUTE_UNUSED, xmlCharEncodingHandler * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlCharEncCloseFunc(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlCharEncodingHandler * handler; /* char encoding transformation data structure */ + int n_handler; + + for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) { + mem_base = xmlMemBlocks(); + handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0); + + ret_val = xmlCharEncCloseFunc(handler); + desret_int(ret_val); + call_tests++; + des_xmlCharEncodingHandler_ptr(n_handler, handler, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCharEncCloseFunc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_handler); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCharEncFirstLine(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlCharEncodingHandler * handler; /* char encoding transformation data structure */ + int n_handler; + xmlBufferPtr out; /* an xmlBuffer for the output. */ + int n_out; + xmlBufferPtr in; /* an xmlBuffer for the input */ + int n_in; + + for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) { + for (n_out = 0;n_out < gen_nb_xmlBufferPtr;n_out++) { + for (n_in = 0;n_in < gen_nb_xmlBufferPtr;n_in++) { + mem_base = xmlMemBlocks(); + handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0); + out = gen_xmlBufferPtr(n_out, 1); + in = gen_xmlBufferPtr(n_in, 2); + + ret_val = xmlCharEncFirstLine(handler, out, in); + desret_int(ret_val); + call_tests++; + des_xmlCharEncodingHandler_ptr(n_handler, handler, 0); + des_xmlBufferPtr(n_out, out, 1); + des_xmlBufferPtr(n_in, in, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCharEncFirstLine", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_handler); + printf(" %d", n_out); + printf(" %d", n_in); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCharEncInFunc(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlCharEncodingHandler * handler; /* char encoding transformation data structure */ + int n_handler; + xmlBufferPtr out; /* an xmlBuffer for the output. */ + int n_out; + xmlBufferPtr in; /* an xmlBuffer for the input */ + int n_in; + + for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) { + for (n_out = 0;n_out < gen_nb_xmlBufferPtr;n_out++) { + for (n_in = 0;n_in < gen_nb_xmlBufferPtr;n_in++) { + mem_base = xmlMemBlocks(); + handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0); + out = gen_xmlBufferPtr(n_out, 1); + in = gen_xmlBufferPtr(n_in, 2); + + ret_val = xmlCharEncInFunc(handler, out, in); + desret_int(ret_val); + call_tests++; + des_xmlCharEncodingHandler_ptr(n_handler, handler, 0); + des_xmlBufferPtr(n_out, out, 1); + des_xmlBufferPtr(n_in, in, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCharEncInFunc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_handler); + printf(" %d", n_out); + printf(" %d", n_in); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCharEncOutFunc(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlCharEncodingHandler * handler; /* char encoding transformation data structure */ + int n_handler; + xmlBufferPtr out; /* an xmlBuffer for the output. */ + int n_out; + xmlBufferPtr in; /* an xmlBuffer for the input */ + int n_in; + + for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) { + for (n_out = 0;n_out < gen_nb_xmlBufferPtr;n_out++) { + for (n_in = 0;n_in < gen_nb_xmlBufferPtr;n_in++) { + mem_base = xmlMemBlocks(); + handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0); + out = gen_xmlBufferPtr(n_out, 1); + in = gen_xmlBufferPtr(n_in, 2); + + ret_val = xmlCharEncOutFunc(handler, out, in); + desret_int(ret_val); + call_tests++; + des_xmlCharEncodingHandler_ptr(n_handler, handler, 0); + des_xmlBufferPtr(n_out, out, 1); + des_xmlBufferPtr(n_in, in, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCharEncOutFunc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_handler); + printf(" %d", n_out); + printf(" %d", n_in); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCleanupCharEncodingHandlers(void) { + int test_ret = 0; + + + + xmlCleanupCharEncodingHandlers(); + call_tests++; + xmlResetLastError(); + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCleanupEncodingAliases(void) { + int test_ret = 0; + + int mem_base; + + mem_base = xmlMemBlocks(); + + xmlCleanupEncodingAliases(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCleanupEncodingAliases", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlDelEncodingAlias(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + char * alias; /* the alias name as parsed, in UTF-8 format (ASCII actually) */ + int n_alias; + + for (n_alias = 0;n_alias < gen_nb_const_char_ptr;n_alias++) { + mem_base = xmlMemBlocks(); + alias = gen_const_char_ptr(n_alias, 0); + + ret_val = xmlDelEncodingAlias((const char *)alias); + desret_int(ret_val); + call_tests++; + des_const_char_ptr(n_alias, (const char *)alias, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDelEncodingAlias", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_alias); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlDetectCharEncoding(void) { + int test_ret = 0; + + int mem_base; + xmlCharEncoding ret_val; + unsigned char * in; /* a pointer to the first bytes of the XML entity, must be at least 2 bytes long (at least 4 if encoding is UTF4 variant). */ + int n_in; + int len; /* pointer to the length of the buffer */ + int n_len; + + for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + in = gen_const_unsigned_char_ptr(n_in, 0); + len = gen_int(n_len, 1); + + ret_val = xmlDetectCharEncoding((const unsigned char *)in, len); + desret_xmlCharEncoding(ret_val); + call_tests++; + des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 0); + des_int(n_len, len, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDetectCharEncoding", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_in); + printf(" %d", n_len); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlFindCharEncodingHandler(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlGetCharEncodingHandler(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlGetCharEncodingName(void) { + int test_ret = 0; + + int mem_base; + const char * ret_val; + xmlCharEncoding enc; /* the encoding */ + int n_enc; + + for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) { + mem_base = xmlMemBlocks(); + enc = gen_xmlCharEncoding(n_enc, 0); + + ret_val = xmlGetCharEncodingName(enc); + desret_const_char_ptr(ret_val); + call_tests++; + des_xmlCharEncoding(n_enc, enc, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetCharEncodingName", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_enc); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetEncodingAlias(void) { + int test_ret = 0; + + int mem_base; + const char * ret_val; + char * alias; /* the alias name as parsed, in UTF-8 format (ASCII actually) */ + int n_alias; + + for (n_alias = 0;n_alias < gen_nb_const_char_ptr;n_alias++) { + mem_base = xmlMemBlocks(); + alias = gen_const_char_ptr(n_alias, 0); + + ret_val = xmlGetEncodingAlias((const char *)alias); + desret_const_char_ptr(ret_val); + call_tests++; + des_const_char_ptr(n_alias, (const char *)alias, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetEncodingAlias", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_alias); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlInitCharEncodingHandlers(void) { + int test_ret = 0; + + + + xmlInitCharEncodingHandlers(); + call_tests++; + xmlResetLastError(); + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewCharEncodingHandler(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlParseCharEncoding(void) { + int test_ret = 0; + + int mem_base; + xmlCharEncoding ret_val; + char * name; /* the encoding name as parsed, in UTF-8 format (ASCII actually) */ + int n_name; + + for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) { + mem_base = xmlMemBlocks(); + name = gen_const_char_ptr(n_name, 0); + + ret_val = xmlParseCharEncoding((const char *)name); + desret_xmlCharEncoding(ret_val); + call_tests++; + des_const_char_ptr(n_name, (const char *)name, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParseCharEncoding", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_name); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +#define gen_nb_xmlCharEncodingHandlerPtr 1 +static xmlCharEncodingHandlerPtr gen_xmlCharEncodingHandlerPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlCharEncodingHandlerPtr(int no ATTRIBUTE_UNUSED, xmlCharEncodingHandlerPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlRegisterCharEncodingHandler(void) { + int test_ret = 0; + + int mem_base; + xmlCharEncodingHandlerPtr handler; /* the xmlCharEncodingHandlerPtr handler block */ + int n_handler; + + for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandlerPtr;n_handler++) { + mem_base = xmlMemBlocks(); + handler = gen_xmlCharEncodingHandlerPtr(n_handler, 0); + + xmlRegisterCharEncodingHandler(handler); + call_tests++; + des_xmlCharEncodingHandlerPtr(n_handler, handler, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRegisterCharEncodingHandler", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_handler); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + +static int +test_encoding(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing encoding : 16 of 19 functions ...\n"); + test_ret += test_UTF8Toisolat1(); + test_ret += test_isolat1ToUTF8(); + test_ret += test_xmlAddEncodingAlias(); + test_ret += test_xmlCharEncCloseFunc(); + test_ret += test_xmlCharEncFirstLine(); + test_ret += test_xmlCharEncInFunc(); + test_ret += test_xmlCharEncOutFunc(); + test_ret += test_xmlCleanupCharEncodingHandlers(); + test_ret += test_xmlCleanupEncodingAliases(); + test_ret += test_xmlDelEncodingAlias(); + test_ret += test_xmlDetectCharEncoding(); + test_ret += test_xmlFindCharEncodingHandler(); + test_ret += test_xmlGetCharEncodingHandler(); + test_ret += test_xmlGetCharEncodingName(); + test_ret += test_xmlGetEncodingAlias(); + test_ret += test_xmlInitCharEncodingHandlers(); + test_ret += test_xmlNewCharEncodingHandler(); + test_ret += test_xmlParseCharEncoding(); + test_ret += test_xmlRegisterCharEncodingHandler(); + + if (test_ret != 0) + printf("Module encoding: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlAddDocEntity(void) { + int test_ret = 0; + + int mem_base; + xmlEntityPtr ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlChar * name; /* the entity name */ + int n_name; + int type; /* the entity type XML_xxx_yyy_ENTITY */ + int n_type; + xmlChar * ExternalID; /* the entity external ID if available */ + int n_ExternalID; + xmlChar * SystemID; /* the entity system ID if available */ + int n_SystemID; + xmlChar * content; /* the entity content */ + int n_content; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_type = 0;n_type < gen_nb_int;n_type++) { + for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) { + for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + type = gen_int(n_type, 2); + ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 3); + SystemID = gen_const_xmlChar_ptr(n_SystemID, 4); + content = gen_const_xmlChar_ptr(n_content, 5); + + ret_val = xmlAddDocEntity(doc, (const xmlChar *)name, type, (const xmlChar *)ExternalID, (const xmlChar *)SystemID, (const xmlChar *)content); + desret_xmlEntityPtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_int(n_type, type, 2); + des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 3); + des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 4); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlAddDocEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_name); + printf(" %d", n_type); + printf(" %d", n_ExternalID); + printf(" %d", n_SystemID); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlAddDtdEntity(void) { + int test_ret = 0; + + int mem_base; + xmlEntityPtr ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlChar * name; /* the entity name */ + int n_name; + int type; /* the entity type XML_xxx_yyy_ENTITY */ + int n_type; + xmlChar * ExternalID; /* the entity external ID if available */ + int n_ExternalID; + xmlChar * SystemID; /* the entity system ID if available */ + int n_SystemID; + xmlChar * content; /* the entity content */ + int n_content; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_type = 0;n_type < gen_nb_int;n_type++) { + for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) { + for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + type = gen_int(n_type, 2); + ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 3); + SystemID = gen_const_xmlChar_ptr(n_SystemID, 4); + content = gen_const_xmlChar_ptr(n_content, 5); + + ret_val = xmlAddDtdEntity(doc, (const xmlChar *)name, type, (const xmlChar *)ExternalID, (const xmlChar *)SystemID, (const xmlChar *)content); + desret_xmlEntityPtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_int(n_type, type, 2); + des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 3); + des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 4); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlAddDtdEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_name); + printf(" %d", n_type); + printf(" %d", n_ExternalID); + printf(" %d", n_SystemID); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCleanupPredefinedEntities(void) { + int test_ret = 0; + +#if defined(LIBXML_LEGACY_ENABLED) +#ifdef LIBXML_LEGACY_ENABLED + int mem_base; + + mem_base = xmlMemBlocks(); + + xmlCleanupPredefinedEntities(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCleanupPredefinedEntities", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlCopyEntitiesTable(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlCreateEntitiesTable(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +#define gen_nb_xmlEntitiesTablePtr 1 +static xmlEntitiesTablePtr gen_xmlEntitiesTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlEntitiesTablePtr(int no ATTRIBUTE_UNUSED, xmlEntitiesTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlDumpEntitiesTable(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlBufferPtr buf; /* An XML buffer. */ + int n_buf; + xmlEntitiesTablePtr table; /* An entity table */ + int n_table; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_table = 0;n_table < gen_nb_xmlEntitiesTablePtr;n_table++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + table = gen_xmlEntitiesTablePtr(n_table, 1); + + xmlDumpEntitiesTable(buf, table); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_xmlEntitiesTablePtr(n_table, table, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDumpEntitiesTable", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_table); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +#define gen_nb_xmlEntityPtr 1 +static xmlEntityPtr gen_xmlEntityPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlEntityPtr(int no ATTRIBUTE_UNUSED, xmlEntityPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlDumpEntityDecl(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlBufferPtr buf; /* An XML buffer. */ + int n_buf; + xmlEntityPtr ent; /* An entity table */ + int n_ent; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_ent = 0;n_ent < gen_nb_xmlEntityPtr;n_ent++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + ent = gen_xmlEntityPtr(n_ent, 1); + + xmlDumpEntityDecl(buf, ent); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_xmlEntityPtr(n_ent, ent, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDumpEntityDecl", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_ent); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlEncodeEntitiesReentrant(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlDocPtr doc; /* the document containing the string */ + int n_doc; + xmlChar * input; /* A string to convert to XML. */ + int n_input; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_input = 0;n_input < gen_nb_const_xmlChar_ptr;n_input++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + input = gen_const_xmlChar_ptr(n_input, 1); + + ret_val = xmlEncodeEntitiesReentrant(doc, (const xmlChar *)input); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_const_xmlChar_ptr(n_input, (const xmlChar *)input, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlEncodeEntitiesReentrant", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_input); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +#define gen_nb_const_xmlDoc_ptr 1 +static xmlDoc * gen_const_xmlDoc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_const_xmlDoc_ptr(int no ATTRIBUTE_UNUSED, const xmlDoc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlEncodeSpecialChars(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlDoc * doc; /* the document containing the string */ + int n_doc; + xmlChar * input; /* A string to convert to XML. */ + int n_input; + + for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) { + for (n_input = 0;n_input < gen_nb_const_xmlChar_ptr;n_input++) { + mem_base = xmlMemBlocks(); + doc = gen_const_xmlDoc_ptr(n_doc, 0); + input = gen_const_xmlChar_ptr(n_input, 1); + + ret_val = xmlEncodeSpecialChars((const xmlDoc *)doc, (const xmlChar *)input); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0); + des_const_xmlChar_ptr(n_input, (const xmlChar *)input, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlEncodeSpecialChars", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_input); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetDocEntity(void) { + int test_ret = 0; + + int mem_base; + xmlEntityPtr ret_val; + xmlDoc * doc; /* the document referencing the entity */ + int n_doc; + xmlChar * name; /* the entity name */ + int n_name; + + for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + doc = gen_const_xmlDoc_ptr(n_doc, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlGetDocEntity((const xmlDoc *)doc, (const xmlChar *)name); + desret_xmlEntityPtr(ret_val); + call_tests++; + des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetDocEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetDtdEntity(void) { + int test_ret = 0; + + int mem_base; + xmlEntityPtr ret_val; + xmlDocPtr doc; /* the document referencing the entity */ + int n_doc; + xmlChar * name; /* the entity name */ + int n_name; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlGetDtdEntity(doc, (const xmlChar *)name); + desret_xmlEntityPtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetDtdEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetParameterEntity(void) { + int test_ret = 0; + + int mem_base; + xmlEntityPtr ret_val; + xmlDocPtr doc; /* the document referencing the entity */ + int n_doc; + xmlChar * name; /* the entity name */ + int n_name; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlGetParameterEntity(doc, (const xmlChar *)name); + desret_xmlEntityPtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetParameterEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetPredefinedEntity(void) { + int test_ret = 0; + + int mem_base; + xmlEntityPtr ret_val; + xmlChar * name; /* the entity name */ + int n_name; + + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + name = gen_const_xmlChar_ptr(n_name, 0); + + ret_val = xmlGetPredefinedEntity((const xmlChar *)name); + desret_xmlEntityPtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetPredefinedEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_name); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlInitializePredefinedEntities(void) { + int test_ret = 0; + +#if defined(LIBXML_LEGACY_ENABLED) +#ifdef LIBXML_LEGACY_ENABLED + int mem_base; + + mem_base = xmlMemBlocks(); + + xmlInitializePredefinedEntities(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlInitializePredefinedEntities", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlNewEntity(void) { + int test_ret = 0; + + int mem_base; + xmlEntityPtr ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlChar * name; /* the entity name */ + int n_name; + int type; /* the entity type XML_xxx_yyy_ENTITY */ + int n_type; + xmlChar * ExternalID; /* the entity external ID if available */ + int n_ExternalID; + xmlChar * SystemID; /* the entity system ID if available */ + int n_SystemID; + xmlChar * content; /* the entity content */ + int n_content; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_type = 0;n_type < gen_nb_int;n_type++) { + for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) { + for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + type = gen_int(n_type, 2); + ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 3); + SystemID = gen_const_xmlChar_ptr(n_SystemID, 4); + content = gen_const_xmlChar_ptr(n_content, 5); + + ret_val = xmlNewEntity(doc, (const xmlChar *)name, type, (const xmlChar *)ExternalID, (const xmlChar *)SystemID, (const xmlChar *)content); + desret_xmlEntityPtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_int(n_type, type, 2); + des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 3); + des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 4); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_name); + printf(" %d", n_type); + printf(" %d", n_ExternalID); + printf(" %d", n_SystemID); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + +static int +test_entities(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing entities : 13 of 17 functions ...\n"); + test_ret += test_xmlAddDocEntity(); + test_ret += test_xmlAddDtdEntity(); + test_ret += test_xmlCleanupPredefinedEntities(); + test_ret += test_xmlCopyEntitiesTable(); + test_ret += test_xmlCreateEntitiesTable(); + test_ret += test_xmlDumpEntitiesTable(); + test_ret += test_xmlDumpEntityDecl(); + test_ret += test_xmlEncodeEntitiesReentrant(); + test_ret += test_xmlEncodeSpecialChars(); + test_ret += test_xmlGetDocEntity(); + test_ret += test_xmlGetDtdEntity(); + test_ret += test_xmlGetParameterEntity(); + test_ret += test_xmlGetPredefinedEntity(); + test_ret += test_xmlInitializePredefinedEntities(); + test_ret += test_xmlNewEntity(); + + if (test_ret != 0) + printf("Module entities: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlHashAddEntry(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlHashTablePtr table; /* the hash table */ + int n_table; + xmlChar * name; /* the name of the userdata */ + int n_name; + void * userdata; /* a pointer to the userdata */ + int n_userdata; + + for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) { + mem_base = xmlMemBlocks(); + table = gen_xmlHashTablePtr(n_table, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + userdata = gen_userdata(n_userdata, 2); + + ret_val = xmlHashAddEntry(table, (const xmlChar *)name, userdata); + desret_int(ret_val); + call_tests++; + des_xmlHashTablePtr(n_table, table, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_userdata(n_userdata, userdata, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHashAddEntry", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_table); + printf(" %d", n_name); + printf(" %d", n_userdata); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlHashAddEntry2(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlHashTablePtr table; /* the hash table */ + int n_table; + xmlChar * name; /* the name of the userdata */ + int n_name; + xmlChar * name2; /* a second name of the userdata */ + int n_name2; + void * userdata; /* a pointer to the userdata */ + int n_userdata; + + for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) { + for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) { + mem_base = xmlMemBlocks(); + table = gen_xmlHashTablePtr(n_table, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + name2 = gen_const_xmlChar_ptr(n_name2, 2); + userdata = gen_userdata(n_userdata, 3); + + ret_val = xmlHashAddEntry2(table, (const xmlChar *)name, (const xmlChar *)name2, userdata); + desret_int(ret_val); + call_tests++; + des_xmlHashTablePtr(n_table, table, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2); + des_userdata(n_userdata, userdata, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHashAddEntry2", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_table); + printf(" %d", n_name); + printf(" %d", n_name2); + printf(" %d", n_userdata); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlHashAddEntry3(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlHashTablePtr table; /* the hash table */ + int n_table; + xmlChar * name; /* the name of the userdata */ + int n_name; + xmlChar * name2; /* a second name of the userdata */ + int n_name2; + xmlChar * name3; /* a third name of the userdata */ + int n_name3; + void * userdata; /* a pointer to the userdata */ + int n_userdata; + + for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) { + for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) { + for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) { + mem_base = xmlMemBlocks(); + table = gen_xmlHashTablePtr(n_table, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + name2 = gen_const_xmlChar_ptr(n_name2, 2); + name3 = gen_const_xmlChar_ptr(n_name3, 3); + userdata = gen_userdata(n_userdata, 4); + + ret_val = xmlHashAddEntry3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3, userdata); + desret_int(ret_val); + call_tests++; + des_xmlHashTablePtr(n_table, table, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2); + des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3); + des_userdata(n_userdata, userdata, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHashAddEntry3", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_table); + printf(" %d", n_name); + printf(" %d", n_name2); + printf(" %d", n_name3); + printf(" %d", n_userdata); + printf("\n"); + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlHashCopy(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlHashCreate(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlHashCreateDict(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlHashDefaultDeallocator(void) { + int test_ret = 0; + + int mem_base; + void * entry; /* the hash table entry */ + int n_entry; + xmlChar * name; /* the entry's name */ + int n_name; + + for (n_entry = 0;n_entry < gen_nb_void_ptr;n_entry++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + entry = gen_void_ptr(n_entry, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + xmlHashDefaultDeallocator(entry, (const xmlChar *)name); + call_tests++; + des_void_ptr(n_entry, entry, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHashDefaultDeallocator", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_entry); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlHashLookup(void) { + int test_ret = 0; + + int mem_base; + void * ret_val; + xmlHashTablePtr table; /* the hash table */ + int n_table; + xmlChar * name; /* the name of the userdata */ + int n_name; + + for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + table = gen_xmlHashTablePtr(n_table, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlHashLookup(table, (const xmlChar *)name); + desret_void_ptr(ret_val); + call_tests++; + des_xmlHashTablePtr(n_table, table, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHashLookup", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_table); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlHashLookup2(void) { + int test_ret = 0; + + int mem_base; + void * ret_val; + xmlHashTablePtr table; /* the hash table */ + int n_table; + xmlChar * name; /* the name of the userdata */ + int n_name; + xmlChar * name2; /* a second name of the userdata */ + int n_name2; + + for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) { + mem_base = xmlMemBlocks(); + table = gen_xmlHashTablePtr(n_table, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + name2 = gen_const_xmlChar_ptr(n_name2, 2); + + ret_val = xmlHashLookup2(table, (const xmlChar *)name, (const xmlChar *)name2); + desret_void_ptr(ret_val); + call_tests++; + des_xmlHashTablePtr(n_table, table, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHashLookup2", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_table); + printf(" %d", n_name); + printf(" %d", n_name2); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlHashLookup3(void) { + int test_ret = 0; + + int mem_base; + void * ret_val; + xmlHashTablePtr table; /* the hash table */ + int n_table; + xmlChar * name; /* the name of the userdata */ + int n_name; + xmlChar * name2; /* a second name of the userdata */ + int n_name2; + xmlChar * name3; /* a third name of the userdata */ + int n_name3; + + for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) { + for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) { + mem_base = xmlMemBlocks(); + table = gen_xmlHashTablePtr(n_table, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + name2 = gen_const_xmlChar_ptr(n_name2, 2); + name3 = gen_const_xmlChar_ptr(n_name3, 3); + + ret_val = xmlHashLookup3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3); + desret_void_ptr(ret_val); + call_tests++; + des_xmlHashTablePtr(n_table, table, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2); + des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHashLookup3", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_table); + printf(" %d", n_name); + printf(" %d", n_name2); + printf(" %d", n_name3); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlHashQLookup(void) { + int test_ret = 0; + + int mem_base; + void * ret_val; + xmlHashTablePtr table; /* the hash table */ + int n_table; + xmlChar * prefix; /* the prefix of the userdata */ + int n_prefix; + xmlChar * name; /* the name of the userdata */ + int n_name; + + for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) { + for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + table = gen_xmlHashTablePtr(n_table, 0); + prefix = gen_const_xmlChar_ptr(n_prefix, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + + ret_val = xmlHashQLookup(table, (const xmlChar *)prefix, (const xmlChar *)name); + desret_void_ptr(ret_val); + call_tests++; + des_xmlHashTablePtr(n_table, table, 0); + des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHashQLookup", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_table); + printf(" %d", n_prefix); + printf(" %d", n_name); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlHashQLookup2(void) { + int test_ret = 0; + + int mem_base; + void * ret_val; + xmlHashTablePtr table; /* the hash table */ + int n_table; + xmlChar * prefix; /* the prefix of the userdata */ + int n_prefix; + xmlChar * name; /* the name of the userdata */ + int n_name; + xmlChar * prefix2; /* the second prefix of the userdata */ + int n_prefix2; + xmlChar * name2; /* a second name of the userdata */ + int n_name2; + + for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) { + for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_prefix2 = 0;n_prefix2 < gen_nb_const_xmlChar_ptr;n_prefix2++) { + for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) { + mem_base = xmlMemBlocks(); + table = gen_xmlHashTablePtr(n_table, 0); + prefix = gen_const_xmlChar_ptr(n_prefix, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + prefix2 = gen_const_xmlChar_ptr(n_prefix2, 3); + name2 = gen_const_xmlChar_ptr(n_name2, 4); + + ret_val = xmlHashQLookup2(table, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)prefix2, (const xmlChar *)name2); + desret_void_ptr(ret_val); + call_tests++; + des_xmlHashTablePtr(n_table, table, 0); + des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + des_const_xmlChar_ptr(n_prefix2, (const xmlChar *)prefix2, 3); + des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHashQLookup2", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_table); + printf(" %d", n_prefix); + printf(" %d", n_name); + printf(" %d", n_prefix2); + printf(" %d", n_name2); + printf("\n"); + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlHashQLookup3(void) { + int test_ret = 0; + + int mem_base; + void * ret_val; + xmlHashTablePtr table; /* the hash table */ + int n_table; + xmlChar * prefix; /* the prefix of the userdata */ + int n_prefix; + xmlChar * name; /* the name of the userdata */ + int n_name; + xmlChar * prefix2; /* the second prefix of the userdata */ + int n_prefix2; + xmlChar * name2; /* a second name of the userdata */ + int n_name2; + xmlChar * prefix3; /* the third prefix of the userdata */ + int n_prefix3; + xmlChar * name3; /* a third name of the userdata */ + int n_name3; + + for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) { + for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_prefix2 = 0;n_prefix2 < gen_nb_const_xmlChar_ptr;n_prefix2++) { + for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) { + for (n_prefix3 = 0;n_prefix3 < gen_nb_const_xmlChar_ptr;n_prefix3++) { + for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) { + mem_base = xmlMemBlocks(); + table = gen_xmlHashTablePtr(n_table, 0); + prefix = gen_const_xmlChar_ptr(n_prefix, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + prefix2 = gen_const_xmlChar_ptr(n_prefix2, 3); + name2 = gen_const_xmlChar_ptr(n_name2, 4); + prefix3 = gen_const_xmlChar_ptr(n_prefix3, 5); + name3 = gen_const_xmlChar_ptr(n_name3, 6); + + ret_val = xmlHashQLookup3(table, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)prefix2, (const xmlChar *)name2, (const xmlChar *)prefix3, (const xmlChar *)name3); + desret_void_ptr(ret_val); + call_tests++; + des_xmlHashTablePtr(n_table, table, 0); + des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + des_const_xmlChar_ptr(n_prefix2, (const xmlChar *)prefix2, 3); + des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 4); + des_const_xmlChar_ptr(n_prefix3, (const xmlChar *)prefix3, 5); + des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 6); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHashQLookup3", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_table); + printf(" %d", n_prefix); + printf(" %d", n_name); + printf(" %d", n_prefix2); + printf(" %d", n_name2); + printf(" %d", n_prefix3); + printf(" %d", n_name3); + printf("\n"); + } + } + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlHashRemoveEntry(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlHashTablePtr table; /* the hash table */ + int n_table; + xmlChar * name; /* the name of the userdata */ + int n_name; + xmlHashDeallocator f; /* the deallocator function for removed item (if any) */ + int n_f; + + for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) { + mem_base = xmlMemBlocks(); + table = gen_xmlHashTablePtr(n_table, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + f = gen_xmlHashDeallocator(n_f, 2); + + ret_val = xmlHashRemoveEntry(table, (const xmlChar *)name, f); + desret_int(ret_val); + call_tests++; + des_xmlHashTablePtr(n_table, table, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_xmlHashDeallocator(n_f, f, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHashRemoveEntry", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_table); + printf(" %d", n_name); + printf(" %d", n_f); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlHashRemoveEntry2(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlHashTablePtr table; /* the hash table */ + int n_table; + xmlChar * name; /* the name of the userdata */ + int n_name; + xmlChar * name2; /* a second name of the userdata */ + int n_name2; + xmlHashDeallocator f; /* the deallocator function for removed item (if any) */ + int n_f; + + for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) { + for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) { + mem_base = xmlMemBlocks(); + table = gen_xmlHashTablePtr(n_table, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + name2 = gen_const_xmlChar_ptr(n_name2, 2); + f = gen_xmlHashDeallocator(n_f, 3); + + ret_val = xmlHashRemoveEntry2(table, (const xmlChar *)name, (const xmlChar *)name2, f); + desret_int(ret_val); + call_tests++; + des_xmlHashTablePtr(n_table, table, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2); + des_xmlHashDeallocator(n_f, f, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHashRemoveEntry2", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_table); + printf(" %d", n_name); + printf(" %d", n_name2); + printf(" %d", n_f); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlHashRemoveEntry3(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlHashTablePtr table; /* the hash table */ + int n_table; + xmlChar * name; /* the name of the userdata */ + int n_name; + xmlChar * name2; /* a second name of the userdata */ + int n_name2; + xmlChar * name3; /* a third name of the userdata */ + int n_name3; + xmlHashDeallocator f; /* the deallocator function for removed item (if any) */ + int n_f; + + for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) { + for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) { + for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) { + mem_base = xmlMemBlocks(); + table = gen_xmlHashTablePtr(n_table, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + name2 = gen_const_xmlChar_ptr(n_name2, 2); + name3 = gen_const_xmlChar_ptr(n_name3, 3); + f = gen_xmlHashDeallocator(n_f, 4); + + ret_val = xmlHashRemoveEntry3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3, f); + desret_int(ret_val); + call_tests++; + des_xmlHashTablePtr(n_table, table, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2); + des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3); + des_xmlHashDeallocator(n_f, f, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHashRemoveEntry3", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_table); + printf(" %d", n_name); + printf(" %d", n_name2); + printf(" %d", n_name3); + printf(" %d", n_f); + printf("\n"); + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlHashScan(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlHashScan3(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlHashScanFull(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlHashScanFull3(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlHashSize(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlHashTablePtr table; /* the hash table */ + int n_table; + + for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) { + mem_base = xmlMemBlocks(); + table = gen_xmlHashTablePtr(n_table, 0); + + ret_val = xmlHashSize(table); + desret_int(ret_val); + call_tests++; + des_xmlHashTablePtr(n_table, table, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHashSize", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_table); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlHashUpdateEntry(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlHashTablePtr table; /* the hash table */ + int n_table; + xmlChar * name; /* the name of the userdata */ + int n_name; + void * userdata; /* a pointer to the userdata */ + int n_userdata; + xmlHashDeallocator f; /* the deallocator function for replaced item (if any) */ + int n_f; + + for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) { + for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) { + mem_base = xmlMemBlocks(); + table = gen_xmlHashTablePtr(n_table, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + userdata = gen_userdata(n_userdata, 2); + f = gen_xmlHashDeallocator(n_f, 3); + + ret_val = xmlHashUpdateEntry(table, (const xmlChar *)name, userdata, f); + desret_int(ret_val); + call_tests++; + des_xmlHashTablePtr(n_table, table, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_userdata(n_userdata, userdata, 2); + des_xmlHashDeallocator(n_f, f, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHashUpdateEntry", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_table); + printf(" %d", n_name); + printf(" %d", n_userdata); + printf(" %d", n_f); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlHashUpdateEntry2(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlHashTablePtr table; /* the hash table */ + int n_table; + xmlChar * name; /* the name of the userdata */ + int n_name; + xmlChar * name2; /* a second name of the userdata */ + int n_name2; + void * userdata; /* a pointer to the userdata */ + int n_userdata; + xmlHashDeallocator f; /* the deallocator function for replaced item (if any) */ + int n_f; + + for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) { + for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) { + for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) { + mem_base = xmlMemBlocks(); + table = gen_xmlHashTablePtr(n_table, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + name2 = gen_const_xmlChar_ptr(n_name2, 2); + userdata = gen_userdata(n_userdata, 3); + f = gen_xmlHashDeallocator(n_f, 4); + + ret_val = xmlHashUpdateEntry2(table, (const xmlChar *)name, (const xmlChar *)name2, userdata, f); + desret_int(ret_val); + call_tests++; + des_xmlHashTablePtr(n_table, table, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2); + des_userdata(n_userdata, userdata, 3); + des_xmlHashDeallocator(n_f, f, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHashUpdateEntry2", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_table); + printf(" %d", n_name); + printf(" %d", n_name2); + printf(" %d", n_userdata); + printf(" %d", n_f); + printf("\n"); + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlHashUpdateEntry3(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlHashTablePtr table; /* the hash table */ + int n_table; + xmlChar * name; /* the name of the userdata */ + int n_name; + xmlChar * name2; /* a second name of the userdata */ + int n_name2; + xmlChar * name3; /* a third name of the userdata */ + int n_name3; + void * userdata; /* a pointer to the userdata */ + int n_userdata; + xmlHashDeallocator f; /* the deallocator function for replaced item (if any) */ + int n_f; + + for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) { + for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) { + for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) { + for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) { + mem_base = xmlMemBlocks(); + table = gen_xmlHashTablePtr(n_table, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + name2 = gen_const_xmlChar_ptr(n_name2, 2); + name3 = gen_const_xmlChar_ptr(n_name3, 3); + userdata = gen_userdata(n_userdata, 4); + f = gen_xmlHashDeallocator(n_f, 5); + + ret_val = xmlHashUpdateEntry3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3, userdata, f); + desret_int(ret_val); + call_tests++; + des_xmlHashTablePtr(n_table, table, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2); + des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3); + des_userdata(n_userdata, userdata, 4); + des_xmlHashDeallocator(n_f, f, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHashUpdateEntry3", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_table); + printf(" %d", n_name); + printf(" %d", n_name2); + printf(" %d", n_name3); + printf(" %d", n_userdata); + printf(" %d", n_f); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + +static int +test_hash(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing hash : 17 of 25 functions ...\n"); + test_ret += test_xmlHashAddEntry(); + test_ret += test_xmlHashAddEntry2(); + test_ret += test_xmlHashAddEntry3(); + test_ret += test_xmlHashCopy(); + test_ret += test_xmlHashCreate(); + test_ret += test_xmlHashCreateDict(); + test_ret += test_xmlHashDefaultDeallocator(); + test_ret += test_xmlHashLookup(); + test_ret += test_xmlHashLookup2(); + test_ret += test_xmlHashLookup3(); + test_ret += test_xmlHashQLookup(); + test_ret += test_xmlHashQLookup2(); + test_ret += test_xmlHashQLookup3(); + test_ret += test_xmlHashRemoveEntry(); + test_ret += test_xmlHashRemoveEntry2(); + test_ret += test_xmlHashRemoveEntry3(); + test_ret += test_xmlHashScan(); + test_ret += test_xmlHashScan3(); + test_ret += test_xmlHashScanFull(); + test_ret += test_xmlHashScanFull3(); + test_ret += test_xmlHashSize(); + test_ret += test_xmlHashUpdateEntry(); + test_ret += test_xmlHashUpdateEntry2(); + test_ret += test_xmlHashUpdateEntry3(); + + if (test_ret != 0) + printf("Module hash: %d errors\n", test_ret); + return(test_ret); +} + +#define gen_nb_xmlLinkPtr 1 +static xmlLinkPtr gen_xmlLinkPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlLinkPtr(int no ATTRIBUTE_UNUSED, xmlLinkPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlLinkGetData(void) { + int test_ret = 0; + + int mem_base; + void * ret_val; + xmlLinkPtr lk; /* a link */ + int n_lk; + + for (n_lk = 0;n_lk < gen_nb_xmlLinkPtr;n_lk++) { + mem_base = xmlMemBlocks(); + lk = gen_xmlLinkPtr(n_lk, 0); + + ret_val = xmlLinkGetData(lk); + desret_void_ptr(ret_val); + call_tests++; + des_xmlLinkPtr(n_lk, lk, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlLinkGetData", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_lk); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlListAppend(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlListPtr l; /* a list */ + int n_l; + void * data; /* the data */ + int n_data; + + for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) { + for (n_data = 0;n_data < gen_nb_userdata;n_data++) { + mem_base = xmlMemBlocks(); + l = gen_xmlListPtr(n_l, 0); + data = gen_userdata(n_data, 1); + + ret_val = xmlListAppend(l, data); + desret_int(ret_val); + call_tests++; + des_xmlListPtr(n_l, l, 0); + des_userdata(n_data, data, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlListAppend", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_l); + printf(" %d", n_data); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlListClear(void) { + int test_ret = 0; + + int mem_base; + xmlListPtr l; /* a list */ + int n_l; + + for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) { + mem_base = xmlMemBlocks(); + l = gen_xmlListPtr(n_l, 0); + + xmlListClear(l); + call_tests++; + des_xmlListPtr(n_l, l, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlListClear", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_l); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +#define gen_nb_const_xmlListPtr 1 +static xmlListPtr gen_const_xmlListPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_const_xmlListPtr(int no ATTRIBUTE_UNUSED, const xmlListPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlListCopy(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlListPtr cur; /* the new list */ + int n_cur; + xmlListPtr old; /* the old list */ + int n_old; + + for (n_cur = 0;n_cur < gen_nb_xmlListPtr;n_cur++) { + for (n_old = 0;n_old < gen_nb_const_xmlListPtr;n_old++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlListPtr(n_cur, 0); + old = gen_const_xmlListPtr(n_old, 1); + + ret_val = xmlListCopy(cur, (const xmlListPtr)old); + desret_int(ret_val); + call_tests++; + des_xmlListPtr(n_cur, cur, 0); + des_const_xmlListPtr(n_old, (const xmlListPtr)old, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlListCopy", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_old); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlListCreate(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlListDup(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlListEmpty(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlListPtr l; /* a list */ + int n_l; + + for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) { + mem_base = xmlMemBlocks(); + l = gen_xmlListPtr(n_l, 0); + + ret_val = xmlListEmpty(l); + desret_int(ret_val); + call_tests++; + des_xmlListPtr(n_l, l, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlListEmpty", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_l); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlListEnd(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlListFront(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlListInsert(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlListPtr l; /* a list */ + int n_l; + void * data; /* the data */ + int n_data; + + for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) { + for (n_data = 0;n_data < gen_nb_userdata;n_data++) { + mem_base = xmlMemBlocks(); + l = gen_xmlListPtr(n_l, 0); + data = gen_userdata(n_data, 1); + + ret_val = xmlListInsert(l, data); + desret_int(ret_val); + call_tests++; + des_xmlListPtr(n_l, l, 0); + des_userdata(n_data, data, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlListInsert", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_l); + printf(" %d", n_data); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlListMerge(void) { + int test_ret = 0; + + int mem_base; + xmlListPtr l1; /* the original list */ + int n_l1; + xmlListPtr l2; /* the new list */ + int n_l2; + + for (n_l1 = 0;n_l1 < gen_nb_xmlListPtr;n_l1++) { + for (n_l2 = 0;n_l2 < gen_nb_xmlListPtr;n_l2++) { + mem_base = xmlMemBlocks(); + l1 = gen_xmlListPtr(n_l1, 0); + l2 = gen_xmlListPtr(n_l2, 1); + + xmlListMerge(l1, l2); + call_tests++; + des_xmlListPtr(n_l1, l1, 0); + des_xmlListPtr(n_l2, l2, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlListMerge", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_l1); + printf(" %d", n_l2); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlListPopBack(void) { + int test_ret = 0; + + int mem_base; + xmlListPtr l; /* a list */ + int n_l; + + for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) { + mem_base = xmlMemBlocks(); + l = gen_xmlListPtr(n_l, 0); + + xmlListPopBack(l); + call_tests++; + des_xmlListPtr(n_l, l, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlListPopBack", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_l); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlListPopFront(void) { + int test_ret = 0; + + int mem_base; + xmlListPtr l; /* a list */ + int n_l; + + for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) { + mem_base = xmlMemBlocks(); + l = gen_xmlListPtr(n_l, 0); + + xmlListPopFront(l); + call_tests++; + des_xmlListPtr(n_l, l, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlListPopFront", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_l); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlListPushBack(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlListPtr l; /* a list */ + int n_l; + void * data; /* new data */ + int n_data; + + for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) { + for (n_data = 0;n_data < gen_nb_userdata;n_data++) { + mem_base = xmlMemBlocks(); + l = gen_xmlListPtr(n_l, 0); + data = gen_userdata(n_data, 1); + + ret_val = xmlListPushBack(l, data); + desret_int(ret_val); + call_tests++; + des_xmlListPtr(n_l, l, 0); + des_userdata(n_data, data, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlListPushBack", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_l); + printf(" %d", n_data); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlListPushFront(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlListPtr l; /* a list */ + int n_l; + void * data; /* new data */ + int n_data; + + for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) { + for (n_data = 0;n_data < gen_nb_userdata;n_data++) { + mem_base = xmlMemBlocks(); + l = gen_xmlListPtr(n_l, 0); + data = gen_userdata(n_data, 1); + + ret_val = xmlListPushFront(l, data); + desret_int(ret_val); + call_tests++; + des_xmlListPtr(n_l, l, 0); + des_userdata(n_data, data, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlListPushFront", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_l); + printf(" %d", n_data); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlListRemoveAll(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlListPtr l; /* a list */ + int n_l; + void * data; /* list data */ + int n_data; + + for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) { + for (n_data = 0;n_data < gen_nb_userdata;n_data++) { + mem_base = xmlMemBlocks(); + l = gen_xmlListPtr(n_l, 0); + data = gen_userdata(n_data, 1); + + ret_val = xmlListRemoveAll(l, data); + desret_int(ret_val); + call_tests++; + des_xmlListPtr(n_l, l, 0); + des_userdata(n_data, data, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlListRemoveAll", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_l); + printf(" %d", n_data); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlListRemoveFirst(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlListPtr l; /* a list */ + int n_l; + void * data; /* list data */ + int n_data; + + for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) { + for (n_data = 0;n_data < gen_nb_userdata;n_data++) { + mem_base = xmlMemBlocks(); + l = gen_xmlListPtr(n_l, 0); + data = gen_userdata(n_data, 1); + + ret_val = xmlListRemoveFirst(l, data); + desret_int(ret_val); + call_tests++; + des_xmlListPtr(n_l, l, 0); + des_userdata(n_data, data, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlListRemoveFirst", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_l); + printf(" %d", n_data); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlListRemoveLast(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlListPtr l; /* a list */ + int n_l; + void * data; /* list data */ + int n_data; + + for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) { + for (n_data = 0;n_data < gen_nb_userdata;n_data++) { + mem_base = xmlMemBlocks(); + l = gen_xmlListPtr(n_l, 0); + data = gen_userdata(n_data, 1); + + ret_val = xmlListRemoveLast(l, data); + desret_int(ret_val); + call_tests++; + des_xmlListPtr(n_l, l, 0); + des_userdata(n_data, data, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlListRemoveLast", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_l); + printf(" %d", n_data); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlListReverse(void) { + int test_ret = 0; + + int mem_base; + xmlListPtr l; /* a list */ + int n_l; + + for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) { + mem_base = xmlMemBlocks(); + l = gen_xmlListPtr(n_l, 0); + + xmlListReverse(l); + call_tests++; + des_xmlListPtr(n_l, l, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlListReverse", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_l); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlListReverseSearch(void) { + int test_ret = 0; + + int mem_base; + void * ret_val; + xmlListPtr l; /* a list */ + int n_l; + void * data; /* a search value */ + int n_data; + + for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) { + for (n_data = 0;n_data < gen_nb_userdata;n_data++) { + mem_base = xmlMemBlocks(); + l = gen_xmlListPtr(n_l, 0); + data = gen_userdata(n_data, 1); + + ret_val = xmlListReverseSearch(l, data); + desret_void_ptr(ret_val); + call_tests++; + des_xmlListPtr(n_l, l, 0); + des_userdata(n_data, data, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlListReverseSearch", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_l); + printf(" %d", n_data); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlListReverseWalk(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlListSearch(void) { + int test_ret = 0; + + int mem_base; + void * ret_val; + xmlListPtr l; /* a list */ + int n_l; + void * data; /* a search value */ + int n_data; + + for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) { + for (n_data = 0;n_data < gen_nb_userdata;n_data++) { + mem_base = xmlMemBlocks(); + l = gen_xmlListPtr(n_l, 0); + data = gen_userdata(n_data, 1); + + ret_val = xmlListSearch(l, data); + desret_void_ptr(ret_val); + call_tests++; + des_xmlListPtr(n_l, l, 0); + des_userdata(n_data, data, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlListSearch", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_l); + printf(" %d", n_data); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlListSize(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlListPtr l; /* a list */ + int n_l; + + for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) { + mem_base = xmlMemBlocks(); + l = gen_xmlListPtr(n_l, 0); + + ret_val = xmlListSize(l); + desret_int(ret_val); + call_tests++; + des_xmlListPtr(n_l, l, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlListSize", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_l); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlListSort(void) { + int test_ret = 0; + + int mem_base; + xmlListPtr l; /* a list */ + int n_l; + + for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) { + mem_base = xmlMemBlocks(); + l = gen_xmlListPtr(n_l, 0); + + xmlListSort(l); + call_tests++; + des_xmlListPtr(n_l, l, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlListSort", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_l); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlListWalk(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + +static int +test_list(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing list : 19 of 26 functions ...\n"); + test_ret += test_xmlLinkGetData(); + test_ret += test_xmlListAppend(); + test_ret += test_xmlListClear(); + test_ret += test_xmlListCopy(); + test_ret += test_xmlListCreate(); + test_ret += test_xmlListDup(); + test_ret += test_xmlListEmpty(); + test_ret += test_xmlListEnd(); + test_ret += test_xmlListFront(); + test_ret += test_xmlListInsert(); + test_ret += test_xmlListMerge(); + test_ret += test_xmlListPopBack(); + test_ret += test_xmlListPopFront(); + test_ret += test_xmlListPushBack(); + test_ret += test_xmlListPushFront(); + test_ret += test_xmlListRemoveAll(); + test_ret += test_xmlListRemoveFirst(); + test_ret += test_xmlListRemoveLast(); + test_ret += test_xmlListReverse(); + test_ret += test_xmlListReverseSearch(); + test_ret += test_xmlListReverseWalk(); + test_ret += test_xmlListSearch(); + test_ret += test_xmlListSize(); + test_ret += test_xmlListSort(); + test_ret += test_xmlListWalk(); + + if (test_ret != 0) + printf("Module list: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlNanoFTPCheckResponse(void) { + int test_ret = 0; + +#if defined(LIBXML_FTP_ENABLED) + int mem_base; + int ret_val; + void * ctx; /* an FTP context */ + int n_ctx; + + for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0); + + ret_val = xmlNanoFTPCheckResponse(ctx); + desret_int(ret_val); + call_tests++; + des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoFTPCheckResponse", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoFTPCleanup(void) { + int test_ret = 0; + +#if defined(LIBXML_FTP_ENABLED) + int mem_base; + + mem_base = xmlMemBlocks(); + + xmlNanoFTPCleanup(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoFTPCleanup", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoFTPCloseConnection(void) { + int test_ret = 0; + +#if defined(LIBXML_FTP_ENABLED) + int mem_base; + int ret_val; + void * ctx; /* an FTP context */ + int n_ctx; + + for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0); + + ret_val = xmlNanoFTPCloseConnection(ctx); + desret_int(ret_val); + call_tests++; + des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoFTPCloseConnection", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoFTPCwd(void) { + int test_ret = 0; + +#if defined(LIBXML_FTP_ENABLED) + int mem_base; + int ret_val; + void * ctx; /* an FTP context */ + int n_ctx; + char * directory; /* a directory on the server */ + int n_directory; + + for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) { + for (n_directory = 0;n_directory < gen_nb_const_char_ptr;n_directory++) { + mem_base = xmlMemBlocks(); + ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0); + directory = gen_const_char_ptr(n_directory, 1); + + ret_val = xmlNanoFTPCwd(ctx, (const char *)directory); + desret_int(ret_val); + call_tests++; + des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0); + des_const_char_ptr(n_directory, (const char *)directory, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoFTPCwd", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_directory); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoFTPDele(void) { + int test_ret = 0; + +#if defined(LIBXML_FTP_ENABLED) + int mem_base; + int ret_val; + void * ctx; /* an FTP context */ + int n_ctx; + const char * file; /* a file or directory on the server */ + int n_file; + + for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) { + for (n_file = 0;n_file < gen_nb_filepath;n_file++) { + mem_base = xmlMemBlocks(); + ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0); + file = gen_filepath(n_file, 1); + + ret_val = xmlNanoFTPDele(ctx, file); + desret_int(ret_val); + call_tests++; + des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0); + des_filepath(n_file, file, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoFTPDele", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_file); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoFTPGet(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlNanoFTPGetConnection(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlNanoFTPGetResponse(void) { + int test_ret = 0; + +#if defined(LIBXML_FTP_ENABLED) + int mem_base; + int ret_val; + void * ctx; /* an FTP context */ + int n_ctx; + + for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0); + + ret_val = xmlNanoFTPGetResponse(ctx); + desret_int(ret_val); + call_tests++; + des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoFTPGetResponse", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoFTPGetSocket(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlNanoFTPInit(void) { + int test_ret = 0; + +#if defined(LIBXML_FTP_ENABLED) + int mem_base; + + mem_base = xmlMemBlocks(); + + xmlNanoFTPInit(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoFTPInit", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoFTPList(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlNanoFTPNewCtxt(void) { + int test_ret = 0; + +#if defined(LIBXML_FTP_ENABLED) + int mem_base; + void * ret_val; + const char * URL; /* The URL used to initialize the context */ + int n_URL; + + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + mem_base = xmlMemBlocks(); + URL = gen_filepath(n_URL, 0); + + ret_val = xmlNanoFTPNewCtxt(URL); + desret_xmlNanoFTPCtxtPtr(ret_val); + call_tests++; + des_filepath(n_URL, URL, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoFTPNewCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_URL); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoFTPOpen(void) { + int test_ret = 0; + +#if defined(LIBXML_FTP_ENABLED) + int mem_base; + void * ret_val; + const char * URL; /* the URL to the resource */ + int n_URL; + + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + mem_base = xmlMemBlocks(); + URL = gen_filepath(n_URL, 0); + + ret_val = xmlNanoFTPOpen(URL); + desret_xmlNanoFTPCtxtPtr(ret_val); + call_tests++; + des_filepath(n_URL, URL, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoFTPOpen", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_URL); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoFTPProxy(void) { + int test_ret = 0; + +#if defined(LIBXML_FTP_ENABLED) + char * host; /* the proxy host name */ + int n_host; + int port; /* the proxy port */ + int n_port; + char * user; /* the proxy user name */ + int n_user; + char * passwd; /* the proxy password */ + int n_passwd; + int type; /* the type of proxy 1 for using SITE, 2 for USER a@b */ + int n_type; + + for (n_host = 0;n_host < gen_nb_const_char_ptr;n_host++) { + for (n_port = 0;n_port < gen_nb_int;n_port++) { + for (n_user = 0;n_user < gen_nb_const_char_ptr;n_user++) { + for (n_passwd = 0;n_passwd < gen_nb_const_char_ptr;n_passwd++) { + for (n_type = 0;n_type < gen_nb_int;n_type++) { + host = gen_const_char_ptr(n_host, 0); + port = gen_int(n_port, 1); + user = gen_const_char_ptr(n_user, 2); + passwd = gen_const_char_ptr(n_passwd, 3); + type = gen_int(n_type, 4); + + xmlNanoFTPProxy((const char *)host, port, (const char *)user, (const char *)passwd, type); + call_tests++; + des_const_char_ptr(n_host, (const char *)host, 0); + des_int(n_port, port, 1); + des_const_char_ptr(n_user, (const char *)user, 2); + des_const_char_ptr(n_passwd, (const char *)passwd, 3); + des_int(n_type, type, 4); + xmlResetLastError(); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoFTPQuit(void) { + int test_ret = 0; + +#if defined(LIBXML_FTP_ENABLED) + int mem_base; + int ret_val; + void * ctx; /* an FTP context */ + int n_ctx; + + for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0); + + ret_val = xmlNanoFTPQuit(ctx); + desret_int(ret_val); + call_tests++; + des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoFTPQuit", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoFTPRead(void) { + int test_ret = 0; + +#if defined(LIBXML_FTP_ENABLED) + int mem_base; + int ret_val; + void * ctx; /* the FTP context */ + int n_ctx; + void * dest; /* a buffer */ + int n_dest; + int len; /* the buffer length */ + int n_len; + + for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) { + for (n_dest = 0;n_dest < gen_nb_void_ptr;n_dest++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0); + dest = gen_void_ptr(n_dest, 1); + len = gen_int(n_len, 2); + + ret_val = xmlNanoFTPRead(ctx, dest, len); + desret_int(ret_val); + call_tests++; + des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0); + des_void_ptr(n_dest, dest, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoFTPRead", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_dest); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoFTPScanProxy(void) { + int test_ret = 0; + +#if defined(LIBXML_FTP_ENABLED) + const char * URL; /* The proxy URL used to initialize the proxy context */ + int n_URL; + + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + URL = gen_filepath(n_URL, 0); + + xmlNanoFTPScanProxy(URL); + call_tests++; + des_filepath(n_URL, URL, 0); + xmlResetLastError(); + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoFTPUpdateURL(void) { + int test_ret = 0; + +#if defined(LIBXML_FTP_ENABLED) + int mem_base; + int ret_val; + void * ctx; /* an FTP context */ + int n_ctx; + const char * URL; /* The URL used to update the context */ + int n_URL; + + for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) { + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + mem_base = xmlMemBlocks(); + ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0); + URL = gen_filepath(n_URL, 1); + + ret_val = xmlNanoFTPUpdateURL(ctx, URL); + desret_int(ret_val); + call_tests++; + des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0); + des_filepath(n_URL, URL, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoFTPUpdateURL", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_URL); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_nanoftp(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing nanoftp : 14 of 22 functions ...\n"); + test_ret += test_xmlNanoFTPCheckResponse(); + test_ret += test_xmlNanoFTPCleanup(); + test_ret += test_xmlNanoFTPCloseConnection(); + test_ret += test_xmlNanoFTPCwd(); + test_ret += test_xmlNanoFTPDele(); + test_ret += test_xmlNanoFTPGet(); + test_ret += test_xmlNanoFTPGetConnection(); + test_ret += test_xmlNanoFTPGetResponse(); + test_ret += test_xmlNanoFTPGetSocket(); + test_ret += test_xmlNanoFTPInit(); + test_ret += test_xmlNanoFTPList(); + test_ret += test_xmlNanoFTPNewCtxt(); + test_ret += test_xmlNanoFTPOpen(); + test_ret += test_xmlNanoFTPProxy(); + test_ret += test_xmlNanoFTPQuit(); + test_ret += test_xmlNanoFTPRead(); + test_ret += test_xmlNanoFTPScanProxy(); + test_ret += test_xmlNanoFTPUpdateURL(); + + if (test_ret != 0) + printf("Module nanoftp: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlNanoHTTPAuthHeader(void) { + int test_ret = 0; + +#if defined(LIBXML_HTTP_ENABLED) + int mem_base; + const char * ret_val; + void * ctx; /* the HTTP context */ + int n_ctx; + + for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0); + + ret_val = xmlNanoHTTPAuthHeader(ctx); + desret_const_char_ptr(ret_val); + call_tests++; + des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoHTTPAuthHeader", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoHTTPCleanup(void) { + int test_ret = 0; + +#if defined(LIBXML_HTTP_ENABLED) + int mem_base; + + mem_base = xmlMemBlocks(); + + xmlNanoHTTPCleanup(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoHTTPCleanup", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoHTTPContentLength(void) { + int test_ret = 0; + +#if defined(LIBXML_HTTP_ENABLED) + int mem_base; + int ret_val; + void * ctx; /* the HTTP context */ + int n_ctx; + + for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0); + + ret_val = xmlNanoHTTPContentLength(ctx); + desret_int(ret_val); + call_tests++; + des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoHTTPContentLength", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoHTTPEncoding(void) { + int test_ret = 0; + +#if defined(LIBXML_HTTP_ENABLED) + int mem_base; + const char * ret_val; + void * ctx; /* the HTTP context */ + int n_ctx; + + for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0); + + ret_val = xmlNanoHTTPEncoding(ctx); + desret_const_char_ptr(ret_val); + call_tests++; + des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoHTTPEncoding", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +#define gen_nb_char_ptr_ptr 1 +static char ** gen_char_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_char_ptr_ptr(int no ATTRIBUTE_UNUSED, char ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlNanoHTTPFetch(void) { + int test_ret = 0; + +#if defined(LIBXML_HTTP_ENABLED) + int mem_base; + int ret_val; + const char * URL; /* The URL to load */ + int n_URL; + const char * filename; /* the filename where the content should be saved */ + int n_filename; + char ** contentType; /* if available the Content-Type information will be returned at that location */ + int n_contentType; + + for (n_URL = 0;n_URL < gen_nb_fileoutput;n_URL++) { + for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) { + for (n_contentType = 0;n_contentType < gen_nb_char_ptr_ptr;n_contentType++) { + mem_base = xmlMemBlocks(); + URL = gen_fileoutput(n_URL, 0); + filename = gen_fileoutput(n_filename, 1); + contentType = gen_char_ptr_ptr(n_contentType, 2); + + ret_val = xmlNanoHTTPFetch(URL, filename, contentType); + desret_int(ret_val); + call_tests++; + des_fileoutput(n_URL, URL, 0); + des_fileoutput(n_filename, filename, 1); + des_char_ptr_ptr(n_contentType, contentType, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoHTTPFetch", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_URL); + printf(" %d", n_filename); + printf(" %d", n_contentType); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoHTTPInit(void) { + int test_ret = 0; + +#if defined(LIBXML_HTTP_ENABLED) + int mem_base; + + mem_base = xmlMemBlocks(); + + xmlNanoHTTPInit(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoHTTPInit", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoHTTPMimeType(void) { + int test_ret = 0; + +#if defined(LIBXML_HTTP_ENABLED) + int mem_base; + const char * ret_val; + void * ctx; /* the HTTP context */ + int n_ctx; + + for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0); + + ret_val = xmlNanoHTTPMimeType(ctx); + desret_const_char_ptr(ret_val); + call_tests++; + des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoHTTPMimeType", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoHTTPOpen(void) { + int test_ret = 0; + +#if defined(LIBXML_HTTP_ENABLED) + int mem_base; + void * ret_val; + const char * URL; /* The URL to load */ + int n_URL; + char ** contentType; /* if available the Content-Type information will be returned at that location */ + int n_contentType; + + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + for (n_contentType = 0;n_contentType < gen_nb_char_ptr_ptr;n_contentType++) { + mem_base = xmlMemBlocks(); + URL = gen_filepath(n_URL, 0); + contentType = gen_char_ptr_ptr(n_contentType, 1); + + ret_val = xmlNanoHTTPOpen(URL, contentType); + desret_xmlNanoHTTPCtxtPtr(ret_val); + call_tests++; + des_filepath(n_URL, URL, 0); + des_char_ptr_ptr(n_contentType, contentType, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoHTTPOpen", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_URL); + printf(" %d", n_contentType); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoHTTPOpenRedir(void) { + int test_ret = 0; + +#if defined(LIBXML_HTTP_ENABLED) + int mem_base; + void * ret_val; + const char * URL; /* The URL to load */ + int n_URL; + char ** contentType; /* if available the Content-Type information will be returned at that location */ + int n_contentType; + char ** redir; /* if available the redirected URL will be returned */ + int n_redir; + + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + for (n_contentType = 0;n_contentType < gen_nb_char_ptr_ptr;n_contentType++) { + for (n_redir = 0;n_redir < gen_nb_char_ptr_ptr;n_redir++) { + mem_base = xmlMemBlocks(); + URL = gen_filepath(n_URL, 0); + contentType = gen_char_ptr_ptr(n_contentType, 1); + redir = gen_char_ptr_ptr(n_redir, 2); + + ret_val = xmlNanoHTTPOpenRedir(URL, contentType, redir); + desret_xmlNanoHTTPCtxtPtr(ret_val); + call_tests++; + des_filepath(n_URL, URL, 0); + des_char_ptr_ptr(n_contentType, contentType, 1); + des_char_ptr_ptr(n_redir, redir, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoHTTPOpenRedir", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_URL); + printf(" %d", n_contentType); + printf(" %d", n_redir); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoHTTPRead(void) { + int test_ret = 0; + +#if defined(LIBXML_HTTP_ENABLED) + int mem_base; + int ret_val; + void * ctx; /* the HTTP context */ + int n_ctx; + void * dest; /* a buffer */ + int n_dest; + int len; /* the buffer length */ + int n_len; + + for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) { + for (n_dest = 0;n_dest < gen_nb_void_ptr;n_dest++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0); + dest = gen_void_ptr(n_dest, 1); + len = gen_int(n_len, 2); + + ret_val = xmlNanoHTTPRead(ctx, dest, len); + desret_int(ret_val); + call_tests++; + des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0); + des_void_ptr(n_dest, dest, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoHTTPRead", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_dest); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoHTTPRedir(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlNanoHTTPReturnCode(void) { + int test_ret = 0; + +#if defined(LIBXML_HTTP_ENABLED) + int mem_base; + int ret_val; + void * ctx; /* the HTTP context */ + int n_ctx; + + for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0); + + ret_val = xmlNanoHTTPReturnCode(ctx); + desret_int(ret_val); + call_tests++; + des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoHTTPReturnCode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoHTTPSave(void) { + int test_ret = 0; + +#if defined(LIBXML_HTTP_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + void * ctxt; /* the HTTP context */ + int n_ctxt; + const char * filename; /* the filename where the content should be saved */ + int n_filename; + + for (n_ctxt = 0;n_ctxt < gen_nb_void_ptr;n_ctxt++) { + for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) { + mem_base = xmlMemBlocks(); + ctxt = gen_void_ptr(n_ctxt, 0); + filename = gen_fileoutput(n_filename, 1); + + ret_val = xmlNanoHTTPSave(ctxt, filename); + desret_int(ret_val); + call_tests++; + des_void_ptr(n_ctxt, ctxt, 0); + des_fileoutput(n_filename, filename, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNanoHTTPSave", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_filename); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNanoHTTPScanProxy(void) { + int test_ret = 0; + +#if defined(LIBXML_HTTP_ENABLED) + const char * URL; /* The proxy URL used to initialize the proxy context */ + int n_URL; + + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + URL = gen_filepath(n_URL, 0); + + xmlNanoHTTPScanProxy(URL); + call_tests++; + des_filepath(n_URL, URL, 0); + xmlResetLastError(); + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_nanohttp(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing nanohttp : 13 of 17 functions ...\n"); + test_ret += test_xmlNanoHTTPAuthHeader(); + test_ret += test_xmlNanoHTTPCleanup(); + test_ret += test_xmlNanoHTTPContentLength(); + test_ret += test_xmlNanoHTTPEncoding(); + test_ret += test_xmlNanoHTTPFetch(); + test_ret += test_xmlNanoHTTPInit(); + test_ret += test_xmlNanoHTTPMimeType(); + test_ret += test_xmlNanoHTTPOpen(); + test_ret += test_xmlNanoHTTPOpenRedir(); + test_ret += test_xmlNanoHTTPRead(); + test_ret += test_xmlNanoHTTPRedir(); + test_ret += test_xmlNanoHTTPReturnCode(); + test_ret += test_xmlNanoHTTPSave(); + test_ret += test_xmlNanoHTTPScanProxy(); + + if (test_ret != 0) + printf("Module nanohttp: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlByteConsumed(void) { + int test_ret = 0; + + int mem_base; + long ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + + ret_val = xmlByteConsumed(ctxt); + desret_long(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlByteConsumed", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlClearNodeInfoSeq(void) { + int test_ret = 0; + + int mem_base; + xmlParserNodeInfoSeqPtr seq; /* a node info sequence pointer */ + int n_seq; + + for (n_seq = 0;n_seq < gen_nb_xmlParserNodeInfoSeqPtr;n_seq++) { + mem_base = xmlMemBlocks(); + seq = gen_xmlParserNodeInfoSeqPtr(n_seq, 0); + + xmlClearNodeInfoSeq(seq); + call_tests++; + des_xmlParserNodeInfoSeqPtr(n_seq, seq, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlClearNodeInfoSeq", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_seq); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlClearParserCtxt(void) { + int test_ret = 0; + + int mem_base; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + + xmlClearParserCtxt(ctxt); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlClearParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCreateDocParserCtxt(void) { + int test_ret = 0; + + int mem_base; + xmlParserCtxtPtr ret_val; + xmlChar * cur; /* a pointer to an array of xmlChar */ + int n_cur; + + for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) { + mem_base = xmlMemBlocks(); + cur = gen_const_xmlChar_ptr(n_cur, 0); + + ret_val = xmlCreateDocParserCtxt((const xmlChar *)cur); + desret_xmlParserCtxtPtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCreateDocParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCreatePushParserCtxt(void) { + int test_ret = 0; + +#if defined(LIBXML_PUSH_ENABLED) + int mem_base; + xmlParserCtxtPtr ret_val; + xmlSAXHandlerPtr sax; /* a SAX handler */ + int n_sax; + void * user_data; /* The user data returned on SAX callbacks */ + int n_user_data; + char * chunk; /* a pointer to an array of chars */ + int n_chunk; + int size; /* number of chars in the array */ + int n_size; + const char * filename; /* an optional file name or URI */ + int n_filename; + + for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) { + for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) { + for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) { + mem_base = xmlMemBlocks(); + sax = gen_xmlSAXHandlerPtr(n_sax, 0); + user_data = gen_userdata(n_user_data, 1); + chunk = gen_const_char_ptr(n_chunk, 2); + size = gen_int(n_size, 3); + filename = gen_fileoutput(n_filename, 4); + if ((chunk != NULL) && + (size > (int) strlen((const char *) chunk) + 1)) + continue; + + ret_val = xmlCreatePushParserCtxt(sax, user_data, (const char *)chunk, size, filename); + desret_xmlParserCtxtPtr(ret_val); + call_tests++; + des_xmlSAXHandlerPtr(n_sax, sax, 0); + des_userdata(n_user_data, user_data, 1); + des_const_char_ptr(n_chunk, (const char *)chunk, 2); + des_int(n_size, size, 3); + des_fileoutput(n_filename, filename, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCreatePushParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_sax); + printf(" %d", n_user_data); + printf(" %d", n_chunk); + printf(" %d", n_size); + printf(" %d", n_filename); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlCtxtReadDoc(void) { + int test_ret = 0; + + int mem_base; + xmlDocPtr ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + xmlChar * cur; /* a pointer to a zero terminated string */ + int n_cur; + const char * URL; /* the base URL to use for the document */ + int n_URL; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + int options; /* a combination of xmlParserOption */ + int n_options; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) { + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + cur = gen_const_xmlChar_ptr(n_cur, 1); + URL = gen_filepath(n_URL, 2); + encoding = gen_const_char_ptr(n_encoding, 3); + options = gen_parseroptions(n_options, 4); + + ret_val = xmlCtxtReadDoc(ctxt, (const xmlChar *)cur, URL, (const char *)encoding, options); + desret_xmlDocPtr(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1); + des_filepath(n_URL, URL, 2); + des_const_char_ptr(n_encoding, (const char *)encoding, 3); + des_parseroptions(n_options, options, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCtxtReadDoc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_cur); + printf(" %d", n_URL); + printf(" %d", n_encoding); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCtxtReadFile(void) { + int test_ret = 0; + + int mem_base; + xmlDocPtr ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + const char * filename; /* a file or URL */ + int n_filename; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + int options; /* a combination of xmlParserOption */ + int n_options; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + filename = gen_filepath(n_filename, 1); + encoding = gen_const_char_ptr(n_encoding, 2); + options = gen_parseroptions(n_options, 3); + + ret_val = xmlCtxtReadFile(ctxt, filename, (const char *)encoding, options); + desret_xmlDocPtr(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_filepath(n_filename, filename, 1); + des_const_char_ptr(n_encoding, (const char *)encoding, 2); + des_parseroptions(n_options, options, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCtxtReadFile", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_filename); + printf(" %d", n_encoding); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCtxtReadMemory(void) { + int test_ret = 0; + + int mem_base; + xmlDocPtr ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + char * buffer; /* a pointer to a char array */ + int n_buffer; + int size; /* the size of the array */ + int n_size; + const char * URL; /* the base URL to use for the document */ + int n_URL; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + int options; /* a combination of xmlParserOption */ + int n_options; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + buffer = gen_const_char_ptr(n_buffer, 1); + size = gen_int(n_size, 2); + URL = gen_filepath(n_URL, 3); + encoding = gen_const_char_ptr(n_encoding, 4); + options = gen_parseroptions(n_options, 5); + if ((buffer != NULL) && + (size > (int) strlen((const char *) buffer) + 1)) + continue; + + ret_val = xmlCtxtReadMemory(ctxt, (const char *)buffer, size, URL, (const char *)encoding, options); + desret_xmlDocPtr(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_const_char_ptr(n_buffer, (const char *)buffer, 1); + des_int(n_size, size, 2); + des_filepath(n_URL, URL, 3); + des_const_char_ptr(n_encoding, (const char *)encoding, 4); + des_parseroptions(n_options, options, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCtxtReadMemory", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_buffer); + printf(" %d", n_size); + printf(" %d", n_URL); + printf(" %d", n_encoding); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCtxtReset(void) { + int test_ret = 0; + + int mem_base; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + + xmlCtxtReset(ctxt); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCtxtReset", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCtxtResetPush(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + char * chunk; /* a pointer to an array of chars */ + int n_chunk; + int size; /* number of chars in the array */ + int n_size; + const char * filename; /* an optional file name or URI */ + int n_filename; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + chunk = gen_const_char_ptr(n_chunk, 1); + size = gen_int(n_size, 2); + filename = gen_filepath(n_filename, 3); + encoding = gen_const_char_ptr(n_encoding, 4); + if ((chunk != NULL) && + (size > (int) strlen((const char *) chunk) + 1)) + continue; + + ret_val = xmlCtxtResetPush(ctxt, (const char *)chunk, size, filename, (const char *)encoding); + desret_int(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_const_char_ptr(n_chunk, (const char *)chunk, 1); + des_int(n_size, size, 2); + des_filepath(n_filename, filename, 3); + des_const_char_ptr(n_encoding, (const char *)encoding, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCtxtResetPush", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_chunk); + printf(" %d", n_size); + printf(" %d", n_filename); + printf(" %d", n_encoding); + printf("\n"); + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCtxtUseOptions(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + int options; /* a combination of xmlParserOption */ + int n_options; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + options = gen_parseroptions(n_options, 1); + + ret_val = xmlCtxtUseOptions(ctxt, options); + desret_int(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_parseroptions(n_options, options, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCtxtUseOptions", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_options); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetExternalEntityLoader(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlGetFeature(void) { + int test_ret = 0; + +#if defined(LIBXML_LEGACY_ENABLED) +#ifdef LIBXML_LEGACY_ENABLED + int mem_base; + int ret_val; + xmlParserCtxtPtr ctxt; /* an XML/HTML parser context */ + int n_ctxt; + char * name; /* the feature name */ + int n_name; + void * result; /* location to store the result */ + int n_result; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) { + for (n_result = 0;n_result < gen_nb_void_ptr;n_result++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + name = gen_const_char_ptr(n_name, 1); + result = gen_void_ptr(n_result, 2); + + ret_val = xmlGetFeature(ctxt, (const char *)name, result); + desret_int(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_const_char_ptr(n_name, (const char *)name, 1); + des_void_ptr(n_result, result, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetFeature", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_name); + printf(" %d", n_result); + printf("\n"); + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +#define gen_nb_const_char_ptr_ptr 1 +static char ** gen_const_char_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_const_char_ptr_ptr(int no ATTRIBUTE_UNUSED, const char ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlGetFeaturesList(void) { + int test_ret = 0; + +#if defined(LIBXML_LEGACY_ENABLED) +#ifdef LIBXML_LEGACY_ENABLED + int mem_base; + int ret_val; + int * len; /* the length of the features name array (input/output) */ + int n_len; + char ** result; /* an array of string to be filled with the features name. */ + int n_result; + + for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) { + for (n_result = 0;n_result < gen_nb_const_char_ptr_ptr;n_result++) { + mem_base = xmlMemBlocks(); + len = gen_int_ptr(n_len, 0); + result = gen_const_char_ptr_ptr(n_result, 1); + + ret_val = xmlGetFeaturesList(len, (const char **)result); + desret_int(ret_val); + call_tests++; + des_int_ptr(n_len, len, 0); + des_const_char_ptr_ptr(n_result, (const char **)result, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetFeaturesList", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_len); + printf(" %d", n_result); + printf("\n"); + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlHasFeature(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlFeature feature; /* the feature to be examined */ + int n_feature; + + for (n_feature = 0;n_feature < gen_nb_xmlFeature;n_feature++) { + mem_base = xmlMemBlocks(); + feature = gen_xmlFeature(n_feature, 0); + + ret_val = xmlHasFeature(feature); + desret_int(ret_val); + call_tests++; + des_xmlFeature(n_feature, feature, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHasFeature", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_feature); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlIOParseDTD(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) +#ifdef LIBXML_VALID_ENABLED + xmlDtdPtr ret_val; + xmlSAXHandlerPtr sax; /* the SAX handler block or NULL */ + int n_sax; + xmlParserInputBufferPtr input; /* an Input Buffer */ + int n_input; + xmlCharEncoding enc; /* the charset encoding if known */ + int n_enc; + + for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) { + for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) { + for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) { + sax = gen_xmlSAXHandlerPtr(n_sax, 0); + input = gen_xmlParserInputBufferPtr(n_input, 1); + enc = gen_xmlCharEncoding(n_enc, 2); + + ret_val = xmlIOParseDTD(sax, input, enc); + input = NULL; + desret_xmlDtdPtr(ret_val); + call_tests++; + des_xmlSAXHandlerPtr(n_sax, sax, 0); + des_xmlParserInputBufferPtr(n_input, input, 1); + des_xmlCharEncoding(n_enc, enc, 2); + xmlResetLastError(); + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlInitNodeInfoSeq(void) { + int test_ret = 0; + + int mem_base; + xmlParserNodeInfoSeqPtr seq; /* a node info sequence pointer */ + int n_seq; + + for (n_seq = 0;n_seq < gen_nb_xmlParserNodeInfoSeqPtr;n_seq++) { + mem_base = xmlMemBlocks(); + seq = gen_xmlParserNodeInfoSeqPtr(n_seq, 0); + + xmlInitNodeInfoSeq(seq); + call_tests++; + des_xmlParserNodeInfoSeqPtr(n_seq, seq, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlInitNodeInfoSeq", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_seq); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlInitParser(void) { + int test_ret = 0; + + int mem_base; + + mem_base = xmlMemBlocks(); + + xmlInitParser(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlInitParser", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlInitParserCtxt(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + + ret_val = xmlInitParserCtxt(ctxt); + desret_int(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlInitParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlKeepBlanksDefault(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + int val; /* int 0 or 1 */ + int n_val; + + for (n_val = 0;n_val < gen_nb_int;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_int(n_val, 0); + + ret_val = xmlKeepBlanksDefault(val); + desret_int(ret_val); + call_tests++; + des_int(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlKeepBlanksDefault", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlLineNumbersDefault(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + int val; /* int 0 or 1 */ + int n_val; + + for (n_val = 0;n_val < gen_nb_int;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_int(n_val, 0); + + ret_val = xmlLineNumbersDefault(val); + desret_int(ret_val); + call_tests++; + des_int(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlLineNumbersDefault", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlLoadExternalEntity(void) { + int test_ret = 0; + + int mem_base; + xmlParserInputPtr ret_val; + const char * URL; /* the URL for the entity to load */ + int n_URL; + char * ID; /* the Public ID for the entity to load */ + int n_ID; + xmlParserCtxtPtr ctxt; /* the context in which the entity is called or NULL */ + int n_ctxt; + + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + for (n_ID = 0;n_ID < gen_nb_const_char_ptr;n_ID++) { + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + URL = gen_filepath(n_URL, 0); + ID = gen_const_char_ptr(n_ID, 1); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 2); + + ret_val = xmlLoadExternalEntity(URL, (const char *)ID, ctxt); + desret_xmlParserInputPtr(ret_val); + call_tests++; + des_filepath(n_URL, URL, 0); + des_const_char_ptr(n_ID, (const char *)ID, 1); + des_xmlParserCtxtPtr(n_ctxt, ctxt, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlLoadExternalEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_URL); + printf(" %d", n_ID); + printf(" %d", n_ctxt); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewIOInputStream(void) { + int test_ret = 0; + + int mem_base; + xmlParserInputPtr ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + xmlParserInputBufferPtr input; /* an I/O Input */ + int n_input; + xmlCharEncoding enc; /* the charset encoding if known */ + int n_enc; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) { + for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + input = gen_xmlParserInputBufferPtr(n_input, 1); + enc = gen_xmlCharEncoding(n_enc, 2); + + ret_val = xmlNewIOInputStream(ctxt, input, enc); + if (ret_val != NULL) input = NULL; + desret_xmlParserInputPtr(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_xmlParserInputBufferPtr(n_input, input, 1); + des_xmlCharEncoding(n_enc, enc, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewIOInputStream", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_input); + printf(" %d", n_enc); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewParserCtxt(void) { + int test_ret = 0; + + int mem_base; + xmlParserCtxtPtr ret_val; + + mem_base = xmlMemBlocks(); + + ret_val = xmlNewParserCtxt(); + desret_xmlParserCtxtPtr(ret_val); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; + + return(test_ret); +} + + +#define gen_nb_xmlNodePtr_ptr 1 +static xmlNodePtr * gen_xmlNodePtr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlNodePtr_ptr(int no ATTRIBUTE_UNUSED, xmlNodePtr * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlParseBalancedChunkMemory(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + int ret_val; + xmlDocPtr doc; /* the document the chunk pertains to */ + int n_doc; + xmlSAXHandlerPtr sax; /* the SAX handler bloc (possibly NULL) */ + int n_sax; + void * user_data; /* The user data returned on SAX callbacks (possibly NULL) */ + int n_user_data; + int depth; /* Used for loop detection, use 0 */ + int n_depth; + xmlChar * string; /* the input string in UTF8 or ISO-Latin (zero terminated) */ + int n_string; + xmlNodePtr * lst; /* the return value for the set of parsed nodes */ + int n_lst; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) { + for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) { + for (n_depth = 0;n_depth < gen_nb_int;n_depth++) { + for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) { + for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + sax = gen_xmlSAXHandlerPtr(n_sax, 1); + user_data = gen_userdata(n_user_data, 2); + depth = gen_int(n_depth, 3); + string = gen_const_xmlChar_ptr(n_string, 4); + lst = gen_xmlNodePtr_ptr(n_lst, 5); + +#ifdef LIBXML_SAX1_ENABLED + if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL; +#endif + + + ret_val = xmlParseBalancedChunkMemory(doc, sax, user_data, depth, (const xmlChar *)string, lst); + desret_int(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlSAXHandlerPtr(n_sax, sax, 1); + des_userdata(n_user_data, user_data, 2); + des_int(n_depth, depth, 3); + des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 4); + des_xmlNodePtr_ptr(n_lst, lst, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParseBalancedChunkMemory", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_sax); + printf(" %d", n_user_data); + printf(" %d", n_depth); + printf(" %d", n_string); + printf(" %d", n_lst); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlParseBalancedChunkMemoryRecover(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + int ret_val; + xmlDocPtr doc; /* the document the chunk pertains to */ + int n_doc; + xmlSAXHandlerPtr sax; /* the SAX handler bloc (possibly NULL) */ + int n_sax; + void * user_data; /* The user data returned on SAX callbacks (possibly NULL) */ + int n_user_data; + int depth; /* Used for loop detection, use 0 */ + int n_depth; + xmlChar * string; /* the input string in UTF8 or ISO-Latin (zero terminated) */ + int n_string; + xmlNodePtr * lst; /* the return value for the set of parsed nodes */ + int n_lst; + int recover; /* return nodes even if the data is broken (use 0) */ + int n_recover; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) { + for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) { + for (n_depth = 0;n_depth < gen_nb_int;n_depth++) { + for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) { + for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) { + for (n_recover = 0;n_recover < gen_nb_int;n_recover++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + sax = gen_xmlSAXHandlerPtr(n_sax, 1); + user_data = gen_userdata(n_user_data, 2); + depth = gen_int(n_depth, 3); + string = gen_const_xmlChar_ptr(n_string, 4); + lst = gen_xmlNodePtr_ptr(n_lst, 5); + recover = gen_int(n_recover, 6); + +#ifdef LIBXML_SAX1_ENABLED + if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL; +#endif + + + ret_val = xmlParseBalancedChunkMemoryRecover(doc, sax, user_data, depth, (const xmlChar *)string, lst, recover); + desret_int(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlSAXHandlerPtr(n_sax, sax, 1); + des_userdata(n_user_data, user_data, 2); + des_int(n_depth, depth, 3); + des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 4); + des_xmlNodePtr_ptr(n_lst, lst, 5); + des_int(n_recover, recover, 6); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParseBalancedChunkMemoryRecover", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_sax); + printf(" %d", n_user_data); + printf(" %d", n_depth); + printf(" %d", n_string); + printf(" %d", n_lst); + printf(" %d", n_recover); + printf("\n"); + } + } + } + } + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlParseChunk(void) { + int test_ret = 0; + +#if defined(LIBXML_PUSH_ENABLED) + int mem_base; + int ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + char * chunk; /* an char array */ + int n_chunk; + int size; /* the size in byte of the chunk */ + int n_size; + int terminate; /* last chunk indicator */ + int n_terminate; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + for (n_terminate = 0;n_terminate < gen_nb_int;n_terminate++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + chunk = gen_const_char_ptr(n_chunk, 1); + size = gen_int(n_size, 2); + terminate = gen_int(n_terminate, 3); + if ((chunk != NULL) && + (size > (int) strlen((const char *) chunk) + 1)) + continue; + + ret_val = xmlParseChunk(ctxt, (const char *)chunk, size, terminate); + if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;} + desret_int(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_const_char_ptr(n_chunk, (const char *)chunk, 1); + des_int(n_size, size, 2); + des_int(n_terminate, terminate, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParseChunk", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_chunk); + printf(" %d", n_size); + printf(" %d", n_terminate); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlParseCtxtExternalEntity(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserCtxtPtr ctx; /* the existing parsing context */ + int n_ctx; + xmlChar * URL; /* the URL for the entity to load */ + int n_URL; + xmlChar * ID; /* the System ID for the entity to load */ + int n_ID; + xmlNodePtr * lst; /* the return value for the set of parsed nodes */ + int n_lst; + + for (n_ctx = 0;n_ctx < gen_nb_xmlParserCtxtPtr;n_ctx++) { + for (n_URL = 0;n_URL < gen_nb_const_xmlChar_ptr;n_URL++) { + for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) { + for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) { + mem_base = xmlMemBlocks(); + ctx = gen_xmlParserCtxtPtr(n_ctx, 0); + URL = gen_const_xmlChar_ptr(n_URL, 1); + ID = gen_const_xmlChar_ptr(n_ID, 2); + lst = gen_xmlNodePtr_ptr(n_lst, 3); + + ret_val = xmlParseCtxtExternalEntity(ctx, (const xmlChar *)URL, (const xmlChar *)ID, lst); + desret_int(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctx, ctx, 0); + des_const_xmlChar_ptr(n_URL, (const xmlChar *)URL, 1); + des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 2); + des_xmlNodePtr_ptr(n_lst, lst, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParseCtxtExternalEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_URL); + printf(" %d", n_ID); + printf(" %d", n_lst); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlParseDTD(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) +#ifdef LIBXML_VALID_ENABLED + int mem_base; + xmlDtdPtr ret_val; + xmlChar * ExternalID; /* a NAME* containing the External ID of the DTD */ + int n_ExternalID; + xmlChar * SystemID; /* a NAME* containing the URL to the DTD */ + int n_SystemID; + + for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) { + for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) { + mem_base = xmlMemBlocks(); + ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 0); + SystemID = gen_const_xmlChar_ptr(n_SystemID, 1); + + ret_val = xmlParseDTD((const xmlChar *)ExternalID, (const xmlChar *)SystemID); + desret_xmlDtdPtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 0); + des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParseDTD", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ExternalID); + printf(" %d", n_SystemID); + printf("\n"); + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlParseDoc(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + xmlDocPtr ret_val; + xmlChar * cur; /* a pointer to an array of xmlChar */ + int n_cur; + + for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) { + mem_base = xmlMemBlocks(); + cur = gen_const_xmlChar_ptr(n_cur, 0); + + ret_val = xmlParseDoc((const xmlChar *)cur); + desret_xmlDocPtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParseDoc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf("\n"); + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlParseDocument(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + + ret_val = xmlParseDocument(ctxt); + if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;} + desret_int(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParseDocument", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlParseEntity(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + xmlDocPtr ret_val; + const char * filename; /* the filename */ + int n_filename; + + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + mem_base = xmlMemBlocks(); + filename = gen_filepath(n_filename, 0); + + ret_val = xmlParseEntity(filename); + desret_xmlDocPtr(ret_val); + call_tests++; + des_filepath(n_filename, filename, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParseEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf("\n"); + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlParseExtParsedEnt(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + + ret_val = xmlParseExtParsedEnt(ctxt); + if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;} + desret_int(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParseExtParsedEnt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlParseExternalEntity(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + int ret_val; + xmlDocPtr doc; /* the document the chunk pertains to */ + int n_doc; + xmlSAXHandlerPtr sax; /* the SAX handler bloc (possibly NULL) */ + int n_sax; + void * user_data; /* The user data returned on SAX callbacks (possibly NULL) */ + int n_user_data; + int depth; /* Used for loop detection, use 0 */ + int n_depth; + xmlChar * URL; /* the URL for the entity to load */ + int n_URL; + xmlChar * ID; /* the System ID for the entity to load */ + int n_ID; + xmlNodePtr * lst; /* the return value for the set of parsed nodes */ + int n_lst; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) { + for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) { + for (n_depth = 0;n_depth < gen_nb_int;n_depth++) { + for (n_URL = 0;n_URL < gen_nb_const_xmlChar_ptr;n_URL++) { + for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) { + for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + sax = gen_xmlSAXHandlerPtr(n_sax, 1); + user_data = gen_userdata(n_user_data, 2); + depth = gen_int(n_depth, 3); + URL = gen_const_xmlChar_ptr(n_URL, 4); + ID = gen_const_xmlChar_ptr(n_ID, 5); + lst = gen_xmlNodePtr_ptr(n_lst, 6); + + ret_val = xmlParseExternalEntity(doc, sax, user_data, depth, (const xmlChar *)URL, (const xmlChar *)ID, lst); + desret_int(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlSAXHandlerPtr(n_sax, sax, 1); + des_userdata(n_user_data, user_data, 2); + des_int(n_depth, depth, 3); + des_const_xmlChar_ptr(n_URL, (const xmlChar *)URL, 4); + des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 5); + des_xmlNodePtr_ptr(n_lst, lst, 6); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParseExternalEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_sax); + printf(" %d", n_user_data); + printf(" %d", n_depth); + printf(" %d", n_URL); + printf(" %d", n_ID); + printf(" %d", n_lst); + printf("\n"); + } + } + } + } + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlParseFile(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + xmlDocPtr ret_val; + const char * filename; /* the filename */ + int n_filename; + + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + mem_base = xmlMemBlocks(); + filename = gen_filepath(n_filename, 0); + + ret_val = xmlParseFile(filename); + desret_xmlDocPtr(ret_val); + call_tests++; + des_filepath(n_filename, filename, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParseFile", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf("\n"); + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlParseInNodeContext(void) { + int test_ret = 0; + + int mem_base; + xmlParserErrors ret_val; + xmlNodePtr node; /* the context node */ + int n_node; + char * data; /* the input string */ + int n_data; + int datalen; /* the input string length in bytes */ + int n_datalen; + int options; /* a combination of xmlParserOption */ + int n_options; + xmlNodePtr * lst; /* the return value for the set of parsed nodes */ + int n_lst; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_data = 0;n_data < gen_nb_const_char_ptr;n_data++) { + for (n_datalen = 0;n_datalen < gen_nb_int;n_datalen++) { + for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) { + for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + data = gen_const_char_ptr(n_data, 1); + datalen = gen_int(n_datalen, 2); + options = gen_parseroptions(n_options, 3); + lst = gen_xmlNodePtr_ptr(n_lst, 4); + + ret_val = xmlParseInNodeContext(node, (const char *)data, datalen, options, lst); + desret_xmlParserErrors(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + des_const_char_ptr(n_data, (const char *)data, 1); + des_int(n_datalen, datalen, 2); + des_parseroptions(n_options, options, 3); + des_xmlNodePtr_ptr(n_lst, lst, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParseInNodeContext", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_data); + printf(" %d", n_datalen); + printf(" %d", n_options); + printf(" %d", n_lst); + printf("\n"); + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlParseMemory(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + xmlDocPtr ret_val; + char * buffer; /* an pointer to a char array */ + int n_buffer; + int size; /* the size of the array */ + int n_size; + + for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + mem_base = xmlMemBlocks(); + buffer = gen_const_char_ptr(n_buffer, 0); + size = gen_int(n_size, 1); + if ((buffer != NULL) && + (size > (int) strlen((const char *) buffer) + 1)) + continue; + + ret_val = xmlParseMemory((const char *)buffer, size); + desret_xmlDocPtr(ret_val); + call_tests++; + des_const_char_ptr(n_buffer, (const char *)buffer, 0); + des_int(n_size, size, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParseMemory", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buffer); + printf(" %d", n_size); + printf("\n"); + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +#define gen_nb_const_xmlParserNodeInfoPtr 1 +static xmlParserNodeInfoPtr gen_const_xmlParserNodeInfoPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_const_xmlParserNodeInfoPtr(int no ATTRIBUTE_UNUSED, const xmlParserNodeInfoPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlParserAddNodeInfo(void) { + int test_ret = 0; + + int mem_base; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + xmlParserNodeInfoPtr info; /* a node info sequence pointer */ + int n_info; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_info = 0;n_info < gen_nb_const_xmlParserNodeInfoPtr;n_info++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + info = gen_const_xmlParserNodeInfoPtr(n_info, 1); + + xmlParserAddNodeInfo(ctxt, (const xmlParserNodeInfoPtr)info); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_const_xmlParserNodeInfoPtr(n_info, (const xmlParserNodeInfoPtr)info, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParserAddNodeInfo", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_info); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +#define gen_nb_const_xmlParserCtxtPtr 1 +static xmlParserCtxtPtr gen_const_xmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_const_xmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, const xmlParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +#define gen_nb_const_xmlNodePtr 1 +static xmlNodePtr gen_const_xmlNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_const_xmlNodePtr(int no ATTRIBUTE_UNUSED, const xmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlParserFindNodeInfo(void) { + int test_ret = 0; + + int mem_base; + const xmlParserNodeInfo * ret_val; + xmlParserCtxtPtr ctx; /* an XML parser context */ + int n_ctx; + xmlNodePtr node; /* an XML node within the tree */ + int n_node; + + for (n_ctx = 0;n_ctx < gen_nb_const_xmlParserCtxtPtr;n_ctx++) { + for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) { + mem_base = xmlMemBlocks(); + ctx = gen_const_xmlParserCtxtPtr(n_ctx, 0); + node = gen_const_xmlNodePtr(n_node, 1); + + ret_val = xmlParserFindNodeInfo((const xmlParserCtxtPtr)ctx, (const xmlNodePtr)node); + desret_const_xmlParserNodeInfo_ptr(ret_val); + call_tests++; + des_const_xmlParserCtxtPtr(n_ctx, (const xmlParserCtxtPtr)ctx, 0); + des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParserFindNodeInfo", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf(" %d", n_node); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +#define gen_nb_const_xmlParserNodeInfoSeqPtr 1 +static xmlParserNodeInfoSeqPtr gen_const_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_const_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, const xmlParserNodeInfoSeqPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlParserFindNodeInfoIndex(void) { + int test_ret = 0; + + int mem_base; + unsigned long ret_val; + xmlParserNodeInfoSeqPtr seq; /* a node info sequence pointer */ + int n_seq; + xmlNodePtr node; /* an XML node pointer */ + int n_node; + + for (n_seq = 0;n_seq < gen_nb_const_xmlParserNodeInfoSeqPtr;n_seq++) { + for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) { + mem_base = xmlMemBlocks(); + seq = gen_const_xmlParserNodeInfoSeqPtr(n_seq, 0); + node = gen_const_xmlNodePtr(n_node, 1); + + ret_val = xmlParserFindNodeInfoIndex((const xmlParserNodeInfoSeqPtr)seq, (const xmlNodePtr)node); + desret_unsigned_long(ret_val); + call_tests++; + des_const_xmlParserNodeInfoSeqPtr(n_seq, (const xmlParserNodeInfoSeqPtr)seq, 0); + des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParserFindNodeInfoIndex", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_seq); + printf(" %d", n_node); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +#define gen_nb_xmlParserInputPtr 1 +static xmlParserInputPtr gen_xmlParserInputPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlParserInputPtr(int no ATTRIBUTE_UNUSED, xmlParserInputPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlParserInputGrow(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserInputPtr in; /* an XML parser input */ + int n_in; + int len; /* an indicative size for the lookahead */ + int n_len; + + for (n_in = 0;n_in < gen_nb_xmlParserInputPtr;n_in++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + in = gen_xmlParserInputPtr(n_in, 0); + len = gen_int(n_len, 1); + + ret_val = xmlParserInputGrow(in, len); + desret_int(ret_val); + call_tests++; + des_xmlParserInputPtr(n_in, in, 0); + des_int(n_len, len, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParserInputGrow", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_in); + printf(" %d", n_len); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlParserInputRead(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserInputPtr in; /* an XML parser input */ + int n_in; + int len; /* an indicative size for the lookahead */ + int n_len; + + for (n_in = 0;n_in < gen_nb_xmlParserInputPtr;n_in++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + in = gen_xmlParserInputPtr(n_in, 0); + len = gen_int(n_len, 1); + + ret_val = xmlParserInputRead(in, len); + desret_int(ret_val); + call_tests++; + des_xmlParserInputPtr(n_in, in, 0); + des_int(n_len, len, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParserInputRead", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_in); + printf(" %d", n_len); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlPedanticParserDefault(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + int val; /* int 0 or 1 */ + int n_val; + + for (n_val = 0;n_val < gen_nb_int;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_int(n_val, 0); + + ret_val = xmlPedanticParserDefault(val); + desret_int(ret_val); + call_tests++; + des_int(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlPedanticParserDefault", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlReadDoc(void) { + int test_ret = 0; + + int mem_base; + xmlDocPtr ret_val; + xmlChar * cur; /* a pointer to a zero terminated string */ + int n_cur; + const char * URL; /* the base URL to use for the document */ + int n_URL; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + int options; /* a combination of xmlParserOption */ + int n_options; + + for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) { + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) { + mem_base = xmlMemBlocks(); + cur = gen_const_xmlChar_ptr(n_cur, 0); + URL = gen_filepath(n_URL, 1); + encoding = gen_const_char_ptr(n_encoding, 2); + options = gen_parseroptions(n_options, 3); + + ret_val = xmlReadDoc((const xmlChar *)cur, URL, (const char *)encoding, options); + desret_xmlDocPtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0); + des_filepath(n_URL, URL, 1); + des_const_char_ptr(n_encoding, (const char *)encoding, 2); + des_parseroptions(n_options, options, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlReadDoc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_URL); + printf(" %d", n_encoding); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlReadFile(void) { + int test_ret = 0; + + int mem_base; + xmlDocPtr ret_val; + const char * filename; /* a file or URL */ + int n_filename; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + int options; /* a combination of xmlParserOption */ + int n_options; + + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) { + mem_base = xmlMemBlocks(); + filename = gen_filepath(n_filename, 0); + encoding = gen_const_char_ptr(n_encoding, 1); + options = gen_parseroptions(n_options, 2); + + ret_val = xmlReadFile(filename, (const char *)encoding, options); + desret_xmlDocPtr(ret_val); + call_tests++; + des_filepath(n_filename, filename, 0); + des_const_char_ptr(n_encoding, (const char *)encoding, 1); + des_parseroptions(n_options, options, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlReadFile", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf(" %d", n_encoding); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlReadMemory(void) { + int test_ret = 0; + + int mem_base; + xmlDocPtr ret_val; + char * buffer; /* a pointer to a char array */ + int n_buffer; + int size; /* the size of the array */ + int n_size; + const char * URL; /* the base URL to use for the document */ + int n_URL; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + int options; /* a combination of xmlParserOption */ + int n_options; + + for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) { + mem_base = xmlMemBlocks(); + buffer = gen_const_char_ptr(n_buffer, 0); + size = gen_int(n_size, 1); + URL = gen_filepath(n_URL, 2); + encoding = gen_const_char_ptr(n_encoding, 3); + options = gen_parseroptions(n_options, 4); + if ((buffer != NULL) && + (size > (int) strlen((const char *) buffer) + 1)) + continue; + + ret_val = xmlReadMemory((const char *)buffer, size, URL, (const char *)encoding, options); + desret_xmlDocPtr(ret_val); + call_tests++; + des_const_char_ptr(n_buffer, (const char *)buffer, 0); + des_int(n_size, size, 1); + des_filepath(n_URL, URL, 2); + des_const_char_ptr(n_encoding, (const char *)encoding, 3); + des_parseroptions(n_options, options, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlReadMemory", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buffer); + printf(" %d", n_size); + printf(" %d", n_URL); + printf(" %d", n_encoding); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlRecoverDoc(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + xmlDocPtr ret_val; + xmlChar * cur; /* a pointer to an array of xmlChar */ + int n_cur; + + for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) { + mem_base = xmlMemBlocks(); + cur = gen_const_xmlChar_ptr(n_cur, 0); + + ret_val = xmlRecoverDoc((const xmlChar *)cur); + desret_xmlDocPtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRecoverDoc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf("\n"); + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlRecoverFile(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + xmlDocPtr ret_val; + const char * filename; /* the filename */ + int n_filename; + + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + mem_base = xmlMemBlocks(); + filename = gen_filepath(n_filename, 0); + + ret_val = xmlRecoverFile(filename); + desret_xmlDocPtr(ret_val); + call_tests++; + des_filepath(n_filename, filename, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRecoverFile", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf("\n"); + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlRecoverMemory(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + xmlDocPtr ret_val; + char * buffer; /* an pointer to a char array */ + int n_buffer; + int size; /* the size of the array */ + int n_size; + + for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + mem_base = xmlMemBlocks(); + buffer = gen_const_char_ptr(n_buffer, 0); + size = gen_int(n_size, 1); + if ((buffer != NULL) && + (size > (int) strlen((const char *) buffer) + 1)) + continue; + + ret_val = xmlRecoverMemory((const char *)buffer, size); + desret_xmlDocPtr(ret_val); + call_tests++; + des_const_char_ptr(n_buffer, (const char *)buffer, 0); + des_int(n_size, size, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRecoverMemory", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buffer); + printf(" %d", n_size); + printf("\n"); + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlSAXParseDTD(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + xmlDtdPtr ret_val; + xmlSAXHandlerPtr sax; /* the SAX handler block */ + int n_sax; + xmlChar * ExternalID; /* a NAME* containing the External ID of the DTD */ + int n_ExternalID; + xmlChar * SystemID; /* a NAME* containing the URL to the DTD */ + int n_SystemID; + + for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) { + for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) { + for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) { + mem_base = xmlMemBlocks(); + sax = gen_xmlSAXHandlerPtr(n_sax, 0); + ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 1); + SystemID = gen_const_xmlChar_ptr(n_SystemID, 2); + + ret_val = xmlSAXParseDTD(sax, (const xmlChar *)ExternalID, (const xmlChar *)SystemID); + desret_xmlDtdPtr(ret_val); + call_tests++; + des_xmlSAXHandlerPtr(n_sax, sax, 0); + des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 1); + des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAXParseDTD", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_sax); + printf(" %d", n_ExternalID); + printf(" %d", n_SystemID); + printf("\n"); + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlSAXParseDoc(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + xmlDocPtr ret_val; + xmlSAXHandlerPtr sax; /* the SAX handler block */ + int n_sax; + xmlChar * cur; /* a pointer to an array of xmlChar */ + int n_cur; + int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */ + int n_recovery; + + for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) { + for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) { + for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) { + mem_base = xmlMemBlocks(); + sax = gen_xmlSAXHandlerPtr(n_sax, 0); + cur = gen_const_xmlChar_ptr(n_cur, 1); + recovery = gen_int(n_recovery, 2); + + ret_val = xmlSAXParseDoc(sax, (const xmlChar *)cur, recovery); + desret_xmlDocPtr(ret_val); + call_tests++; + des_xmlSAXHandlerPtr(n_sax, sax, 0); + des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1); + des_int(n_recovery, recovery, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAXParseDoc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_sax); + printf(" %d", n_cur); + printf(" %d", n_recovery); + printf("\n"); + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlSAXParseEntity(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + xmlDocPtr ret_val; + xmlSAXHandlerPtr sax; /* the SAX handler block */ + int n_sax; + const char * filename; /* the filename */ + int n_filename; + + for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) { + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + mem_base = xmlMemBlocks(); + sax = gen_xmlSAXHandlerPtr(n_sax, 0); + filename = gen_filepath(n_filename, 1); + + ret_val = xmlSAXParseEntity(sax, filename); + desret_xmlDocPtr(ret_val); + call_tests++; + des_xmlSAXHandlerPtr(n_sax, sax, 0); + des_filepath(n_filename, filename, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAXParseEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_sax); + printf(" %d", n_filename); + printf("\n"); + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlSAXParseFile(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + xmlDocPtr ret_val; + xmlSAXHandlerPtr sax; /* the SAX handler block */ + int n_sax; + const char * filename; /* the filename */ + int n_filename; + int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */ + int n_recovery; + + for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) { + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) { + mem_base = xmlMemBlocks(); + sax = gen_xmlSAXHandlerPtr(n_sax, 0); + filename = gen_filepath(n_filename, 1); + recovery = gen_int(n_recovery, 2); + + ret_val = xmlSAXParseFile(sax, filename, recovery); + desret_xmlDocPtr(ret_val); + call_tests++; + des_xmlSAXHandlerPtr(n_sax, sax, 0); + des_filepath(n_filename, filename, 1); + des_int(n_recovery, recovery, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAXParseFile", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_sax); + printf(" %d", n_filename); + printf(" %d", n_recovery); + printf("\n"); + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlSAXParseFileWithData(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + xmlDocPtr ret_val; + xmlSAXHandlerPtr sax; /* the SAX handler block */ + int n_sax; + const char * filename; /* the filename */ + int n_filename; + int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */ + int n_recovery; + void * data; /* the userdata */ + int n_data; + + for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) { + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) { + for (n_data = 0;n_data < gen_nb_userdata;n_data++) { + mem_base = xmlMemBlocks(); + sax = gen_xmlSAXHandlerPtr(n_sax, 0); + filename = gen_filepath(n_filename, 1); + recovery = gen_int(n_recovery, 2); + data = gen_userdata(n_data, 3); + + ret_val = xmlSAXParseFileWithData(sax, filename, recovery, data); + desret_xmlDocPtr(ret_val); + call_tests++; + des_xmlSAXHandlerPtr(n_sax, sax, 0); + des_filepath(n_filename, filename, 1); + des_int(n_recovery, recovery, 2); + des_userdata(n_data, data, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAXParseFileWithData", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_sax); + printf(" %d", n_filename); + printf(" %d", n_recovery); + printf(" %d", n_data); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlSAXParseMemory(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + xmlDocPtr ret_val; + xmlSAXHandlerPtr sax; /* the SAX handler block */ + int n_sax; + char * buffer; /* an pointer to a char array */ + int n_buffer; + int size; /* the size of the array */ + int n_size; + int recovery; /* work in recovery mode, i.e. tries to read not Well Formed documents */ + int n_recovery; + + for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) { + for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) { + mem_base = xmlMemBlocks(); + sax = gen_xmlSAXHandlerPtr(n_sax, 0); + buffer = gen_const_char_ptr(n_buffer, 1); + size = gen_int(n_size, 2); + recovery = gen_int(n_recovery, 3); + if ((buffer != NULL) && + (size > (int) strlen((const char *) buffer) + 1)) + continue; + + ret_val = xmlSAXParseMemory(sax, (const char *)buffer, size, recovery); + desret_xmlDocPtr(ret_val); + call_tests++; + des_xmlSAXHandlerPtr(n_sax, sax, 0); + des_const_char_ptr(n_buffer, (const char *)buffer, 1); + des_int(n_size, size, 2); + des_int(n_recovery, recovery, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAXParseMemory", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_sax); + printf(" %d", n_buffer); + printf(" %d", n_size); + printf(" %d", n_recovery); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlSAXParseMemoryWithData(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + xmlDocPtr ret_val; + xmlSAXHandlerPtr sax; /* the SAX handler block */ + int n_sax; + char * buffer; /* an pointer to a char array */ + int n_buffer; + int size; /* the size of the array */ + int n_size; + int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */ + int n_recovery; + void * data; /* the userdata */ + int n_data; + + for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) { + for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) { + for (n_data = 0;n_data < gen_nb_userdata;n_data++) { + mem_base = xmlMemBlocks(); + sax = gen_xmlSAXHandlerPtr(n_sax, 0); + buffer = gen_const_char_ptr(n_buffer, 1); + size = gen_int(n_size, 2); + recovery = gen_int(n_recovery, 3); + data = gen_userdata(n_data, 4); + if ((buffer != NULL) && + (size > (int) strlen((const char *) buffer) + 1)) + continue; + + ret_val = xmlSAXParseMemoryWithData(sax, (const char *)buffer, size, recovery, data); + desret_xmlDocPtr(ret_val); + call_tests++; + des_xmlSAXHandlerPtr(n_sax, sax, 0); + des_const_char_ptr(n_buffer, (const char *)buffer, 1); + des_int(n_size, size, 2); + des_int(n_recovery, recovery, 3); + des_userdata(n_data, data, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAXParseMemoryWithData", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_sax); + printf(" %d", n_buffer); + printf(" %d", n_size); + printf(" %d", n_recovery); + printf(" %d", n_data); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlSAXUserParseFile(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + int ret_val; + xmlSAXHandlerPtr sax; /* a SAX handler */ + int n_sax; + void * user_data; /* The user data returned on SAX callbacks */ + int n_user_data; + const char * filename; /* a file name */ + int n_filename; + + for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) { + for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) { + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + mem_base = xmlMemBlocks(); + sax = gen_xmlSAXHandlerPtr(n_sax, 0); + user_data = gen_userdata(n_user_data, 1); + filename = gen_filepath(n_filename, 2); + +#ifdef LIBXML_SAX1_ENABLED + if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL; +#endif + + + ret_val = xmlSAXUserParseFile(sax, user_data, filename); + desret_int(ret_val); + call_tests++; + des_xmlSAXHandlerPtr(n_sax, sax, 0); + des_userdata(n_user_data, user_data, 1); + des_filepath(n_filename, filename, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAXUserParseFile", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_sax); + printf(" %d", n_user_data); + printf(" %d", n_filename); + printf("\n"); + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlSAXUserParseMemory(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + int ret_val; + xmlSAXHandlerPtr sax; /* a SAX handler */ + int n_sax; + void * user_data; /* The user data returned on SAX callbacks */ + int n_user_data; + char * buffer; /* an in-memory XML document input */ + int n_buffer; + int size; /* the length of the XML document in bytes */ + int n_size; + + for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) { + for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) { + for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + mem_base = xmlMemBlocks(); + sax = gen_xmlSAXHandlerPtr(n_sax, 0); + user_data = gen_userdata(n_user_data, 1); + buffer = gen_const_char_ptr(n_buffer, 2); + size = gen_int(n_size, 3); + if ((buffer != NULL) && + (size > (int) strlen((const char *) buffer) + 1)) + continue; + +#ifdef LIBXML_SAX1_ENABLED + if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL; +#endif + + + ret_val = xmlSAXUserParseMemory(sax, user_data, (const char *)buffer, size); + desret_int(ret_val); + call_tests++; + des_xmlSAXHandlerPtr(n_sax, sax, 0); + des_userdata(n_user_data, user_data, 1); + des_const_char_ptr(n_buffer, (const char *)buffer, 2); + des_int(n_size, size, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSAXUserParseMemory", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_sax); + printf(" %d", n_user_data); + printf(" %d", n_buffer); + printf(" %d", n_size); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlSetExternalEntityLoader(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSetFeature(void) { + int test_ret = 0; + +#if defined(LIBXML_LEGACY_ENABLED) +#ifdef LIBXML_LEGACY_ENABLED + int mem_base; + int ret_val; + xmlParserCtxtPtr ctxt; /* an XML/HTML parser context */ + int n_ctxt; + char * name; /* the feature name */ + int n_name; + void * value; /* pointer to the location of the new value */ + int n_value; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) { + for (n_value = 0;n_value < gen_nb_void_ptr;n_value++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + name = gen_const_char_ptr(n_name, 1); + value = gen_void_ptr(n_value, 2); + + ret_val = xmlSetFeature(ctxt, (const char *)name, value); + desret_int(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_const_char_ptr(n_name, (const char *)name, 1); + des_void_ptr(n_value, value, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSetFeature", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_name); + printf(" %d", n_value); + printf("\n"); + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlSetupParserForBuffer(void) { + int test_ret = 0; + +#if defined(LIBXML_SAX1_ENABLED) +#ifdef LIBXML_SAX1_ENABLED + int mem_base; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + xmlChar * buffer; /* a xmlChar * buffer */ + int n_buffer; + const char * filename; /* a file name */ + int n_filename; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_buffer = 0;n_buffer < gen_nb_const_xmlChar_ptr;n_buffer++) { + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + buffer = gen_const_xmlChar_ptr(n_buffer, 1); + filename = gen_filepath(n_filename, 2); + + xmlSetupParserForBuffer(ctxt, (const xmlChar *)buffer, filename); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_const_xmlChar_ptr(n_buffer, (const xmlChar *)buffer, 1); + des_filepath(n_filename, filename, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSetupParserForBuffer", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_buffer); + printf(" %d", n_filename); + printf("\n"); + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlStopParser(void) { + int test_ret = 0; + +#ifdef LIBXML_PUSH_ENABLED + int mem_base; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + + xmlStopParser(ctxt); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStopParser", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSubstituteEntitiesDefault(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + int val; /* int 0 or 1 */ + int n_val; + + for (n_val = 0;n_val < gen_nb_int;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_int(n_val, 0); + + ret_val = xmlSubstituteEntitiesDefault(val); + desret_int(ret_val); + call_tests++; + des_int(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSubstituteEntitiesDefault", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + +static int +test_parser(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing parser : 61 of 70 functions ...\n"); + test_ret += test_xmlByteConsumed(); + test_ret += test_xmlClearNodeInfoSeq(); + test_ret += test_xmlClearParserCtxt(); + test_ret += test_xmlCreateDocParserCtxt(); + test_ret += test_xmlCreatePushParserCtxt(); + test_ret += test_xmlCtxtReadDoc(); + test_ret += test_xmlCtxtReadFile(); + test_ret += test_xmlCtxtReadMemory(); + test_ret += test_xmlCtxtReset(); + test_ret += test_xmlCtxtResetPush(); + test_ret += test_xmlCtxtUseOptions(); + test_ret += test_xmlGetExternalEntityLoader(); + test_ret += test_xmlGetFeature(); + test_ret += test_xmlGetFeaturesList(); + test_ret += test_xmlHasFeature(); + test_ret += test_xmlIOParseDTD(); + test_ret += test_xmlInitNodeInfoSeq(); + test_ret += test_xmlInitParser(); + test_ret += test_xmlInitParserCtxt(); + test_ret += test_xmlKeepBlanksDefault(); + test_ret += test_xmlLineNumbersDefault(); + test_ret += test_xmlLoadExternalEntity(); + test_ret += test_xmlNewIOInputStream(); + test_ret += test_xmlNewParserCtxt(); + test_ret += test_xmlParseBalancedChunkMemory(); + test_ret += test_xmlParseBalancedChunkMemoryRecover(); + test_ret += test_xmlParseChunk(); + test_ret += test_xmlParseCtxtExternalEntity(); + test_ret += test_xmlParseDTD(); + test_ret += test_xmlParseDoc(); + test_ret += test_xmlParseDocument(); + test_ret += test_xmlParseEntity(); + test_ret += test_xmlParseExtParsedEnt(); + test_ret += test_xmlParseExternalEntity(); + test_ret += test_xmlParseFile(); + test_ret += test_xmlParseInNodeContext(); + test_ret += test_xmlParseMemory(); + test_ret += test_xmlParserAddNodeInfo(); + test_ret += test_xmlParserFindNodeInfo(); + test_ret += test_xmlParserFindNodeInfoIndex(); + test_ret += test_xmlParserInputGrow(); + test_ret += test_xmlParserInputRead(); + test_ret += test_xmlPedanticParserDefault(); + test_ret += test_xmlReadDoc(); + test_ret += test_xmlReadFile(); + test_ret += test_xmlReadMemory(); + test_ret += test_xmlRecoverDoc(); + test_ret += test_xmlRecoverFile(); + test_ret += test_xmlRecoverMemory(); + test_ret += test_xmlSAXParseDTD(); + test_ret += test_xmlSAXParseDoc(); + test_ret += test_xmlSAXParseEntity(); + test_ret += test_xmlSAXParseFile(); + test_ret += test_xmlSAXParseFileWithData(); + test_ret += test_xmlSAXParseMemory(); + test_ret += test_xmlSAXParseMemoryWithData(); + test_ret += test_xmlSAXUserParseFile(); + test_ret += test_xmlSAXUserParseMemory(); + test_ret += test_xmlSetExternalEntityLoader(); + test_ret += test_xmlSetFeature(); + test_ret += test_xmlSetupParserForBuffer(); + test_ret += test_xmlStopParser(); + test_ret += test_xmlSubstituteEntitiesDefault(); + + if (test_ret != 0) + printf("Module parser: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_htmlCreateFileParserCtxt(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + htmlParserCtxtPtr ret_val; + const char * filename; /* the filename */ + int n_filename; + char * encoding; /* a free form C string describing the HTML document encoding, or NULL */ + int n_encoding; + + for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + mem_base = xmlMemBlocks(); + filename = gen_fileoutput(n_filename, 0); + encoding = gen_const_char_ptr(n_encoding, 1); + + ret_val = htmlCreateFileParserCtxt(filename, (const char *)encoding); + desret_htmlParserCtxtPtr(ret_val); + call_tests++; + des_fileoutput(n_filename, filename, 0); + des_const_char_ptr(n_encoding, (const char *)encoding, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlCreateFileParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf(" %d", n_encoding); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_htmlInitAutoClose(void) { + int test_ret = 0; + +#if defined(LIBXML_HTML_ENABLED) + int mem_base; + + mem_base = xmlMemBlocks(); + + htmlInitAutoClose(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in htmlInitAutoClose", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_inputPop(void) { + int test_ret = 0; + + int mem_base; + xmlParserInputPtr ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + + ret_val = inputPop(ctxt); + desret_xmlParserInputPtr(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in inputPop", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_inputPush(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + xmlParserInputPtr value; /* the parser input */ + int n_value; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_value = 0;n_value < gen_nb_xmlParserInputPtr;n_value++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + value = gen_xmlParserInputPtr(n_value, 1); + + ret_val = inputPush(ctxt, value); + desret_int(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_xmlParserInputPtr(n_value, value, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in inputPush", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_value); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_namePop(void) { + int test_ret = 0; + + int mem_base; + const xmlChar * ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + + ret_val = namePop(ctxt); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in namePop", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_namePush(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + xmlChar * value; /* the element name */ + int n_value; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + value = gen_const_xmlChar_ptr(n_value, 1); + + ret_val = namePush(ctxt, (const xmlChar *)value); + desret_int(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in namePush", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_value); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_nodePop(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + + ret_val = nodePop(ctxt); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in nodePop", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_nodePush(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + xmlNodePtr value; /* the element node */ + int n_value; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_value = 0;n_value < gen_nb_xmlNodePtr;n_value++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + value = gen_xmlNodePtr(n_value, 1); + + ret_val = nodePush(ctxt, value); + desret_int(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_xmlNodePtr(n_value, value, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in nodePush", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_value); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCheckLanguageID(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlChar * lang; /* pointer to the string value */ + int n_lang; + + for (n_lang = 0;n_lang < gen_nb_const_xmlChar_ptr;n_lang++) { + mem_base = xmlMemBlocks(); + lang = gen_const_xmlChar_ptr(n_lang, 0); + + ret_val = xmlCheckLanguageID((const xmlChar *)lang); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_lang, (const xmlChar *)lang, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCheckLanguageID", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_lang); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCopyChar(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + int len; /* Ignored, compatibility */ + int n_len; + xmlChar * out; /* pointer to an array of xmlChar */ + int n_out; + int val; /* the char value */ + int n_val; + + for (n_len = 0;n_len < gen_nb_int;n_len++) { + for (n_out = 0;n_out < gen_nb_xmlChar_ptr;n_out++) { + for (n_val = 0;n_val < gen_nb_int;n_val++) { + mem_base = xmlMemBlocks(); + len = gen_int(n_len, 0); + out = gen_xmlChar_ptr(n_out, 1); + val = gen_int(n_val, 2); + + ret_val = xmlCopyChar(len, out, val); + desret_int(ret_val); + call_tests++; + des_int(n_len, len, 0); + des_xmlChar_ptr(n_out, out, 1); + des_int(n_val, val, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCopyChar", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_len); + printf(" %d", n_out); + printf(" %d", n_val); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCopyCharMultiByte(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlChar * out; /* pointer to an array of xmlChar */ + int n_out; + int val; /* the char value */ + int n_val; + + for (n_out = 0;n_out < gen_nb_xmlChar_ptr;n_out++) { + for (n_val = 0;n_val < gen_nb_int;n_val++) { + mem_base = xmlMemBlocks(); + out = gen_xmlChar_ptr(n_out, 0); + val = gen_int(n_val, 1); + + ret_val = xmlCopyCharMultiByte(out, val); + desret_int(ret_val); + call_tests++; + des_xmlChar_ptr(n_out, out, 0); + des_int(n_val, val, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCopyCharMultiByte", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_out); + printf(" %d", n_val); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCreateEntityParserCtxt(void) { + int test_ret = 0; + + int mem_base; + xmlParserCtxtPtr ret_val; + xmlChar * URL; /* the entity URL */ + int n_URL; + xmlChar * ID; /* the entity PUBLIC ID */ + int n_ID; + xmlChar * base; /* a possible base for the target URI */ + int n_base; + + for (n_URL = 0;n_URL < gen_nb_const_xmlChar_ptr;n_URL++) { + for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) { + for (n_base = 0;n_base < gen_nb_const_xmlChar_ptr;n_base++) { + mem_base = xmlMemBlocks(); + URL = gen_const_xmlChar_ptr(n_URL, 0); + ID = gen_const_xmlChar_ptr(n_ID, 1); + base = gen_const_xmlChar_ptr(n_base, 2); + + ret_val = xmlCreateEntityParserCtxt((const xmlChar *)URL, (const xmlChar *)ID, (const xmlChar *)base); + desret_xmlParserCtxtPtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_URL, (const xmlChar *)URL, 0); + des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 1); + des_const_xmlChar_ptr(n_base, (const xmlChar *)base, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCreateEntityParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_URL); + printf(" %d", n_ID); + printf(" %d", n_base); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCreateFileParserCtxt(void) { + int test_ret = 0; + + int mem_base; + xmlParserCtxtPtr ret_val; + const char * filename; /* the filename */ + int n_filename; + + for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) { + mem_base = xmlMemBlocks(); + filename = gen_fileoutput(n_filename, 0); + + ret_val = xmlCreateFileParserCtxt(filename); + desret_xmlParserCtxtPtr(ret_val); + call_tests++; + des_fileoutput(n_filename, filename, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCreateFileParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCreateMemoryParserCtxt(void) { + int test_ret = 0; + + int mem_base; + xmlParserCtxtPtr ret_val; + char * buffer; /* a pointer to a char array */ + int n_buffer; + int size; /* the size of the array */ + int n_size; + + for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + mem_base = xmlMemBlocks(); + buffer = gen_const_char_ptr(n_buffer, 0); + size = gen_int(n_size, 1); + if ((buffer != NULL) && + (size > (int) strlen((const char *) buffer) + 1)) + continue; + + ret_val = xmlCreateMemoryParserCtxt((const char *)buffer, size); + desret_xmlParserCtxtPtr(ret_val); + call_tests++; + des_const_char_ptr(n_buffer, (const char *)buffer, 0); + des_int(n_size, size, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCreateMemoryParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buffer); + printf(" %d", n_size); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCreateURLParserCtxt(void) { + int test_ret = 0; + + int mem_base; + xmlParserCtxtPtr ret_val; + const char * filename; /* the filename or URL */ + int n_filename; + int options; /* a combination of xmlParserOption */ + int n_options; + + for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) { + for (n_options = 0;n_options < gen_nb_int;n_options++) { + mem_base = xmlMemBlocks(); + filename = gen_fileoutput(n_filename, 0); + options = gen_int(n_options, 1); + + ret_val = xmlCreateURLParserCtxt(filename, options); + desret_xmlParserCtxtPtr(ret_val); + call_tests++; + des_fileoutput(n_filename, filename, 0); + des_int(n_options, options, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCreateURLParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf(" %d", n_options); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCurrentChar(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserCtxtPtr ctxt; /* the XML parser context */ + int n_ctxt; + int * len; /* pointer to the length of the char read */ + int n_len; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + len = gen_int_ptr(n_len, 1); + + ret_val = xmlCurrentChar(ctxt, len); + desret_int(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_int_ptr(n_len, len, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCurrentChar", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_len); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlErrMemory(void) { + int test_ret = 0; + + int mem_base; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + char * extra; /* extra informations */ + int n_extra; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_extra = 0;n_extra < gen_nb_const_char_ptr;n_extra++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + extra = gen_const_char_ptr(n_extra, 1); + + xmlErrMemory(ctxt, (const char *)extra); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_const_char_ptr(n_extra, (const char *)extra, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlErrMemory", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_extra); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlIsLetter(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + int c; /* an unicode character (int) */ + int n_c; + + for (n_c = 0;n_c < gen_nb_int;n_c++) { + mem_base = xmlMemBlocks(); + c = gen_int(n_c, 0); + + ret_val = xmlIsLetter(c); + desret_int(ret_val); + call_tests++; + des_int(n_c, c, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIsLetter", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_c); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewEntityInputStream(void) { + int test_ret = 0; + + int mem_base; + xmlParserInputPtr ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + xmlEntityPtr entity; /* an Entity pointer */ + int n_entity; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_entity = 0;n_entity < gen_nb_xmlEntityPtr;n_entity++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + entity = gen_xmlEntityPtr(n_entity, 1); + + ret_val = xmlNewEntityInputStream(ctxt, entity); + desret_xmlParserInputPtr(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_xmlEntityPtr(n_entity, entity, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewEntityInputStream", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_entity); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewInputFromFile(void) { + int test_ret = 0; + + int mem_base; + xmlParserInputPtr ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + const char * filename; /* the filename to use as entity */ + int n_filename; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + filename = gen_filepath(n_filename, 1); + + ret_val = xmlNewInputFromFile(ctxt, filename); + desret_xmlParserInputPtr(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_filepath(n_filename, filename, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewInputFromFile", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_filename); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewInputStream(void) { + int test_ret = 0; + + int mem_base; + xmlParserInputPtr ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + + ret_val = xmlNewInputStream(ctxt); + desret_xmlParserInputPtr(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewInputStream", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewStringInputStream(void) { + int test_ret = 0; + + int mem_base; + xmlParserInputPtr ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + xmlChar * buffer; /* an memory buffer */ + int n_buffer; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_buffer = 0;n_buffer < gen_nb_const_xmlChar_ptr;n_buffer++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + buffer = gen_const_xmlChar_ptr(n_buffer, 1); + + ret_val = xmlNewStringInputStream(ctxt, (const xmlChar *)buffer); + desret_xmlParserInputPtr(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_const_xmlChar_ptr(n_buffer, (const xmlChar *)buffer, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewStringInputStream", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_buffer); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNextChar(void) { + int test_ret = 0; + + int mem_base; + xmlParserCtxtPtr ctxt; /* the XML parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + + xmlNextChar(ctxt); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNextChar", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlParserInputShrink(void) { + int test_ret = 0; + + int mem_base; + xmlParserInputPtr in; /* an XML parser input */ + int n_in; + + for (n_in = 0;n_in < gen_nb_xmlParserInputPtr;n_in++) { + mem_base = xmlMemBlocks(); + in = gen_xmlParserInputPtr(n_in, 0); + + xmlParserInputShrink(in); + call_tests++; + des_xmlParserInputPtr(n_in, in, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParserInputShrink", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_in); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlPopInput(void) { + int test_ret = 0; + + int mem_base; + xmlChar ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + + ret_val = xmlPopInput(ctxt); + desret_xmlChar(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlPopInput", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlPushInput(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + xmlParserInputPtr input; /* an XML parser input fragment (entity, XML fragment ...). */ + int n_input; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + input = gen_xmlParserInputPtr(n_input, 1); + + ret_val = xmlPushInput(ctxt, input); + desret_int(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_xmlParserInputPtr(n_input, input, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlPushInput", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_input); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSetEntityReferenceFunc(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSplitQName(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + xmlChar * name; /* an XML parser context */ + int n_name; + xmlChar ** prefix; /* a xmlChar ** */ + int n_prefix; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_prefix = 0;n_prefix < gen_nb_xmlChar_ptr_ptr;n_prefix++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + prefix = gen_xmlChar_ptr_ptr(n_prefix, 2); + + ret_val = xmlSplitQName(ctxt, (const xmlChar *)name, prefix); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_xmlChar_ptr_ptr(n_prefix, prefix, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSplitQName", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_name); + printf(" %d", n_prefix); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlStringCurrentChar(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserCtxtPtr ctxt; /* the XML parser context */ + int n_ctxt; + xmlChar * cur; /* pointer to the beginning of the char */ + int n_cur; + int * len; /* pointer to the length of the char read */ + int n_len; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) { + for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + cur = gen_const_xmlChar_ptr(n_cur, 1); + len = gen_int_ptr(n_len, 2); + + ret_val = xmlStringCurrentChar(ctxt, (const xmlChar *)cur, len); + desret_int(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1); + des_int_ptr(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStringCurrentChar", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_cur); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlStringDecodeEntities(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlParserCtxtPtr ctxt; /* the parser context */ + int n_ctxt; + xmlChar * str; /* the input string */ + int n_str; + int what; /* combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF */ + int n_what; + xmlChar end; /* an end marker xmlChar, 0 if none */ + int n_end; + xmlChar end2; /* an end marker xmlChar, 0 if none */ + int n_end2; + xmlChar end3; /* an end marker xmlChar, 0 if none */ + int n_end3; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + for (n_what = 0;n_what < gen_nb_int;n_what++) { + for (n_end = 0;n_end < gen_nb_xmlChar;n_end++) { + for (n_end2 = 0;n_end2 < gen_nb_xmlChar;n_end2++) { + for (n_end3 = 0;n_end3 < gen_nb_xmlChar;n_end3++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + str = gen_const_xmlChar_ptr(n_str, 1); + what = gen_int(n_what, 2); + end = gen_xmlChar(n_end, 3); + end2 = gen_xmlChar(n_end2, 4); + end3 = gen_xmlChar(n_end3, 5); + + ret_val = xmlStringDecodeEntities(ctxt, (const xmlChar *)str, what, end, end2, end3); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1); + des_int(n_what, what, 2); + des_xmlChar(n_end, end, 3); + des_xmlChar(n_end2, end2, 4); + des_xmlChar(n_end3, end3, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStringDecodeEntities", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_str); + printf(" %d", n_what); + printf(" %d", n_end); + printf(" %d", n_end2); + printf(" %d", n_end3); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlStringLenDecodeEntities(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlParserCtxtPtr ctxt; /* the parser context */ + int n_ctxt; + xmlChar * str; /* the input string */ + int n_str; + int len; /* the string length */ + int n_len; + int what; /* combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF */ + int n_what; + xmlChar end; /* an end marker xmlChar, 0 if none */ + int n_end; + xmlChar end2; /* an end marker xmlChar, 0 if none */ + int n_end2; + xmlChar end3; /* an end marker xmlChar, 0 if none */ + int n_end3; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + for (n_what = 0;n_what < gen_nb_int;n_what++) { + for (n_end = 0;n_end < gen_nb_xmlChar;n_end++) { + for (n_end2 = 0;n_end2 < gen_nb_xmlChar;n_end2++) { + for (n_end3 = 0;n_end3 < gen_nb_xmlChar;n_end3++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + str = gen_const_xmlChar_ptr(n_str, 1); + len = gen_int(n_len, 2); + what = gen_int(n_what, 3); + end = gen_xmlChar(n_end, 4); + end2 = gen_xmlChar(n_end2, 5); + end3 = gen_xmlChar(n_end3, 6); + if ((str != NULL) && + (len > (int) strlen((const char *) str) + 1)) + continue; + + ret_val = xmlStringLenDecodeEntities(ctxt, (const xmlChar *)str, len, what, end, end2, end3); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1); + des_int(n_len, len, 2); + des_int(n_what, what, 3); + des_xmlChar(n_end, end, 4); + des_xmlChar(n_end2, end2, 5); + des_xmlChar(n_end3, end3, 6); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStringLenDecodeEntities", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_str); + printf(" %d", n_len); + printf(" %d", n_what); + printf(" %d", n_end); + printf(" %d", n_end2); + printf(" %d", n_end3); + printf("\n"); + } + } + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSwitchEncoding(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserCtxtPtr ctxt; /* the parser context */ + int n_ctxt; + xmlCharEncoding enc; /* the encoding value (number) */ + int n_enc; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + enc = gen_xmlCharEncoding(n_enc, 1); + + ret_val = xmlSwitchEncoding(ctxt, enc); + desret_int(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_xmlCharEncoding(n_enc, enc, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSwitchEncoding", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_enc); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSwitchInputEncoding(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserCtxtPtr ctxt; /* the parser context */ + int n_ctxt; + xmlParserInputPtr input; /* the input stream */ + int n_input; + xmlCharEncodingHandlerPtr handler; /* the encoding handler */ + int n_handler; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) { + for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandlerPtr;n_handler++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + input = gen_xmlParserInputPtr(n_input, 1); + handler = gen_xmlCharEncodingHandlerPtr(n_handler, 2); + + ret_val = xmlSwitchInputEncoding(ctxt, input, handler); + desret_int(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_xmlParserInputPtr(n_input, input, 1); + des_xmlCharEncodingHandlerPtr(n_handler, handler, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSwitchInputEncoding", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_input); + printf(" %d", n_handler); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSwitchToEncoding(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserCtxtPtr ctxt; /* the parser context */ + int n_ctxt; + xmlCharEncodingHandlerPtr handler; /* the encoding handler */ + int n_handler; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandlerPtr;n_handler++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + handler = gen_xmlCharEncodingHandlerPtr(n_handler, 1); + + ret_val = xmlSwitchToEncoding(ctxt, handler); + desret_int(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_xmlCharEncodingHandlerPtr(n_handler, handler, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSwitchToEncoding", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_handler); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + +static int +test_parserInternals(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing parserInternals : 33 of 90 functions ...\n"); + test_ret += test_htmlCreateFileParserCtxt(); + test_ret += test_htmlInitAutoClose(); + test_ret += test_inputPop(); + test_ret += test_inputPush(); + test_ret += test_namePop(); + test_ret += test_namePush(); + test_ret += test_nodePop(); + test_ret += test_nodePush(); + test_ret += test_xmlCheckLanguageID(); + test_ret += test_xmlCopyChar(); + test_ret += test_xmlCopyCharMultiByte(); + test_ret += test_xmlCreateEntityParserCtxt(); + test_ret += test_xmlCreateFileParserCtxt(); + test_ret += test_xmlCreateMemoryParserCtxt(); + test_ret += test_xmlCreateURLParserCtxt(); + test_ret += test_xmlCurrentChar(); + test_ret += test_xmlErrMemory(); + test_ret += test_xmlIsLetter(); + test_ret += test_xmlNewEntityInputStream(); + test_ret += test_xmlNewInputFromFile(); + test_ret += test_xmlNewInputStream(); + test_ret += test_xmlNewStringInputStream(); + test_ret += test_xmlNextChar(); + test_ret += test_xmlParserInputShrink(); + test_ret += test_xmlPopInput(); + test_ret += test_xmlPushInput(); + test_ret += test_xmlSetEntityReferenceFunc(); + test_ret += test_xmlSplitQName(); + test_ret += test_xmlStringCurrentChar(); + test_ret += test_xmlStringDecodeEntities(); + test_ret += test_xmlStringLenDecodeEntities(); + test_ret += test_xmlSwitchEncoding(); + test_ret += test_xmlSwitchInputEncoding(); + test_ret += test_xmlSwitchToEncoding(); + + if (test_ret != 0) + printf("Module parserInternals: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlPatternFromRoot(void) { + int test_ret = 0; + +#if defined(LIBXML_PATTERN_ENABLED) + int mem_base; + int ret_val; + xmlPatternPtr comp; /* the precompiled pattern */ + int n_comp; + + for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) { + mem_base = xmlMemBlocks(); + comp = gen_xmlPatternPtr(n_comp, 0); + + ret_val = xmlPatternFromRoot(comp); + desret_int(ret_val); + call_tests++; + des_xmlPatternPtr(n_comp, comp, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlPatternFromRoot", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_comp); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlPatternGetStreamCtxt(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlPatternMatch(void) { + int test_ret = 0; + +#if defined(LIBXML_PATTERN_ENABLED) + int mem_base; + int ret_val; + xmlPatternPtr comp; /* the precompiled pattern */ + int n_comp; + xmlNodePtr node; /* a node */ + int n_node; + + for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + mem_base = xmlMemBlocks(); + comp = gen_xmlPatternPtr(n_comp, 0); + node = gen_xmlNodePtr(n_node, 1); + + ret_val = xmlPatternMatch(comp, node); + desret_int(ret_val); + call_tests++; + des_xmlPatternPtr(n_comp, comp, 0); + des_xmlNodePtr(n_node, node, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlPatternMatch", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_comp); + printf(" %d", n_node); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlPatternMaxDepth(void) { + int test_ret = 0; + +#if defined(LIBXML_PATTERN_ENABLED) + int mem_base; + int ret_val; + xmlPatternPtr comp; /* the precompiled pattern */ + int n_comp; + + for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) { + mem_base = xmlMemBlocks(); + comp = gen_xmlPatternPtr(n_comp, 0); + + ret_val = xmlPatternMaxDepth(comp); + desret_int(ret_val); + call_tests++; + des_xmlPatternPtr(n_comp, comp, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlPatternMaxDepth", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_comp); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlPatternMinDepth(void) { + int test_ret = 0; + +#if defined(LIBXML_PATTERN_ENABLED) + int mem_base; + int ret_val; + xmlPatternPtr comp; /* the precompiled pattern */ + int n_comp; + + for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) { + mem_base = xmlMemBlocks(); + comp = gen_xmlPatternPtr(n_comp, 0); + + ret_val = xmlPatternMinDepth(comp); + desret_int(ret_val); + call_tests++; + des_xmlPatternPtr(n_comp, comp, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlPatternMinDepth", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_comp); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlPatternStreamable(void) { + int test_ret = 0; + +#if defined(LIBXML_PATTERN_ENABLED) + int mem_base; + int ret_val; + xmlPatternPtr comp; /* the precompiled pattern */ + int n_comp; + + for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) { + mem_base = xmlMemBlocks(); + comp = gen_xmlPatternPtr(n_comp, 0); + + ret_val = xmlPatternStreamable(comp); + desret_int(ret_val); + call_tests++; + des_xmlPatternPtr(n_comp, comp, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlPatternStreamable", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_comp); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlPatterncompile(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + +#ifdef LIBXML_PATTERN_ENABLED + +#define gen_nb_xmlStreamCtxtPtr 1 +static xmlStreamCtxtPtr gen_xmlStreamCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlStreamCtxtPtr(int no ATTRIBUTE_UNUSED, xmlStreamCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlStreamPop(void) { + int test_ret = 0; + +#if defined(LIBXML_PATTERN_ENABLED) + int mem_base; + int ret_val; + xmlStreamCtxtPtr stream; /* the stream context */ + int n_stream; + + for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) { + mem_base = xmlMemBlocks(); + stream = gen_xmlStreamCtxtPtr(n_stream, 0); + + ret_val = xmlStreamPop(stream); + desret_int(ret_val); + call_tests++; + des_xmlStreamCtxtPtr(n_stream, stream, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStreamPop", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_stream); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlStreamPush(void) { + int test_ret = 0; + +#if defined(LIBXML_PATTERN_ENABLED) + int mem_base; + int ret_val; + xmlStreamCtxtPtr stream; /* the stream context */ + int n_stream; + xmlChar * name; /* the current name */ + int n_name; + xmlChar * ns; /* the namespace name */ + int n_ns; + + for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) { + mem_base = xmlMemBlocks(); + stream = gen_xmlStreamCtxtPtr(n_stream, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + ns = gen_const_xmlChar_ptr(n_ns, 2); + + ret_val = xmlStreamPush(stream, (const xmlChar *)name, (const xmlChar *)ns); + desret_int(ret_val); + call_tests++; + des_xmlStreamCtxtPtr(n_stream, stream, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStreamPush", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_stream); + printf(" %d", n_name); + printf(" %d", n_ns); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlStreamPushAttr(void) { + int test_ret = 0; + +#if defined(LIBXML_PATTERN_ENABLED) + int mem_base; + int ret_val; + xmlStreamCtxtPtr stream; /* the stream context */ + int n_stream; + xmlChar * name; /* the current name */ + int n_name; + xmlChar * ns; /* the namespace name */ + int n_ns; + + for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) { + mem_base = xmlMemBlocks(); + stream = gen_xmlStreamCtxtPtr(n_stream, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + ns = gen_const_xmlChar_ptr(n_ns, 2); + + ret_val = xmlStreamPushAttr(stream, (const xmlChar *)name, (const xmlChar *)ns); + desret_int(ret_val); + call_tests++; + des_xmlStreamCtxtPtr(n_stream, stream, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStreamPushAttr", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_stream); + printf(" %d", n_name); + printf(" %d", n_ns); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlStreamPushNode(void) { + int test_ret = 0; + +#if defined(LIBXML_PATTERN_ENABLED) + int mem_base; + int ret_val; + xmlStreamCtxtPtr stream; /* the stream context */ + int n_stream; + xmlChar * name; /* the current name */ + int n_name; + xmlChar * ns; /* the namespace name */ + int n_ns; + int nodeType; /* the type of the node being pushed */ + int n_nodeType; + + for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) { + for (n_nodeType = 0;n_nodeType < gen_nb_int;n_nodeType++) { + mem_base = xmlMemBlocks(); + stream = gen_xmlStreamCtxtPtr(n_stream, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + ns = gen_const_xmlChar_ptr(n_ns, 2); + nodeType = gen_int(n_nodeType, 3); + + ret_val = xmlStreamPushNode(stream, (const xmlChar *)name, (const xmlChar *)ns, nodeType); + desret_int(ret_val); + call_tests++; + des_xmlStreamCtxtPtr(n_stream, stream, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 2); + des_int(n_nodeType, nodeType, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStreamPushNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_stream); + printf(" %d", n_name); + printf(" %d", n_ns); + printf(" %d", n_nodeType); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlStreamWantsAnyNode(void) { + int test_ret = 0; + +#if defined(LIBXML_PATTERN_ENABLED) + int mem_base; + int ret_val; + xmlStreamCtxtPtr streamCtxt; /* the stream context */ + int n_streamCtxt; + + for (n_streamCtxt = 0;n_streamCtxt < gen_nb_xmlStreamCtxtPtr;n_streamCtxt++) { + mem_base = xmlMemBlocks(); + streamCtxt = gen_xmlStreamCtxtPtr(n_streamCtxt, 0); + + ret_val = xmlStreamWantsAnyNode(streamCtxt); + desret_int(ret_val); + call_tests++; + des_xmlStreamCtxtPtr(n_streamCtxt, streamCtxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStreamWantsAnyNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_streamCtxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_pattern(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing pattern : 10 of 15 functions ...\n"); + test_ret += test_xmlPatternFromRoot(); + test_ret += test_xmlPatternGetStreamCtxt(); + test_ret += test_xmlPatternMatch(); + test_ret += test_xmlPatternMaxDepth(); + test_ret += test_xmlPatternMinDepth(); + test_ret += test_xmlPatternStreamable(); + test_ret += test_xmlPatterncompile(); + test_ret += test_xmlStreamPop(); + test_ret += test_xmlStreamPush(); + test_ret += test_xmlStreamPushAttr(); + test_ret += test_xmlStreamPushNode(); + test_ret += test_xmlStreamWantsAnyNode(); + + if (test_ret != 0) + printf("Module pattern: %d errors\n", test_ret); + return(test_ret); +} +#ifdef LIBXML_SCHEMAS_ENABLED + +#define gen_nb_xmlRelaxNGPtr 1 +static xmlRelaxNGPtr gen_xmlRelaxNGPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlRelaxNGPtr(int no ATTRIBUTE_UNUSED, xmlRelaxNGPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlRelaxNGDump(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + FILE * output; /* the file output */ + int n_output; + xmlRelaxNGPtr schema; /* a schema structure */ + int n_schema; + + for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) { + for (n_schema = 0;n_schema < gen_nb_xmlRelaxNGPtr;n_schema++) { + mem_base = xmlMemBlocks(); + output = gen_FILE_ptr(n_output, 0); + schema = gen_xmlRelaxNGPtr(n_schema, 1); + + xmlRelaxNGDump(output, schema); + call_tests++; + des_FILE_ptr(n_output, output, 0); + des_xmlRelaxNGPtr(n_schema, schema, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRelaxNGDump", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_output); + printf(" %d", n_schema); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlRelaxNGDumpTree(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + FILE * output; /* the file output */ + int n_output; + xmlRelaxNGPtr schema; /* a schema structure */ + int n_schema; + + for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) { + for (n_schema = 0;n_schema < gen_nb_xmlRelaxNGPtr;n_schema++) { + mem_base = xmlMemBlocks(); + output = gen_FILE_ptr(n_output, 0); + schema = gen_xmlRelaxNGPtr(n_schema, 1); + + xmlRelaxNGDumpTree(output, schema); + call_tests++; + des_FILE_ptr(n_output, output, 0); + des_xmlRelaxNGPtr(n_schema, schema, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRelaxNGDumpTree", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_output); + printf(" %d", n_schema); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +#ifdef LIBXML_SCHEMAS_ENABLED + +#define gen_nb_xmlRelaxNGParserCtxtPtr 1 +static xmlRelaxNGParserCtxtPtr gen_xmlRelaxNGParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlRelaxNGParserCtxtPtr(int no ATTRIBUTE_UNUSED, xmlRelaxNGParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + +#ifdef LIBXML_SCHEMAS_ENABLED + +#define gen_nb_xmlRelaxNGValidityErrorFunc_ptr 1 +static xmlRelaxNGValidityErrorFunc * gen_xmlRelaxNGValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlRelaxNGValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlRelaxNGValidityErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + +#ifdef LIBXML_SCHEMAS_ENABLED + +#define gen_nb_xmlRelaxNGValidityWarningFunc_ptr 1 +static xmlRelaxNGValidityWarningFunc * gen_xmlRelaxNGValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlRelaxNGValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, xmlRelaxNGValidityWarningFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlRelaxNGGetParserErrors(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlRelaxNGParserCtxtPtr ctxt; /* a Relax-NG validation context */ + int n_ctxt; + xmlRelaxNGValidityErrorFunc * err; /* the error callback result */ + int n_err; + xmlRelaxNGValidityWarningFunc * warn; /* the warning callback result */ + int n_warn; + void ** ctx; /* contextual data for the callbacks result */ + int n_ctx; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGParserCtxtPtr;n_ctxt++) { + for (n_err = 0;n_err < gen_nb_xmlRelaxNGValidityErrorFunc_ptr;n_err++) { + for (n_warn = 0;n_warn < gen_nb_xmlRelaxNGValidityWarningFunc_ptr;n_warn++) { + for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlRelaxNGParserCtxtPtr(n_ctxt, 0); + err = gen_xmlRelaxNGValidityErrorFunc_ptr(n_err, 1); + warn = gen_xmlRelaxNGValidityWarningFunc_ptr(n_warn, 2); + ctx = gen_void_ptr_ptr(n_ctx, 3); + + ret_val = xmlRelaxNGGetParserErrors(ctxt, err, warn, ctx); + desret_int(ret_val); + call_tests++; + des_xmlRelaxNGParserCtxtPtr(n_ctxt, ctxt, 0); + des_xmlRelaxNGValidityErrorFunc_ptr(n_err, err, 1); + des_xmlRelaxNGValidityWarningFunc_ptr(n_warn, warn, 2); + des_void_ptr_ptr(n_ctx, ctx, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRelaxNGGetParserErrors", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_err); + printf(" %d", n_warn); + printf(" %d", n_ctx); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +#ifdef LIBXML_SCHEMAS_ENABLED + +#define gen_nb_xmlRelaxNGValidCtxtPtr 1 +static xmlRelaxNGValidCtxtPtr gen_xmlRelaxNGValidCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlRelaxNGValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlRelaxNGValidCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlRelaxNGGetValidErrors(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlRelaxNGValidCtxtPtr ctxt; /* a Relax-NG validation context */ + int n_ctxt; + xmlRelaxNGValidityErrorFunc * err; /* the error function result */ + int n_err; + xmlRelaxNGValidityWarningFunc * warn; /* the warning function result */ + int n_warn; + void ** ctx; /* the functions context result */ + int n_ctx; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) { + for (n_err = 0;n_err < gen_nb_xmlRelaxNGValidityErrorFunc_ptr;n_err++) { + for (n_warn = 0;n_warn < gen_nb_xmlRelaxNGValidityWarningFunc_ptr;n_warn++) { + for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0); + err = gen_xmlRelaxNGValidityErrorFunc_ptr(n_err, 1); + warn = gen_xmlRelaxNGValidityWarningFunc_ptr(n_warn, 2); + ctx = gen_void_ptr_ptr(n_ctx, 3); + + ret_val = xmlRelaxNGGetValidErrors(ctxt, err, warn, ctx); + desret_int(ret_val); + call_tests++; + des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlRelaxNGValidityErrorFunc_ptr(n_err, err, 1); + des_xmlRelaxNGValidityWarningFunc_ptr(n_warn, warn, 2); + des_void_ptr_ptr(n_ctx, ctx, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRelaxNGGetValidErrors", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_err); + printf(" %d", n_warn); + printf(" %d", n_ctx); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlRelaxNGInitTypes(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + + mem_base = xmlMemBlocks(); + + ret_val = xmlRelaxNGInitTypes(); + desret_int(ret_val); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRelaxNGInitTypes", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlRelaxNGNewDocParserCtxt(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + xmlRelaxNGParserCtxtPtr ret_val; + xmlDocPtr doc; /* a preparsed document tree */ + int n_doc; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + + ret_val = xmlRelaxNGNewDocParserCtxt(doc); + desret_xmlRelaxNGParserCtxtPtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRelaxNGNewDocParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlRelaxNGNewMemParserCtxt(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + xmlRelaxNGParserCtxtPtr ret_val; + char * buffer; /* a pointer to a char array containing the schemas */ + int n_buffer; + int size; /* the size of the array */ + int n_size; + + for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + mem_base = xmlMemBlocks(); + buffer = gen_const_char_ptr(n_buffer, 0); + size = gen_int(n_size, 1); + if ((buffer != NULL) && + (size > (int) strlen((const char *) buffer) + 1)) + continue; + + ret_val = xmlRelaxNGNewMemParserCtxt((const char *)buffer, size); + desret_xmlRelaxNGParserCtxtPtr(ret_val); + call_tests++; + des_const_char_ptr(n_buffer, (const char *)buffer, 0); + des_int(n_size, size, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRelaxNGNewMemParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buffer); + printf(" %d", n_size); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlRelaxNGNewParserCtxt(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + xmlRelaxNGParserCtxtPtr ret_val; + char * URL; /* the location of the schema */ + int n_URL; + + for (n_URL = 0;n_URL < gen_nb_const_char_ptr;n_URL++) { + mem_base = xmlMemBlocks(); + URL = gen_const_char_ptr(n_URL, 0); + + ret_val = xmlRelaxNGNewParserCtxt((const char *)URL); + desret_xmlRelaxNGParserCtxtPtr(ret_val); + call_tests++; + des_const_char_ptr(n_URL, (const char *)URL, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRelaxNGNewParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_URL); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlRelaxNGNewValidCtxt(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlRelaxNGParse(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlRelaxNGSetParserErrors(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlRelaxNGSetParserStructuredErrors(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlRelaxNGSetValidErrors(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlRelaxNGSetValidStructuredErrors(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlRelaxNGValidateDoc(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlRelaxNGValidCtxtPtr ctxt; /* a Relax-NG validation context */ + int n_ctxt; + xmlDocPtr doc; /* a parsed document tree */ + int n_doc; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + + ret_val = xmlRelaxNGValidateDoc(ctxt, doc); + desret_int(ret_val); + call_tests++; + des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRelaxNGValidateDoc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlRelaxNGValidateFullElement(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlRelaxNGValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlDocPtr doc; /* a document instance */ + int n_doc; + xmlNodePtr elem; /* an element instance */ + int n_elem; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + elem = gen_xmlNodePtr(n_elem, 2); + + ret_val = xmlRelaxNGValidateFullElement(ctxt, doc, elem); + desret_int(ret_val); + call_tests++; + des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNodePtr(n_elem, elem, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRelaxNGValidateFullElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf(" %d", n_elem); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlRelaxNGValidatePopElement(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlRelaxNGValidCtxtPtr ctxt; /* the RelaxNG validation context */ + int n_ctxt; + xmlDocPtr doc; /* a document instance */ + int n_doc; + xmlNodePtr elem; /* an element instance */ + int n_elem; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + elem = gen_xmlNodePtr(n_elem, 2); + + ret_val = xmlRelaxNGValidatePopElement(ctxt, doc, elem); + desret_int(ret_val); + call_tests++; + des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNodePtr(n_elem, elem, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRelaxNGValidatePopElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf(" %d", n_elem); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlRelaxNGValidatePushCData(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlRelaxNGValidCtxtPtr ctxt; /* the RelaxNG validation context */ + int n_ctxt; + xmlChar * data; /* some character data read */ + int n_data; + int len; /* the length of the data */ + int n_len; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) { + for (n_data = 0;n_data < gen_nb_const_xmlChar_ptr;n_data++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0); + data = gen_const_xmlChar_ptr(n_data, 1); + len = gen_int(n_len, 2); + if ((data != NULL) && + (len > (int) strlen((const char *) data) + 1)) + continue; + + ret_val = xmlRelaxNGValidatePushCData(ctxt, (const xmlChar *)data, len); + desret_int(ret_val); + call_tests++; + des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0); + des_const_xmlChar_ptr(n_data, (const xmlChar *)data, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRelaxNGValidatePushCData", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_data); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlRelaxNGValidatePushElement(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlRelaxNGValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlDocPtr doc; /* a document instance */ + int n_doc; + xmlNodePtr elem; /* an element instance */ + int n_elem; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + elem = gen_xmlNodePtr(n_elem, 2); + + ret_val = xmlRelaxNGValidatePushElement(ctxt, doc, elem); + desret_int(ret_val); + call_tests++; + des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNodePtr(n_elem, elem, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRelaxNGValidatePushElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf(" %d", n_elem); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlRelaxParserSetFlag(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlRelaxNGParserCtxtPtr ctxt; /* a RelaxNG parser context */ + int n_ctxt; + int flags; /* a set of flags values */ + int n_flags; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGParserCtxtPtr;n_ctxt++) { + for (n_flags = 0;n_flags < gen_nb_int;n_flags++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlRelaxNGParserCtxtPtr(n_ctxt, 0); + flags = gen_int(n_flags, 1); + + ret_val = xmlRelaxParserSetFlag(ctxt, flags); + desret_int(ret_val); + call_tests++; + des_xmlRelaxNGParserCtxtPtr(n_ctxt, ctxt, 0); + des_int(n_flags, flags, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRelaxParserSetFlag", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_flags); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_relaxng(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing relaxng : 14 of 24 functions ...\n"); + test_ret += test_xmlRelaxNGDump(); + test_ret += test_xmlRelaxNGDumpTree(); + test_ret += test_xmlRelaxNGGetParserErrors(); + test_ret += test_xmlRelaxNGGetValidErrors(); + test_ret += test_xmlRelaxNGInitTypes(); + test_ret += test_xmlRelaxNGNewDocParserCtxt(); + test_ret += test_xmlRelaxNGNewMemParserCtxt(); + test_ret += test_xmlRelaxNGNewParserCtxt(); + test_ret += test_xmlRelaxNGNewValidCtxt(); + test_ret += test_xmlRelaxNGParse(); + test_ret += test_xmlRelaxNGSetParserErrors(); + test_ret += test_xmlRelaxNGSetParserStructuredErrors(); + test_ret += test_xmlRelaxNGSetValidErrors(); + test_ret += test_xmlRelaxNGSetValidStructuredErrors(); + test_ret += test_xmlRelaxNGValidateDoc(); + test_ret += test_xmlRelaxNGValidateFullElement(); + test_ret += test_xmlRelaxNGValidatePopElement(); + test_ret += test_xmlRelaxNGValidatePushCData(); + test_ret += test_xmlRelaxNGValidatePushElement(); + test_ret += test_xmlRelaxParserSetFlag(); + + if (test_ret != 0) + printf("Module relaxng: %d errors\n", test_ret); + return(test_ret); +} +static int +test_schemasInternals(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing schemasInternals : 0 of 2 functions ...\n"); + + if (test_ret != 0) + printf("Module schemasInternals: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlSchematronNewDocParserCtxt(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSchematronNewMemParserCtxt(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSchematronNewParserCtxt(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSchematronNewValidCtxt(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSchematronParse(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSchematronSetValidStructuredErrors(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + +#ifdef LIBXML_SCHEMATRON_ENABLED + +#define gen_nb_xmlSchematronValidCtxtPtr 1 +static xmlSchematronValidCtxtPtr gen_xmlSchematronValidCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlSchematronValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchematronValidCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlSchematronValidateDoc(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMATRON_ENABLED) + int mem_base; + int ret_val; + xmlSchematronValidCtxtPtr ctxt; /* the schema validation context */ + int n_ctxt; + xmlDocPtr instance; /* the document instance tree */ + int n_instance; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchematronValidCtxtPtr;n_ctxt++) { + for (n_instance = 0;n_instance < gen_nb_xmlDocPtr;n_instance++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlSchematronValidCtxtPtr(n_ctxt, 0); + instance = gen_xmlDocPtr(n_instance, 1); + + ret_val = xmlSchematronValidateDoc(ctxt, instance); + desret_int(ret_val); + call_tests++; + des_xmlSchematronValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_instance, instance, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchematronValidateDoc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_instance); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_schematron(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing schematron : 1 of 10 functions ...\n"); + test_ret += test_xmlSchematronNewDocParserCtxt(); + test_ret += test_xmlSchematronNewMemParserCtxt(); + test_ret += test_xmlSchematronNewParserCtxt(); + test_ret += test_xmlSchematronNewValidCtxt(); + test_ret += test_xmlSchematronParse(); + test_ret += test_xmlSchematronSetValidStructuredErrors(); + test_ret += test_xmlSchematronValidateDoc(); + + if (test_ret != 0) + printf("Module schematron: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlAddChild(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlNodePtr parent; /* the parent node */ + int n_parent; + xmlNodePtr cur; /* the child node */ + int n_cur; + + for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr_in;n_cur++) { + mem_base = xmlMemBlocks(); + parent = gen_xmlNodePtr(n_parent, 0); + cur = gen_xmlNodePtr_in(n_cur, 1); + + ret_val = xmlAddChild(parent, cur); + if (ret_val == NULL) { xmlFreeNode(cur) ; cur = NULL ; } + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlNodePtr(n_parent, parent, 0); + des_xmlNodePtr_in(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlAddChild", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_parent); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlAddChildList(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlNodePtr parent; /* the parent node */ + int n_parent; + xmlNodePtr cur; /* the first node in the list */ + int n_cur; + + for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr_in;n_cur++) { + mem_base = xmlMemBlocks(); + parent = gen_xmlNodePtr(n_parent, 0); + cur = gen_xmlNodePtr_in(n_cur, 1); + + ret_val = xmlAddChildList(parent, cur); + if (ret_val == NULL) { xmlFreeNodeList(cur) ; cur = NULL ; } + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlNodePtr(n_parent, parent, 0); + des_xmlNodePtr_in(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlAddChildList", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_parent); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlAddNextSibling(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlNodePtr cur; /* the child node */ + int n_cur; + xmlNodePtr elem; /* the new node */ + int n_elem; + + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + for (n_elem = 0;n_elem < gen_nb_xmlNodePtr_in;n_elem++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlNodePtr(n_cur, 0); + elem = gen_xmlNodePtr_in(n_elem, 1); + + ret_val = xmlAddNextSibling(cur, elem); + if (ret_val == NULL) { xmlFreeNode(elem) ; elem = NULL ; } + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlNodePtr(n_cur, cur, 0); + des_xmlNodePtr_in(n_elem, elem, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlAddNextSibling", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_elem); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlAddPrevSibling(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlNodePtr cur; /* the child node */ + int n_cur; + xmlNodePtr elem; /* the new node */ + int n_elem; + + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + for (n_elem = 0;n_elem < gen_nb_xmlNodePtr_in;n_elem++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlNodePtr(n_cur, 0); + elem = gen_xmlNodePtr_in(n_elem, 1); + + ret_val = xmlAddPrevSibling(cur, elem); + if (ret_val == NULL) { xmlFreeNode(elem) ; elem = NULL ; } + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlNodePtr(n_cur, cur, 0); + des_xmlNodePtr_in(n_elem, elem, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlAddPrevSibling", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_elem); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlAddSibling(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlNodePtr cur; /* the child node */ + int n_cur; + xmlNodePtr elem; /* the new node */ + int n_elem; + + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + for (n_elem = 0;n_elem < gen_nb_xmlNodePtr_in;n_elem++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlNodePtr(n_cur, 0); + elem = gen_xmlNodePtr_in(n_elem, 1); + + ret_val = xmlAddSibling(cur, elem); + if (ret_val == NULL) { xmlFreeNode(elem) ; elem = NULL ; } + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlNodePtr(n_cur, cur, 0); + des_xmlNodePtr_in(n_elem, elem, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlAddSibling", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_elem); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlAttrSerializeTxtContent(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) +#ifdef LIBXML_OUTPUT_ENABLED + int mem_base; + xmlBufferPtr buf; /* the XML buffer output */ + int n_buf; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlAttrPtr attr; /* the attribute node */ + int n_attr; + xmlChar * string; /* the text content */ + int n_string; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) { + for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + doc = gen_xmlDocPtr(n_doc, 1); + attr = gen_xmlAttrPtr(n_attr, 2); + string = gen_const_xmlChar_ptr(n_string, 3); + + xmlAttrSerializeTxtContent(buf, doc, attr, (const xmlChar *)string); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlAttrPtr(n_attr, attr, 2); + des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlAttrSerializeTxtContent", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_doc); + printf(" %d", n_attr); + printf(" %d", n_string); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +#define gen_nb_const_xmlBuf_ptr 1 +static xmlBuf * gen_const_xmlBuf_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_const_xmlBuf_ptr(int no ATTRIBUTE_UNUSED, const xmlBuf * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlBufContent(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlBuf * buf; /* the buffer */ + int n_buf; + + for (n_buf = 0;n_buf < gen_nb_const_xmlBuf_ptr;n_buf++) { + mem_base = xmlMemBlocks(); + buf = gen_const_xmlBuf_ptr(n_buf, 0); + + ret_val = xmlBufContent((const xmlBuf *)buf); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlBuf_ptr(n_buf, (const xmlBuf *)buf, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBufContent", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +#define gen_nb_xmlBufPtr 1 +static xmlBufPtr gen_xmlBufPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlBufPtr(int no ATTRIBUTE_UNUSED, xmlBufPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlBufEnd(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlBufPtr buf; /* the buffer */ + int n_buf; + + for (n_buf = 0;n_buf < gen_nb_xmlBufPtr;n_buf++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufPtr(n_buf, 0); + + ret_val = xmlBufEnd(buf); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlBufPtr(n_buf, buf, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBufEnd", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +#define gen_nb_const_xmlNode_ptr 1 +static xmlNode * gen_const_xmlNode_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_const_xmlNode_ptr(int no ATTRIBUTE_UNUSED, const xmlNode * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlBufGetNodeContent(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlBufPtr buf; /* a buffer xmlBufPtr */ + int n_buf; + xmlNode * cur; /* the node being read */ + int n_cur; + + for (n_buf = 0;n_buf < gen_nb_xmlBufPtr;n_buf++) { + for (n_cur = 0;n_cur < gen_nb_const_xmlNode_ptr;n_cur++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufPtr(n_buf, 0); + cur = gen_const_xmlNode_ptr(n_cur, 1); + + ret_val = xmlBufGetNodeContent(buf, (const xmlNode *)cur); + desret_int(ret_val); + call_tests++; + des_xmlBufPtr(n_buf, buf, 0); + des_const_xmlNode_ptr(n_cur, (const xmlNode *)cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBufGetNodeContent", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlBufNodeDump(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlBufShrink(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlBufUse(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlBufferAdd(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlBufferPtr buf; /* the buffer to dump */ + int n_buf; + xmlChar * str; /* the #xmlChar string */ + int n_str; + int len; /* the number of #xmlChar to add */ + int n_len; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + str = gen_const_xmlChar_ptr(n_str, 1); + len = gen_int(n_len, 2); + if ((str != NULL) && + (len > (int) strlen((const char *) str) + 1)) + continue; + + ret_val = xmlBufferAdd(buf, (const xmlChar *)str, len); + desret_int(ret_val); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBufferAdd", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_str); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlBufferAddHead(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlBufferPtr buf; /* the buffer */ + int n_buf; + xmlChar * str; /* the #xmlChar string */ + int n_str; + int len; /* the number of #xmlChar to add */ + int n_len; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + str = gen_const_xmlChar_ptr(n_str, 1); + len = gen_int(n_len, 2); + if ((str != NULL) && + (len > (int) strlen((const char *) str) + 1)) + continue; + + ret_val = xmlBufferAddHead(buf, (const xmlChar *)str, len); + desret_int(ret_val); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBufferAddHead", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_str); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlBufferCCat(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlBufferPtr buf; /* the buffer to dump */ + int n_buf; + char * str; /* the C char string */ + int n_str; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_str = 0;n_str < gen_nb_const_char_ptr;n_str++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + str = gen_const_char_ptr(n_str, 1); + + ret_val = xmlBufferCCat(buf, (const char *)str); + desret_int(ret_val); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_const_char_ptr(n_str, (const char *)str, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBufferCCat", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_str); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlBufferCat(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlBufferPtr buf; /* the buffer to add to */ + int n_buf; + xmlChar * str; /* the #xmlChar string */ + int n_str; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + str = gen_const_xmlChar_ptr(n_str, 1); + + ret_val = xmlBufferCat(buf, (const xmlChar *)str); + desret_int(ret_val); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBufferCat", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_str); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +#define gen_nb_const_xmlBuffer_ptr 1 +static xmlBuffer * gen_const_xmlBuffer_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_const_xmlBuffer_ptr(int no ATTRIBUTE_UNUSED, const xmlBuffer * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlBufferContent(void) { + int test_ret = 0; + + int mem_base; + const xmlChar * ret_val; + xmlBuffer * buf; /* the buffer */ + int n_buf; + + for (n_buf = 0;n_buf < gen_nb_const_xmlBuffer_ptr;n_buf++) { + mem_base = xmlMemBlocks(); + buf = gen_const_xmlBuffer_ptr(n_buf, 0); + + ret_val = xmlBufferContent((const xmlBuffer *)buf); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlBuffer_ptr(n_buf, (const xmlBuffer *)buf, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBufferContent", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlBufferCreate(void) { + int test_ret = 0; + + int mem_base; + xmlBufferPtr ret_val; + + mem_base = xmlMemBlocks(); + + ret_val = xmlBufferCreate(); + desret_xmlBufferPtr(ret_val); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBufferCreate", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlBufferCreateSize(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlBufferCreateStatic(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlBufferDetach(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlBufferPtr buf; /* the buffer */ + int n_buf; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + + ret_val = xmlBufferDetach(buf); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBufferDetach", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlBufferEmpty(void) { + int test_ret = 0; + + int mem_base; + xmlBufferPtr buf; /* the buffer */ + int n_buf; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + + xmlBufferEmpty(buf); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBufferEmpty", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlBufferGrow(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlBufferPtr buf; /* the buffer */ + int n_buf; + unsigned int len; /* the minimum free size to allocate */ + int n_len; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_len = 0;n_len < gen_nb_unsigned_int;n_len++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + len = gen_unsigned_int(n_len, 1); + + ret_val = xmlBufferGrow(buf, len); + desret_int(ret_val); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_unsigned_int(n_len, len, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBufferGrow", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_len); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlBufferLength(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlBuffer * buf; /* the buffer */ + int n_buf; + + for (n_buf = 0;n_buf < gen_nb_const_xmlBuffer_ptr;n_buf++) { + mem_base = xmlMemBlocks(); + buf = gen_const_xmlBuffer_ptr(n_buf, 0); + + ret_val = xmlBufferLength((const xmlBuffer *)buf); + desret_int(ret_val); + call_tests++; + des_const_xmlBuffer_ptr(n_buf, (const xmlBuffer *)buf, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBufferLength", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlBufferResize(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlBufferPtr buf; /* the buffer to resize */ + int n_buf; + unsigned int size; /* the desired size */ + int n_size; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_size = 0;n_size < gen_nb_unsigned_int;n_size++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + size = gen_unsigned_int(n_size, 1); + + ret_val = xmlBufferResize(buf, size); + desret_int(ret_val); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_unsigned_int(n_size, size, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBufferResize", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_size); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlBufferSetAllocationScheme(void) { + int test_ret = 0; + + int mem_base; + xmlBufferPtr buf; /* the buffer to tune */ + int n_buf; + xmlBufferAllocationScheme scheme; /* allocation scheme to use */ + int n_scheme; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_scheme = 0;n_scheme < gen_nb_xmlBufferAllocationScheme;n_scheme++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + scheme = gen_xmlBufferAllocationScheme(n_scheme, 1); + + xmlBufferSetAllocationScheme(buf, scheme); + if ((buf != NULL) && (scheme == XML_BUFFER_ALLOC_IMMUTABLE) && (buf->content != NULL) && (buf->content != static_buf_content)) { xmlFree(buf->content); buf->content = NULL;} + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_xmlBufferAllocationScheme(n_scheme, scheme, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBufferSetAllocationScheme", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_scheme); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlBufferShrink(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlBufferPtr buf; /* the buffer to dump */ + int n_buf; + unsigned int len; /* the number of xmlChar to remove */ + int n_len; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_len = 0;n_len < gen_nb_unsigned_int;n_len++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + len = gen_unsigned_int(n_len, 1); + + ret_val = xmlBufferShrink(buf, len); + desret_int(ret_val); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_unsigned_int(n_len, len, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBufferShrink", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_len); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlBufferWriteCHAR(void) { + int test_ret = 0; + + int mem_base; + xmlBufferPtr buf; /* the XML buffer */ + int n_buf; + xmlChar * string; /* the string to add */ + int n_string; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + string = gen_const_xmlChar_ptr(n_string, 1); + + xmlBufferWriteCHAR(buf, (const xmlChar *)string); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBufferWriteCHAR", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_string); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlBufferWriteChar(void) { + int test_ret = 0; + + int mem_base; + xmlBufferPtr buf; /* the XML buffer output */ + int n_buf; + char * string; /* the string to add */ + int n_string; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_string = 0;n_string < gen_nb_const_char_ptr;n_string++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + string = gen_const_char_ptr(n_string, 1); + + xmlBufferWriteChar(buf, (const char *)string); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_const_char_ptr(n_string, (const char *)string, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBufferWriteChar", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_string); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlBufferWriteQuotedString(void) { + int test_ret = 0; + + int mem_base; + xmlBufferPtr buf; /* the XML buffer output */ + int n_buf; + xmlChar * string; /* the string to add */ + int n_string; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + string = gen_const_xmlChar_ptr(n_string, 1); + + xmlBufferWriteQuotedString(buf, (const xmlChar *)string); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBufferWriteQuotedString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_string); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlBuildQName(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlChar * ncname; /* the Name */ + int n_ncname; + xmlChar * prefix; /* the prefix */ + int n_prefix; + xmlChar * memory; /* preallocated memory */ + int n_memory; + int len; /* preallocated memory length */ + int n_len; + + for (n_ncname = 0;n_ncname < gen_nb_const_xmlChar_ptr;n_ncname++) { + for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) { + for (n_memory = 0;n_memory < gen_nb_xmlChar_ptr;n_memory++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + ncname = gen_const_xmlChar_ptr(n_ncname, 0); + prefix = gen_const_xmlChar_ptr(n_prefix, 1); + memory = gen_xmlChar_ptr(n_memory, 2); + len = gen_int(n_len, 3); + if ((prefix != NULL) && + (len > (int) strlen((const char *) prefix) + 1)) + continue; + + ret_val = xmlBuildQName((const xmlChar *)ncname, (const xmlChar *)prefix, memory, len); + if ((ret_val != NULL) && (ret_val != ncname) && + (ret_val != prefix) && (ret_val != memory)) + xmlFree(ret_val); + ret_val = NULL; + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_ncname, (const xmlChar *)ncname, 0); + des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1); + des_xmlChar_ptr(n_memory, memory, 2); + des_int(n_len, len, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBuildQName", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ncname); + printf(" %d", n_prefix); + printf(" %d", n_memory); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlChildElementCount(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) + int mem_base; + unsigned long ret_val; + xmlNodePtr parent; /* the parent node */ + int n_parent; + + for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) { + mem_base = xmlMemBlocks(); + parent = gen_xmlNodePtr(n_parent, 0); + + ret_val = xmlChildElementCount(parent); + desret_unsigned_long(ret_val); + call_tests++; + des_xmlNodePtr(n_parent, parent, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlChildElementCount", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_parent); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlCopyDoc(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + xmlDocPtr ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + int recursive; /* if not zero do a recursive copy. */ + int n_recursive; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_recursive = 0;n_recursive < gen_nb_int;n_recursive++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + recursive = gen_int(n_recursive, 1); + + ret_val = xmlCopyDoc(doc, recursive); + desret_xmlDocPtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_int(n_recursive, recursive, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCopyDoc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_recursive); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlCopyDtd(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) + int mem_base; + xmlDtdPtr ret_val; + xmlDtdPtr dtd; /* the dtd */ + int n_dtd; + + for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) { + mem_base = xmlMemBlocks(); + dtd = gen_xmlDtdPtr(n_dtd, 0); + + ret_val = xmlCopyDtd(dtd); + desret_xmlDtdPtr(ret_val); + call_tests++; + des_xmlDtdPtr(n_dtd, dtd, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCopyDtd", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_dtd); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlCopyNamespace(void) { + int test_ret = 0; + + int mem_base; + xmlNsPtr ret_val; + xmlNsPtr cur; /* the namespace */ + int n_cur; + + for (n_cur = 0;n_cur < gen_nb_xmlNsPtr;n_cur++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlNsPtr(n_cur, 0); + + ret_val = xmlCopyNamespace(cur); + if (ret_val != NULL) xmlFreeNs(ret_val); + desret_xmlNsPtr(ret_val); + call_tests++; + des_xmlNsPtr(n_cur, cur, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCopyNamespace", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCopyNamespaceList(void) { + int test_ret = 0; + + int mem_base; + xmlNsPtr ret_val; + xmlNsPtr cur; /* the first namespace */ + int n_cur; + + for (n_cur = 0;n_cur < gen_nb_xmlNsPtr;n_cur++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlNsPtr(n_cur, 0); + + ret_val = xmlCopyNamespaceList(cur); + if (ret_val != NULL) xmlFreeNsList(ret_val); + desret_xmlNsPtr(ret_val); + call_tests++; + des_xmlNsPtr(n_cur, cur, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCopyNamespaceList", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCopyNode(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlNodePtr node; /* the node */ + int n_node; + int extended; /* if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable) */ + int n_extended; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_extended = 0;n_extended < gen_nb_int;n_extended++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + extended = gen_int(n_extended, 1); + + ret_val = xmlCopyNode(node, extended); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + des_int(n_extended, extended, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCopyNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_extended); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCopyNodeList(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlNodePtr node; /* the first node in the list. */ + int n_node; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + + ret_val = xmlCopyNodeList(node); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCopyNodeList", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCopyProp(void) { + int test_ret = 0; + + int mem_base; + xmlAttrPtr ret_val; + xmlNodePtr target; /* the element where the attribute will be grafted */ + int n_target; + xmlAttrPtr cur; /* the attribute */ + int n_cur; + + for (n_target = 0;n_target < gen_nb_xmlNodePtr;n_target++) { + for (n_cur = 0;n_cur < gen_nb_xmlAttrPtr;n_cur++) { + mem_base = xmlMemBlocks(); + target = gen_xmlNodePtr(n_target, 0); + cur = gen_xmlAttrPtr(n_cur, 1); + + ret_val = xmlCopyProp(target, cur); + desret_xmlAttrPtr(ret_val); + call_tests++; + des_xmlNodePtr(n_target, target, 0); + des_xmlAttrPtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCopyProp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_target); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCopyPropList(void) { + int test_ret = 0; + + int mem_base; + xmlAttrPtr ret_val; + xmlNodePtr target; /* the element where the attributes will be grafted */ + int n_target; + xmlAttrPtr cur; /* the first attribute */ + int n_cur; + + for (n_target = 0;n_target < gen_nb_xmlNodePtr;n_target++) { + for (n_cur = 0;n_cur < gen_nb_xmlAttrPtr;n_cur++) { + mem_base = xmlMemBlocks(); + target = gen_xmlNodePtr(n_target, 0); + cur = gen_xmlAttrPtr(n_cur, 1); + + ret_val = xmlCopyPropList(target, cur); + desret_xmlAttrPtr(ret_val); + call_tests++; + des_xmlNodePtr(n_target, target, 0); + des_xmlAttrPtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCopyPropList", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_target); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCreateIntSubset(void) { + int test_ret = 0; + + int mem_base; + xmlDtdPtr ret_val; + xmlDocPtr doc; /* the document pointer */ + int n_doc; + xmlChar * name; /* the DTD name */ + int n_name; + xmlChar * ExternalID; /* the external (PUBLIC) ID */ + int n_ExternalID; + xmlChar * SystemID; /* the system ID */ + int n_SystemID; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) { + for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2); + SystemID = gen_const_xmlChar_ptr(n_SystemID, 3); + + ret_val = xmlCreateIntSubset(doc, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID); + desret_xmlDtdPtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2); + des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCreateIntSubset", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_name); + printf(" %d", n_ExternalID); + printf(" %d", n_SystemID); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +#define gen_nb_xmlDOMWrapCtxtPtr 1 +static xmlDOMWrapCtxtPtr gen_xmlDOMWrapCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlDOMWrapCtxtPtr(int no ATTRIBUTE_UNUSED, xmlDOMWrapCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlDOMWrapAdoptNode(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlDOMWrapCtxtPtr ctxt; /* the optional context for custom processing */ + int n_ctxt; + xmlDocPtr sourceDoc; /* the optional sourceDoc */ + int n_sourceDoc; + xmlNodePtr node; /* the node to start with */ + int n_node; + xmlDocPtr destDoc; /* the destination doc */ + int n_destDoc; + xmlNodePtr destParent; /* the optional new parent of @node in @destDoc */ + int n_destParent; + int options; /* option flags */ + int n_options; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) { + for (n_sourceDoc = 0;n_sourceDoc < gen_nb_xmlDocPtr;n_sourceDoc++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_destDoc = 0;n_destDoc < gen_nb_xmlDocPtr;n_destDoc++) { + for (n_destParent = 0;n_destParent < gen_nb_xmlNodePtr;n_destParent++) { + for (n_options = 0;n_options < gen_nb_int;n_options++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0); + sourceDoc = gen_xmlDocPtr(n_sourceDoc, 1); + node = gen_xmlNodePtr(n_node, 2); + destDoc = gen_xmlDocPtr(n_destDoc, 3); + destParent = gen_xmlNodePtr(n_destParent, 4); + options = gen_int(n_options, 5); + + ret_val = xmlDOMWrapAdoptNode(ctxt, sourceDoc, node, destDoc, destParent, options); + if ((node != NULL) && (node->parent == NULL)) {xmlUnlinkNode(node);xmlFreeNode(node);node = NULL;} + desret_int(ret_val); + call_tests++; + des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_sourceDoc, sourceDoc, 1); + des_xmlNodePtr(n_node, node, 2); + des_xmlDocPtr(n_destDoc, destDoc, 3); + des_xmlNodePtr(n_destParent, destParent, 4); + des_int(n_options, options, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDOMWrapAdoptNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_sourceDoc); + printf(" %d", n_node); + printf(" %d", n_destDoc); + printf(" %d", n_destParent); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlDOMWrapCloneNode(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlDOMWrapCtxtPtr ctxt; /* the optional context for custom processing */ + int n_ctxt; + xmlDocPtr sourceDoc; /* the optional sourceDoc */ + int n_sourceDoc; + xmlNodePtr node; /* the node to start with */ + int n_node; + xmlNodePtr * resNode; /* the clone of the given @node */ + int n_resNode; + xmlDocPtr destDoc; /* the destination doc */ + int n_destDoc; + xmlNodePtr destParent; /* the optional new parent of @node in @destDoc */ + int n_destParent; + int deep; /* descend into child if set */ + int n_deep; + int options; /* option flags */ + int n_options; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) { + for (n_sourceDoc = 0;n_sourceDoc < gen_nb_xmlDocPtr;n_sourceDoc++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_resNode = 0;n_resNode < gen_nb_xmlNodePtr_ptr;n_resNode++) { + for (n_destDoc = 0;n_destDoc < gen_nb_xmlDocPtr;n_destDoc++) { + for (n_destParent = 0;n_destParent < gen_nb_xmlNodePtr;n_destParent++) { + for (n_deep = 0;n_deep < gen_nb_int;n_deep++) { + for (n_options = 0;n_options < gen_nb_int;n_options++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0); + sourceDoc = gen_xmlDocPtr(n_sourceDoc, 1); + node = gen_xmlNodePtr(n_node, 2); + resNode = gen_xmlNodePtr_ptr(n_resNode, 3); + destDoc = gen_xmlDocPtr(n_destDoc, 4); + destParent = gen_xmlNodePtr(n_destParent, 5); + deep = gen_int(n_deep, 6); + options = gen_int(n_options, 7); + + ret_val = xmlDOMWrapCloneNode(ctxt, sourceDoc, node, resNode, destDoc, destParent, deep, options); + desret_int(ret_val); + call_tests++; + des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_sourceDoc, sourceDoc, 1); + des_xmlNodePtr(n_node, node, 2); + des_xmlNodePtr_ptr(n_resNode, resNode, 3); + des_xmlDocPtr(n_destDoc, destDoc, 4); + des_xmlNodePtr(n_destParent, destParent, 5); + des_int(n_deep, deep, 6); + des_int(n_options, options, 7); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDOMWrapCloneNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_sourceDoc); + printf(" %d", n_node); + printf(" %d", n_resNode); + printf(" %d", n_destDoc); + printf(" %d", n_destParent); + printf(" %d", n_deep); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlDOMWrapNewCtxt(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlDOMWrapReconcileNamespaces(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlDOMWrapCtxtPtr ctxt; /* DOM wrapper context, unused at the moment */ + int n_ctxt; + xmlNodePtr elem; /* the element-node */ + int n_elem; + int options; /* option flags */ + int n_options; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) { + for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) { + for (n_options = 0;n_options < gen_nb_int;n_options++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0); + elem = gen_xmlNodePtr(n_elem, 1); + options = gen_int(n_options, 2); + + ret_val = xmlDOMWrapReconcileNamespaces(ctxt, elem, options); + desret_int(ret_val); + call_tests++; + des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0); + des_xmlNodePtr(n_elem, elem, 1); + des_int(n_options, options, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDOMWrapReconcileNamespaces", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_elem); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlDOMWrapRemoveNode(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlDOMWrapCtxtPtr ctxt; /* a DOM wrapper context */ + int n_ctxt; + xmlDocPtr doc; /* the doc */ + int n_doc; + xmlNodePtr node; /* the node to be removed. */ + int n_node; + int options; /* set of options, unused at the moment */ + int n_options; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_options = 0;n_options < gen_nb_int;n_options++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + node = gen_xmlNodePtr(n_node, 2); + options = gen_int(n_options, 3); + + ret_val = xmlDOMWrapRemoveNode(ctxt, doc, node, options); + desret_int(ret_val); + call_tests++; + des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNodePtr(n_node, node, 2); + des_int(n_options, options, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDOMWrapRemoveNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf(" %d", n_node); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlDocCopyNode(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlNodePtr node; /* the node */ + int n_node; + xmlDocPtr doc; /* the document */ + int n_doc; + int extended; /* if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable) */ + int n_extended; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_extended = 0;n_extended < gen_nb_int;n_extended++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + doc = gen_xmlDocPtr(n_doc, 1); + extended = gen_int(n_extended, 2); + + ret_val = xmlDocCopyNode(node, doc, extended); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_int(n_extended, extended, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDocCopyNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_doc); + printf(" %d", n_extended); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlDocCopyNodeList(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlDocPtr doc; /* the target document */ + int n_doc; + xmlNodePtr node; /* the first node in the list. */ + int n_node; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + node = gen_xmlNodePtr(n_node, 1); + + ret_val = xmlDocCopyNodeList(doc, node); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlNodePtr(n_node, node, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDocCopyNodeList", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_node); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlDocDump(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + FILE * f; /* the FILE* */ + int n_f; + xmlDocPtr cur; /* the document */ + int n_cur; + + for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) { + for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) { + mem_base = xmlMemBlocks(); + f = gen_FILE_ptr(n_f, 0); + cur = gen_xmlDocPtr(n_cur, 1); + + ret_val = xmlDocDump(f, cur); + desret_int(ret_val); + call_tests++; + des_FILE_ptr(n_f, f, 0); + des_xmlDocPtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDocDump", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_f); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlDocDumpFormatMemory(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlDocPtr cur; /* the document */ + int n_cur; + xmlChar ** mem; /* OUT: the memory pointer */ + int n_mem; + int * size; /* OUT: the memory length */ + int n_size; + int format; /* should formatting spaces been added */ + int n_format; + + for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) { + for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) { + for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) { + for (n_format = 0;n_format < gen_nb_int;n_format++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlDocPtr(n_cur, 0); + mem = gen_xmlChar_ptr_ptr(n_mem, 1); + size = gen_int_ptr(n_size, 2); + format = gen_int(n_format, 3); + + xmlDocDumpFormatMemory(cur, mem, size, format); + call_tests++; + des_xmlDocPtr(n_cur, cur, 0); + des_xmlChar_ptr_ptr(n_mem, mem, 1); + des_int_ptr(n_size, size, 2); + des_int(n_format, format, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDocDumpFormatMemory", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_mem); + printf(" %d", n_size); + printf(" %d", n_format); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlDocDumpFormatMemoryEnc(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlDocPtr out_doc; /* Document to generate XML text from */ + int n_out_doc; + xmlChar ** doc_txt_ptr; /* Memory pointer for allocated XML text */ + int n_doc_txt_ptr; + int * doc_txt_len; /* Length of the generated XML text */ + int n_doc_txt_len; + char * txt_encoding; /* Character encoding to use when generating XML text */ + int n_txt_encoding; + int format; /* should formatting spaces been added */ + int n_format; + + for (n_out_doc = 0;n_out_doc < gen_nb_xmlDocPtr;n_out_doc++) { + for (n_doc_txt_ptr = 0;n_doc_txt_ptr < gen_nb_xmlChar_ptr_ptr;n_doc_txt_ptr++) { + for (n_doc_txt_len = 0;n_doc_txt_len < gen_nb_int_ptr;n_doc_txt_len++) { + for (n_txt_encoding = 0;n_txt_encoding < gen_nb_const_char_ptr;n_txt_encoding++) { + for (n_format = 0;n_format < gen_nb_int;n_format++) { + mem_base = xmlMemBlocks(); + out_doc = gen_xmlDocPtr(n_out_doc, 0); + doc_txt_ptr = gen_xmlChar_ptr_ptr(n_doc_txt_ptr, 1); + doc_txt_len = gen_int_ptr(n_doc_txt_len, 2); + txt_encoding = gen_const_char_ptr(n_txt_encoding, 3); + format = gen_int(n_format, 4); + + xmlDocDumpFormatMemoryEnc(out_doc, doc_txt_ptr, doc_txt_len, (const char *)txt_encoding, format); + call_tests++; + des_xmlDocPtr(n_out_doc, out_doc, 0); + des_xmlChar_ptr_ptr(n_doc_txt_ptr, doc_txt_ptr, 1); + des_int_ptr(n_doc_txt_len, doc_txt_len, 2); + des_const_char_ptr(n_txt_encoding, (const char *)txt_encoding, 3); + des_int(n_format, format, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDocDumpFormatMemoryEnc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_out_doc); + printf(" %d", n_doc_txt_ptr); + printf(" %d", n_doc_txt_len); + printf(" %d", n_txt_encoding); + printf(" %d", n_format); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlDocDumpMemory(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlDocPtr cur; /* the document */ + int n_cur; + xmlChar ** mem; /* OUT: the memory pointer */ + int n_mem; + int * size; /* OUT: the memory length */ + int n_size; + + for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) { + for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) { + for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlDocPtr(n_cur, 0); + mem = gen_xmlChar_ptr_ptr(n_mem, 1); + size = gen_int_ptr(n_size, 2); + + xmlDocDumpMemory(cur, mem, size); + call_tests++; + des_xmlDocPtr(n_cur, cur, 0); + des_xmlChar_ptr_ptr(n_mem, mem, 1); + des_int_ptr(n_size, size, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDocDumpMemory", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_mem); + printf(" %d", n_size); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlDocDumpMemoryEnc(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlDocPtr out_doc; /* Document to generate XML text from */ + int n_out_doc; + xmlChar ** doc_txt_ptr; /* Memory pointer for allocated XML text */ + int n_doc_txt_ptr; + int * doc_txt_len; /* Length of the generated XML text */ + int n_doc_txt_len; + char * txt_encoding; /* Character encoding to use when generating XML text */ + int n_txt_encoding; + + for (n_out_doc = 0;n_out_doc < gen_nb_xmlDocPtr;n_out_doc++) { + for (n_doc_txt_ptr = 0;n_doc_txt_ptr < gen_nb_xmlChar_ptr_ptr;n_doc_txt_ptr++) { + for (n_doc_txt_len = 0;n_doc_txt_len < gen_nb_int_ptr;n_doc_txt_len++) { + for (n_txt_encoding = 0;n_txt_encoding < gen_nb_const_char_ptr;n_txt_encoding++) { + mem_base = xmlMemBlocks(); + out_doc = gen_xmlDocPtr(n_out_doc, 0); + doc_txt_ptr = gen_xmlChar_ptr_ptr(n_doc_txt_ptr, 1); + doc_txt_len = gen_int_ptr(n_doc_txt_len, 2); + txt_encoding = gen_const_char_ptr(n_txt_encoding, 3); + + xmlDocDumpMemoryEnc(out_doc, doc_txt_ptr, doc_txt_len, (const char *)txt_encoding); + call_tests++; + des_xmlDocPtr(n_out_doc, out_doc, 0); + des_xmlChar_ptr_ptr(n_doc_txt_ptr, doc_txt_ptr, 1); + des_int_ptr(n_doc_txt_len, doc_txt_len, 2); + des_const_char_ptr(n_txt_encoding, (const char *)txt_encoding, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDocDumpMemoryEnc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_out_doc); + printf(" %d", n_doc_txt_ptr); + printf(" %d", n_doc_txt_len); + printf(" %d", n_txt_encoding); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlDocFormatDump(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + FILE * f; /* the FILE* */ + int n_f; + xmlDocPtr cur; /* the document */ + int n_cur; + int format; /* should formatting spaces been added */ + int n_format; + + for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) { + for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) { + for (n_format = 0;n_format < gen_nb_int;n_format++) { + mem_base = xmlMemBlocks(); + f = gen_FILE_ptr(n_f, 0); + cur = gen_xmlDocPtr(n_cur, 1); + format = gen_int(n_format, 2); + + ret_val = xmlDocFormatDump(f, cur, format); + desret_int(ret_val); + call_tests++; + des_FILE_ptr(n_f, f, 0); + des_xmlDocPtr(n_cur, cur, 1); + des_int(n_format, format, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDocFormatDump", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_f); + printf(" %d", n_cur); + printf(" %d", n_format); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlDocGetRootElement(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlDoc * doc; /* the document */ + int n_doc; + + for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) { + mem_base = xmlMemBlocks(); + doc = gen_const_xmlDoc_ptr(n_doc, 0); + + ret_val = xmlDocGetRootElement((const xmlDoc *)doc); + desret_xmlNodePtr(ret_val); + call_tests++; + des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDocGetRootElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlDocSetRootElement(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNodePtr root; /* the new document root element, if root is NULL no action is taken, to remove a node from a document use xmlUnlinkNode(root) instead. */ + int n_root; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_root = 0;n_root < gen_nb_xmlNodePtr_in;n_root++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + root = gen_xmlNodePtr_in(n_root, 1); + + ret_val = xmlDocSetRootElement(doc, root); + if (doc == NULL) { xmlFreeNode(root) ; root = NULL ; } + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlNodePtr_in(n_root, root, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDocSetRootElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_root); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlElemDump(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + FILE * f; /* the FILE * for the output */ + int n_f; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNodePtr cur; /* the current node */ + int n_cur; + + for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + mem_base = xmlMemBlocks(); + f = gen_FILE_ptr(n_f, 0); + doc = gen_xmlDocPtr(n_doc, 1); + cur = gen_xmlNodePtr(n_cur, 2); + + xmlElemDump(f, doc, cur); + call_tests++; + des_FILE_ptr(n_f, f, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNodePtr(n_cur, cur, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlElemDump", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_f); + printf(" %d", n_doc); + printf(" %d", n_cur); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlFirstElementChild(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlNodePtr parent; /* the parent node */ + int n_parent; + + for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) { + mem_base = xmlMemBlocks(); + parent = gen_xmlNodePtr(n_parent, 0); + + ret_val = xmlFirstElementChild(parent); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlNodePtr(n_parent, parent, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlFirstElementChild", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_parent); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlGetBufferAllocationScheme(void) { + int test_ret = 0; + + int mem_base; + xmlBufferAllocationScheme ret_val; + + mem_base = xmlMemBlocks(); + + ret_val = xmlGetBufferAllocationScheme(); + desret_xmlBufferAllocationScheme(ret_val); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetBufferAllocationScheme", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetCompressMode(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + + mem_base = xmlMemBlocks(); + + ret_val = xmlGetCompressMode(); + desret_int(ret_val); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetCompressMode", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetDocCompressMode(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlDoc * doc; /* the document */ + int n_doc; + + for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) { + mem_base = xmlMemBlocks(); + doc = gen_const_xmlDoc_ptr(n_doc, 0); + + ret_val = xmlGetDocCompressMode((const xmlDoc *)doc); + desret_int(ret_val); + call_tests++; + des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetDocCompressMode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetIntSubset(void) { + int test_ret = 0; + + int mem_base; + xmlDtdPtr ret_val; + xmlDoc * doc; /* the document pointer */ + int n_doc; + + for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) { + mem_base = xmlMemBlocks(); + doc = gen_const_xmlDoc_ptr(n_doc, 0); + + ret_val = xmlGetIntSubset((const xmlDoc *)doc); + desret_xmlDtdPtr(ret_val); + call_tests++; + des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetIntSubset", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetLastChild(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlNode * parent; /* the parent node */ + int n_parent; + + for (n_parent = 0;n_parent < gen_nb_const_xmlNode_ptr;n_parent++) { + mem_base = xmlMemBlocks(); + parent = gen_const_xmlNode_ptr(n_parent, 0); + + ret_val = xmlGetLastChild((const xmlNode *)parent); + desret_xmlNodePtr(ret_val); + call_tests++; + des_const_xmlNode_ptr(n_parent, (const xmlNode *)parent, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetLastChild", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_parent); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetLineNo(void) { + int test_ret = 0; + + int mem_base; + long ret_val; + xmlNode * node; /* valid node */ + int n_node; + + for (n_node = 0;n_node < gen_nb_const_xmlNode_ptr;n_node++) { + mem_base = xmlMemBlocks(); + node = gen_const_xmlNode_ptr(n_node, 0); + + ret_val = xmlGetLineNo((const xmlNode *)node); + desret_long(ret_val); + call_tests++; + des_const_xmlNode_ptr(n_node, (const xmlNode *)node, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetLineNo", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetNoNsProp(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlNode * node; /* the node */ + int n_node; + xmlChar * name; /* the attribute name */ + int n_name; + + for (n_node = 0;n_node < gen_nb_const_xmlNode_ptr;n_node++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + node = gen_const_xmlNode_ptr(n_node, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlGetNoNsProp((const xmlNode *)node, (const xmlChar *)name); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlNode_ptr(n_node, (const xmlNode *)node, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetNoNsProp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetNodePath(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlNode * node; /* a node */ + int n_node; + + for (n_node = 0;n_node < gen_nb_const_xmlNode_ptr;n_node++) { + mem_base = xmlMemBlocks(); + node = gen_const_xmlNode_ptr(n_node, 0); + + ret_val = xmlGetNodePath((const xmlNode *)node); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlNode_ptr(n_node, (const xmlNode *)node, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetNodePath", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlGetNsList(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlGetNsProp(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlNode * node; /* the node */ + int n_node; + xmlChar * name; /* the attribute name */ + int n_name; + xmlChar * nameSpace; /* the URI of the namespace */ + int n_nameSpace; + + for (n_node = 0;n_node < gen_nb_const_xmlNode_ptr;n_node++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_nameSpace = 0;n_nameSpace < gen_nb_const_xmlChar_ptr;n_nameSpace++) { + mem_base = xmlMemBlocks(); + node = gen_const_xmlNode_ptr(n_node, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + nameSpace = gen_const_xmlChar_ptr(n_nameSpace, 2); + + ret_val = xmlGetNsProp((const xmlNode *)node, (const xmlChar *)name, (const xmlChar *)nameSpace); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlNode_ptr(n_node, (const xmlNode *)node, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_nameSpace, (const xmlChar *)nameSpace, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetNsProp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_name); + printf(" %d", n_nameSpace); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetProp(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlNode * node; /* the node */ + int n_node; + xmlChar * name; /* the attribute name */ + int n_name; + + for (n_node = 0;n_node < gen_nb_const_xmlNode_ptr;n_node++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + node = gen_const_xmlNode_ptr(n_node, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlGetProp((const xmlNode *)node, (const xmlChar *)name); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlNode_ptr(n_node, (const xmlNode *)node, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetProp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlHasNsProp(void) { + int test_ret = 0; + + int mem_base; + xmlAttrPtr ret_val; + xmlNode * node; /* the node */ + int n_node; + xmlChar * name; /* the attribute name */ + int n_name; + xmlChar * nameSpace; /* the URI of the namespace */ + int n_nameSpace; + + for (n_node = 0;n_node < gen_nb_const_xmlNode_ptr;n_node++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_nameSpace = 0;n_nameSpace < gen_nb_const_xmlChar_ptr;n_nameSpace++) { + mem_base = xmlMemBlocks(); + node = gen_const_xmlNode_ptr(n_node, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + nameSpace = gen_const_xmlChar_ptr(n_nameSpace, 2); + + ret_val = xmlHasNsProp((const xmlNode *)node, (const xmlChar *)name, (const xmlChar *)nameSpace); + desret_xmlAttrPtr(ret_val); + call_tests++; + des_const_xmlNode_ptr(n_node, (const xmlNode *)node, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_nameSpace, (const xmlChar *)nameSpace, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHasNsProp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_name); + printf(" %d", n_nameSpace); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlHasProp(void) { + int test_ret = 0; + + int mem_base; + xmlAttrPtr ret_val; + xmlNode * node; /* the node */ + int n_node; + xmlChar * name; /* the attribute name */ + int n_name; + + for (n_node = 0;n_node < gen_nb_const_xmlNode_ptr;n_node++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + node = gen_const_xmlNode_ptr(n_node, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlHasProp((const xmlNode *)node, (const xmlChar *)name); + desret_xmlAttrPtr(ret_val); + call_tests++; + des_const_xmlNode_ptr(n_node, (const xmlNode *)node, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlHasProp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlIsBlankNode(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlNode * node; /* the node */ + int n_node; + + for (n_node = 0;n_node < gen_nb_const_xmlNode_ptr;n_node++) { + mem_base = xmlMemBlocks(); + node = gen_const_xmlNode_ptr(n_node, 0); + + ret_val = xmlIsBlankNode((const xmlNode *)node); + desret_int(ret_val); + call_tests++; + des_const_xmlNode_ptr(n_node, (const xmlNode *)node, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIsBlankNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlIsXHTML(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlChar * systemID; /* the system identifier */ + int n_systemID; + xmlChar * publicID; /* the public identifier */ + int n_publicID; + + for (n_systemID = 0;n_systemID < gen_nb_const_xmlChar_ptr;n_systemID++) { + for (n_publicID = 0;n_publicID < gen_nb_const_xmlChar_ptr;n_publicID++) { + mem_base = xmlMemBlocks(); + systemID = gen_const_xmlChar_ptr(n_systemID, 0); + publicID = gen_const_xmlChar_ptr(n_publicID, 1); + + ret_val = xmlIsXHTML((const xmlChar *)systemID, (const xmlChar *)publicID); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_systemID, (const xmlChar *)systemID, 0); + des_const_xmlChar_ptr(n_publicID, (const xmlChar *)publicID, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIsXHTML", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_systemID); + printf(" %d", n_publicID); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlLastElementChild(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlNodePtr parent; /* the parent node */ + int n_parent; + + for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) { + mem_base = xmlMemBlocks(); + parent = gen_xmlNodePtr(n_parent, 0); + + ret_val = xmlLastElementChild(parent); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlNodePtr(n_parent, parent, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlLastElementChild", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_parent); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNewCDataBlock(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlChar * content; /* the CDATA block content content */ + int n_content; + int len; /* the length of the block */ + int n_len; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + content = gen_const_xmlChar_ptr(n_content, 1); + len = gen_int(n_len, 2); + if ((content != NULL) && + (len > (int) strlen((const char *) content) + 1)) + continue; + + ret_val = xmlNewCDataBlock(doc, (const xmlChar *)content, len); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewCDataBlock", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_content); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewCharRef(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlChar * name; /* the char ref string, starting with # or "&# ... ;" */ + int n_name; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlNewCharRef(doc, (const xmlChar *)name); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewCharRef", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewChild(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +#ifdef LIBXML_TREE_ENABLED + int mem_base; + xmlNodePtr ret_val; + xmlNodePtr parent; /* the parent node */ + int n_parent; + xmlNsPtr ns; /* a namespace if any */ + int n_ns; + xmlChar * name; /* the name of the child */ + int n_name; + xmlChar * content; /* the XML content of the child if any. */ + int n_content; + + for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) { + for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + parent = gen_xmlNodePtr(n_parent, 0); + ns = gen_xmlNsPtr(n_ns, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + content = gen_const_xmlChar_ptr(n_content, 3); + + ret_val = xmlNewChild(parent, ns, (const xmlChar *)name, (const xmlChar *)content); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlNodePtr(n_parent, parent, 0); + des_xmlNsPtr(n_ns, ns, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewChild", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_parent); + printf(" %d", n_ns); + printf(" %d", n_name); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlNewComment(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlChar * content; /* the comment content */ + int n_content; + + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + content = gen_const_xmlChar_ptr(n_content, 0); + + ret_val = xmlNewComment((const xmlChar *)content); + desret_xmlNodePtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewComment", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_content); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewDoc(void) { + int test_ret = 0; + + int mem_base; + xmlDocPtr ret_val; + xmlChar * version; /* xmlChar string giving the version of XML "1.0" */ + int n_version; + + for (n_version = 0;n_version < gen_nb_const_xmlChar_ptr;n_version++) { + mem_base = xmlMemBlocks(); + version = gen_const_xmlChar_ptr(n_version, 0); + + ret_val = xmlNewDoc((const xmlChar *)version); + desret_xmlDocPtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_version, (const xmlChar *)version, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewDoc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_version); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewDocComment(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlChar * content; /* the comment content */ + int n_content; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + content = gen_const_xmlChar_ptr(n_content, 1); + + ret_val = xmlNewDocComment(doc, (const xmlChar *)content); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewDocComment", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_content); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewDocFragment(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlDocPtr doc; /* the document owning the fragment */ + int n_doc; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + + ret_val = xmlNewDocFragment(doc); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewDocFragment", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNewDocNode(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNsPtr ns; /* namespace if any */ + int n_ns; + xmlChar * name; /* the node name */ + int n_name; + xmlChar * content; /* the XML text content if any */ + int n_content; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + ns = gen_xmlNsPtr(n_ns, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + content = gen_const_xmlChar_ptr(n_content, 3); + + ret_val = xmlNewDocNode(doc, ns, (const xmlChar *)name, (const xmlChar *)content); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlNsPtr(n_ns, ns, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewDocNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_ns); + printf(" %d", n_name); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewDocNodeEatName(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNsPtr ns; /* namespace if any */ + int n_ns; + xmlChar * name; /* the node name */ + int n_name; + xmlChar * content; /* the XML text content if any */ + int n_content; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) { + for (n_name = 0;n_name < gen_nb_eaten_name;n_name++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + ns = gen_xmlNsPtr(n_ns, 1); + name = gen_eaten_name(n_name, 2); + content = gen_const_xmlChar_ptr(n_content, 3); + + ret_val = xmlNewDocNodeEatName(doc, ns, name, (const xmlChar *)content); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlNsPtr(n_ns, ns, 1); + des_eaten_name(n_name, name, 2); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewDocNodeEatName", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_ns); + printf(" %d", n_name); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewDocPI(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlDocPtr doc; /* the target document */ + int n_doc; + xmlChar * name; /* the processing instruction name */ + int n_name; + xmlChar * content; /* the PI content */ + int n_content; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + content = gen_const_xmlChar_ptr(n_content, 2); + + ret_val = xmlNewDocPI(doc, (const xmlChar *)name, (const xmlChar *)content); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewDocPI", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_name); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewDocProp(void) { + int test_ret = 0; + + int mem_base; + xmlAttrPtr ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlChar * name; /* the name of the attribute */ + int n_name; + xmlChar * value; /* the value of the attribute */ + int n_value; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + value = gen_const_xmlChar_ptr(n_value, 2); + + ret_val = xmlNewDocProp(doc, (const xmlChar *)name, (const xmlChar *)value); + desret_xmlAttrPtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewDocProp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_name); + printf(" %d", n_value); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewDocRawNode(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) +#ifdef LIBXML_TREE_ENABLED + int mem_base; + xmlNodePtr ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNsPtr ns; /* namespace if any */ + int n_ns; + xmlChar * name; /* the node name */ + int n_name; + xmlChar * content; /* the text content if any */ + int n_content; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + ns = gen_xmlNsPtr(n_ns, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + content = gen_const_xmlChar_ptr(n_content, 3); + + ret_val = xmlNewDocRawNode(doc, ns, (const xmlChar *)name, (const xmlChar *)content); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlNsPtr(n_ns, ns, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewDocRawNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_ns); + printf(" %d", n_name); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlNewDocText(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlDoc * doc; /* the document */ + int n_doc; + xmlChar * content; /* the text content */ + int n_content; + + for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + doc = gen_const_xmlDoc_ptr(n_doc, 0); + content = gen_const_xmlChar_ptr(n_content, 1); + + ret_val = xmlNewDocText((const xmlDoc *)doc, (const xmlChar *)content); + desret_xmlNodePtr(ret_val); + call_tests++; + des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewDocText", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_content); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewDocTextLen(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlChar * content; /* the text content */ + int n_content; + int len; /* the text len. */ + int n_len; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + content = gen_const_xmlChar_ptr(n_content, 1); + len = gen_int(n_len, 2); + if ((content != NULL) && + (len > (int) strlen((const char *) content) + 1)) + continue; + + ret_val = xmlNewDocTextLen(doc, (const xmlChar *)content, len); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewDocTextLen", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_content); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewDtd(void) { + int test_ret = 0; + + int mem_base; + xmlDtdPtr ret_val; + xmlDocPtr doc; /* the document pointer */ + int n_doc; + xmlChar * name; /* the DTD name */ + int n_name; + xmlChar * ExternalID; /* the external ID */ + int n_ExternalID; + xmlChar * SystemID; /* the system ID */ + int n_SystemID; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) { + for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2); + SystemID = gen_const_xmlChar_ptr(n_SystemID, 3); + + ret_val = xmlNewDtd(doc, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID); + desret_xmlDtdPtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2); + des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewDtd", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_name); + printf(" %d", n_ExternalID); + printf(" %d", n_SystemID); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewNode(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlNsPtr ns; /* namespace if any */ + int n_ns; + xmlChar * name; /* the node name */ + int n_name; + + for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + ns = gen_xmlNsPtr(n_ns, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlNewNode(ns, (const xmlChar *)name); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlNsPtr(n_ns, ns, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ns); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewNodeEatName(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlNsPtr ns; /* namespace if any */ + int n_ns; + xmlChar * name; /* the node name */ + int n_name; + + for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) { + for (n_name = 0;n_name < gen_nb_eaten_name;n_name++) { + mem_base = xmlMemBlocks(); + ns = gen_xmlNsPtr(n_ns, 0); + name = gen_eaten_name(n_name, 1); + + ret_val = xmlNewNodeEatName(ns, name); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlNsPtr(n_ns, ns, 0); + des_eaten_name(n_name, name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewNodeEatName", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ns); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewNs(void) { + int test_ret = 0; + + int mem_base; + xmlNsPtr ret_val; + xmlNodePtr node; /* the element carrying the namespace */ + int n_node; + xmlChar * href; /* the URI associated */ + int n_href; + xmlChar * prefix; /* the prefix for the namespace */ + int n_prefix; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_href = 0;n_href < gen_nb_const_xmlChar_ptr;n_href++) { + for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + href = gen_const_xmlChar_ptr(n_href, 1); + prefix = gen_const_xmlChar_ptr(n_prefix, 2); + + ret_val = xmlNewNs(node, (const xmlChar *)href, (const xmlChar *)prefix); + if ((node == NULL) && (ret_val != NULL)) xmlFreeNs(ret_val); + desret_xmlNsPtr(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + des_const_xmlChar_ptr(n_href, (const xmlChar *)href, 1); + des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewNs", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_href); + printf(" %d", n_prefix); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewNsProp(void) { + int test_ret = 0; + + int mem_base; + xmlAttrPtr ret_val; + xmlNodePtr node; /* the holding node */ + int n_node; + xmlNsPtr ns; /* the namespace */ + int n_ns; + xmlChar * name; /* the name of the attribute */ + int n_name; + xmlChar * value; /* the value of the attribute */ + int n_value; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + ns = gen_xmlNsPtr(n_ns, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + value = gen_const_xmlChar_ptr(n_value, 3); + + ret_val = xmlNewNsProp(node, ns, (const xmlChar *)name, (const xmlChar *)value); + desret_xmlAttrPtr(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + des_xmlNsPtr(n_ns, ns, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewNsProp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_ns); + printf(" %d", n_name); + printf(" %d", n_value); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewNsPropEatName(void) { + int test_ret = 0; + + int mem_base; + xmlAttrPtr ret_val; + xmlNodePtr node; /* the holding node */ + int n_node; + xmlNsPtr ns; /* the namespace */ + int n_ns; + xmlChar * name; /* the name of the attribute */ + int n_name; + xmlChar * value; /* the value of the attribute */ + int n_value; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) { + for (n_name = 0;n_name < gen_nb_eaten_name;n_name++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + ns = gen_xmlNsPtr(n_ns, 1); + name = gen_eaten_name(n_name, 2); + value = gen_const_xmlChar_ptr(n_value, 3); + + ret_val = xmlNewNsPropEatName(node, ns, name, (const xmlChar *)value); + desret_xmlAttrPtr(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + des_xmlNsPtr(n_ns, ns, 1); + des_eaten_name(n_name, name, 2); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewNsPropEatName", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_ns); + printf(" %d", n_name); + printf(" %d", n_value); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewPI(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlChar * name; /* the processing instruction name */ + int n_name; + xmlChar * content; /* the PI content */ + int n_content; + + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + name = gen_const_xmlChar_ptr(n_name, 0); + content = gen_const_xmlChar_ptr(n_content, 1); + + ret_val = xmlNewPI((const xmlChar *)name, (const xmlChar *)content); + desret_xmlNodePtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewPI", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_name); + printf(" %d", n_content); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewProp(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +#ifdef LIBXML_TREE_ENABLED + int mem_base; + xmlAttrPtr ret_val; + xmlNodePtr node; /* the holding node */ + int n_node; + xmlChar * name; /* the name of the attribute */ + int n_name; + xmlChar * value; /* the value of the attribute */ + int n_value; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + value = gen_const_xmlChar_ptr(n_value, 2); + + ret_val = xmlNewProp(node, (const xmlChar *)name, (const xmlChar *)value); + desret_xmlAttrPtr(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewProp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_name); + printf(" %d", n_value); + printf("\n"); + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlNewReference(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlDoc * doc; /* the document */ + int n_doc; + xmlChar * name; /* the reference name, or the reference string with & and ; */ + int n_name; + + for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + doc = gen_const_xmlDoc_ptr(n_doc, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlNewReference((const xmlDoc *)doc, (const xmlChar *)name); + desret_xmlNodePtr(ret_val); + call_tests++; + des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewReference", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewText(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlChar * content; /* the text content */ + int n_content; + + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + content = gen_const_xmlChar_ptr(n_content, 0); + + ret_val = xmlNewText((const xmlChar *)content); + desret_xmlNodePtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewText", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_content); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewTextChild(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) +#ifdef LIBXML_TREE_ENABLED + int mem_base; + xmlNodePtr ret_val; + xmlNodePtr parent; /* the parent node */ + int n_parent; + xmlNsPtr ns; /* a namespace if any */ + int n_ns; + xmlChar * name; /* the name of the child */ + int n_name; + xmlChar * content; /* the text content of the child if any. */ + int n_content; + + for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) { + for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + parent = gen_xmlNodePtr(n_parent, 0); + ns = gen_xmlNsPtr(n_ns, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + content = gen_const_xmlChar_ptr(n_content, 3); + + ret_val = xmlNewTextChild(parent, ns, (const xmlChar *)name, (const xmlChar *)content); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlNodePtr(n_parent, parent, 0); + des_xmlNsPtr(n_ns, ns, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewTextChild", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_parent); + printf(" %d", n_ns); + printf(" %d", n_name); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlNewTextLen(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlChar * content; /* the text content */ + int n_content; + int len; /* the text len. */ + int n_len; + + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + content = gen_const_xmlChar_ptr(n_content, 0); + len = gen_int(n_len, 1); + if ((content != NULL) && + (len > (int) strlen((const char *) content) + 1)) + continue; + + ret_val = xmlNewTextLen((const xmlChar *)content, len); + desret_xmlNodePtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 0); + des_int(n_len, len, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewTextLen", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_content); + printf(" %d", n_len); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNextElementSibling(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlNodePtr node; /* the current node */ + int n_node; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + + ret_val = xmlNextElementSibling(node); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNextElementSibling", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNodeAddContent(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr cur; /* the node being modified */ + int n_cur; + xmlChar * content; /* extra content */ + int n_content; + + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlNodePtr(n_cur, 0); + content = gen_const_xmlChar_ptr(n_content, 1); + + xmlNodeAddContent(cur, (const xmlChar *)content); + call_tests++; + des_xmlNodePtr(n_cur, cur, 0); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNodeAddContent", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_content); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNodeAddContentLen(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr cur; /* the node being modified */ + int n_cur; + xmlChar * content; /* extra content */ + int n_content; + int len; /* the size of @content */ + int n_len; + + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlNodePtr(n_cur, 0); + content = gen_const_xmlChar_ptr(n_content, 1); + len = gen_int(n_len, 2); + if ((content != NULL) && + (len > (int) strlen((const char *) content) + 1)) + continue; + + xmlNodeAddContentLen(cur, (const xmlChar *)content, len); + call_tests++; + des_xmlNodePtr(n_cur, cur, 0); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNodeAddContentLen", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_content); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNodeBufGetContent(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlBufferPtr buffer; /* a buffer */ + int n_buffer; + xmlNode * cur; /* the node being read */ + int n_cur; + + for (n_buffer = 0;n_buffer < gen_nb_xmlBufferPtr;n_buffer++) { + for (n_cur = 0;n_cur < gen_nb_const_xmlNode_ptr;n_cur++) { + mem_base = xmlMemBlocks(); + buffer = gen_xmlBufferPtr(n_buffer, 0); + cur = gen_const_xmlNode_ptr(n_cur, 1); + + ret_val = xmlNodeBufGetContent(buffer, (const xmlNode *)cur); + desret_int(ret_val); + call_tests++; + des_xmlBufferPtr(n_buffer, buffer, 0); + des_const_xmlNode_ptr(n_cur, (const xmlNode *)cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNodeBufGetContent", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buffer); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNodeDump(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + xmlBufferPtr buf; /* the XML buffer output */ + int n_buf; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNodePtr cur; /* the current node */ + int n_cur; + int level; /* the imbrication level for indenting */ + int n_level; + int format; /* is formatting allowed */ + int n_format; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + for (n_level = 0;n_level < gen_nb_int;n_level++) { + for (n_format = 0;n_format < gen_nb_int;n_format++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + doc = gen_xmlDocPtr(n_doc, 1); + cur = gen_xmlNodePtr(n_cur, 2); + level = gen_int(n_level, 3); + format = gen_int(n_format, 4); + + ret_val = xmlNodeDump(buf, doc, cur, level, format); + desret_int(ret_val); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNodePtr(n_cur, cur, 2); + des_int(n_level, level, 3); + des_int(n_format, format, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNodeDump", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_doc); + printf(" %d", n_cur); + printf(" %d", n_level); + printf(" %d", n_format); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNodeDumpOutput(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlOutputBufferPtr buf; /* the XML buffer output */ + int n_buf; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNodePtr cur; /* the current node */ + int n_cur; + int level; /* the imbrication level for indenting */ + int n_level; + int format; /* is formatting allowed */ + int n_format; + char * encoding; /* an optional encoding string */ + int n_encoding; + + for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + for (n_level = 0;n_level < gen_nb_int;n_level++) { + for (n_format = 0;n_format < gen_nb_int;n_format++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlOutputBufferPtr(n_buf, 0); + doc = gen_xmlDocPtr(n_doc, 1); + cur = gen_xmlNodePtr(n_cur, 2); + level = gen_int(n_level, 3); + format = gen_int(n_format, 4); + encoding = gen_const_char_ptr(n_encoding, 5); + + xmlNodeDumpOutput(buf, doc, cur, level, format, (const char *)encoding); + call_tests++; + des_xmlOutputBufferPtr(n_buf, buf, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNodePtr(n_cur, cur, 2); + des_int(n_level, level, 3); + des_int(n_format, format, 4); + des_const_char_ptr(n_encoding, (const char *)encoding, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNodeDumpOutput", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_doc); + printf(" %d", n_cur); + printf(" %d", n_level); + printf(" %d", n_format); + printf(" %d", n_encoding); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNodeGetBase(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlDoc * doc; /* the document the node pertains to */ + int n_doc; + xmlNode * cur; /* the node being checked */ + int n_cur; + + for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) { + for (n_cur = 0;n_cur < gen_nb_const_xmlNode_ptr;n_cur++) { + mem_base = xmlMemBlocks(); + doc = gen_const_xmlDoc_ptr(n_doc, 0); + cur = gen_const_xmlNode_ptr(n_cur, 1); + + ret_val = xmlNodeGetBase((const xmlDoc *)doc, (const xmlNode *)cur); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0); + des_const_xmlNode_ptr(n_cur, (const xmlNode *)cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNodeGetBase", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNodeGetContent(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlNode * cur; /* the node being read */ + int n_cur; + + for (n_cur = 0;n_cur < gen_nb_const_xmlNode_ptr;n_cur++) { + mem_base = xmlMemBlocks(); + cur = gen_const_xmlNode_ptr(n_cur, 0); + + ret_val = xmlNodeGetContent((const xmlNode *)cur); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlNode_ptr(n_cur, (const xmlNode *)cur, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNodeGetContent", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNodeGetLang(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlNode * cur; /* the node being checked */ + int n_cur; + + for (n_cur = 0;n_cur < gen_nb_const_xmlNode_ptr;n_cur++) { + mem_base = xmlMemBlocks(); + cur = gen_const_xmlNode_ptr(n_cur, 0); + + ret_val = xmlNodeGetLang((const xmlNode *)cur); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlNode_ptr(n_cur, (const xmlNode *)cur, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNodeGetLang", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNodeGetSpacePreserve(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlNode * cur; /* the node being checked */ + int n_cur; + + for (n_cur = 0;n_cur < gen_nb_const_xmlNode_ptr;n_cur++) { + mem_base = xmlMemBlocks(); + cur = gen_const_xmlNode_ptr(n_cur, 0); + + ret_val = xmlNodeGetSpacePreserve((const xmlNode *)cur); + desret_int(ret_val); + call_tests++; + des_const_xmlNode_ptr(n_cur, (const xmlNode *)cur, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNodeGetSpacePreserve", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNodeIsText(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlNode * node; /* the node */ + int n_node; + + for (n_node = 0;n_node < gen_nb_const_xmlNode_ptr;n_node++) { + mem_base = xmlMemBlocks(); + node = gen_const_xmlNode_ptr(n_node, 0); + + ret_val = xmlNodeIsText((const xmlNode *)node); + desret_int(ret_val); + call_tests++; + des_const_xmlNode_ptr(n_node, (const xmlNode *)node, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNodeIsText", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNodeListGetRawString(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlDoc * doc; /* the document */ + int n_doc; + xmlNode * list; /* a Node list */ + int n_list; + int inLine; /* should we replace entity contents or show their external form */ + int n_inLine; + + for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) { + for (n_list = 0;n_list < gen_nb_const_xmlNode_ptr;n_list++) { + for (n_inLine = 0;n_inLine < gen_nb_int;n_inLine++) { + mem_base = xmlMemBlocks(); + doc = gen_const_xmlDoc_ptr(n_doc, 0); + list = gen_const_xmlNode_ptr(n_list, 1); + inLine = gen_int(n_inLine, 2); + + ret_val = xmlNodeListGetRawString((const xmlDoc *)doc, (const xmlNode *)list, inLine); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0); + des_const_xmlNode_ptr(n_list, (const xmlNode *)list, 1); + des_int(n_inLine, inLine, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNodeListGetRawString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_list); + printf(" %d", n_inLine); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNodeListGetString(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNode * list; /* a Node list */ + int n_list; + int inLine; /* should we replace entity contents or show their external form */ + int n_inLine; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_list = 0;n_list < gen_nb_const_xmlNode_ptr;n_list++) { + for (n_inLine = 0;n_inLine < gen_nb_int;n_inLine++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + list = gen_const_xmlNode_ptr(n_list, 1); + inLine = gen_int(n_inLine, 2); + + ret_val = xmlNodeListGetString(doc, (const xmlNode *)list, inLine); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_const_xmlNode_ptr(n_list, (const xmlNode *)list, 1); + des_int(n_inLine, inLine, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNodeListGetString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_list); + printf(" %d", n_inLine); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNodeSetBase(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) + int mem_base; + xmlNodePtr cur; /* the node being changed */ + int n_cur; + xmlChar * uri; /* the new base URI */ + int n_uri; + + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + for (n_uri = 0;n_uri < gen_nb_const_xmlChar_ptr;n_uri++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlNodePtr(n_cur, 0); + uri = gen_const_xmlChar_ptr(n_uri, 1); + + xmlNodeSetBase(cur, (const xmlChar *)uri); + call_tests++; + des_xmlNodePtr(n_cur, cur, 0); + des_const_xmlChar_ptr(n_uri, (const xmlChar *)uri, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNodeSetBase", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_uri); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNodeSetContent(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr cur; /* the node being modified */ + int n_cur; + xmlChar * content; /* the new value of the content */ + int n_content; + + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlNodePtr(n_cur, 0); + content = gen_const_xmlChar_ptr(n_content, 1); + + xmlNodeSetContent(cur, (const xmlChar *)content); + call_tests++; + des_xmlNodePtr(n_cur, cur, 0); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNodeSetContent", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_content); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNodeSetContentLen(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) + int mem_base; + xmlNodePtr cur; /* the node being modified */ + int n_cur; + xmlChar * content; /* the new value of the content */ + int n_content; + int len; /* the size of @content */ + int n_len; + + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlNodePtr(n_cur, 0); + content = gen_const_xmlChar_ptr(n_content, 1); + len = gen_int(n_len, 2); + if ((content != NULL) && + (len > (int) strlen((const char *) content) + 1)) + continue; + + xmlNodeSetContentLen(cur, (const xmlChar *)content, len); + call_tests++; + des_xmlNodePtr(n_cur, cur, 0); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNodeSetContentLen", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_content); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNodeSetLang(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) + int mem_base; + xmlNodePtr cur; /* the node being changed */ + int n_cur; + xmlChar * lang; /* the language description */ + int n_lang; + + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + for (n_lang = 0;n_lang < gen_nb_const_xmlChar_ptr;n_lang++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlNodePtr(n_cur, 0); + lang = gen_const_xmlChar_ptr(n_lang, 1); + + xmlNodeSetLang(cur, (const xmlChar *)lang); + call_tests++; + des_xmlNodePtr(n_cur, cur, 0); + des_const_xmlChar_ptr(n_lang, (const xmlChar *)lang, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNodeSetLang", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_lang); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNodeSetName(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) + int mem_base; + xmlNodePtr cur; /* the node being changed */ + int n_cur; + xmlChar * name; /* the new tag name */ + int n_name; + + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlNodePtr(n_cur, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + xmlNodeSetName(cur, (const xmlChar *)name); + call_tests++; + des_xmlNodePtr(n_cur, cur, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNodeSetName", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNodeSetSpacePreserve(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) + int mem_base; + xmlNodePtr cur; /* the node being changed */ + int n_cur; + int val; /* the xml:space value ("0": default, 1: "preserve") */ + int n_val; + + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + for (n_val = 0;n_val < gen_nb_int;n_val++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlNodePtr(n_cur, 0); + val = gen_int(n_val, 1); + + xmlNodeSetSpacePreserve(cur, val); + call_tests++; + des_xmlNodePtr(n_cur, cur, 0); + des_int(n_val, val, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNodeSetSpacePreserve", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_val); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlPreviousElementSibling(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlNodePtr node; /* the current node */ + int n_node; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + + ret_val = xmlPreviousElementSibling(node); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlPreviousElementSibling", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlReconciliateNs(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) +#ifdef LIBXML_TREE_ENABLED + int mem_base; + int ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNodePtr tree; /* a node defining the subtree to reconciliate */ + int n_tree; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + tree = gen_xmlNodePtr(n_tree, 1); + + ret_val = xmlReconciliateNs(doc, tree); + desret_int(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlNodePtr(n_tree, tree, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlReconciliateNs", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_tree); + printf("\n"); + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlRemoveProp(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlAttrPtr cur; /* an attribute */ + int n_cur; + + for (n_cur = 0;n_cur < gen_nb_xmlAttrPtr;n_cur++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlAttrPtr(n_cur, 0); + + ret_val = xmlRemoveProp(cur); + cur = NULL; + desret_int(ret_val); + call_tests++; + des_xmlAttrPtr(n_cur, cur, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRemoveProp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlReplaceNode(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlNodePtr old; /* the old node */ + int n_old; + xmlNodePtr cur; /* the node */ + int n_cur; + + for (n_old = 0;n_old < gen_nb_xmlNodePtr;n_old++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr_in;n_cur++) { + mem_base = xmlMemBlocks(); + old = gen_xmlNodePtr(n_old, 0); + cur = gen_xmlNodePtr_in(n_cur, 1); + + ret_val = xmlReplaceNode(old, cur); + if (cur != NULL) { + xmlUnlinkNode(cur); + xmlFreeNode(cur) ; cur = NULL ; } + if (old != NULL) { + xmlUnlinkNode(old); + xmlFreeNode(old) ; old = NULL ; } + ret_val = NULL; + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlNodePtr(n_old, old, 0); + des_xmlNodePtr_in(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlReplaceNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_old); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSaveFile(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + const char * filename; /* the filename (or URL) */ + int n_filename; + xmlDocPtr cur; /* the document */ + int n_cur; + + for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) { + for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) { + mem_base = xmlMemBlocks(); + filename = gen_fileoutput(n_filename, 0); + cur = gen_xmlDocPtr(n_cur, 1); + + ret_val = xmlSaveFile(filename, cur); + desret_int(ret_val); + call_tests++; + des_fileoutput(n_filename, filename, 0); + des_xmlDocPtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSaveFile", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSaveFileEnc(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + const char * filename; /* the filename (or URL) */ + int n_filename; + xmlDocPtr cur; /* the document */ + int n_cur; + char * encoding; /* the name of an encoding (or NULL) */ + int n_encoding; + + for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) { + for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + mem_base = xmlMemBlocks(); + filename = gen_fileoutput(n_filename, 0); + cur = gen_xmlDocPtr(n_cur, 1); + encoding = gen_const_char_ptr(n_encoding, 2); + + ret_val = xmlSaveFileEnc(filename, cur, (const char *)encoding); + desret_int(ret_val); + call_tests++; + des_fileoutput(n_filename, filename, 0); + des_xmlDocPtr(n_cur, cur, 1); + des_const_char_ptr(n_encoding, (const char *)encoding, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSaveFileEnc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf(" %d", n_cur); + printf(" %d", n_encoding); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSaveFileTo(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + xmlOutputBufferPtr buf; /* an output I/O buffer */ + int n_buf; + xmlDocPtr cur; /* the document */ + int n_cur; + char * encoding; /* the encoding if any assuming the I/O layer handles the transcoding */ + int n_encoding; + + for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) { + for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlOutputBufferPtr(n_buf, 0); + cur = gen_xmlDocPtr(n_cur, 1); + encoding = gen_const_char_ptr(n_encoding, 2); + + ret_val = xmlSaveFileTo(buf, cur, (const char *)encoding); + buf = NULL; + desret_int(ret_val); + call_tests++; + des_xmlOutputBufferPtr(n_buf, buf, 0); + des_xmlDocPtr(n_cur, cur, 1); + des_const_char_ptr(n_encoding, (const char *)encoding, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSaveFileTo", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_cur); + printf(" %d", n_encoding); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSaveFormatFile(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + const char * filename; /* the filename (or URL) */ + int n_filename; + xmlDocPtr cur; /* the document */ + int n_cur; + int format; /* should formatting spaces been added */ + int n_format; + + for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) { + for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) { + for (n_format = 0;n_format < gen_nb_int;n_format++) { + mem_base = xmlMemBlocks(); + filename = gen_fileoutput(n_filename, 0); + cur = gen_xmlDocPtr(n_cur, 1); + format = gen_int(n_format, 2); + + ret_val = xmlSaveFormatFile(filename, cur, format); + desret_int(ret_val); + call_tests++; + des_fileoutput(n_filename, filename, 0); + des_xmlDocPtr(n_cur, cur, 1); + des_int(n_format, format, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSaveFormatFile", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf(" %d", n_cur); + printf(" %d", n_format); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSaveFormatFileEnc(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + const char * filename; /* the filename or URL to output */ + int n_filename; + xmlDocPtr cur; /* the document being saved */ + int n_cur; + char * encoding; /* the name of the encoding to use or NULL. */ + int n_encoding; + int format; /* should formatting spaces be added. */ + int n_format; + + for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) { + for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_format = 0;n_format < gen_nb_int;n_format++) { + mem_base = xmlMemBlocks(); + filename = gen_fileoutput(n_filename, 0); + cur = gen_xmlDocPtr(n_cur, 1); + encoding = gen_const_char_ptr(n_encoding, 2); + format = gen_int(n_format, 3); + + ret_val = xmlSaveFormatFileEnc(filename, cur, (const char *)encoding, format); + desret_int(ret_val); + call_tests++; + des_fileoutput(n_filename, filename, 0); + des_xmlDocPtr(n_cur, cur, 1); + des_const_char_ptr(n_encoding, (const char *)encoding, 2); + des_int(n_format, format, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSaveFormatFileEnc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf(" %d", n_cur); + printf(" %d", n_encoding); + printf(" %d", n_format); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSaveFormatFileTo(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + xmlOutputBufferPtr buf; /* an output I/O buffer */ + int n_buf; + xmlDocPtr cur; /* the document */ + int n_cur; + char * encoding; /* the encoding if any assuming the I/O layer handles the transcoding */ + int n_encoding; + int format; /* should formatting spaces been added */ + int n_format; + + for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) { + for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_format = 0;n_format < gen_nb_int;n_format++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlOutputBufferPtr(n_buf, 0); + cur = gen_xmlDocPtr(n_cur, 1); + encoding = gen_const_char_ptr(n_encoding, 2); + format = gen_int(n_format, 3); + + ret_val = xmlSaveFormatFileTo(buf, cur, (const char *)encoding, format); + buf = NULL; + desret_int(ret_val); + call_tests++; + des_xmlOutputBufferPtr(n_buf, buf, 0); + des_xmlDocPtr(n_cur, cur, 1); + des_const_char_ptr(n_encoding, (const char *)encoding, 2); + des_int(n_format, format, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSaveFormatFileTo", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_cur); + printf(" %d", n_encoding); + printf(" %d", n_format); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSearchNs(void) { + int test_ret = 0; + + int mem_base; + xmlNsPtr ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNodePtr node; /* the current node */ + int n_node; + xmlChar * nameSpace; /* the namespace prefix */ + int n_nameSpace; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_nameSpace = 0;n_nameSpace < gen_nb_const_xmlChar_ptr;n_nameSpace++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + node = gen_xmlNodePtr(n_node, 1); + nameSpace = gen_const_xmlChar_ptr(n_nameSpace, 2); + + ret_val = xmlSearchNs(doc, node, (const xmlChar *)nameSpace); + desret_xmlNsPtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlNodePtr(n_node, node, 1); + des_const_xmlChar_ptr(n_nameSpace, (const xmlChar *)nameSpace, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSearchNs", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_node); + printf(" %d", n_nameSpace); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSearchNsByHref(void) { + int test_ret = 0; + + int mem_base; + xmlNsPtr ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNodePtr node; /* the current node */ + int n_node; + xmlChar * href; /* the namespace value */ + int n_href; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_href = 0;n_href < gen_nb_const_xmlChar_ptr;n_href++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + node = gen_xmlNodePtr(n_node, 1); + href = gen_const_xmlChar_ptr(n_href, 2); + + ret_val = xmlSearchNsByHref(doc, node, (const xmlChar *)href); + desret_xmlNsPtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlNodePtr(n_node, node, 1); + des_const_xmlChar_ptr(n_href, (const xmlChar *)href, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSearchNsByHref", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_node); + printf(" %d", n_href); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSetBufferAllocationScheme(void) { + int test_ret = 0; + + int mem_base; + xmlBufferAllocationScheme scheme; /* allocation method to use */ + int n_scheme; + + for (n_scheme = 0;n_scheme < gen_nb_xmlBufferAllocationScheme;n_scheme++) { + mem_base = xmlMemBlocks(); + scheme = gen_xmlBufferAllocationScheme(n_scheme, 0); + + xmlSetBufferAllocationScheme(scheme); + call_tests++; + des_xmlBufferAllocationScheme(n_scheme, scheme, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSetBufferAllocationScheme", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_scheme); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSetCompressMode(void) { + int test_ret = 0; + + int mem_base; + int mode; /* the compression ratio */ + int n_mode; + + for (n_mode = 0;n_mode < gen_nb_int;n_mode++) { + mem_base = xmlMemBlocks(); + mode = gen_int(n_mode, 0); + + xmlSetCompressMode(mode); + call_tests++; + des_int(n_mode, mode, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSetCompressMode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_mode); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSetDocCompressMode(void) { + int test_ret = 0; + + int mem_base; + xmlDocPtr doc; /* the document */ + int n_doc; + int mode; /* the compression ratio */ + int n_mode; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_mode = 0;n_mode < gen_nb_int;n_mode++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + mode = gen_int(n_mode, 1); + + xmlSetDocCompressMode(doc, mode); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_int(n_mode, mode, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSetDocCompressMode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_mode); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSetNs(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr node; /* a node in the document */ + int n_node; + xmlNsPtr ns; /* a namespace pointer */ + int n_ns; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + ns = gen_xmlNsPtr(n_ns, 1); + + xmlSetNs(node, ns); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + des_xmlNsPtr(n_ns, ns, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSetNs", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_ns); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSetNsProp(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) + int mem_base; + xmlAttrPtr ret_val; + xmlNodePtr node; /* the node */ + int n_node; + xmlNsPtr ns; /* the namespace definition */ + int n_ns; + xmlChar * name; /* the attribute name */ + int n_name; + xmlChar * value; /* the attribute value */ + int n_value; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + ns = gen_xmlNsPtr(n_ns, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + value = gen_const_xmlChar_ptr(n_value, 3); + + ret_val = xmlSetNsProp(node, ns, (const xmlChar *)name, (const xmlChar *)value); + desret_xmlAttrPtr(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + des_xmlNsPtr(n_ns, ns, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSetNsProp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_ns); + printf(" %d", n_name); + printf(" %d", n_value); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSetProp(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) + int mem_base; + xmlAttrPtr ret_val; + xmlNodePtr node; /* the node */ + int n_node; + xmlChar * name; /* the attribute name (a QName) */ + int n_name; + xmlChar * value; /* the attribute value */ + int n_value; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + value = gen_const_xmlChar_ptr(n_value, 2); + + ret_val = xmlSetProp(node, (const xmlChar *)name, (const xmlChar *)value); + desret_xmlAttrPtr(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSetProp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_name); + printf(" %d", n_value); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSplitQName2(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlChar * name; /* the full QName */ + int n_name; + xmlChar ** prefix; /* a xmlChar ** */ + int n_prefix; + + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_prefix = 0;n_prefix < gen_nb_xmlChar_ptr_ptr;n_prefix++) { + mem_base = xmlMemBlocks(); + name = gen_const_xmlChar_ptr(n_name, 0); + prefix = gen_xmlChar_ptr_ptr(n_prefix, 1); + + ret_val = xmlSplitQName2((const xmlChar *)name, prefix); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0); + des_xmlChar_ptr_ptr(n_prefix, prefix, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSplitQName2", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_name); + printf(" %d", n_prefix); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSplitQName3(void) { + int test_ret = 0; + + int mem_base; + const xmlChar * ret_val; + xmlChar * name; /* the full QName */ + int n_name; + int * len; /* an int * */ + int n_len; + + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) { + mem_base = xmlMemBlocks(); + name = gen_const_xmlChar_ptr(n_name, 0); + len = gen_int_ptr(n_len, 1); + + ret_val = xmlSplitQName3((const xmlChar *)name, len); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0); + des_int_ptr(n_len, len, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSplitQName3", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_name); + printf(" %d", n_len); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlStringGetNodeList(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlDoc * doc; /* the document */ + int n_doc; + xmlChar * value; /* the value of the attribute */ + int n_value; + + for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + doc = gen_const_xmlDoc_ptr(n_doc, 0); + value = gen_const_xmlChar_ptr(n_value, 1); + + ret_val = xmlStringGetNodeList((const xmlDoc *)doc, (const xmlChar *)value); + desret_xmlNodePtr(ret_val); + call_tests++; + des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStringGetNodeList", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_value); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlStringLenGetNodeList(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlDoc * doc; /* the document */ + int n_doc; + xmlChar * value; /* the value of the text */ + int n_value; + int len; /* the length of the string value */ + int n_len; + + for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + doc = gen_const_xmlDoc_ptr(n_doc, 0); + value = gen_const_xmlChar_ptr(n_value, 1); + len = gen_int(n_len, 2); + if ((value != NULL) && + (len > (int) strlen((const char *) value) + 1)) + continue; + + ret_val = xmlStringLenGetNodeList((const xmlDoc *)doc, (const xmlChar *)value, len); + desret_xmlNodePtr(ret_val); + call_tests++; + des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStringLenGetNodeList", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_value); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlTextConcat(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlNodePtr node; /* the node */ + int n_node; + xmlChar * content; /* the content */ + int n_content; + int len; /* @content length */ + int n_len; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + content = gen_const_xmlChar_ptr(n_content, 1); + len = gen_int(n_len, 2); + if ((content != NULL) && + (len > (int) strlen((const char *) content) + 1)) + continue; + + ret_val = xmlTextConcat(node, (const xmlChar *)content, len); + desret_int(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextConcat", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_content); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlTextMerge(void) { + int test_ret = 0; + + int mem_base; + xmlNodePtr ret_val; + xmlNodePtr first; /* the first text node */ + int n_first; + xmlNodePtr second; /* the second text node being merged */ + int n_second; + + for (n_first = 0;n_first < gen_nb_xmlNodePtr_in;n_first++) { + for (n_second = 0;n_second < gen_nb_xmlNodePtr_in;n_second++) { + mem_base = xmlMemBlocks(); + first = gen_xmlNodePtr_in(n_first, 0); + second = gen_xmlNodePtr_in(n_second, 1); + + ret_val = xmlTextMerge(first, second); + if ((first != NULL) && (first->type != XML_TEXT_NODE)) { + xmlUnlinkNode(second); + xmlFreeNode(second) ; second = NULL ; } + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlNodePtr_in(n_first, first, 0); + des_xmlNodePtr_in(n_second, second, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextMerge", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_first); + printf(" %d", n_second); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlUnsetNsProp(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlNodePtr node; /* the node */ + int n_node; + xmlNsPtr ns; /* the namespace definition */ + int n_ns; + xmlChar * name; /* the attribute name */ + int n_name; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + ns = gen_xmlNsPtr(n_ns, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + + ret_val = xmlUnsetNsProp(node, ns, (const xmlChar *)name); + desret_int(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + des_xmlNsPtr(n_ns, ns, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUnsetNsProp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_ns); + printf(" %d", n_name); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUnsetProp(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlNodePtr node; /* the node */ + int n_node; + xmlChar * name; /* the attribute name */ + int n_name; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlUnsetProp(node, (const xmlChar *)name); + desret_int(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUnsetProp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidateNCName(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED) +#ifdef LIBXML_TREE_ENABLED + int mem_base; + int ret_val; + xmlChar * value; /* the value to check */ + int n_value; + int space; /* allow spaces in front and end of the string */ + int n_space; + + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + for (n_space = 0;n_space < gen_nb_int;n_space++) { + mem_base = xmlMemBlocks(); + value = gen_const_xmlChar_ptr(n_value, 0); + space = gen_int(n_space, 1); + + ret_val = xmlValidateNCName((const xmlChar *)value, space); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0); + des_int(n_space, space, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateNCName", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_value); + printf(" %d", n_space); + printf("\n"); + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlValidateNMToken(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +#ifdef LIBXML_TREE_ENABLED + int mem_base; + int ret_val; + xmlChar * value; /* the value to check */ + int n_value; + int space; /* allow spaces in front and end of the string */ + int n_space; + + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + for (n_space = 0;n_space < gen_nb_int;n_space++) { + mem_base = xmlMemBlocks(); + value = gen_const_xmlChar_ptr(n_value, 0); + space = gen_int(n_space, 1); + + ret_val = xmlValidateNMToken((const xmlChar *)value, space); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0); + des_int(n_space, space, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateNMToken", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_value); + printf(" %d", n_space); + printf("\n"); + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlValidateName(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +#ifdef LIBXML_TREE_ENABLED + int mem_base; + int ret_val; + xmlChar * value; /* the value to check */ + int n_value; + int space; /* allow spaces in front and end of the string */ + int n_space; + + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + for (n_space = 0;n_space < gen_nb_int;n_space++) { + mem_base = xmlMemBlocks(); + value = gen_const_xmlChar_ptr(n_value, 0); + space = gen_int(n_space, 1); + + ret_val = xmlValidateName((const xmlChar *)value, space); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0); + des_int(n_space, space, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateName", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_value); + printf(" %d", n_space); + printf("\n"); + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlValidateQName(void) { + int test_ret = 0; + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +#ifdef LIBXML_TREE_ENABLED + int mem_base; + int ret_val; + xmlChar * value; /* the value to check */ + int n_value; + int space; /* allow spaces in front and end of the string */ + int n_space; + + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + for (n_space = 0;n_space < gen_nb_int;n_space++) { + mem_base = xmlMemBlocks(); + value = gen_const_xmlChar_ptr(n_value, 0); + space = gen_int(n_space, 1); + + ret_val = xmlValidateQName((const xmlChar *)value, space); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0); + des_int(n_space, space, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateQName", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_value); + printf(" %d", n_space); + printf("\n"); + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + +static int +test_tree(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing tree : 142 of 164 functions ...\n"); + test_ret += test_xmlAddChild(); + test_ret += test_xmlAddChildList(); + test_ret += test_xmlAddNextSibling(); + test_ret += test_xmlAddPrevSibling(); + test_ret += test_xmlAddSibling(); + test_ret += test_xmlAttrSerializeTxtContent(); + test_ret += test_xmlBufContent(); + test_ret += test_xmlBufEnd(); + test_ret += test_xmlBufGetNodeContent(); + test_ret += test_xmlBufNodeDump(); + test_ret += test_xmlBufShrink(); + test_ret += test_xmlBufUse(); + test_ret += test_xmlBufferAdd(); + test_ret += test_xmlBufferAddHead(); + test_ret += test_xmlBufferCCat(); + test_ret += test_xmlBufferCat(); + test_ret += test_xmlBufferContent(); + test_ret += test_xmlBufferCreate(); + test_ret += test_xmlBufferCreateSize(); + test_ret += test_xmlBufferCreateStatic(); + test_ret += test_xmlBufferDetach(); + test_ret += test_xmlBufferEmpty(); + test_ret += test_xmlBufferGrow(); + test_ret += test_xmlBufferLength(); + test_ret += test_xmlBufferResize(); + test_ret += test_xmlBufferSetAllocationScheme(); + test_ret += test_xmlBufferShrink(); + test_ret += test_xmlBufferWriteCHAR(); + test_ret += test_xmlBufferWriteChar(); + test_ret += test_xmlBufferWriteQuotedString(); + test_ret += test_xmlBuildQName(); + test_ret += test_xmlChildElementCount(); + test_ret += test_xmlCopyDoc(); + test_ret += test_xmlCopyDtd(); + test_ret += test_xmlCopyNamespace(); + test_ret += test_xmlCopyNamespaceList(); + test_ret += test_xmlCopyNode(); + test_ret += test_xmlCopyNodeList(); + test_ret += test_xmlCopyProp(); + test_ret += test_xmlCopyPropList(); + test_ret += test_xmlCreateIntSubset(); + test_ret += test_xmlDOMWrapAdoptNode(); + test_ret += test_xmlDOMWrapCloneNode(); + test_ret += test_xmlDOMWrapNewCtxt(); + test_ret += test_xmlDOMWrapReconcileNamespaces(); + test_ret += test_xmlDOMWrapRemoveNode(); + test_ret += test_xmlDocCopyNode(); + test_ret += test_xmlDocCopyNodeList(); + test_ret += test_xmlDocDump(); + test_ret += test_xmlDocDumpFormatMemory(); + test_ret += test_xmlDocDumpFormatMemoryEnc(); + test_ret += test_xmlDocDumpMemory(); + test_ret += test_xmlDocDumpMemoryEnc(); + test_ret += test_xmlDocFormatDump(); + test_ret += test_xmlDocGetRootElement(); + test_ret += test_xmlDocSetRootElement(); + test_ret += test_xmlElemDump(); + test_ret += test_xmlFirstElementChild(); + test_ret += test_xmlGetBufferAllocationScheme(); + test_ret += test_xmlGetCompressMode(); + test_ret += test_xmlGetDocCompressMode(); + test_ret += test_xmlGetIntSubset(); + test_ret += test_xmlGetLastChild(); + test_ret += test_xmlGetLineNo(); + test_ret += test_xmlGetNoNsProp(); + test_ret += test_xmlGetNodePath(); + test_ret += test_xmlGetNsList(); + test_ret += test_xmlGetNsProp(); + test_ret += test_xmlGetProp(); + test_ret += test_xmlHasNsProp(); + test_ret += test_xmlHasProp(); + test_ret += test_xmlIsBlankNode(); + test_ret += test_xmlIsXHTML(); + test_ret += test_xmlLastElementChild(); + test_ret += test_xmlNewCDataBlock(); + test_ret += test_xmlNewCharRef(); + test_ret += test_xmlNewChild(); + test_ret += test_xmlNewComment(); + test_ret += test_xmlNewDoc(); + test_ret += test_xmlNewDocComment(); + test_ret += test_xmlNewDocFragment(); + test_ret += test_xmlNewDocNode(); + test_ret += test_xmlNewDocNodeEatName(); + test_ret += test_xmlNewDocPI(); + test_ret += test_xmlNewDocProp(); + test_ret += test_xmlNewDocRawNode(); + test_ret += test_xmlNewDocText(); + test_ret += test_xmlNewDocTextLen(); + test_ret += test_xmlNewDtd(); + test_ret += test_xmlNewNode(); + test_ret += test_xmlNewNodeEatName(); + test_ret += test_xmlNewNs(); + test_ret += test_xmlNewNsProp(); + test_ret += test_xmlNewNsPropEatName(); + test_ret += test_xmlNewPI(); + test_ret += test_xmlNewProp(); + test_ret += test_xmlNewReference(); + test_ret += test_xmlNewText(); + test_ret += test_xmlNewTextChild(); + test_ret += test_xmlNewTextLen(); + test_ret += test_xmlNextElementSibling(); + test_ret += test_xmlNodeAddContent(); + test_ret += test_xmlNodeAddContentLen(); + test_ret += test_xmlNodeBufGetContent(); + test_ret += test_xmlNodeDump(); + test_ret += test_xmlNodeDumpOutput(); + test_ret += test_xmlNodeGetBase(); + test_ret += test_xmlNodeGetContent(); + test_ret += test_xmlNodeGetLang(); + test_ret += test_xmlNodeGetSpacePreserve(); + test_ret += test_xmlNodeIsText(); + test_ret += test_xmlNodeListGetRawString(); + test_ret += test_xmlNodeListGetString(); + test_ret += test_xmlNodeSetBase(); + test_ret += test_xmlNodeSetContent(); + test_ret += test_xmlNodeSetContentLen(); + test_ret += test_xmlNodeSetLang(); + test_ret += test_xmlNodeSetName(); + test_ret += test_xmlNodeSetSpacePreserve(); + test_ret += test_xmlPreviousElementSibling(); + test_ret += test_xmlReconciliateNs(); + test_ret += test_xmlRemoveProp(); + test_ret += test_xmlReplaceNode(); + test_ret += test_xmlSaveFile(); + test_ret += test_xmlSaveFileEnc(); + test_ret += test_xmlSaveFileTo(); + test_ret += test_xmlSaveFormatFile(); + test_ret += test_xmlSaveFormatFileEnc(); + test_ret += test_xmlSaveFormatFileTo(); + test_ret += test_xmlSearchNs(); + test_ret += test_xmlSearchNsByHref(); + test_ret += test_xmlSetBufferAllocationScheme(); + test_ret += test_xmlSetCompressMode(); + test_ret += test_xmlSetDocCompressMode(); + test_ret += test_xmlSetNs(); + test_ret += test_xmlSetNsProp(); + test_ret += test_xmlSetProp(); + test_ret += test_xmlSplitQName2(); + test_ret += test_xmlSplitQName3(); + test_ret += test_xmlStringGetNodeList(); + test_ret += test_xmlStringLenGetNodeList(); + test_ret += test_xmlTextConcat(); + test_ret += test_xmlTextMerge(); + test_ret += test_xmlUnsetNsProp(); + test_ret += test_xmlUnsetProp(); + test_ret += test_xmlValidateNCName(); + test_ret += test_xmlValidateNMToken(); + test_ret += test_xmlValidateName(); + test_ret += test_xmlValidateQName(); + + if (test_ret != 0) + printf("Module tree: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlBuildRelativeURI(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlChar * URI; /* the URI reference under consideration */ + int n_URI; + xmlChar * base; /* the base value */ + int n_base; + + for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) { + for (n_base = 0;n_base < gen_nb_const_xmlChar_ptr;n_base++) { + mem_base = xmlMemBlocks(); + URI = gen_const_xmlChar_ptr(n_URI, 0); + base = gen_const_xmlChar_ptr(n_base, 1); + + ret_val = xmlBuildRelativeURI((const xmlChar *)URI, (const xmlChar *)base); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0); + des_const_xmlChar_ptr(n_base, (const xmlChar *)base, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBuildRelativeURI", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_URI); + printf(" %d", n_base); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlBuildURI(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlChar * URI; /* the URI instance found in the document */ + int n_URI; + xmlChar * base; /* the base value */ + int n_base; + + for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) { + for (n_base = 0;n_base < gen_nb_const_xmlChar_ptr;n_base++) { + mem_base = xmlMemBlocks(); + URI = gen_const_xmlChar_ptr(n_URI, 0); + base = gen_const_xmlChar_ptr(n_base, 1); + + ret_val = xmlBuildURI((const xmlChar *)URI, (const xmlChar *)base); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0); + des_const_xmlChar_ptr(n_base, (const xmlChar *)base, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlBuildURI", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_URI); + printf(" %d", n_base); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCanonicPath(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlChar * path; /* the resource locator in a filesystem notation */ + int n_path; + + for (n_path = 0;n_path < gen_nb_const_xmlChar_ptr;n_path++) { + mem_base = xmlMemBlocks(); + path = gen_const_xmlChar_ptr(n_path, 0); + + ret_val = xmlCanonicPath((const xmlChar *)path); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_path, (const xmlChar *)path, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCanonicPath", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_path); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCreateURI(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlNormalizeURIPath(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + char * path; /* pointer to the path string */ + int n_path; + + for (n_path = 0;n_path < gen_nb_char_ptr;n_path++) { + mem_base = xmlMemBlocks(); + path = gen_char_ptr(n_path, 0); + + ret_val = xmlNormalizeURIPath(path); + desret_int(ret_val); + call_tests++; + des_char_ptr(n_path, path, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNormalizeURIPath", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_path); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlParseURI(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlParseURIRaw(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +#define gen_nb_xmlURIPtr 1 +static xmlURIPtr gen_xmlURIPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlURIPtr(int no ATTRIBUTE_UNUSED, xmlURIPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlParseURIReference(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlURIPtr uri; /* pointer to an URI structure */ + int n_uri; + char * str; /* the string to analyze */ + int n_str; + + for (n_uri = 0;n_uri < gen_nb_xmlURIPtr;n_uri++) { + for (n_str = 0;n_str < gen_nb_const_char_ptr;n_str++) { + mem_base = xmlMemBlocks(); + uri = gen_xmlURIPtr(n_uri, 0); + str = gen_const_char_ptr(n_str, 1); + + ret_val = xmlParseURIReference(uri, (const char *)str); + desret_int(ret_val); + call_tests++; + des_xmlURIPtr(n_uri, uri, 0); + des_const_char_ptr(n_str, (const char *)str, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParseURIReference", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_uri); + printf(" %d", n_str); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlPathToURI(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlChar * path; /* the resource locator in a filesystem notation */ + int n_path; + + for (n_path = 0;n_path < gen_nb_const_xmlChar_ptr;n_path++) { + mem_base = xmlMemBlocks(); + path = gen_const_xmlChar_ptr(n_path, 0); + + ret_val = xmlPathToURI((const xmlChar *)path); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_path, (const xmlChar *)path, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlPathToURI", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_path); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlPrintURI(void) { + int test_ret = 0; + + int mem_base; + FILE * stream; /* a FILE* for the output */ + int n_stream; + xmlURIPtr uri; /* pointer to an xmlURI */ + int n_uri; + + for (n_stream = 0;n_stream < gen_nb_FILE_ptr;n_stream++) { + for (n_uri = 0;n_uri < gen_nb_xmlURIPtr;n_uri++) { + mem_base = xmlMemBlocks(); + stream = gen_FILE_ptr(n_stream, 0); + uri = gen_xmlURIPtr(n_uri, 1); + + xmlPrintURI(stream, uri); + call_tests++; + des_FILE_ptr(n_stream, stream, 0); + des_xmlURIPtr(n_uri, uri, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlPrintURI", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_stream); + printf(" %d", n_uri); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSaveUri(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlURIPtr uri; /* pointer to an xmlURI */ + int n_uri; + + for (n_uri = 0;n_uri < gen_nb_xmlURIPtr;n_uri++) { + mem_base = xmlMemBlocks(); + uri = gen_xmlURIPtr(n_uri, 0); + + ret_val = xmlSaveUri(uri); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlURIPtr(n_uri, uri, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSaveUri", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_uri); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlURIEscape(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlChar * str; /* the string of the URI to escape */ + int n_str; + + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + mem_base = xmlMemBlocks(); + str = gen_const_xmlChar_ptr(n_str, 0); + + ret_val = xmlURIEscape((const xmlChar *)str); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlURIEscape", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_str); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlURIEscapeStr(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlChar * str; /* string to escape */ + int n_str; + xmlChar * list; /* exception list string of chars not to escape */ + int n_list; + + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + for (n_list = 0;n_list < gen_nb_const_xmlChar_ptr;n_list++) { + mem_base = xmlMemBlocks(); + str = gen_const_xmlChar_ptr(n_str, 0); + list = gen_const_xmlChar_ptr(n_list, 1); + + ret_val = xmlURIEscapeStr((const xmlChar *)str, (const xmlChar *)list); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0); + des_const_xmlChar_ptr(n_list, (const xmlChar *)list, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlURIEscapeStr", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_str); + printf(" %d", n_list); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlURIUnescapeString(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + +static int +test_uri(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing uri : 10 of 15 functions ...\n"); + test_ret += test_xmlBuildRelativeURI(); + test_ret += test_xmlBuildURI(); + test_ret += test_xmlCanonicPath(); + test_ret += test_xmlCreateURI(); + test_ret += test_xmlNormalizeURIPath(); + test_ret += test_xmlParseURI(); + test_ret += test_xmlParseURIRaw(); + test_ret += test_xmlParseURIReference(); + test_ret += test_xmlPathToURI(); + test_ret += test_xmlPrintURI(); + test_ret += test_xmlSaveUri(); + test_ret += test_xmlURIEscape(); + test_ret += test_xmlURIEscapeStr(); + test_ret += test_xmlURIUnescapeString(); + + if (test_ret != 0) + printf("Module uri: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlAddAttributeDecl(void) { + int test_ret = 0; + + int mem_base; + xmlAttributePtr ret_val; + xmlValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlDtdPtr dtd; /* pointer to the DTD */ + int n_dtd; + xmlChar * elem; /* the element name */ + int n_elem; + xmlChar * name; /* the attribute name */ + int n_name; + xmlChar * ns; /* the attribute namespace prefix */ + int n_ns; + xmlAttributeType type; /* the attribute type */ + int n_type; + xmlAttributeDefault def; /* the attribute default type */ + int n_def; + xmlChar * defaultValue; /* the attribute default value */ + int n_defaultValue; + xmlEnumerationPtr tree; /* if it's an enumeration, the associated list */ + int n_tree; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) { + for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) { + for (n_type = 0;n_type < gen_nb_xmlAttributeType;n_type++) { + for (n_def = 0;n_def < gen_nb_xmlAttributeDefault;n_def++) { + for (n_defaultValue = 0;n_defaultValue < gen_nb_const_xmlChar_ptr;n_defaultValue++) { + for (n_tree = 0;n_tree < gen_nb_xmlEnumerationPtr;n_tree++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + dtd = gen_xmlDtdPtr(n_dtd, 1); + elem = gen_const_xmlChar_ptr(n_elem, 2); + name = gen_const_xmlChar_ptr(n_name, 3); + ns = gen_const_xmlChar_ptr(n_ns, 4); + type = gen_xmlAttributeType(n_type, 5); + def = gen_xmlAttributeDefault(n_def, 6); + defaultValue = gen_const_xmlChar_ptr(n_defaultValue, 7); + tree = gen_xmlEnumerationPtr(n_tree, 8); + + ret_val = xmlAddAttributeDecl(ctxt, dtd, (const xmlChar *)elem, (const xmlChar *)name, (const xmlChar *)ns, type, def, (const xmlChar *)defaultValue, tree); + desret_xmlAttributePtr(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDtdPtr(n_dtd, dtd, 1); + des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 2); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 3); + des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 4); + des_xmlAttributeType(n_type, type, 5); + des_xmlAttributeDefault(n_def, def, 6); + des_const_xmlChar_ptr(n_defaultValue, (const xmlChar *)defaultValue, 7); + des_xmlEnumerationPtr(n_tree, tree, 8); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlAddAttributeDecl", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_dtd); + printf(" %d", n_elem); + printf(" %d", n_name); + printf(" %d", n_ns); + printf(" %d", n_type); + printf(" %d", n_def); + printf(" %d", n_defaultValue); + printf(" %d", n_tree); + printf("\n"); + } + } + } + } + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlAddElementDecl(void) { + int test_ret = 0; + + int mem_base; + xmlElementPtr ret_val; + xmlValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlDtdPtr dtd; /* pointer to the DTD */ + int n_dtd; + xmlChar * name; /* the entity name */ + int n_name; + xmlElementTypeVal type; /* the element type */ + int n_type; + xmlElementContentPtr content; /* the element content tree or NULL */ + int n_content; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_type = 0;n_type < gen_nb_xmlElementTypeVal;n_type++) { + for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + dtd = gen_xmlDtdPtr(n_dtd, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + type = gen_xmlElementTypeVal(n_type, 3); + content = gen_xmlElementContentPtr(n_content, 4); + + ret_val = xmlAddElementDecl(ctxt, dtd, (const xmlChar *)name, type, content); + desret_xmlElementPtr(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDtdPtr(n_dtd, dtd, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + des_xmlElementTypeVal(n_type, type, 3); + des_xmlElementContentPtr(n_content, content, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlAddElementDecl", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_dtd); + printf(" %d", n_name); + printf(" %d", n_type); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlAddID(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlAddNotationDecl(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlAddRef(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlCopyAttributeTable(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlCopyDocElementContent(void) { + int test_ret = 0; + + int mem_base; + xmlElementContentPtr ret_val; + xmlDocPtr doc; /* the document owning the element declaration */ + int n_doc; + xmlElementContentPtr cur; /* An element content pointer. */ + int n_cur; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_cur = 0;n_cur < gen_nb_xmlElementContentPtr;n_cur++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + cur = gen_xmlElementContentPtr(n_cur, 1); + + ret_val = xmlCopyDocElementContent(doc, cur); + desret_xmlElementContentPtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlElementContentPtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCopyDocElementContent", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCopyElementContent(void) { + int test_ret = 0; + + int mem_base; + xmlElementContentPtr ret_val; + xmlElementContentPtr cur; /* An element content pointer. */ + int n_cur; + + for (n_cur = 0;n_cur < gen_nb_xmlElementContentPtr;n_cur++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlElementContentPtr(n_cur, 0); + + ret_val = xmlCopyElementContent(cur); + desret_xmlElementContentPtr(ret_val); + call_tests++; + des_xmlElementContentPtr(n_cur, cur, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCopyElementContent", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCopyElementTable(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlCopyEnumeration(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlCopyNotationTable(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlCreateEnumeration(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +#define gen_nb_xmlAttributePtr 1 +static xmlAttributePtr gen_xmlAttributePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlAttributePtr(int no ATTRIBUTE_UNUSED, xmlAttributePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlDumpAttributeDecl(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlBufferPtr buf; /* the XML buffer output */ + int n_buf; + xmlAttributePtr attr; /* An attribute declaration */ + int n_attr; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_attr = 0;n_attr < gen_nb_xmlAttributePtr;n_attr++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + attr = gen_xmlAttributePtr(n_attr, 1); + + xmlDumpAttributeDecl(buf, attr); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_xmlAttributePtr(n_attr, attr, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDumpAttributeDecl", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_attr); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +#define gen_nb_xmlAttributeTablePtr 1 +static xmlAttributeTablePtr gen_xmlAttributeTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlAttributeTablePtr(int no ATTRIBUTE_UNUSED, xmlAttributeTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlDumpAttributeTable(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlBufferPtr buf; /* the XML buffer output */ + int n_buf; + xmlAttributeTablePtr table; /* An attribute table */ + int n_table; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_table = 0;n_table < gen_nb_xmlAttributeTablePtr;n_table++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + table = gen_xmlAttributeTablePtr(n_table, 1); + + xmlDumpAttributeTable(buf, table); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_xmlAttributeTablePtr(n_table, table, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDumpAttributeTable", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_table); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +#define gen_nb_xmlElementPtr 1 +static xmlElementPtr gen_xmlElementPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlElementPtr(int no ATTRIBUTE_UNUSED, xmlElementPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlDumpElementDecl(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlBufferPtr buf; /* the XML buffer output */ + int n_buf; + xmlElementPtr elem; /* An element table */ + int n_elem; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_elem = 0;n_elem < gen_nb_xmlElementPtr;n_elem++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + elem = gen_xmlElementPtr(n_elem, 1); + + xmlDumpElementDecl(buf, elem); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_xmlElementPtr(n_elem, elem, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDumpElementDecl", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_elem); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +#define gen_nb_xmlElementTablePtr 1 +static xmlElementTablePtr gen_xmlElementTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlElementTablePtr(int no ATTRIBUTE_UNUSED, xmlElementTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlDumpElementTable(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlBufferPtr buf; /* the XML buffer output */ + int n_buf; + xmlElementTablePtr table; /* An element table */ + int n_table; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_table = 0;n_table < gen_nb_xmlElementTablePtr;n_table++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + table = gen_xmlElementTablePtr(n_table, 1); + + xmlDumpElementTable(buf, table); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_xmlElementTablePtr(n_table, table, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDumpElementTable", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_table); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +#define gen_nb_xmlNotationPtr 1 +static xmlNotationPtr gen_xmlNotationPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlNotationPtr(int no ATTRIBUTE_UNUSED, xmlNotationPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlDumpNotationDecl(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlBufferPtr buf; /* the XML buffer output */ + int n_buf; + xmlNotationPtr nota; /* A notation declaration */ + int n_nota; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_nota = 0;n_nota < gen_nb_xmlNotationPtr;n_nota++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + nota = gen_xmlNotationPtr(n_nota, 1); + + xmlDumpNotationDecl(buf, nota); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_xmlNotationPtr(n_nota, nota, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDumpNotationDecl", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_nota); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +#define gen_nb_xmlNotationTablePtr 1 +static xmlNotationTablePtr gen_xmlNotationTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlNotationTablePtr(int no ATTRIBUTE_UNUSED, xmlNotationTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlDumpNotationTable(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlBufferPtr buf; /* the XML buffer output */ + int n_buf; + xmlNotationTablePtr table; /* A notation table */ + int n_table; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_table = 0;n_table < gen_nb_xmlNotationTablePtr;n_table++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + table = gen_xmlNotationTablePtr(n_table, 1); + + xmlDumpNotationTable(buf, table); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_xmlNotationTablePtr(n_table, table, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlDumpNotationTable", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_table); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlGetDtdAttrDesc(void) { + int test_ret = 0; + + int mem_base; + xmlAttributePtr ret_val; + xmlDtdPtr dtd; /* a pointer to the DtD to search */ + int n_dtd; + xmlChar * elem; /* the element name */ + int n_elem; + xmlChar * name; /* the attribute name */ + int n_name; + + for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) { + for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + dtd = gen_xmlDtdPtr(n_dtd, 0); + elem = gen_const_xmlChar_ptr(n_elem, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + + ret_val = xmlGetDtdAttrDesc(dtd, (const xmlChar *)elem, (const xmlChar *)name); + desret_xmlAttributePtr(ret_val); + call_tests++; + des_xmlDtdPtr(n_dtd, dtd, 0); + des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetDtdAttrDesc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_dtd); + printf(" %d", n_elem); + printf(" %d", n_name); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetDtdElementDesc(void) { + int test_ret = 0; + + int mem_base; + xmlElementPtr ret_val; + xmlDtdPtr dtd; /* a pointer to the DtD to search */ + int n_dtd; + xmlChar * name; /* the element name */ + int n_name; + + for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + dtd = gen_xmlDtdPtr(n_dtd, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlGetDtdElementDesc(dtd, (const xmlChar *)name); + desret_xmlElementPtr(ret_val); + call_tests++; + des_xmlDtdPtr(n_dtd, dtd, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetDtdElementDesc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_dtd); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetDtdNotationDesc(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlGetDtdQAttrDesc(void) { + int test_ret = 0; + + int mem_base; + xmlAttributePtr ret_val; + xmlDtdPtr dtd; /* a pointer to the DtD to search */ + int n_dtd; + xmlChar * elem; /* the element name */ + int n_elem; + xmlChar * name; /* the attribute name */ + int n_name; + xmlChar * prefix; /* the attribute namespace prefix */ + int n_prefix; + + for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) { + for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) { + mem_base = xmlMemBlocks(); + dtd = gen_xmlDtdPtr(n_dtd, 0); + elem = gen_const_xmlChar_ptr(n_elem, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + prefix = gen_const_xmlChar_ptr(n_prefix, 3); + + ret_val = xmlGetDtdQAttrDesc(dtd, (const xmlChar *)elem, (const xmlChar *)name, (const xmlChar *)prefix); + desret_xmlAttributePtr(ret_val); + call_tests++; + des_xmlDtdPtr(n_dtd, dtd, 0); + des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetDtdQAttrDesc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_dtd); + printf(" %d", n_elem); + printf(" %d", n_name); + printf(" %d", n_prefix); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetDtdQElementDesc(void) { + int test_ret = 0; + + int mem_base; + xmlElementPtr ret_val; + xmlDtdPtr dtd; /* a pointer to the DtD to search */ + int n_dtd; + xmlChar * name; /* the element name */ + int n_name; + xmlChar * prefix; /* the element namespace prefix */ + int n_prefix; + + for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) { + mem_base = xmlMemBlocks(); + dtd = gen_xmlDtdPtr(n_dtd, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + prefix = gen_const_xmlChar_ptr(n_prefix, 2); + + ret_val = xmlGetDtdQElementDesc(dtd, (const xmlChar *)name, (const xmlChar *)prefix); + desret_xmlElementPtr(ret_val); + call_tests++; + des_xmlDtdPtr(n_dtd, dtd, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetDtdQElementDesc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_dtd); + printf(" %d", n_name); + printf(" %d", n_prefix); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetID(void) { + int test_ret = 0; + + int mem_base; + xmlAttrPtr ret_val; + xmlDocPtr doc; /* pointer to the document */ + int n_doc; + xmlChar * ID; /* the ID value */ + int n_ID; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + ID = gen_const_xmlChar_ptr(n_ID, 1); + + ret_val = xmlGetID(doc, (const xmlChar *)ID); + desret_xmlAttrPtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetID", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_ID); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetRefs(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlIsID(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNodePtr elem; /* the element carrying the attribute */ + int n_elem; + xmlAttrPtr attr; /* the attribute */ + int n_attr; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) { + for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + elem = gen_xmlNodePtr(n_elem, 1); + attr = gen_xmlAttrPtr(n_attr, 2); + + ret_val = xmlIsID(doc, elem, attr); + desret_int(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlNodePtr(n_elem, elem, 1); + des_xmlAttrPtr(n_attr, attr, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIsID", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_elem); + printf(" %d", n_attr); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlIsMixedElement(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlChar * name; /* the element name */ + int n_name; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlIsMixedElement(doc, (const xmlChar *)name); + desret_int(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIsMixedElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlIsRef(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNodePtr elem; /* the element carrying the attribute */ + int n_elem; + xmlAttrPtr attr; /* the attribute */ + int n_attr; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) { + for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + elem = gen_xmlNodePtr(n_elem, 1); + attr = gen_xmlAttrPtr(n_attr, 2); + + ret_val = xmlIsRef(doc, elem, attr); + desret_int(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlNodePtr(n_elem, elem, 1); + des_xmlAttrPtr(n_attr, attr, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIsRef", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_elem); + printf(" %d", n_attr); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewDocElementContent(void) { + int test_ret = 0; + + int mem_base; + xmlElementContentPtr ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlChar * name; /* the subelement name or NULL */ + int n_name; + xmlElementContentType type; /* the type of element content decl */ + int n_type; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_type = 0;n_type < gen_nb_xmlElementContentType;n_type++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + type = gen_xmlElementContentType(n_type, 2); + + ret_val = xmlNewDocElementContent(doc, (const xmlChar *)name, type); + xmlFreeDocElementContent(doc, ret_val); ret_val = NULL; + desret_xmlElementContentPtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_xmlElementContentType(n_type, type, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewDocElementContent", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_name); + printf(" %d", n_type); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewElementContent(void) { + int test_ret = 0; + + int mem_base; + xmlElementContentPtr ret_val; + xmlChar * name; /* the subelement name or NULL */ + int n_name; + xmlElementContentType type; /* the type of element content decl */ + int n_type; + + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_type = 0;n_type < gen_nb_xmlElementContentType;n_type++) { + mem_base = xmlMemBlocks(); + name = gen_const_xmlChar_ptr(n_name, 0); + type = gen_xmlElementContentType(n_type, 1); + + ret_val = xmlNewElementContent((const xmlChar *)name, type); + desret_xmlElementContentPtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0); + des_xmlElementContentType(n_type, type, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewElementContent", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_name); + printf(" %d", n_type); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNewValidCtxt(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlRemoveID(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlAttrPtr attr; /* the attribute */ + int n_attr; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + attr = gen_xmlAttrPtr(n_attr, 1); + + ret_val = xmlRemoveID(doc, attr); + desret_int(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlAttrPtr(n_attr, attr, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRemoveID", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_attr); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlRemoveRef(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlAttrPtr attr; /* the attribute */ + int n_attr; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + attr = gen_xmlAttrPtr(n_attr, 1); + + ret_val = xmlRemoveRef(doc, attr); + desret_int(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlAttrPtr(n_attr, attr, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRemoveRef", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_attr); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSnprintfElementContent(void) { + int test_ret = 0; + + int mem_base; + char * buf; /* an output buffer */ + int n_buf; + int size; /* the buffer size */ + int n_size; + xmlElementContentPtr content; /* An element table */ + int n_content; + int englob; /* 1 if one must print the englobing parenthesis, 0 otherwise */ + int n_englob; + + for (n_buf = 0;n_buf < gen_nb_char_ptr;n_buf++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) { + for (n_englob = 0;n_englob < gen_nb_int;n_englob++) { + mem_base = xmlMemBlocks(); + buf = gen_char_ptr(n_buf, 0); + size = gen_int(n_size, 1); + content = gen_xmlElementContentPtr(n_content, 2); + englob = gen_int(n_englob, 3); + + xmlSnprintfElementContent(buf, size, content, englob); + call_tests++; + des_char_ptr(n_buf, buf, 0); + des_int(n_size, size, 1); + des_xmlElementContentPtr(n_content, content, 2); + des_int(n_englob, englob, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSnprintfElementContent", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_size); + printf(" %d", n_content); + printf(" %d", n_englob); + printf("\n"); + } + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSprintfElementContent(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) +#ifdef LIBXML_OUTPUT_ENABLED + int mem_base; + char * buf; /* an output buffer */ + int n_buf; + xmlElementContentPtr content; /* An element table */ + int n_content; + int englob; /* 1 if one must print the englobing parenthesis, 0 otherwise */ + int n_englob; + + for (n_buf = 0;n_buf < gen_nb_char_ptr;n_buf++) { + for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) { + for (n_englob = 0;n_englob < gen_nb_int;n_englob++) { + mem_base = xmlMemBlocks(); + buf = gen_char_ptr(n_buf, 0); + content = gen_xmlElementContentPtr(n_content, 1); + englob = gen_int(n_englob, 2); + + xmlSprintfElementContent(buf, content, englob); + call_tests++; + des_char_ptr(n_buf, buf, 0); + des_xmlElementContentPtr(n_content, content, 1); + des_int(n_englob, englob, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSprintfElementContent", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_content); + printf(" %d", n_englob); + printf("\n"); + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlValidBuildContentModel(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED) + int mem_base; + int ret_val; + xmlValidCtxtPtr ctxt; /* a validation context */ + int n_ctxt; + xmlElementPtr elem; /* an element declaration node */ + int n_elem; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_elem = 0;n_elem < gen_nb_xmlElementPtr;n_elem++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + elem = gen_xmlElementPtr(n_elem, 1); + + ret_val = xmlValidBuildContentModel(ctxt, elem); + desret_int(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlElementPtr(n_elem, elem, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidBuildContentModel", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_elem); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidCtxtNormalizeAttributeValue(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlValidCtxtPtr ctxt; /* the validation context or NULL */ + int n_ctxt; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNodePtr elem; /* the parent */ + int n_elem; + xmlChar * name; /* the attribute name */ + int n_name; + xmlChar * value; /* the attribute value */ + int n_value; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + elem = gen_xmlNodePtr(n_elem, 2); + name = gen_const_xmlChar_ptr(n_name, 3); + value = gen_const_xmlChar_ptr(n_value, 4); + + ret_val = xmlValidCtxtNormalizeAttributeValue(ctxt, doc, elem, (const xmlChar *)name, (const xmlChar *)value); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNodePtr(n_elem, elem, 2); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 3); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidCtxtNormalizeAttributeValue", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf(" %d", n_elem); + printf(" %d", n_name); + printf(" %d", n_value); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +#define gen_nb_xmlElementContent_ptr 1 +static xmlElementContent * gen_xmlElementContent_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlElementContent_ptr(int no ATTRIBUTE_UNUSED, xmlElementContent * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlValidGetPotentialChildren(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) +#ifdef LIBXML_VALID_ENABLED + int mem_base; + int ret_val; + xmlElementContent * ctree; /* an element content tree */ + int n_ctree; + xmlChar ** names; /* an array to store the list of child names */ + int n_names; + int * len; /* a pointer to the number of element in the list */ + int n_len; + int max; /* the size of the array */ + int n_max; + + for (n_ctree = 0;n_ctree < gen_nb_xmlElementContent_ptr;n_ctree++) { + for (n_names = 0;n_names < gen_nb_const_xmlChar_ptr_ptr;n_names++) { + for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) { + for (n_max = 0;n_max < gen_nb_int;n_max++) { + mem_base = xmlMemBlocks(); + ctree = gen_xmlElementContent_ptr(n_ctree, 0); + names = gen_const_xmlChar_ptr_ptr(n_names, 1); + len = gen_int_ptr(n_len, 2); + max = gen_int(n_max, 3); + + ret_val = xmlValidGetPotentialChildren(ctree, (const xmlChar **)names, len, max); + desret_int(ret_val); + call_tests++; + des_xmlElementContent_ptr(n_ctree, ctree, 0); + des_const_xmlChar_ptr_ptr(n_names, (const xmlChar **)names, 1); + des_int_ptr(n_len, len, 2); + des_int(n_max, max, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidGetPotentialChildren", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctree); + printf(" %d", n_names); + printf(" %d", n_len); + printf(" %d", n_max); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlValidGetValidElements(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) +#ifdef LIBXML_VALID_ENABLED + int mem_base; + int ret_val; + xmlNode * prev; /* an element to insert after */ + int n_prev; + xmlNode * next; /* an element to insert next */ + int n_next; + xmlChar ** names; /* an array to store the list of child names */ + int n_names; + int max; /* the size of the array */ + int n_max; + + for (n_prev = 0;n_prev < gen_nb_xmlNodePtr;n_prev++) { + for (n_next = 0;n_next < gen_nb_xmlNodePtr;n_next++) { + for (n_names = 0;n_names < gen_nb_const_xmlChar_ptr_ptr;n_names++) { + for (n_max = 0;n_max < gen_nb_int;n_max++) { + mem_base = xmlMemBlocks(); + prev = gen_xmlNodePtr(n_prev, 0); + next = gen_xmlNodePtr(n_next, 1); + names = gen_const_xmlChar_ptr_ptr(n_names, 2); + max = gen_int(n_max, 3); + + ret_val = xmlValidGetValidElements(prev, next, (const xmlChar **)names, max); + desret_int(ret_val); + call_tests++; + des_xmlNodePtr(n_prev, prev, 0); + des_xmlNodePtr(n_next, next, 1); + des_const_xmlChar_ptr_ptr(n_names, (const xmlChar **)names, 2); + des_int(n_max, max, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidGetValidElements", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_prev); + printf(" %d", n_next); + printf(" %d", n_names); + printf(" %d", n_max); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlValidNormalizeAttributeValue(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlNodePtr elem; /* the parent */ + int n_elem; + xmlChar * name; /* the attribute name */ + int n_name; + xmlChar * value; /* the attribute value */ + int n_value; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + elem = gen_xmlNodePtr(n_elem, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + value = gen_const_xmlChar_ptr(n_value, 3); + + ret_val = xmlValidNormalizeAttributeValue(doc, elem, (const xmlChar *)name, (const xmlChar *)value); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlNodePtr(n_elem, elem, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidNormalizeAttributeValue", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_elem); + printf(" %d", n_name); + printf(" %d", n_value); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidateAttributeDecl(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) + int mem_base; + int ret_val; + xmlValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlDocPtr doc; /* a document instance */ + int n_doc; + xmlAttributePtr attr; /* an attribute definition */ + int n_attr; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_attr = 0;n_attr < gen_nb_xmlAttributePtr;n_attr++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + attr = gen_xmlAttributePtr(n_attr, 2); + + ret_val = xmlValidateAttributeDecl(ctxt, doc, attr); + desret_int(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlAttributePtr(n_attr, attr, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateAttributeDecl", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf(" %d", n_attr); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidateAttributeValue(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) + int mem_base; + int ret_val; + xmlAttributeType type; /* an attribute type */ + int n_type; + xmlChar * value; /* an attribute value */ + int n_value; + + for (n_type = 0;n_type < gen_nb_xmlAttributeType;n_type++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + type = gen_xmlAttributeType(n_type, 0); + value = gen_const_xmlChar_ptr(n_value, 1); + + ret_val = xmlValidateAttributeValue(type, (const xmlChar *)value); + desret_int(ret_val); + call_tests++; + des_xmlAttributeType(n_type, type, 0); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateAttributeValue", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_type); + printf(" %d", n_value); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidateDocument(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) + int mem_base; + int ret_val; + xmlValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlDocPtr doc; /* a document instance */ + int n_doc; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + + ret_val = xmlValidateDocument(ctxt, doc); + desret_int(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateDocument", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidateDocumentFinal(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) + int mem_base; + int ret_val; + xmlValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlDocPtr doc; /* a document instance */ + int n_doc; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + + ret_val = xmlValidateDocumentFinal(ctxt, doc); + desret_int(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateDocumentFinal", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidateDtd(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) + int mem_base; + int ret_val; + xmlValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlDocPtr doc; /* a document instance */ + int n_doc; + xmlDtdPtr dtd; /* a dtd instance */ + int n_dtd; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + dtd = gen_xmlDtdPtr(n_dtd, 2); + + ret_val = xmlValidateDtd(ctxt, doc, dtd); + desret_int(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlDtdPtr(n_dtd, dtd, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateDtd", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf(" %d", n_dtd); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidateDtdFinal(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) + int mem_base; + int ret_val; + xmlValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlDocPtr doc; /* a document instance */ + int n_doc; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + + ret_val = xmlValidateDtdFinal(ctxt, doc); + desret_int(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateDtdFinal", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidateElement(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) + int mem_base; + int ret_val; + xmlValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlDocPtr doc; /* a document instance */ + int n_doc; + xmlNodePtr elem; /* an element instance */ + int n_elem; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + elem = gen_xmlNodePtr(n_elem, 2); + + ret_val = xmlValidateElement(ctxt, doc, elem); + desret_int(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNodePtr(n_elem, elem, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf(" %d", n_elem); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidateElementDecl(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) + int mem_base; + int ret_val; + xmlValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlDocPtr doc; /* a document instance */ + int n_doc; + xmlElementPtr elem; /* an element definition */ + int n_elem; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_elem = 0;n_elem < gen_nb_xmlElementPtr;n_elem++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + elem = gen_xmlElementPtr(n_elem, 2); + + ret_val = xmlValidateElementDecl(ctxt, doc, elem); + desret_int(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlElementPtr(n_elem, elem, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateElementDecl", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf(" %d", n_elem); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidateNameValue(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) + int mem_base; + int ret_val; + xmlChar * value; /* an Name value */ + int n_value; + + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + value = gen_const_xmlChar_ptr(n_value, 0); + + ret_val = xmlValidateNameValue((const xmlChar *)value); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateNameValue", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_value); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidateNamesValue(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) + int mem_base; + int ret_val; + xmlChar * value; /* an Names value */ + int n_value; + + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + value = gen_const_xmlChar_ptr(n_value, 0); + + ret_val = xmlValidateNamesValue((const xmlChar *)value); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateNamesValue", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_value); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidateNmtokenValue(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) + int mem_base; + int ret_val; + xmlChar * value; /* an Nmtoken value */ + int n_value; + + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + value = gen_const_xmlChar_ptr(n_value, 0); + + ret_val = xmlValidateNmtokenValue((const xmlChar *)value); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateNmtokenValue", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_value); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidateNmtokensValue(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) + int mem_base; + int ret_val; + xmlChar * value; /* an Nmtokens value */ + int n_value; + + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + value = gen_const_xmlChar_ptr(n_value, 0); + + ret_val = xmlValidateNmtokensValue((const xmlChar *)value); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateNmtokensValue", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_value); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidateNotationDecl(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) + int mem_base; + int ret_val; + xmlValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlDocPtr doc; /* a document instance */ + int n_doc; + xmlNotationPtr nota; /* a notation definition */ + int n_nota; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_nota = 0;n_nota < gen_nb_xmlNotationPtr;n_nota++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + nota = gen_xmlNotationPtr(n_nota, 2); + + ret_val = xmlValidateNotationDecl(ctxt, doc, nota); + desret_int(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNotationPtr(n_nota, nota, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateNotationDecl", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf(" %d", n_nota); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidateNotationUse(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlDocPtr doc; /* the document */ + int n_doc; + xmlChar * notationName; /* the notation name to check */ + int n_notationName; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_notationName = 0;n_notationName < gen_nb_const_xmlChar_ptr;n_notationName++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + notationName = gen_const_xmlChar_ptr(n_notationName, 2); + + ret_val = xmlValidateNotationUse(ctxt, doc, (const xmlChar *)notationName); + desret_int(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_const_xmlChar_ptr(n_notationName, (const xmlChar *)notationName, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateNotationUse", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf(" %d", n_notationName); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidateOneAttribute(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) + int mem_base; + int ret_val; + xmlValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlDocPtr doc; /* a document instance */ + int n_doc; + xmlNodePtr elem; /* an element instance */ + int n_elem; + xmlAttrPtr attr; /* an attribute instance */ + int n_attr; + xmlChar * value; /* the attribute value (without entities processing) */ + int n_value; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) { + for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + elem = gen_xmlNodePtr(n_elem, 2); + attr = gen_xmlAttrPtr(n_attr, 3); + value = gen_const_xmlChar_ptr(n_value, 4); + + ret_val = xmlValidateOneAttribute(ctxt, doc, elem, attr, (const xmlChar *)value); + desret_int(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNodePtr(n_elem, elem, 2); + des_xmlAttrPtr(n_attr, attr, 3); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateOneAttribute", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf(" %d", n_elem); + printf(" %d", n_attr); + printf(" %d", n_value); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidateOneElement(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) + int mem_base; + int ret_val; + xmlValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlDocPtr doc; /* a document instance */ + int n_doc; + xmlNodePtr elem; /* an element instance */ + int n_elem; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + elem = gen_xmlNodePtr(n_elem, 2); + + ret_val = xmlValidateOneElement(ctxt, doc, elem); + desret_int(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNodePtr(n_elem, elem, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateOneElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf(" %d", n_elem); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidateOneNamespace(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) + int mem_base; + int ret_val; + xmlValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlDocPtr doc; /* a document instance */ + int n_doc; + xmlNodePtr elem; /* an element instance */ + int n_elem; + xmlChar * prefix; /* the namespace prefix */ + int n_prefix; + xmlNsPtr ns; /* an namespace declaration instance */ + int n_ns; + xmlChar * value; /* the attribute value (without entities processing) */ + int n_value; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) { + for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) { + for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + elem = gen_xmlNodePtr(n_elem, 2); + prefix = gen_const_xmlChar_ptr(n_prefix, 3); + ns = gen_xmlNsPtr(n_ns, 4); + value = gen_const_xmlChar_ptr(n_value, 5); + + ret_val = xmlValidateOneNamespace(ctxt, doc, elem, (const xmlChar *)prefix, ns, (const xmlChar *)value); + desret_int(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNodePtr(n_elem, elem, 2); + des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 3); + des_xmlNsPtr(n_ns, ns, 4); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateOneNamespace", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf(" %d", n_elem); + printf(" %d", n_prefix); + printf(" %d", n_ns); + printf(" %d", n_value); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidatePopElement(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED) + int mem_base; + int ret_val; + xmlValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlDocPtr doc; /* a document instance */ + int n_doc; + xmlNodePtr elem; /* an element instance */ + int n_elem; + xmlChar * qname; /* the qualified name as appearing in the serialization */ + int n_qname; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) { + for (n_qname = 0;n_qname < gen_nb_const_xmlChar_ptr;n_qname++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + elem = gen_xmlNodePtr(n_elem, 2); + qname = gen_const_xmlChar_ptr(n_qname, 3); + + ret_val = xmlValidatePopElement(ctxt, doc, elem, (const xmlChar *)qname); + desret_int(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNodePtr(n_elem, elem, 2); + des_const_xmlChar_ptr(n_qname, (const xmlChar *)qname, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidatePopElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf(" %d", n_elem); + printf(" %d", n_qname); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidatePushCData(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED) + int mem_base; + int ret_val; + xmlValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlChar * data; /* some character data read */ + int n_data; + int len; /* the length of the data */ + int n_len; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_data = 0;n_data < gen_nb_const_xmlChar_ptr;n_data++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + data = gen_const_xmlChar_ptr(n_data, 1); + len = gen_int(n_len, 2); + if ((data != NULL) && + (len > (int) strlen((const char *) data) + 1)) + continue; + + ret_val = xmlValidatePushCData(ctxt, (const xmlChar *)data, len); + desret_int(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_const_xmlChar_ptr(n_data, (const xmlChar *)data, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidatePushCData", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_data); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidatePushElement(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED) + int mem_base; + int ret_val; + xmlValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlDocPtr doc; /* a document instance */ + int n_doc; + xmlNodePtr elem; /* an element instance */ + int n_elem; + xmlChar * qname; /* the qualified name as appearing in the serialization */ + int n_qname; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) { + for (n_qname = 0;n_qname < gen_nb_const_xmlChar_ptr;n_qname++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + elem = gen_xmlNodePtr(n_elem, 2); + qname = gen_const_xmlChar_ptr(n_qname, 3); + + ret_val = xmlValidatePushElement(ctxt, doc, elem, (const xmlChar *)qname); + desret_int(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + des_xmlNodePtr(n_elem, elem, 2); + des_const_xmlChar_ptr(n_qname, (const xmlChar *)qname, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidatePushElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf(" %d", n_elem); + printf(" %d", n_qname); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlValidateRoot(void) { + int test_ret = 0; + +#if defined(LIBXML_VALID_ENABLED) + int mem_base; + int ret_val; + xmlValidCtxtPtr ctxt; /* the validation context */ + int n_ctxt; + xmlDocPtr doc; /* a document instance */ + int n_doc; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + + ret_val = xmlValidateRoot(ctxt, doc); + desret_int(ret_val); + call_tests++; + des_xmlValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlValidateRoot", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_valid(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing valid : 50 of 70 functions ...\n"); + test_ret += test_xmlAddAttributeDecl(); + test_ret += test_xmlAddElementDecl(); + test_ret += test_xmlAddID(); + test_ret += test_xmlAddNotationDecl(); + test_ret += test_xmlAddRef(); + test_ret += test_xmlCopyAttributeTable(); + test_ret += test_xmlCopyDocElementContent(); + test_ret += test_xmlCopyElementContent(); + test_ret += test_xmlCopyElementTable(); + test_ret += test_xmlCopyEnumeration(); + test_ret += test_xmlCopyNotationTable(); + test_ret += test_xmlCreateEnumeration(); + test_ret += test_xmlDumpAttributeDecl(); + test_ret += test_xmlDumpAttributeTable(); + test_ret += test_xmlDumpElementDecl(); + test_ret += test_xmlDumpElementTable(); + test_ret += test_xmlDumpNotationDecl(); + test_ret += test_xmlDumpNotationTable(); + test_ret += test_xmlGetDtdAttrDesc(); + test_ret += test_xmlGetDtdElementDesc(); + test_ret += test_xmlGetDtdNotationDesc(); + test_ret += test_xmlGetDtdQAttrDesc(); + test_ret += test_xmlGetDtdQElementDesc(); + test_ret += test_xmlGetID(); + test_ret += test_xmlGetRefs(); + test_ret += test_xmlIsID(); + test_ret += test_xmlIsMixedElement(); + test_ret += test_xmlIsRef(); + test_ret += test_xmlNewDocElementContent(); + test_ret += test_xmlNewElementContent(); + test_ret += test_xmlNewValidCtxt(); + test_ret += test_xmlRemoveID(); + test_ret += test_xmlRemoveRef(); + test_ret += test_xmlSnprintfElementContent(); + test_ret += test_xmlSprintfElementContent(); + test_ret += test_xmlValidBuildContentModel(); + test_ret += test_xmlValidCtxtNormalizeAttributeValue(); + test_ret += test_xmlValidGetPotentialChildren(); + test_ret += test_xmlValidGetValidElements(); + test_ret += test_xmlValidNormalizeAttributeValue(); + test_ret += test_xmlValidateAttributeDecl(); + test_ret += test_xmlValidateAttributeValue(); + test_ret += test_xmlValidateDocument(); + test_ret += test_xmlValidateDocumentFinal(); + test_ret += test_xmlValidateDtd(); + test_ret += test_xmlValidateDtdFinal(); + test_ret += test_xmlValidateElement(); + test_ret += test_xmlValidateElementDecl(); + test_ret += test_xmlValidateNameValue(); + test_ret += test_xmlValidateNamesValue(); + test_ret += test_xmlValidateNmtokenValue(); + test_ret += test_xmlValidateNmtokensValue(); + test_ret += test_xmlValidateNotationDecl(); + test_ret += test_xmlValidateNotationUse(); + test_ret += test_xmlValidateOneAttribute(); + test_ret += test_xmlValidateOneElement(); + test_ret += test_xmlValidateOneNamespace(); + test_ret += test_xmlValidatePopElement(); + test_ret += test_xmlValidatePushCData(); + test_ret += test_xmlValidatePushElement(); + test_ret += test_xmlValidateRoot(); + + if (test_ret != 0) + printf("Module valid: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlXIncludeNewContext(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlXIncludeProcess(void) { + int test_ret = 0; + +#if defined(LIBXML_XINCLUDE_ENABLED) + int mem_base; + int ret_val; + xmlDocPtr doc; /* an XML document */ + int n_doc; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + + ret_val = xmlXIncludeProcess(doc); + desret_int(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXIncludeProcess", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXIncludeProcessFlags(void) { + int test_ret = 0; + +#if defined(LIBXML_XINCLUDE_ENABLED) + int mem_base; + int ret_val; + xmlDocPtr doc; /* an XML document */ + int n_doc; + int flags; /* a set of xmlParserOption used for parsing XML includes */ + int n_flags; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_flags = 0;n_flags < gen_nb_int;n_flags++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + flags = gen_int(n_flags, 1); + + ret_val = xmlXIncludeProcessFlags(doc, flags); + desret_int(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_int(n_flags, flags, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXIncludeProcessFlags", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_flags); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXIncludeProcessFlagsData(void) { + int test_ret = 0; + +#if defined(LIBXML_XINCLUDE_ENABLED) + int mem_base; + int ret_val; + xmlDocPtr doc; /* an XML document */ + int n_doc; + int flags; /* a set of xmlParserOption used for parsing XML includes */ + int n_flags; + void * data; /* application data that will be passed to the parser context in the _private field of the parser context(s) */ + int n_data; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_flags = 0;n_flags < gen_nb_int;n_flags++) { + for (n_data = 0;n_data < gen_nb_userdata;n_data++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + flags = gen_int(n_flags, 1); + data = gen_userdata(n_data, 2); + + ret_val = xmlXIncludeProcessFlagsData(doc, flags, data); + desret_int(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_int(n_flags, flags, 1); + des_userdata(n_data, data, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXIncludeProcessFlagsData", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_flags); + printf(" %d", n_data); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +#ifdef LIBXML_XINCLUDE_ENABLED + +#define gen_nb_xmlXIncludeCtxtPtr 1 +static xmlXIncludeCtxtPtr gen_xmlXIncludeCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlXIncludeCtxtPtr(int no ATTRIBUTE_UNUSED, xmlXIncludeCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlXIncludeProcessNode(void) { + int test_ret = 0; + +#if defined(LIBXML_XINCLUDE_ENABLED) + int mem_base; + int ret_val; + xmlXIncludeCtxtPtr ctxt; /* an existing XInclude context */ + int n_ctxt; + xmlNodePtr node; /* a node in an XML document */ + int n_node; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXIncludeCtxtPtr;n_ctxt++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXIncludeCtxtPtr(n_ctxt, 0); + node = gen_xmlNodePtr(n_node, 1); + + ret_val = xmlXIncludeProcessNode(ctxt, node); + desret_int(ret_val); + call_tests++; + des_xmlXIncludeCtxtPtr(n_ctxt, ctxt, 0); + des_xmlNodePtr(n_node, node, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXIncludeProcessNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_node); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXIncludeProcessTree(void) { + int test_ret = 0; + +#if defined(LIBXML_XINCLUDE_ENABLED) + int mem_base; + int ret_val; + xmlNodePtr tree; /* a node in an XML document */ + int n_tree; + + for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) { + mem_base = xmlMemBlocks(); + tree = gen_xmlNodePtr(n_tree, 0); + + ret_val = xmlXIncludeProcessTree(tree); + desret_int(ret_val); + call_tests++; + des_xmlNodePtr(n_tree, tree, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXIncludeProcessTree", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_tree); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXIncludeProcessTreeFlags(void) { + int test_ret = 0; + +#if defined(LIBXML_XINCLUDE_ENABLED) + int mem_base; + int ret_val; + xmlNodePtr tree; /* a node in an XML document */ + int n_tree; + int flags; /* a set of xmlParserOption used for parsing XML includes */ + int n_flags; + + for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) { + for (n_flags = 0;n_flags < gen_nb_int;n_flags++) { + mem_base = xmlMemBlocks(); + tree = gen_xmlNodePtr(n_tree, 0); + flags = gen_int(n_flags, 1); + + ret_val = xmlXIncludeProcessTreeFlags(tree, flags); + desret_int(ret_val); + call_tests++; + des_xmlNodePtr(n_tree, tree, 0); + des_int(n_flags, flags, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXIncludeProcessTreeFlags", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_tree); + printf(" %d", n_flags); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXIncludeProcessTreeFlagsData(void) { + int test_ret = 0; + +#if defined(LIBXML_XINCLUDE_ENABLED) + int mem_base; + int ret_val; + xmlNodePtr tree; /* an XML node */ + int n_tree; + int flags; /* a set of xmlParserOption used for parsing XML includes */ + int n_flags; + void * data; /* application data that will be passed to the parser context in the _private field of the parser context(s) */ + int n_data; + + for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) { + for (n_flags = 0;n_flags < gen_nb_int;n_flags++) { + for (n_data = 0;n_data < gen_nb_userdata;n_data++) { + mem_base = xmlMemBlocks(); + tree = gen_xmlNodePtr(n_tree, 0); + flags = gen_int(n_flags, 1); + data = gen_userdata(n_data, 2); + + ret_val = xmlXIncludeProcessTreeFlagsData(tree, flags, data); + desret_int(ret_val); + call_tests++; + des_xmlNodePtr(n_tree, tree, 0); + des_int(n_flags, flags, 1); + des_userdata(n_data, data, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXIncludeProcessTreeFlagsData", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_tree); + printf(" %d", n_flags); + printf(" %d", n_data); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXIncludeSetFlags(void) { + int test_ret = 0; + +#if defined(LIBXML_XINCLUDE_ENABLED) + int mem_base; + int ret_val; + xmlXIncludeCtxtPtr ctxt; /* an XInclude processing context */ + int n_ctxt; + int flags; /* a set of xmlParserOption used for parsing XML includes */ + int n_flags; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXIncludeCtxtPtr;n_ctxt++) { + for (n_flags = 0;n_flags < gen_nb_int;n_flags++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXIncludeCtxtPtr(n_ctxt, 0); + flags = gen_int(n_flags, 1); + + ret_val = xmlXIncludeSetFlags(ctxt, flags); + desret_int(ret_val); + call_tests++; + des_xmlXIncludeCtxtPtr(n_ctxt, ctxt, 0); + des_int(n_flags, flags, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXIncludeSetFlags", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_flags); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_xinclude(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing xinclude : 8 of 10 functions ...\n"); + test_ret += test_xmlXIncludeNewContext(); + test_ret += test_xmlXIncludeProcess(); + test_ret += test_xmlXIncludeProcessFlags(); + test_ret += test_xmlXIncludeProcessFlagsData(); + test_ret += test_xmlXIncludeProcessNode(); + test_ret += test_xmlXIncludeProcessTree(); + test_ret += test_xmlXIncludeProcessTreeFlags(); + test_ret += test_xmlXIncludeProcessTreeFlagsData(); + test_ret += test_xmlXIncludeSetFlags(); + + if (test_ret != 0) + printf("Module xinclude: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlAllocOutputBuffer(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlOutputBufferPtr ret_val; + xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */ + int n_encoder; + + for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) { + mem_base = xmlMemBlocks(); + encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 0); + + ret_val = xmlAllocOutputBuffer(encoder); + desret_xmlOutputBufferPtr(ret_val); + call_tests++; + des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlAllocOutputBuffer", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_encoder); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlAllocParserInputBuffer(void) { + int test_ret = 0; + + int mem_base; + xmlParserInputBufferPtr ret_val; + xmlCharEncoding enc; /* the charset encoding if known */ + int n_enc; + + for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) { + mem_base = xmlMemBlocks(); + enc = gen_xmlCharEncoding(n_enc, 0); + + ret_val = xmlAllocParserInputBuffer(enc); + desret_xmlParserInputBufferPtr(ret_val); + call_tests++; + des_xmlCharEncoding(n_enc, enc, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlAllocParserInputBuffer", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_enc); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCheckFilename(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + char * path; /* the path to check */ + int n_path; + + for (n_path = 0;n_path < gen_nb_const_char_ptr;n_path++) { + mem_base = xmlMemBlocks(); + path = gen_const_char_ptr(n_path, 0); + + ret_val = xmlCheckFilename((const char *)path); + desret_int(ret_val); + call_tests++; + des_const_char_ptr(n_path, (const char *)path, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCheckFilename", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_path); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCheckHTTPInput(void) { + int test_ret = 0; + + int mem_base; + xmlParserInputPtr ret_val; + xmlParserCtxtPtr ctxt; /* an XML parser context */ + int n_ctxt; + xmlParserInputPtr ret; /* an XML parser input */ + int n_ret; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_ret = 0;n_ret < gen_nb_xmlParserInputPtr;n_ret++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + ret = gen_xmlParserInputPtr(n_ret, 1); + + ret_val = xmlCheckHTTPInput(ctxt, ret); + desret_xmlParserInputPtr(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_xmlParserInputPtr(n_ret, ret, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCheckHTTPInput", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_ret); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCleanupInputCallbacks(void) { + int test_ret = 0; + + int mem_base; + + mem_base = xmlMemBlocks(); + + xmlCleanupInputCallbacks(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCleanupInputCallbacks", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCleanupOutputCallbacks(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + + mem_base = xmlMemBlocks(); + + xmlCleanupOutputCallbacks(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCleanupOutputCallbacks", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlFileClose(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + void * context; /* the I/O context */ + int n_context; + + for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) { + mem_base = xmlMemBlocks(); + context = gen_void_ptr(n_context, 0); + + ret_val = xmlFileClose(context); + desret_int(ret_val); + call_tests++; + des_void_ptr(n_context, context, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlFileClose", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_context); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlFileMatch(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + const char * filename; /* the URI for matching */ + int n_filename; + + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + mem_base = xmlMemBlocks(); + filename = gen_filepath(n_filename, 0); + + ret_val = xmlFileMatch(filename); + desret_int(ret_val); + call_tests++; + des_filepath(n_filename, filename, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlFileMatch", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlFileOpen(void) { + int test_ret = 0; + + int mem_base; + void * ret_val; + const char * filename; /* the URI for matching */ + int n_filename; + + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + mem_base = xmlMemBlocks(); + filename = gen_filepath(n_filename, 0); + + ret_val = xmlFileOpen(filename); + desret_void_ptr(ret_val); + call_tests++; + des_filepath(n_filename, filename, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlFileOpen", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlFileRead(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + void * context; /* the I/O context */ + int n_context; + char * buffer; /* where to drop data */ + int n_buffer; + int len; /* number of bytes to write */ + int n_len; + + for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) { + for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + context = gen_void_ptr(n_context, 0); + buffer = gen_char_ptr(n_buffer, 1); + len = gen_int(n_len, 2); + + ret_val = xmlFileRead(context, buffer, len); + desret_int(ret_val); + call_tests++; + des_void_ptr(n_context, context, 0); + des_char_ptr(n_buffer, buffer, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlFileRead", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_context); + printf(" %d", n_buffer); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlIOFTPClose(void) { + int test_ret = 0; + +#if defined(LIBXML_FTP_ENABLED) + int mem_base; + int ret_val; + void * context; /* the I/O context */ + int n_context; + + for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) { + mem_base = xmlMemBlocks(); + context = gen_void_ptr(n_context, 0); + + ret_val = xmlIOFTPClose(context); + desret_int(ret_val); + call_tests++; + des_void_ptr(n_context, context, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIOFTPClose", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_context); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlIOFTPMatch(void) { + int test_ret = 0; + +#if defined(LIBXML_FTP_ENABLED) + int mem_base; + int ret_val; + const char * filename; /* the URI for matching */ + int n_filename; + + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + mem_base = xmlMemBlocks(); + filename = gen_filepath(n_filename, 0); + + ret_val = xmlIOFTPMatch(filename); + desret_int(ret_val); + call_tests++; + des_filepath(n_filename, filename, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIOFTPMatch", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlIOFTPOpen(void) { + int test_ret = 0; + +#if defined(LIBXML_FTP_ENABLED) + int mem_base; + void * ret_val; + const char * filename; /* the URI for matching */ + int n_filename; + + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + mem_base = xmlMemBlocks(); + filename = gen_filepath(n_filename, 0); + + ret_val = xmlIOFTPOpen(filename); + desret_void_ptr(ret_val); + call_tests++; + des_filepath(n_filename, filename, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIOFTPOpen", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlIOFTPRead(void) { + int test_ret = 0; + +#if defined(LIBXML_FTP_ENABLED) + int mem_base; + int ret_val; + void * context; /* the I/O context */ + int n_context; + char * buffer; /* where to drop data */ + int n_buffer; + int len; /* number of bytes to write */ + int n_len; + + for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) { + for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + context = gen_void_ptr(n_context, 0); + buffer = gen_char_ptr(n_buffer, 1); + len = gen_int(n_len, 2); + + ret_val = xmlIOFTPRead(context, buffer, len); + desret_int(ret_val); + call_tests++; + des_void_ptr(n_context, context, 0); + des_char_ptr(n_buffer, buffer, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIOFTPRead", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_context); + printf(" %d", n_buffer); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlIOHTTPClose(void) { + int test_ret = 0; + +#if defined(LIBXML_HTTP_ENABLED) + int mem_base; + int ret_val; + void * context; /* the I/O context */ + int n_context; + + for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) { + mem_base = xmlMemBlocks(); + context = gen_void_ptr(n_context, 0); + + ret_val = xmlIOHTTPClose(context); + desret_int(ret_val); + call_tests++; + des_void_ptr(n_context, context, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIOHTTPClose", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_context); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlIOHTTPMatch(void) { + int test_ret = 0; + +#if defined(LIBXML_HTTP_ENABLED) + int mem_base; + int ret_val; + const char * filename; /* the URI for matching */ + int n_filename; + + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + mem_base = xmlMemBlocks(); + filename = gen_filepath(n_filename, 0); + + ret_val = xmlIOHTTPMatch(filename); + desret_int(ret_val); + call_tests++; + des_filepath(n_filename, filename, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIOHTTPMatch", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlIOHTTPOpen(void) { + int test_ret = 0; + +#if defined(LIBXML_HTTP_ENABLED) + int mem_base; + void * ret_val; + const char * filename; /* the URI for matching */ + int n_filename; + + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + mem_base = xmlMemBlocks(); + filename = gen_filepath(n_filename, 0); + + ret_val = xmlIOHTTPOpen(filename); + desret_xmlNanoHTTPCtxtPtr(ret_val); + call_tests++; + des_filepath(n_filename, filename, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIOHTTPOpen", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlIOHTTPRead(void) { + int test_ret = 0; + +#if defined(LIBXML_HTTP_ENABLED) + int mem_base; + int ret_val; + void * context; /* the I/O context */ + int n_context; + char * buffer; /* where to drop data */ + int n_buffer; + int len; /* number of bytes to write */ + int n_len; + + for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) { + for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + context = gen_void_ptr(n_context, 0); + buffer = gen_char_ptr(n_buffer, 1); + len = gen_int(n_len, 2); + + ret_val = xmlIOHTTPRead(context, buffer, len); + desret_int(ret_val); + call_tests++; + des_void_ptr(n_context, context, 0); + des_char_ptr(n_buffer, buffer, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlIOHTTPRead", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_context); + printf(" %d", n_buffer); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNoNetExternalEntityLoader(void) { + int test_ret = 0; + + int mem_base; + xmlParserInputPtr ret_val; + const char * URL; /* the URL for the entity to load */ + int n_URL; + char * ID; /* the System ID for the entity to load */ + int n_ID; + xmlParserCtxtPtr ctxt; /* the context in which the entity is called or NULL */ + int n_ctxt; + + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + for (n_ID = 0;n_ID < gen_nb_const_char_ptr;n_ID++) { + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + URL = gen_filepath(n_URL, 0); + ID = gen_const_char_ptr(n_ID, 1); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 2); + + ret_val = xmlNoNetExternalEntityLoader(URL, (const char *)ID, ctxt); + desret_xmlParserInputPtr(ret_val); + call_tests++; + des_filepath(n_URL, URL, 0); + des_const_char_ptr(n_ID, (const char *)ID, 1); + des_xmlParserCtxtPtr(n_ctxt, ctxt, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNoNetExternalEntityLoader", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_URL); + printf(" %d", n_ID); + printf(" %d", n_ctxt); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlNormalizeWindowsPath(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlChar * path; /* the input file path */ + int n_path; + + for (n_path = 0;n_path < gen_nb_const_xmlChar_ptr;n_path++) { + mem_base = xmlMemBlocks(); + path = gen_const_xmlChar_ptr(n_path, 0); + + ret_val = xmlNormalizeWindowsPath((const xmlChar *)path); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_path, (const xmlChar *)path, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNormalizeWindowsPath", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_path); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlOutputBufferCreateBuffer(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlOutputBufferPtr ret_val; + xmlBufferPtr buffer; /* a xmlBufferPtr */ + int n_buffer; + xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */ + int n_encoder; + + for (n_buffer = 0;n_buffer < gen_nb_xmlBufferPtr;n_buffer++) { + for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) { + mem_base = xmlMemBlocks(); + buffer = gen_xmlBufferPtr(n_buffer, 0); + encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1); + + ret_val = xmlOutputBufferCreateBuffer(buffer, encoder); + desret_xmlOutputBufferPtr(ret_val); + call_tests++; + des_xmlBufferPtr(n_buffer, buffer, 0); + des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlOutputBufferCreateBuffer", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buffer); + printf(" %d", n_encoder); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlOutputBufferCreateFd(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlOutputBufferPtr ret_val; + int fd; /* a file descriptor number */ + int n_fd; + xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */ + int n_encoder; + + for (n_fd = 0;n_fd < gen_nb_int;n_fd++) { + for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) { + mem_base = xmlMemBlocks(); + fd = gen_int(n_fd, 0); + encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1); + + ret_val = xmlOutputBufferCreateFd(fd, encoder); + desret_xmlOutputBufferPtr(ret_val); + call_tests++; + des_int(n_fd, fd, 0); + des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlOutputBufferCreateFd", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_fd); + printf(" %d", n_encoder); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlOutputBufferCreateFile(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlOutputBufferPtr ret_val; + FILE * file; /* a FILE* */ + int n_file; + xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */ + int n_encoder; + + for (n_file = 0;n_file < gen_nb_FILE_ptr;n_file++) { + for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) { + mem_base = xmlMemBlocks(); + file = gen_FILE_ptr(n_file, 0); + encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1); + + ret_val = xmlOutputBufferCreateFile(file, encoder); + desret_xmlOutputBufferPtr(ret_val); + call_tests++; + des_FILE_ptr(n_file, file, 0); + des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlOutputBufferCreateFile", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_file); + printf(" %d", n_encoder); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlOutputBufferCreateFilename(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + xmlOutputBufferPtr ret_val; + const char * URI; /* a C string containing the URI or filename */ + int n_URI; + xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */ + int n_encoder; + int compression; /* the compression ration (0 none, 9 max). */ + int n_compression; + + for (n_URI = 0;n_URI < gen_nb_fileoutput;n_URI++) { + for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) { + for (n_compression = 0;n_compression < gen_nb_int;n_compression++) { + mem_base = xmlMemBlocks(); + URI = gen_fileoutput(n_URI, 0); + encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1); + compression = gen_int(n_compression, 2); + + ret_val = xmlOutputBufferCreateFilename(URI, encoder, compression); + desret_xmlOutputBufferPtr(ret_val); + call_tests++; + des_fileoutput(n_URI, URI, 0); + des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1); + des_int(n_compression, compression, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlOutputBufferCreateFilename", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_URI); + printf(" %d", n_encoder); + printf(" %d", n_compression); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlOutputBufferFlush(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + xmlOutputBufferPtr out; /* a buffered output */ + int n_out; + + for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) { + mem_base = xmlMemBlocks(); + out = gen_xmlOutputBufferPtr(n_out, 0); + + ret_val = xmlOutputBufferFlush(out); + desret_int(ret_val); + call_tests++; + des_xmlOutputBufferPtr(n_out, out, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlOutputBufferFlush", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_out); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlOutputBufferGetContent(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + const xmlChar * ret_val; + xmlOutputBufferPtr out; /* an xmlOutputBufferPtr */ + int n_out; + + for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) { + mem_base = xmlMemBlocks(); + out = gen_xmlOutputBufferPtr(n_out, 0); + + ret_val = xmlOutputBufferGetContent(out); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_xmlOutputBufferPtr(n_out, out, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlOutputBufferGetContent", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_out); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlOutputBufferGetSize(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlOutputBufferWrite(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + xmlOutputBufferPtr out; /* a buffered parser output */ + int n_out; + int len; /* the size in bytes of the array. */ + int n_len; + char * buf; /* an char array */ + int n_buf; + + for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + for (n_buf = 0;n_buf < gen_nb_const_char_ptr;n_buf++) { + mem_base = xmlMemBlocks(); + out = gen_xmlOutputBufferPtr(n_out, 0); + len = gen_int(n_len, 1); + buf = gen_const_char_ptr(n_buf, 2); + if ((buf != NULL) && + (len > (int) strlen((const char *) buf) + 1)) + continue; + + ret_val = xmlOutputBufferWrite(out, len, (const char *)buf); + desret_int(ret_val); + call_tests++; + des_xmlOutputBufferPtr(n_out, out, 0); + des_int(n_len, len, 1); + des_const_char_ptr(n_buf, (const char *)buf, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlOutputBufferWrite", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_out); + printf(" %d", n_len); + printf(" %d", n_buf); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlOutputBufferWriteEscape(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlOutputBufferWriteString(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + xmlOutputBufferPtr out; /* a buffered parser output */ + int n_out; + char * str; /* a zero terminated C string */ + int n_str; + + for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) { + for (n_str = 0;n_str < gen_nb_const_char_ptr;n_str++) { + mem_base = xmlMemBlocks(); + out = gen_xmlOutputBufferPtr(n_out, 0); + str = gen_const_char_ptr(n_str, 1); + + ret_val = xmlOutputBufferWriteString(out, (const char *)str); + desret_int(ret_val); + call_tests++; + des_xmlOutputBufferPtr(n_out, out, 0); + des_const_char_ptr(n_str, (const char *)str, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlOutputBufferWriteString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_out); + printf(" %d", n_str); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlParserGetDirectory(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlParserInputBufferCreateFd(void) { + int test_ret = 0; + + int mem_base; + xmlParserInputBufferPtr ret_val; + int fd; /* a file descriptor number */ + int n_fd; + xmlCharEncoding enc; /* the charset encoding if known */ + int n_enc; + + for (n_fd = 0;n_fd < gen_nb_int;n_fd++) { + for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) { + mem_base = xmlMemBlocks(); + fd = gen_int(n_fd, 0); + enc = gen_xmlCharEncoding(n_enc, 1); + if (fd >= 0) fd = -1; + + ret_val = xmlParserInputBufferCreateFd(fd, enc); + desret_xmlParserInputBufferPtr(ret_val); + call_tests++; + des_int(n_fd, fd, 0); + des_xmlCharEncoding(n_enc, enc, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParserInputBufferCreateFd", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_fd); + printf(" %d", n_enc); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlParserInputBufferCreateFile(void) { + int test_ret = 0; + + int mem_base; + xmlParserInputBufferPtr ret_val; + FILE * file; /* a FILE* */ + int n_file; + xmlCharEncoding enc; /* the charset encoding if known */ + int n_enc; + + for (n_file = 0;n_file < gen_nb_FILE_ptr;n_file++) { + for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) { + mem_base = xmlMemBlocks(); + file = gen_FILE_ptr(n_file, 0); + enc = gen_xmlCharEncoding(n_enc, 1); + + ret_val = xmlParserInputBufferCreateFile(file, enc); + desret_xmlParserInputBufferPtr(ret_val); + call_tests++; + des_FILE_ptr(n_file, file, 0); + des_xmlCharEncoding(n_enc, enc, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParserInputBufferCreateFile", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_file); + printf(" %d", n_enc); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlParserInputBufferCreateFilename(void) { + int test_ret = 0; + + int mem_base; + xmlParserInputBufferPtr ret_val; + const char * URI; /* a C string containing the URI or filename */ + int n_URI; + xmlCharEncoding enc; /* the charset encoding if known */ + int n_enc; + + for (n_URI = 0;n_URI < gen_nb_fileoutput;n_URI++) { + for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) { + mem_base = xmlMemBlocks(); + URI = gen_fileoutput(n_URI, 0); + enc = gen_xmlCharEncoding(n_enc, 1); + + ret_val = xmlParserInputBufferCreateFilename(URI, enc); + desret_xmlParserInputBufferPtr(ret_val); + call_tests++; + des_fileoutput(n_URI, URI, 0); + des_xmlCharEncoding(n_enc, enc, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParserInputBufferCreateFilename", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_URI); + printf(" %d", n_enc); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlParserInputBufferCreateMem(void) { + int test_ret = 0; + + int mem_base; + xmlParserInputBufferPtr ret_val; + char * mem; /* the memory input */ + int n_mem; + int size; /* the length of the memory block */ + int n_size; + xmlCharEncoding enc; /* the charset encoding if known */ + int n_enc; + + for (n_mem = 0;n_mem < gen_nb_const_char_ptr;n_mem++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) { + mem_base = xmlMemBlocks(); + mem = gen_const_char_ptr(n_mem, 0); + size = gen_int(n_size, 1); + enc = gen_xmlCharEncoding(n_enc, 2); + if ((mem != NULL) && + (size > (int) strlen((const char *) mem) + 1)) + continue; + + ret_val = xmlParserInputBufferCreateMem((const char *)mem, size, enc); + desret_xmlParserInputBufferPtr(ret_val); + call_tests++; + des_const_char_ptr(n_mem, (const char *)mem, 0); + des_int(n_size, size, 1); + des_xmlCharEncoding(n_enc, enc, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParserInputBufferCreateMem", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_mem); + printf(" %d", n_size); + printf(" %d", n_enc); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlParserInputBufferCreateStatic(void) { + int test_ret = 0; + + int mem_base; + xmlParserInputBufferPtr ret_val; + char * mem; /* the memory input */ + int n_mem; + int size; /* the length of the memory block */ + int n_size; + xmlCharEncoding enc; /* the charset encoding if known */ + int n_enc; + + for (n_mem = 0;n_mem < gen_nb_const_char_ptr;n_mem++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) { + mem_base = xmlMemBlocks(); + mem = gen_const_char_ptr(n_mem, 0); + size = gen_int(n_size, 1); + enc = gen_xmlCharEncoding(n_enc, 2); + if ((mem != NULL) && + (size > (int) strlen((const char *) mem) + 1)) + continue; + + ret_val = xmlParserInputBufferCreateStatic((const char *)mem, size, enc); + desret_xmlParserInputBufferPtr(ret_val); + call_tests++; + des_const_char_ptr(n_mem, (const char *)mem, 0); + des_int(n_size, size, 1); + des_xmlCharEncoding(n_enc, enc, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParserInputBufferCreateStatic", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_mem); + printf(" %d", n_size); + printf(" %d", n_enc); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlParserInputBufferGrow(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserInputBufferPtr in; /* a buffered parser input */ + int n_in; + int len; /* indicative value of the amount of chars to read */ + int n_len; + + for (n_in = 0;n_in < gen_nb_xmlParserInputBufferPtr;n_in++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + in = gen_xmlParserInputBufferPtr(n_in, 0); + len = gen_int(n_len, 1); + + ret_val = xmlParserInputBufferGrow(in, len); + desret_int(ret_val); + call_tests++; + des_xmlParserInputBufferPtr(n_in, in, 0); + des_int(n_len, len, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParserInputBufferGrow", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_in); + printf(" %d", n_len); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlParserInputBufferPush(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserInputBufferPtr in; /* a buffered parser input */ + int n_in; + int len; /* the size in bytes of the array. */ + int n_len; + char * buf; /* an char array */ + int n_buf; + + for (n_in = 0;n_in < gen_nb_xmlParserInputBufferPtr;n_in++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + for (n_buf = 0;n_buf < gen_nb_const_char_ptr;n_buf++) { + mem_base = xmlMemBlocks(); + in = gen_xmlParserInputBufferPtr(n_in, 0); + len = gen_int(n_len, 1); + buf = gen_const_char_ptr(n_buf, 2); + if ((buf != NULL) && + (len > (int) strlen((const char *) buf) + 1)) + continue; + + ret_val = xmlParserInputBufferPush(in, len, (const char *)buf); + desret_int(ret_val); + call_tests++; + des_xmlParserInputBufferPtr(n_in, in, 0); + des_int(n_len, len, 1); + des_const_char_ptr(n_buf, (const char *)buf, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParserInputBufferPush", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_in); + printf(" %d", n_len); + printf(" %d", n_buf); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlParserInputBufferRead(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlParserInputBufferPtr in; /* a buffered parser input */ + int n_in; + int len; /* indicative value of the amount of chars to read */ + int n_len; + + for (n_in = 0;n_in < gen_nb_xmlParserInputBufferPtr;n_in++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + in = gen_xmlParserInputBufferPtr(n_in, 0); + len = gen_int(n_len, 1); + + ret_val = xmlParserInputBufferRead(in, len); + desret_int(ret_val); + call_tests++; + des_xmlParserInputBufferPtr(n_in, in, 0); + des_int(n_len, len, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParserInputBufferRead", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_in); + printf(" %d", n_len); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlPopInputCallbacks(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + + mem_base = xmlMemBlocks(); + + ret_val = xmlPopInputCallbacks(); + desret_int(ret_val); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlPopInputCallbacks", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlRegisterDefaultInputCallbacks(void) { + int test_ret = 0; + + int mem_base; + + mem_base = xmlMemBlocks(); + + xmlRegisterDefaultInputCallbacks(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRegisterDefaultInputCallbacks", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlRegisterDefaultOutputCallbacks(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + + mem_base = xmlMemBlocks(); + + xmlRegisterDefaultOutputCallbacks(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRegisterDefaultOutputCallbacks", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlRegisterHTTPPostCallbacks(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) && defined(LIBXML_HTTP_ENABLED) + int mem_base; + + mem_base = xmlMemBlocks(); + + xmlRegisterHTTPPostCallbacks(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRegisterHTTPPostCallbacks", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_xmlIO(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing xmlIO : 40 of 50 functions ...\n"); + test_ret += test_xmlAllocOutputBuffer(); + test_ret += test_xmlAllocParserInputBuffer(); + test_ret += test_xmlCheckFilename(); + test_ret += test_xmlCheckHTTPInput(); + test_ret += test_xmlCleanupInputCallbacks(); + test_ret += test_xmlCleanupOutputCallbacks(); + test_ret += test_xmlFileClose(); + test_ret += test_xmlFileMatch(); + test_ret += test_xmlFileOpen(); + test_ret += test_xmlFileRead(); + test_ret += test_xmlIOFTPClose(); + test_ret += test_xmlIOFTPMatch(); + test_ret += test_xmlIOFTPOpen(); + test_ret += test_xmlIOFTPRead(); + test_ret += test_xmlIOHTTPClose(); + test_ret += test_xmlIOHTTPMatch(); + test_ret += test_xmlIOHTTPOpen(); + test_ret += test_xmlIOHTTPRead(); + test_ret += test_xmlNoNetExternalEntityLoader(); + test_ret += test_xmlNormalizeWindowsPath(); + test_ret += test_xmlOutputBufferCreateBuffer(); + test_ret += test_xmlOutputBufferCreateFd(); + test_ret += test_xmlOutputBufferCreateFile(); + test_ret += test_xmlOutputBufferCreateFilename(); + test_ret += test_xmlOutputBufferFlush(); + test_ret += test_xmlOutputBufferGetContent(); + test_ret += test_xmlOutputBufferGetSize(); + test_ret += test_xmlOutputBufferWrite(); + test_ret += test_xmlOutputBufferWriteEscape(); + test_ret += test_xmlOutputBufferWriteString(); + test_ret += test_xmlParserGetDirectory(); + test_ret += test_xmlParserInputBufferCreateFd(); + test_ret += test_xmlParserInputBufferCreateFile(); + test_ret += test_xmlParserInputBufferCreateFilename(); + test_ret += test_xmlParserInputBufferCreateMem(); + test_ret += test_xmlParserInputBufferCreateStatic(); + test_ret += test_xmlParserInputBufferGrow(); + test_ret += test_xmlParserInputBufferPush(); + test_ret += test_xmlParserInputBufferRead(); + test_ret += test_xmlPopInputCallbacks(); + test_ret += test_xmlRegisterDefaultInputCallbacks(); + test_ret += test_xmlRegisterDefaultOutputCallbacks(); + test_ret += test_xmlRegisterHTTPPostCallbacks(); + + if (test_ret != 0) + printf("Module xmlIO: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlAutomataCompile(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlAutomataGetInitState(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + +#ifdef LIBXML_AUTOMATA_ENABLED + +#define gen_nb_xmlAutomataPtr 1 +static xmlAutomataPtr gen_xmlAutomataPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlAutomataPtr(int no ATTRIBUTE_UNUSED, xmlAutomataPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlAutomataIsDeterminist(void) { + int test_ret = 0; + +#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED) + int mem_base; + int ret_val; + xmlAutomataPtr am; /* an automata */ + int n_am; + + for (n_am = 0;n_am < gen_nb_xmlAutomataPtr;n_am++) { + mem_base = xmlMemBlocks(); + am = gen_xmlAutomataPtr(n_am, 0); + + ret_val = xmlAutomataIsDeterminist(am); + desret_int(ret_val); + call_tests++; + des_xmlAutomataPtr(n_am, am, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlAutomataIsDeterminist", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_am); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlAutomataNewAllTrans(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlAutomataNewCountTrans(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlAutomataNewCountTrans2(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlAutomataNewCountedTrans(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlAutomataNewCounter(void) { + int test_ret = 0; + +#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED) + int mem_base; + int ret_val; + xmlAutomataPtr am; /* an automata */ + int n_am; + int min; /* the minimal value on the counter */ + int n_min; + int max; /* the maximal value on the counter */ + int n_max; + + for (n_am = 0;n_am < gen_nb_xmlAutomataPtr;n_am++) { + for (n_min = 0;n_min < gen_nb_int;n_min++) { + for (n_max = 0;n_max < gen_nb_int;n_max++) { + mem_base = xmlMemBlocks(); + am = gen_xmlAutomataPtr(n_am, 0); + min = gen_int(n_min, 1); + max = gen_int(n_max, 2); + + ret_val = xmlAutomataNewCounter(am, min, max); + desret_int(ret_val); + call_tests++; + des_xmlAutomataPtr(n_am, am, 0); + des_int(n_min, min, 1); + des_int(n_max, max, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlAutomataNewCounter", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_am); + printf(" %d", n_min); + printf(" %d", n_max); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlAutomataNewCounterTrans(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlAutomataNewEpsilon(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlAutomataNewNegTrans(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlAutomataNewOnceTrans(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlAutomataNewOnceTrans2(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlAutomataNewState(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlAutomataNewTransition(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlAutomataNewTransition2(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + +#ifdef LIBXML_AUTOMATA_ENABLED + +#define gen_nb_xmlAutomataStatePtr 1 +static xmlAutomataStatePtr gen_xmlAutomataStatePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlAutomataStatePtr(int no ATTRIBUTE_UNUSED, xmlAutomataStatePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlAutomataSetFinalState(void) { + int test_ret = 0; + +#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED) + int mem_base; + int ret_val; + xmlAutomataPtr am; /* an automata */ + int n_am; + xmlAutomataStatePtr state; /* a state in this automata */ + int n_state; + + for (n_am = 0;n_am < gen_nb_xmlAutomataPtr;n_am++) { + for (n_state = 0;n_state < gen_nb_xmlAutomataStatePtr;n_state++) { + mem_base = xmlMemBlocks(); + am = gen_xmlAutomataPtr(n_am, 0); + state = gen_xmlAutomataStatePtr(n_state, 1); + + ret_val = xmlAutomataSetFinalState(am, state); + desret_int(ret_val); + call_tests++; + des_xmlAutomataPtr(n_am, am, 0); + des_xmlAutomataStatePtr(n_state, state, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlAutomataSetFinalState", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_am); + printf(" %d", n_state); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNewAutomata(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + +static int +test_xmlautomata(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing xmlautomata : 3 of 19 functions ...\n"); + test_ret += test_xmlAutomataCompile(); + test_ret += test_xmlAutomataGetInitState(); + test_ret += test_xmlAutomataIsDeterminist(); + test_ret += test_xmlAutomataNewAllTrans(); + test_ret += test_xmlAutomataNewCountTrans(); + test_ret += test_xmlAutomataNewCountTrans2(); + test_ret += test_xmlAutomataNewCountedTrans(); + test_ret += test_xmlAutomataNewCounter(); + test_ret += test_xmlAutomataNewCounterTrans(); + test_ret += test_xmlAutomataNewEpsilon(); + test_ret += test_xmlAutomataNewNegTrans(); + test_ret += test_xmlAutomataNewOnceTrans(); + test_ret += test_xmlAutomataNewOnceTrans2(); + test_ret += test_xmlAutomataNewState(); + test_ret += test_xmlAutomataNewTransition(); + test_ret += test_xmlAutomataNewTransition2(); + test_ret += test_xmlAutomataSetFinalState(); + test_ret += test_xmlNewAutomata(); + + if (test_ret != 0) + printf("Module xmlautomata: %d errors\n", test_ret); + return(test_ret); +} + +#define gen_nb_xmlGenericErrorFunc_ptr 1 +static xmlGenericErrorFunc * gen_xmlGenericErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlGenericErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlGenericErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_initGenericErrorDefaultFunc(void) { + int test_ret = 0; + + int mem_base; + xmlGenericErrorFunc * handler; /* the handler */ + int n_handler; + + for (n_handler = 0;n_handler < gen_nb_xmlGenericErrorFunc_ptr;n_handler++) { + mem_base = xmlMemBlocks(); + handler = gen_xmlGenericErrorFunc_ptr(n_handler, 0); + + initGenericErrorDefaultFunc(handler); + call_tests++; + des_xmlGenericErrorFunc_ptr(n_handler, handler, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in initGenericErrorDefaultFunc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_handler); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +#define gen_nb_xmlErrorPtr 1 +static xmlErrorPtr gen_xmlErrorPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlErrorPtr(int no ATTRIBUTE_UNUSED, xmlErrorPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + +static int +test_xmlCopyError(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlErrorPtr from; /* a source error */ + int n_from; + xmlErrorPtr to; /* a target error */ + int n_to; + + for (n_from = 0;n_from < gen_nb_xmlErrorPtr;n_from++) { + for (n_to = 0;n_to < gen_nb_xmlErrorPtr;n_to++) { + mem_base = xmlMemBlocks(); + from = gen_xmlErrorPtr(n_from, 0); + to = gen_xmlErrorPtr(n_to, 1); + + ret_val = xmlCopyError(from, to); + desret_int(ret_val); + call_tests++; + des_xmlErrorPtr(n_from, from, 0); + des_xmlErrorPtr(n_to, to, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCopyError", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_from); + printf(" %d", n_to); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCtxtGetLastError(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlCtxtResetLastError(void) { + int test_ret = 0; + + int mem_base; + void * ctx; /* an XML parser context */ + int n_ctx; + + for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctx = gen_void_ptr(n_ctx, 0); + + xmlCtxtResetLastError(ctx); + call_tests++; + des_void_ptr(n_ctx, ctx, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCtxtResetLastError", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctx); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetLastError(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlParserError(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlParserPrintFileContext(void) { + int test_ret = 0; + + int mem_base; + xmlParserInputPtr input; /* an xmlParserInputPtr input */ + int n_input; + + for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) { + mem_base = xmlMemBlocks(); + input = gen_xmlParserInputPtr(n_input, 0); + + xmlParserPrintFileContext(input); + call_tests++; + des_xmlParserInputPtr(n_input, input, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParserPrintFileContext", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_input); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlParserPrintFileInfo(void) { + int test_ret = 0; + + int mem_base; + xmlParserInputPtr input; /* an xmlParserInputPtr input */ + int n_input; + + for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) { + mem_base = xmlMemBlocks(); + input = gen_xmlParserInputPtr(n_input, 0); + + xmlParserPrintFileInfo(input); + call_tests++; + des_xmlParserInputPtr(n_input, input, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlParserPrintFileInfo", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_input); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlParserValidityError(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlParserValidityWarning(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlParserWarning(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlResetError(void) { + int test_ret = 0; + + int mem_base; + xmlErrorPtr err; /* pointer to the error. */ + int n_err; + + for (n_err = 0;n_err < gen_nb_xmlErrorPtr;n_err++) { + mem_base = xmlMemBlocks(); + err = gen_xmlErrorPtr(n_err, 0); + + xmlResetError(err); + call_tests++; + des_xmlErrorPtr(n_err, err, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlResetError", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_err); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlResetLastError(void) { + int test_ret = 0; + + + + xmlResetLastError(); + call_tests++; + xmlResetLastError(); + function_tests++; + + return(test_ret); +} + + +static int +test_xmlSetGenericErrorFunc(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSetStructuredErrorFunc(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + +static int +test_xmlerror(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing xmlerror : 7 of 15 functions ...\n"); + test_ret += test_initGenericErrorDefaultFunc(); + test_ret += test_xmlCopyError(); + test_ret += test_xmlCtxtGetLastError(); + test_ret += test_xmlCtxtResetLastError(); + test_ret += test_xmlGetLastError(); + test_ret += test_xmlParserError(); + test_ret += test_xmlParserPrintFileContext(); + test_ret += test_xmlParserPrintFileInfo(); + test_ret += test_xmlParserValidityError(); + test_ret += test_xmlParserValidityWarning(); + test_ret += test_xmlParserWarning(); + test_ret += test_xmlResetError(); + test_ret += test_xmlResetLastError(); + test_ret += test_xmlSetGenericErrorFunc(); + test_ret += test_xmlSetStructuredErrorFunc(); + + if (test_ret != 0) + printf("Module xmlerror: %d errors\n", test_ret); + return(test_ret); +} +#ifdef LIBXML_MODULES_ENABLED + +#define gen_nb_xmlModulePtr 1 +static xmlModulePtr gen_xmlModulePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlModulePtr(int no ATTRIBUTE_UNUSED, xmlModulePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlModuleClose(void) { + int test_ret = 0; + +#if defined(LIBXML_MODULES_ENABLED) + int mem_base; + int ret_val; + xmlModulePtr module; /* the module handle */ + int n_module; + + for (n_module = 0;n_module < gen_nb_xmlModulePtr;n_module++) { + mem_base = xmlMemBlocks(); + module = gen_xmlModulePtr(n_module, 0); + + ret_val = xmlModuleClose(module); + desret_int(ret_val); + call_tests++; + des_xmlModulePtr(n_module, module, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlModuleClose", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_module); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlModuleOpen(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlModuleSymbol(void) { + int test_ret = 0; + +#if defined(LIBXML_MODULES_ENABLED) + int mem_base; + int ret_val; + xmlModulePtr module; /* the module */ + int n_module; + char * name; /* the name of the symbol */ + int n_name; + void ** symbol; /* the resulting symbol address */ + int n_symbol; + + for (n_module = 0;n_module < gen_nb_xmlModulePtr;n_module++) { + for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) { + for (n_symbol = 0;n_symbol < gen_nb_void_ptr_ptr;n_symbol++) { + mem_base = xmlMemBlocks(); + module = gen_xmlModulePtr(n_module, 0); + name = gen_const_char_ptr(n_name, 1); + symbol = gen_void_ptr_ptr(n_symbol, 2); + + ret_val = xmlModuleSymbol(module, (const char *)name, symbol); + desret_int(ret_val); + call_tests++; + des_xmlModulePtr(n_module, module, 0); + des_const_char_ptr(n_name, (const char *)name, 1); + des_void_ptr_ptr(n_symbol, symbol, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlModuleSymbol", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_module); + printf(" %d", n_name); + printf(" %d", n_symbol); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_xmlmodule(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing xmlmodule : 2 of 4 functions ...\n"); + test_ret += test_xmlModuleClose(); + test_ret += test_xmlModuleOpen(); + test_ret += test_xmlModuleSymbol(); + + if (test_ret != 0) + printf("Module xmlmodule: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlNewTextReader(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlTextReaderPtr ret_val; + xmlParserInputBufferPtr input; /* the xmlParserInputBufferPtr used to read data */ + int n_input; + const char * URI; /* the URI information for the source if available */ + int n_URI; + + for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) { + for (n_URI = 0;n_URI < gen_nb_filepath;n_URI++) { + mem_base = xmlMemBlocks(); + input = gen_xmlParserInputBufferPtr(n_input, 0); + URI = gen_filepath(n_URI, 1); + + ret_val = xmlNewTextReader(input, URI); + desret_xmlTextReaderPtr(ret_val); + call_tests++; + des_xmlParserInputBufferPtr(n_input, input, 0); + des_filepath(n_URI, URI, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewTextReader", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_input); + printf(" %d", n_URI); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNewTextReaderFilename(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlTextReaderPtr ret_val; + const char * URI; /* the URI of the resource to process */ + int n_URI; + + for (n_URI = 0;n_URI < gen_nb_filepath;n_URI++) { + mem_base = xmlMemBlocks(); + URI = gen_filepath(n_URI, 0); + + ret_val = xmlNewTextReaderFilename(URI); + desret_xmlTextReaderPtr(ret_val); + call_tests++; + des_filepath(n_URI, URI, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewTextReaderFilename", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_URI); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlReaderForDoc(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlTextReaderPtr ret_val; + xmlChar * cur; /* a pointer to a zero terminated string */ + int n_cur; + const char * URL; /* the base URL to use for the document */ + int n_URL; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + int options; /* a combination of xmlParserOption */ + int n_options; + + for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) { + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) { + mem_base = xmlMemBlocks(); + cur = gen_const_xmlChar_ptr(n_cur, 0); + URL = gen_filepath(n_URL, 1); + encoding = gen_const_char_ptr(n_encoding, 2); + options = gen_parseroptions(n_options, 3); + + ret_val = xmlReaderForDoc((const xmlChar *)cur, URL, (const char *)encoding, options); + desret_xmlTextReaderPtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0); + des_filepath(n_URL, URL, 1); + des_const_char_ptr(n_encoding, (const char *)encoding, 2); + des_parseroptions(n_options, options, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlReaderForDoc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_URL); + printf(" %d", n_encoding); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlReaderForFile(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlTextReaderPtr ret_val; + const char * filename; /* a file or URL */ + int n_filename; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + int options; /* a combination of xmlParserOption */ + int n_options; + + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) { + mem_base = xmlMemBlocks(); + filename = gen_filepath(n_filename, 0); + encoding = gen_const_char_ptr(n_encoding, 1); + options = gen_parseroptions(n_options, 2); + + ret_val = xmlReaderForFile(filename, (const char *)encoding, options); + desret_xmlTextReaderPtr(ret_val); + call_tests++; + des_filepath(n_filename, filename, 0); + des_const_char_ptr(n_encoding, (const char *)encoding, 1); + des_parseroptions(n_options, options, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlReaderForFile", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_filename); + printf(" %d", n_encoding); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlReaderForMemory(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlTextReaderPtr ret_val; + char * buffer; /* a pointer to a char array */ + int n_buffer; + int size; /* the size of the array */ + int n_size; + const char * URL; /* the base URL to use for the document */ + int n_URL; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + int options; /* a combination of xmlParserOption */ + int n_options; + + for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) { + mem_base = xmlMemBlocks(); + buffer = gen_const_char_ptr(n_buffer, 0); + size = gen_int(n_size, 1); + URL = gen_filepath(n_URL, 2); + encoding = gen_const_char_ptr(n_encoding, 3); + options = gen_parseroptions(n_options, 4); + if ((buffer != NULL) && + (size > (int) strlen((const char *) buffer) + 1)) + continue; + + ret_val = xmlReaderForMemory((const char *)buffer, size, URL, (const char *)encoding, options); + desret_xmlTextReaderPtr(ret_val); + call_tests++; + des_const_char_ptr(n_buffer, (const char *)buffer, 0); + des_int(n_size, size, 1); + des_filepath(n_URL, URL, 2); + des_const_char_ptr(n_encoding, (const char *)encoding, 3); + des_parseroptions(n_options, options, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlReaderForMemory", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buffer); + printf(" %d", n_size); + printf(" %d", n_URL); + printf(" %d", n_encoding); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlReaderNewDoc(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* an XML reader */ + int n_reader; + xmlChar * cur; /* a pointer to a zero terminated string */ + int n_cur; + const char * URL; /* the base URL to use for the document */ + int n_URL; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + int options; /* a combination of xmlParserOption */ + int n_options; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) { + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + cur = gen_const_xmlChar_ptr(n_cur, 1); + URL = gen_filepath(n_URL, 2); + encoding = gen_const_char_ptr(n_encoding, 3); + options = gen_parseroptions(n_options, 4); + + ret_val = xmlReaderNewDoc(reader, (const xmlChar *)cur, URL, (const char *)encoding, options); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1); + des_filepath(n_URL, URL, 2); + des_const_char_ptr(n_encoding, (const char *)encoding, 3); + des_parseroptions(n_options, options, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlReaderNewDoc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_cur); + printf(" %d", n_URL); + printf(" %d", n_encoding); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlReaderNewFile(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* an XML reader */ + int n_reader; + const char * filename; /* a file or URL */ + int n_filename; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + int options; /* a combination of xmlParserOption */ + int n_options; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + filename = gen_filepath(n_filename, 1); + encoding = gen_const_char_ptr(n_encoding, 2); + options = gen_parseroptions(n_options, 3); + + ret_val = xmlReaderNewFile(reader, filename, (const char *)encoding, options); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_filepath(n_filename, filename, 1); + des_const_char_ptr(n_encoding, (const char *)encoding, 2); + des_parseroptions(n_options, options, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlReaderNewFile", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_filename); + printf(" %d", n_encoding); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlReaderNewMemory(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* an XML reader */ + int n_reader; + char * buffer; /* a pointer to a char array */ + int n_buffer; + int size; /* the size of the array */ + int n_size; + const char * URL; /* the base URL to use for the document */ + int n_URL; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + int options; /* a combination of xmlParserOption */ + int n_options; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + buffer = gen_const_char_ptr(n_buffer, 1); + size = gen_int(n_size, 2); + URL = gen_filepath(n_URL, 3); + encoding = gen_const_char_ptr(n_encoding, 4); + options = gen_parseroptions(n_options, 5); + if ((buffer != NULL) && + (size > (int) strlen((const char *) buffer) + 1)) + continue; + + ret_val = xmlReaderNewMemory(reader, (const char *)buffer, size, URL, (const char *)encoding, options); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_const_char_ptr(n_buffer, (const char *)buffer, 1); + des_int(n_size, size, 2); + des_filepath(n_URL, URL, 3); + des_const_char_ptr(n_encoding, (const char *)encoding, 4); + des_parseroptions(n_options, options, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlReaderNewMemory", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_buffer); + printf(" %d", n_size); + printf(" %d", n_URL); + printf(" %d", n_encoding); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlReaderNewWalker(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* an XML reader */ + int n_reader; + xmlDocPtr doc; /* a preparsed document */ + int n_doc; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + doc = gen_xmlDocPtr(n_doc, 1); + + ret_val = xmlReaderNewWalker(reader, doc); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_xmlDocPtr(n_doc, doc, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlReaderNewWalker", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_doc); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlReaderWalker(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlTextReaderPtr ret_val; + xmlDocPtr doc; /* a preparsed document */ + int n_doc; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + + ret_val = xmlReaderWalker(doc); + desret_xmlTextReaderPtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlReaderWalker", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderAttributeCount(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderAttributeCount(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderAttributeCount", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderBaseUri(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderBaseUri(reader); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderBaseUri", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderByteConsumed(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + long ret_val; + xmlTextReaderPtr reader; /* an XML reader */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderByteConsumed(reader); + desret_long(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderByteConsumed", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderClose(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderClose(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderClose", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderConstBaseUri(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + const xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderConstBaseUri(reader); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderConstBaseUri", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderConstEncoding(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + const xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderConstEncoding(reader); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderConstEncoding", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderConstLocalName(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + const xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderConstLocalName(reader); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderConstLocalName", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderConstName(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + const xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderConstName(reader); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderConstName", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderConstNamespaceUri(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + const xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderConstNamespaceUri(reader); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderConstNamespaceUri", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderConstPrefix(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + const xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderConstPrefix(reader); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderConstPrefix", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderConstString(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + const xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + xmlChar * str; /* the string to intern. */ + int n_str; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + str = gen_const_xmlChar_ptr(n_str, 1); + + ret_val = xmlTextReaderConstString(reader, (const xmlChar *)str); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderConstString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_str); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderConstValue(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + const xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderConstValue(reader); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderConstValue", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderConstXmlLang(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + const xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderConstXmlLang(reader); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderConstXmlLang", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderConstXmlVersion(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + const xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderConstXmlVersion(reader); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderConstXmlVersion", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderCurrentDoc(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlDocPtr ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderCurrentDoc(reader); + desret_xmlDocPtr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderCurrentDoc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderCurrentNode(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderCurrentNode(reader); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderCurrentNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderDepth(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderDepth(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderDepth", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderExpand(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderExpand(reader); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderExpand", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderGetAttribute(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + xmlChar * name; /* the qualified name of the attribute. */ + int n_name; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlTextReaderGetAttribute(reader, (const xmlChar *)name); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderGetAttribute", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderGetAttributeNo(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + int no; /* the zero-based index of the attribute relative to the containing element */ + int n_no; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_no = 0;n_no < gen_nb_int;n_no++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + no = gen_int(n_no, 1); + + ret_val = xmlTextReaderGetAttributeNo(reader, no); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_int(n_no, no, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderGetAttributeNo", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_no); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderGetAttributeNs(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + xmlChar * localName; /* the local name of the attribute. */ + int n_localName; + xmlChar * namespaceURI; /* the namespace URI of the attribute. */ + int n_namespaceURI; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_localName = 0;n_localName < gen_nb_const_xmlChar_ptr;n_localName++) { + for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + localName = gen_const_xmlChar_ptr(n_localName, 1); + namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 2); + + ret_val = xmlTextReaderGetAttributeNs(reader, (const xmlChar *)localName, (const xmlChar *)namespaceURI); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_const_xmlChar_ptr(n_localName, (const xmlChar *)localName, 1); + des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderGetAttributeNs", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_localName); + printf(" %d", n_namespaceURI); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +#ifdef LIBXML_READER_ENABLED + +#define gen_nb_xmlTextReaderErrorFunc_ptr 1 +static xmlTextReaderErrorFunc * gen_xmlTextReaderErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlTextReaderErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlTextReaderErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlTextReaderGetErrorHandler(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + xmlTextReaderErrorFunc * f; /* the callback function or NULL is no callback has been registered */ + int n_f; + void ** arg; /* a user argument */ + int n_arg; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_f = 0;n_f < gen_nb_xmlTextReaderErrorFunc_ptr;n_f++) { + for (n_arg = 0;n_arg < gen_nb_void_ptr_ptr;n_arg++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + f = gen_xmlTextReaderErrorFunc_ptr(n_f, 1); + arg = gen_void_ptr_ptr(n_arg, 2); + + xmlTextReaderGetErrorHandler(reader, f, arg); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_xmlTextReaderErrorFunc_ptr(n_f, f, 1); + des_void_ptr_ptr(n_arg, arg, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderGetErrorHandler", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_f); + printf(" %d", n_arg); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderGetParserColumnNumber(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the user data (XML reader context) */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderGetParserColumnNumber(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderGetParserColumnNumber", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderGetParserLineNumber(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the user data (XML reader context) */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderGetParserLineNumber(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderGetParserLineNumber", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderGetParserProp(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + int prop; /* the xmlParserProperties to get */ + int n_prop; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_prop = 0;n_prop < gen_nb_int;n_prop++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + prop = gen_int(n_prop, 1); + + ret_val = xmlTextReaderGetParserProp(reader, prop); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_int(n_prop, prop, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderGetParserProp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_prop); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderGetRemainder(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlParserInputBufferPtr ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderGetRemainder(reader); + desret_xmlParserInputBufferPtr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderGetRemainder", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderHasAttributes(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderHasAttributes(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderHasAttributes", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderHasValue(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderHasValue(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderHasValue", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderIsDefault(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderIsDefault(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderIsDefault", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderIsEmptyElement(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderIsEmptyElement(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderIsEmptyElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderIsNamespaceDecl(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderIsNamespaceDecl(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderIsNamespaceDecl", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderIsValid(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderIsValid(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderIsValid", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderLocalName(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderLocalName(reader); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderLocalName", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + +#ifdef LIBXML_READER_ENABLED + +#define gen_nb_xmlTextReaderLocatorPtr 1 +static xmlTextReaderLocatorPtr gen_xmlTextReaderLocatorPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlTextReaderLocatorPtr(int no ATTRIBUTE_UNUSED, xmlTextReaderLocatorPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlTextReaderLocatorBaseURI(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlTextReaderLocatorPtr locator; /* the xmlTextReaderLocatorPtr used */ + int n_locator; + + for (n_locator = 0;n_locator < gen_nb_xmlTextReaderLocatorPtr;n_locator++) { + mem_base = xmlMemBlocks(); + locator = gen_xmlTextReaderLocatorPtr(n_locator, 0); + + ret_val = xmlTextReaderLocatorBaseURI(locator); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderLocatorPtr(n_locator, locator, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderLocatorBaseURI", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_locator); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderLocatorLineNumber(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderLocatorPtr locator; /* the xmlTextReaderLocatorPtr used */ + int n_locator; + + for (n_locator = 0;n_locator < gen_nb_xmlTextReaderLocatorPtr;n_locator++) { + mem_base = xmlMemBlocks(); + locator = gen_xmlTextReaderLocatorPtr(n_locator, 0); + + ret_val = xmlTextReaderLocatorLineNumber(locator); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderLocatorPtr(n_locator, locator, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderLocatorLineNumber", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_locator); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderLookupNamespace(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + xmlChar * prefix; /* the prefix whose namespace URI is to be resolved. To return the default namespace, specify NULL */ + int n_prefix; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + prefix = gen_const_xmlChar_ptr(n_prefix, 1); + + ret_val = xmlTextReaderLookupNamespace(reader, (const xmlChar *)prefix); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderLookupNamespace", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_prefix); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderMoveToAttribute(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + xmlChar * name; /* the qualified name of the attribute. */ + int n_name; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlTextReaderMoveToAttribute(reader, (const xmlChar *)name); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderMoveToAttribute", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderMoveToAttributeNo(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + int no; /* the zero-based index of the attribute relative to the containing element. */ + int n_no; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_no = 0;n_no < gen_nb_int;n_no++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + no = gen_int(n_no, 1); + + ret_val = xmlTextReaderMoveToAttributeNo(reader, no); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_int(n_no, no, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderMoveToAttributeNo", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_no); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderMoveToAttributeNs(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + xmlChar * localName; /* the local name of the attribute. */ + int n_localName; + xmlChar * namespaceURI; /* the namespace URI of the attribute. */ + int n_namespaceURI; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_localName = 0;n_localName < gen_nb_const_xmlChar_ptr;n_localName++) { + for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + localName = gen_const_xmlChar_ptr(n_localName, 1); + namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 2); + + ret_val = xmlTextReaderMoveToAttributeNs(reader, (const xmlChar *)localName, (const xmlChar *)namespaceURI); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_const_xmlChar_ptr(n_localName, (const xmlChar *)localName, 1); + des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderMoveToAttributeNs", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_localName); + printf(" %d", n_namespaceURI); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderMoveToElement(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderMoveToElement(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderMoveToElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderMoveToFirstAttribute(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderMoveToFirstAttribute(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderMoveToFirstAttribute", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderMoveToNextAttribute(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderMoveToNextAttribute(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderMoveToNextAttribute", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderName(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderName(reader); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderName", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderNamespaceUri(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderNamespaceUri(reader); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderNamespaceUri", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderNext(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderNext(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderNext", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderNextSibling(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderNextSibling(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderNextSibling", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderNodeType(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderNodeType(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderNodeType", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderNormalization(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderNormalization(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderNormalization", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderPrefix(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderPrefix(reader); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderPrefix", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderPreserve(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderPreserve(reader); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderPreserve", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderPreservePattern(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_PATTERN_ENABLED) +#ifdef LIBXML_PATTERN_ENABLED + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + xmlChar * pattern; /* an XPath subset pattern */ + int n_pattern; + xmlChar ** namespaces; /* the prefix definitions, array of [URI, prefix] or NULL */ + int n_namespaces; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_pattern = 0;n_pattern < gen_nb_const_xmlChar_ptr;n_pattern++) { + for (n_namespaces = 0;n_namespaces < gen_nb_const_xmlChar_ptr_ptr;n_namespaces++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + pattern = gen_const_xmlChar_ptr(n_pattern, 1); + namespaces = gen_const_xmlChar_ptr_ptr(n_namespaces, 2); + + ret_val = xmlTextReaderPreservePattern(reader, (const xmlChar *)pattern, (const xmlChar **)namespaces); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_const_xmlChar_ptr(n_pattern, (const xmlChar *)pattern, 1); + des_const_xmlChar_ptr_ptr(n_namespaces, (const xmlChar **)namespaces, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderPreservePattern", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_pattern); + printf(" %d", n_namespaces); + printf("\n"); + } + } + } + } + function_tests++; +#endif +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderQuoteChar(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderQuoteChar(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderQuoteChar", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderRead(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderRead(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderRead", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderReadAttributeValue(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderReadAttributeValue(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderReadAttributeValue", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderReadState(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderReadState(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderReadState", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderRelaxNGSetSchema(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + xmlRelaxNGPtr schema; /* a precompiled RelaxNG schema */ + int n_schema; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_schema = 0;n_schema < gen_nb_xmlRelaxNGPtr;n_schema++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + schema = gen_xmlRelaxNGPtr(n_schema, 1); + + ret_val = xmlTextReaderRelaxNGSetSchema(reader, schema); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_xmlRelaxNGPtr(n_schema, schema, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderRelaxNGSetSchema", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_schema); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderRelaxNGValidate(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + char * rng; /* the path to a RelaxNG schema or NULL */ + int n_rng; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_rng = 0;n_rng < gen_nb_const_char_ptr;n_rng++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + rng = gen_const_char_ptr(n_rng, 1); + + ret_val = xmlTextReaderRelaxNGValidate(reader, (const char *)rng); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_const_char_ptr(n_rng, (const char *)rng, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderRelaxNGValidate", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_rng); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderRelaxNGValidateCtxt(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + xmlRelaxNGValidCtxtPtr ctxt; /* the RelaxNG schema validation context or NULL */ + int n_ctxt; + int options; /* options (not used yet) */ + int n_options; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) { + for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 1); + options = gen_parseroptions(n_options, 2); + + ret_val = xmlTextReaderRelaxNGValidateCtxt(reader, ctxt, options); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 1); + des_parseroptions(n_options, options, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderRelaxNGValidateCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_ctxt); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderSchemaValidate(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED) + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + char * xsd; /* the path to a W3C XSD schema or NULL */ + int n_xsd; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_xsd = 0;n_xsd < gen_nb_const_char_ptr;n_xsd++) { + reader = gen_xmlTextReaderPtr(n_reader, 0); + xsd = gen_const_char_ptr(n_xsd, 1); + + ret_val = xmlTextReaderSchemaValidate(reader, (const char *)xsd); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_const_char_ptr(n_xsd, (const char *)xsd, 1); + xmlResetLastError(); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderSchemaValidateCtxt(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + xmlSchemaValidCtxtPtr ctxt; /* the XML Schema validation context or NULL */ + int n_ctxt; + int options; /* options (not used yet) */ + int n_options; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) { + for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 1); + options = gen_parseroptions(n_options, 2); + + ret_val = xmlTextReaderSchemaValidateCtxt(reader, ctxt, options); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 1); + des_parseroptions(n_options, options, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderSchemaValidateCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_ctxt); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderSetErrorHandler(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextReaderSetParserProp(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + int prop; /* the xmlParserProperties to set */ + int n_prop; + int value; /* usually 0 or 1 to (de)activate it */ + int n_value; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_prop = 0;n_prop < gen_nb_int;n_prop++) { + for (n_value = 0;n_value < gen_nb_int;n_value++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + prop = gen_int(n_prop, 1); + value = gen_int(n_value, 2); + + ret_val = xmlTextReaderSetParserProp(reader, prop, value); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_int(n_prop, prop, 1); + des_int(n_value, value, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderSetParserProp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_prop); + printf(" %d", n_value); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderSetSchema(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + xmlSchemaPtr schema; /* a precompiled Schema schema */ + int n_schema; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_schema = 0;n_schema < gen_nb_xmlSchemaPtr;n_schema++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + schema = gen_xmlSchemaPtr(n_schema, 1); + + ret_val = xmlTextReaderSetSchema(reader, schema); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_xmlSchemaPtr(n_schema, schema, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderSetSchema", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_schema); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderSetStructuredErrorHandler(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextReaderSetup(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* an XML reader */ + int n_reader; + xmlParserInputBufferPtr input; /* xmlParserInputBufferPtr used to feed the reader, will be destroyed with it. */ + int n_input; + const char * URL; /* the base URL to use for the document */ + int n_URL; + char * encoding; /* the document encoding, or NULL */ + int n_encoding; + int options; /* a combination of xmlParserOption */ + int n_options; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) { + for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + input = gen_xmlParserInputBufferPtr(n_input, 1); + URL = gen_filepath(n_URL, 2); + encoding = gen_const_char_ptr(n_encoding, 3); + options = gen_parseroptions(n_options, 4); + + ret_val = xmlTextReaderSetup(reader, input, URL, (const char *)encoding, options); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + des_filepath(n_URL, URL, 2); + des_const_char_ptr(n_encoding, (const char *)encoding, 3); + des_parseroptions(n_options, options, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderSetup", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf(" %d", n_input); + printf(" %d", n_URL); + printf(" %d", n_encoding); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderStandalone(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + int ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderStandalone(reader); + desret_int(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderStandalone", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderValue(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderValue(reader); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderValue", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextReaderXmlLang(void) { + int test_ret = 0; + +#if defined(LIBXML_READER_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */ + int n_reader; + + for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) { + mem_base = xmlMemBlocks(); + reader = gen_xmlTextReaderPtr(n_reader, 0); + + ret_val = xmlTextReaderXmlLang(reader); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlTextReaderPtr(n_reader, reader, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextReaderXmlLang", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_reader); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_xmlreader(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing xmlreader : 76 of 86 functions ...\n"); + test_ret += test_xmlNewTextReader(); + test_ret += test_xmlNewTextReaderFilename(); + test_ret += test_xmlReaderForDoc(); + test_ret += test_xmlReaderForFile(); + test_ret += test_xmlReaderForMemory(); + test_ret += test_xmlReaderNewDoc(); + test_ret += test_xmlReaderNewFile(); + test_ret += test_xmlReaderNewMemory(); + test_ret += test_xmlReaderNewWalker(); + test_ret += test_xmlReaderWalker(); + test_ret += test_xmlTextReaderAttributeCount(); + test_ret += test_xmlTextReaderBaseUri(); + test_ret += test_xmlTextReaderByteConsumed(); + test_ret += test_xmlTextReaderClose(); + test_ret += test_xmlTextReaderConstBaseUri(); + test_ret += test_xmlTextReaderConstEncoding(); + test_ret += test_xmlTextReaderConstLocalName(); + test_ret += test_xmlTextReaderConstName(); + test_ret += test_xmlTextReaderConstNamespaceUri(); + test_ret += test_xmlTextReaderConstPrefix(); + test_ret += test_xmlTextReaderConstString(); + test_ret += test_xmlTextReaderConstValue(); + test_ret += test_xmlTextReaderConstXmlLang(); + test_ret += test_xmlTextReaderConstXmlVersion(); + test_ret += test_xmlTextReaderCurrentDoc(); + test_ret += test_xmlTextReaderCurrentNode(); + test_ret += test_xmlTextReaderDepth(); + test_ret += test_xmlTextReaderExpand(); + test_ret += test_xmlTextReaderGetAttribute(); + test_ret += test_xmlTextReaderGetAttributeNo(); + test_ret += test_xmlTextReaderGetAttributeNs(); + test_ret += test_xmlTextReaderGetErrorHandler(); + test_ret += test_xmlTextReaderGetParserColumnNumber(); + test_ret += test_xmlTextReaderGetParserLineNumber(); + test_ret += test_xmlTextReaderGetParserProp(); + test_ret += test_xmlTextReaderGetRemainder(); + test_ret += test_xmlTextReaderHasAttributes(); + test_ret += test_xmlTextReaderHasValue(); + test_ret += test_xmlTextReaderIsDefault(); + test_ret += test_xmlTextReaderIsEmptyElement(); + test_ret += test_xmlTextReaderIsNamespaceDecl(); + test_ret += test_xmlTextReaderIsValid(); + test_ret += test_xmlTextReaderLocalName(); + test_ret += test_xmlTextReaderLocatorBaseURI(); + test_ret += test_xmlTextReaderLocatorLineNumber(); + test_ret += test_xmlTextReaderLookupNamespace(); + test_ret += test_xmlTextReaderMoveToAttribute(); + test_ret += test_xmlTextReaderMoveToAttributeNo(); + test_ret += test_xmlTextReaderMoveToAttributeNs(); + test_ret += test_xmlTextReaderMoveToElement(); + test_ret += test_xmlTextReaderMoveToFirstAttribute(); + test_ret += test_xmlTextReaderMoveToNextAttribute(); + test_ret += test_xmlTextReaderName(); + test_ret += test_xmlTextReaderNamespaceUri(); + test_ret += test_xmlTextReaderNext(); + test_ret += test_xmlTextReaderNextSibling(); + test_ret += test_xmlTextReaderNodeType(); + test_ret += test_xmlTextReaderNormalization(); + test_ret += test_xmlTextReaderPrefix(); + test_ret += test_xmlTextReaderPreserve(); + test_ret += test_xmlTextReaderPreservePattern(); + test_ret += test_xmlTextReaderQuoteChar(); + test_ret += test_xmlTextReaderRead(); + test_ret += test_xmlTextReaderReadAttributeValue(); + test_ret += test_xmlTextReaderReadState(); + test_ret += test_xmlTextReaderRelaxNGSetSchema(); + test_ret += test_xmlTextReaderRelaxNGValidate(); + test_ret += test_xmlTextReaderRelaxNGValidateCtxt(); + test_ret += test_xmlTextReaderSchemaValidate(); + test_ret += test_xmlTextReaderSchemaValidateCtxt(); + test_ret += test_xmlTextReaderSetErrorHandler(); + test_ret += test_xmlTextReaderSetParserProp(); + test_ret += test_xmlTextReaderSetSchema(); + test_ret += test_xmlTextReaderSetStructuredErrorHandler(); + test_ret += test_xmlTextReaderSetup(); + test_ret += test_xmlTextReaderStandalone(); + test_ret += test_xmlTextReaderValue(); + test_ret += test_xmlTextReaderXmlLang(); + + if (test_ret != 0) + printf("Module xmlreader: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlExpCtxtNbCons(void) { + int test_ret = 0; + +#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED) + int mem_base; + int ret_val; + xmlExpCtxtPtr ctxt; /* an expression context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0); + + ret_val = xmlExpCtxtNbCons(ctxt); + desret_int(ret_val); + call_tests++; + des_xmlExpCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlExpCtxtNbCons", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlExpCtxtNbNodes(void) { + int test_ret = 0; + +#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED) + int mem_base; + int ret_val; + xmlExpCtxtPtr ctxt; /* an expression context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0); + + ret_val = xmlExpCtxtNbNodes(ctxt); + desret_int(ret_val); + call_tests++; + des_xmlExpCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlExpCtxtNbNodes", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlExpDump(void) { + int test_ret = 0; + +#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED) + int mem_base; + xmlBufferPtr buf; /* a buffer to receive the output */ + int n_buf; + xmlExpNodePtr expr; /* the compiled expression */ + int n_expr; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_expr = 0;n_expr < gen_nb_xmlExpNodePtr;n_expr++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + expr = gen_xmlExpNodePtr(n_expr, 1); + + xmlExpDump(buf, expr); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_xmlExpNodePtr(n_expr, expr, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlExpDump", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_expr); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlExpExpDerive(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlExpGetLanguage(void) { + int test_ret = 0; + +#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED) + int mem_base; + int ret_val; + xmlExpCtxtPtr ctxt; /* the expression context */ + int n_ctxt; + xmlExpNodePtr exp; /* the expression */ + int n_exp; + xmlChar ** langList; /* where to store the tokens */ + int n_langList; + int len; /* the allocated length of @list */ + int n_len; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) { + for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) { + for (n_langList = 0;n_langList < gen_nb_const_xmlChar_ptr_ptr;n_langList++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0); + exp = gen_xmlExpNodePtr(n_exp, 1); + langList = gen_const_xmlChar_ptr_ptr(n_langList, 2); + len = gen_int(n_len, 3); + + ret_val = xmlExpGetLanguage(ctxt, exp, (const xmlChar **)langList, len); + desret_int(ret_val); + call_tests++; + des_xmlExpCtxtPtr(n_ctxt, ctxt, 0); + des_xmlExpNodePtr(n_exp, exp, 1); + des_const_xmlChar_ptr_ptr(n_langList, (const xmlChar **)langList, 2); + des_int(n_len, len, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlExpGetLanguage", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_exp); + printf(" %d", n_langList); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlExpGetStart(void) { + int test_ret = 0; + +#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED) + int mem_base; + int ret_val; + xmlExpCtxtPtr ctxt; /* the expression context */ + int n_ctxt; + xmlExpNodePtr exp; /* the expression */ + int n_exp; + xmlChar ** tokList; /* where to store the tokens */ + int n_tokList; + int len; /* the allocated length of @list */ + int n_len; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) { + for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) { + for (n_tokList = 0;n_tokList < gen_nb_const_xmlChar_ptr_ptr;n_tokList++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0); + exp = gen_xmlExpNodePtr(n_exp, 1); + tokList = gen_const_xmlChar_ptr_ptr(n_tokList, 2); + len = gen_int(n_len, 3); + + ret_val = xmlExpGetStart(ctxt, exp, (const xmlChar **)tokList, len); + desret_int(ret_val); + call_tests++; + des_xmlExpCtxtPtr(n_ctxt, ctxt, 0); + des_xmlExpNodePtr(n_exp, exp, 1); + des_const_xmlChar_ptr_ptr(n_tokList, (const xmlChar **)tokList, 2); + des_int(n_len, len, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlExpGetStart", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_exp); + printf(" %d", n_tokList); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlExpIsNillable(void) { + int test_ret = 0; + +#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED) + int mem_base; + int ret_val; + xmlExpNodePtr exp; /* the expression */ + int n_exp; + + for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) { + mem_base = xmlMemBlocks(); + exp = gen_xmlExpNodePtr(n_exp, 0); + + ret_val = xmlExpIsNillable(exp); + desret_int(ret_val); + call_tests++; + des_xmlExpNodePtr(n_exp, exp, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlExpIsNillable", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_exp); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlExpMaxToken(void) { + int test_ret = 0; + +#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED) + int mem_base; + int ret_val; + xmlExpNodePtr expr; /* a compiled expression */ + int n_expr; + + for (n_expr = 0;n_expr < gen_nb_xmlExpNodePtr;n_expr++) { + mem_base = xmlMemBlocks(); + expr = gen_xmlExpNodePtr(n_expr, 0); + + ret_val = xmlExpMaxToken(expr); + desret_int(ret_val); + call_tests++; + des_xmlExpNodePtr(n_expr, expr, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlExpMaxToken", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_expr); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlExpNewAtom(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlExpNewCtxt(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlExpNewOr(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlExpNewRange(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlExpNewSeq(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlExpParse(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlExpRef(void) { + int test_ret = 0; + +#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED) + int mem_base; + xmlExpNodePtr exp; /* the expression */ + int n_exp; + + for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) { + mem_base = xmlMemBlocks(); + exp = gen_xmlExpNodePtr(n_exp, 0); + + xmlExpRef(exp); + call_tests++; + des_xmlExpNodePtr(n_exp, exp, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlExpRef", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_exp); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlExpStringDerive(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlExpSubsume(void) { + int test_ret = 0; + +#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED) + int mem_base; + int ret_val; + xmlExpCtxtPtr ctxt; /* the expressions context */ + int n_ctxt; + xmlExpNodePtr exp; /* the englobing expression */ + int n_exp; + xmlExpNodePtr sub; /* the subexpression */ + int n_sub; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) { + for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) { + for (n_sub = 0;n_sub < gen_nb_xmlExpNodePtr;n_sub++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0); + exp = gen_xmlExpNodePtr(n_exp, 1); + sub = gen_xmlExpNodePtr(n_sub, 2); + + ret_val = xmlExpSubsume(ctxt, exp, sub); + desret_int(ret_val); + call_tests++; + des_xmlExpCtxtPtr(n_ctxt, ctxt, 0); + des_xmlExpNodePtr(n_exp, exp, 1); + des_xmlExpNodePtr(n_sub, sub, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlExpSubsume", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_exp); + printf(" %d", n_sub); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +#ifdef LIBXML_REGEXP_ENABLED + +#define gen_nb_xmlRegExecCtxtPtr 1 +static xmlRegExecCtxtPtr gen_xmlRegExecCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlRegExecCtxtPtr(int no ATTRIBUTE_UNUSED, xmlRegExecCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlRegExecErrInfo(void) { + int test_ret = 0; + +#if defined(LIBXML_REGEXP_ENABLED) + int mem_base; + int ret_val; + xmlRegExecCtxtPtr exec; /* a regexp execution context generating an error */ + int n_exec; + xmlChar ** string; /* return value for the error string */ + int n_string; + int * nbval; /* pointer to the number of accepted values IN/OUT */ + int n_nbval; + int * nbneg; /* return number of negative transitions */ + int n_nbneg; + xmlChar ** values; /* pointer to the array of acceptable values */ + int n_values; + int * terminal; /* return value if this was a terminal state */ + int n_terminal; + + for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) { + for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr_ptr;n_string++) { + for (n_nbval = 0;n_nbval < gen_nb_int_ptr;n_nbval++) { + for (n_nbneg = 0;n_nbneg < gen_nb_int_ptr;n_nbneg++) { + for (n_values = 0;n_values < gen_nb_xmlChar_ptr_ptr;n_values++) { + for (n_terminal = 0;n_terminal < gen_nb_int_ptr;n_terminal++) { + mem_base = xmlMemBlocks(); + exec = gen_xmlRegExecCtxtPtr(n_exec, 0); + string = gen_const_xmlChar_ptr_ptr(n_string, 1); + nbval = gen_int_ptr(n_nbval, 2); + nbneg = gen_int_ptr(n_nbneg, 3); + values = gen_xmlChar_ptr_ptr(n_values, 4); + terminal = gen_int_ptr(n_terminal, 5); + + ret_val = xmlRegExecErrInfo(exec, (const xmlChar **)string, nbval, nbneg, values, terminal); + desret_int(ret_val); + call_tests++; + des_xmlRegExecCtxtPtr(n_exec, exec, 0); + des_const_xmlChar_ptr_ptr(n_string, (const xmlChar **)string, 1); + des_int_ptr(n_nbval, nbval, 2); + des_int_ptr(n_nbneg, nbneg, 3); + des_xmlChar_ptr_ptr(n_values, values, 4); + des_int_ptr(n_terminal, terminal, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRegExecErrInfo", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_exec); + printf(" %d", n_string); + printf(" %d", n_nbval); + printf(" %d", n_nbneg); + printf(" %d", n_values); + printf(" %d", n_terminal); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlRegExecNextValues(void) { + int test_ret = 0; + +#if defined(LIBXML_REGEXP_ENABLED) + int mem_base; + int ret_val; + xmlRegExecCtxtPtr exec; /* a regexp execution context */ + int n_exec; + int * nbval; /* pointer to the number of accepted values IN/OUT */ + int n_nbval; + int * nbneg; /* return number of negative transitions */ + int n_nbneg; + xmlChar ** values; /* pointer to the array of acceptable values */ + int n_values; + int * terminal; /* return value if this was a terminal state */ + int n_terminal; + + for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) { + for (n_nbval = 0;n_nbval < gen_nb_int_ptr;n_nbval++) { + for (n_nbneg = 0;n_nbneg < gen_nb_int_ptr;n_nbneg++) { + for (n_values = 0;n_values < gen_nb_xmlChar_ptr_ptr;n_values++) { + for (n_terminal = 0;n_terminal < gen_nb_int_ptr;n_terminal++) { + mem_base = xmlMemBlocks(); + exec = gen_xmlRegExecCtxtPtr(n_exec, 0); + nbval = gen_int_ptr(n_nbval, 1); + nbneg = gen_int_ptr(n_nbneg, 2); + values = gen_xmlChar_ptr_ptr(n_values, 3); + terminal = gen_int_ptr(n_terminal, 4); + + ret_val = xmlRegExecNextValues(exec, nbval, nbneg, values, terminal); + desret_int(ret_val); + call_tests++; + des_xmlRegExecCtxtPtr(n_exec, exec, 0); + des_int_ptr(n_nbval, nbval, 1); + des_int_ptr(n_nbneg, nbneg, 2); + des_xmlChar_ptr_ptr(n_values, values, 3); + des_int_ptr(n_terminal, terminal, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRegExecNextValues", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_exec); + printf(" %d", n_nbval); + printf(" %d", n_nbneg); + printf(" %d", n_values); + printf(" %d", n_terminal); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlRegExecPushString(void) { + int test_ret = 0; + +#if defined(LIBXML_REGEXP_ENABLED) + int mem_base; + int ret_val; + xmlRegExecCtxtPtr exec; /* a regexp execution context or NULL to indicate the end */ + int n_exec; + xmlChar * value; /* a string token input */ + int n_value; + void * data; /* data associated to the token to reuse in callbacks */ + int n_data; + + for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + for (n_data = 0;n_data < gen_nb_userdata;n_data++) { + mem_base = xmlMemBlocks(); + exec = gen_xmlRegExecCtxtPtr(n_exec, 0); + value = gen_const_xmlChar_ptr(n_value, 1); + data = gen_userdata(n_data, 2); + + ret_val = xmlRegExecPushString(exec, (const xmlChar *)value, data); + desret_int(ret_val); + call_tests++; + des_xmlRegExecCtxtPtr(n_exec, exec, 0); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1); + des_userdata(n_data, data, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRegExecPushString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_exec); + printf(" %d", n_value); + printf(" %d", n_data); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlRegExecPushString2(void) { + int test_ret = 0; + +#if defined(LIBXML_REGEXP_ENABLED) + int mem_base; + int ret_val; + xmlRegExecCtxtPtr exec; /* a regexp execution context or NULL to indicate the end */ + int n_exec; + xmlChar * value; /* the first string token input */ + int n_value; + xmlChar * value2; /* the second string token input */ + int n_value2; + void * data; /* data associated to the token to reuse in callbacks */ + int n_data; + + for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + for (n_value2 = 0;n_value2 < gen_nb_const_xmlChar_ptr;n_value2++) { + for (n_data = 0;n_data < gen_nb_userdata;n_data++) { + mem_base = xmlMemBlocks(); + exec = gen_xmlRegExecCtxtPtr(n_exec, 0); + value = gen_const_xmlChar_ptr(n_value, 1); + value2 = gen_const_xmlChar_ptr(n_value2, 2); + data = gen_userdata(n_data, 3); + + ret_val = xmlRegExecPushString2(exec, (const xmlChar *)value, (const xmlChar *)value2, data); + desret_int(ret_val); + call_tests++; + des_xmlRegExecCtxtPtr(n_exec, exec, 0); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1); + des_const_xmlChar_ptr(n_value2, (const xmlChar *)value2, 2); + des_userdata(n_data, data, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRegExecPushString2", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_exec); + printf(" %d", n_value); + printf(" %d", n_value2); + printf(" %d", n_data); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlRegNewExecCtxt(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlRegexpCompile(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + +#ifdef LIBXML_REGEXP_ENABLED + +#define gen_nb_xmlRegexpPtr 1 +static xmlRegexpPtr gen_xmlRegexpPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlRegexpPtr(int no ATTRIBUTE_UNUSED, xmlRegexpPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlRegexpExec(void) { + int test_ret = 0; + +#if defined(LIBXML_REGEXP_ENABLED) + int mem_base; + int ret_val; + xmlRegexpPtr comp; /* the compiled regular expression */ + int n_comp; + xmlChar * content; /* the value to check against the regular expression */ + int n_content; + + for (n_comp = 0;n_comp < gen_nb_xmlRegexpPtr;n_comp++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + comp = gen_xmlRegexpPtr(n_comp, 0); + content = gen_const_xmlChar_ptr(n_content, 1); + + ret_val = xmlRegexpExec(comp, (const xmlChar *)content); + desret_int(ret_val); + call_tests++; + des_xmlRegexpPtr(n_comp, comp, 0); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRegexpExec", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_comp); + printf(" %d", n_content); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlRegexpIsDeterminist(void) { + int test_ret = 0; + +#if defined(LIBXML_REGEXP_ENABLED) + int mem_base; + int ret_val; + xmlRegexpPtr comp; /* the compiled regular expression */ + int n_comp; + + for (n_comp = 0;n_comp < gen_nb_xmlRegexpPtr;n_comp++) { + mem_base = xmlMemBlocks(); + comp = gen_xmlRegexpPtr(n_comp, 0); + + ret_val = xmlRegexpIsDeterminist(comp); + desret_int(ret_val); + call_tests++; + des_xmlRegexpPtr(n_comp, comp, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRegexpIsDeterminist", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_comp); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlRegexpPrint(void) { + int test_ret = 0; + +#if defined(LIBXML_REGEXP_ENABLED) + int mem_base; + FILE * output; /* the file for the output debug */ + int n_output; + xmlRegexpPtr regexp; /* the compiled regexp */ + int n_regexp; + + for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) { + for (n_regexp = 0;n_regexp < gen_nb_xmlRegexpPtr;n_regexp++) { + mem_base = xmlMemBlocks(); + output = gen_FILE_ptr(n_output, 0); + regexp = gen_xmlRegexpPtr(n_regexp, 1); + + xmlRegexpPrint(output, regexp); + call_tests++; + des_FILE_ptr(n_output, output, 0); + des_xmlRegexpPtr(n_regexp, regexp, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlRegexpPrint", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_output); + printf(" %d", n_regexp); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_xmlregexp(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing xmlregexp : 16 of 30 functions ...\n"); + test_ret += test_xmlExpCtxtNbCons(); + test_ret += test_xmlExpCtxtNbNodes(); + test_ret += test_xmlExpDump(); + test_ret += test_xmlExpExpDerive(); + test_ret += test_xmlExpGetLanguage(); + test_ret += test_xmlExpGetStart(); + test_ret += test_xmlExpIsNillable(); + test_ret += test_xmlExpMaxToken(); + test_ret += test_xmlExpNewAtom(); + test_ret += test_xmlExpNewCtxt(); + test_ret += test_xmlExpNewOr(); + test_ret += test_xmlExpNewRange(); + test_ret += test_xmlExpNewSeq(); + test_ret += test_xmlExpParse(); + test_ret += test_xmlExpRef(); + test_ret += test_xmlExpStringDerive(); + test_ret += test_xmlExpSubsume(); + test_ret += test_xmlRegExecErrInfo(); + test_ret += test_xmlRegExecNextValues(); + test_ret += test_xmlRegExecPushString(); + test_ret += test_xmlRegExecPushString2(); + test_ret += test_xmlRegNewExecCtxt(); + test_ret += test_xmlRegexpCompile(); + test_ret += test_xmlRegexpExec(); + test_ret += test_xmlRegexpIsDeterminist(); + test_ret += test_xmlRegexpPrint(); + + if (test_ret != 0) + printf("Module xmlregexp: %d errors\n", test_ret); + return(test_ret); +} +#ifdef LIBXML_OUTPUT_ENABLED + +#define gen_nb_xmlSaveCtxtPtr 1 +static xmlSaveCtxtPtr gen_xmlSaveCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlSaveCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSaveCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlSaveClose(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + xmlSaveCtxtPtr ctxt; /* a document saving context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0); + + ret_val = xmlSaveClose(ctxt); + desret_int(ret_val); + call_tests++; + des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSaveClose", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSaveDoc(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + long ret_val; + xmlSaveCtxtPtr ctxt; /* a document saving context */ + int n_ctxt; + xmlDocPtr doc; /* a document */ + int n_doc; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + + ret_val = xmlSaveDoc(ctxt, doc); + desret_long(ret_val); + call_tests++; + des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSaveDoc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSaveFlush(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + int ret_val; + xmlSaveCtxtPtr ctxt; /* a document saving context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0); + + ret_val = xmlSaveFlush(ctxt); + desret_int(ret_val); + call_tests++; + des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSaveFlush", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSaveSetAttrEscape(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSaveSetEscape(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSaveToBuffer(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSaveToFd(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSaveToFilename(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSaveTree(void) { + int test_ret = 0; + +#if defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + long ret_val; + xmlSaveCtxtPtr ctxt; /* a document saving context */ + int n_ctxt; + xmlNodePtr node; /* the top node of the subtree to save */ + int n_node; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0); + node = gen_xmlNodePtr(n_node, 1); + + ret_val = xmlSaveTree(ctxt, node); + desret_long(ret_val); + call_tests++; + des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0); + des_xmlNodePtr(n_node, node, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSaveTree", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_node); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_xmlsave(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing xmlsave : 4 of 10 functions ...\n"); + test_ret += test_xmlSaveClose(); + test_ret += test_xmlSaveDoc(); + test_ret += test_xmlSaveFlush(); + test_ret += test_xmlSaveSetAttrEscape(); + test_ret += test_xmlSaveSetEscape(); + test_ret += test_xmlSaveToBuffer(); + test_ret += test_xmlSaveToFd(); + test_ret += test_xmlSaveToFilename(); + test_ret += test_xmlSaveTree(); + + if (test_ret != 0) + printf("Module xmlsave: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlSchemaDump(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + int mem_base; + FILE * output; /* the file output */ + int n_output; + xmlSchemaPtr schema; /* a schema structure */ + int n_schema; + + for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) { + for (n_schema = 0;n_schema < gen_nb_xmlSchemaPtr;n_schema++) { + mem_base = xmlMemBlocks(); + output = gen_FILE_ptr(n_output, 0); + schema = gen_xmlSchemaPtr(n_schema, 1); + + xmlSchemaDump(output, schema); + call_tests++; + des_FILE_ptr(n_output, output, 0); + des_xmlSchemaPtr(n_schema, schema, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaDump", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_output); + printf(" %d", n_schema); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +#ifdef LIBXML_SCHEMAS_ENABLED + +#define gen_nb_xmlSchemaParserCtxtPtr 1 +static xmlSchemaParserCtxtPtr gen_xmlSchemaParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlSchemaParserCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchemaParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + +#ifdef LIBXML_SCHEMAS_ENABLED + +#define gen_nb_xmlSchemaValidityErrorFunc_ptr 1 +static xmlSchemaValidityErrorFunc * gen_xmlSchemaValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlSchemaValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlSchemaValidityErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + +#ifdef LIBXML_SCHEMAS_ENABLED + +#define gen_nb_xmlSchemaValidityWarningFunc_ptr 1 +static xmlSchemaValidityWarningFunc * gen_xmlSchemaValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlSchemaValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, xmlSchemaValidityWarningFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlSchemaGetParserErrors(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaParserCtxtPtr ctxt; /* a XMl-Schema parser context */ + int n_ctxt; + xmlSchemaValidityErrorFunc * err; /* the error callback result */ + int n_err; + xmlSchemaValidityWarningFunc * warn; /* the warning callback result */ + int n_warn; + void ** ctx; /* contextual data for the callbacks result */ + int n_ctx; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaParserCtxtPtr;n_ctxt++) { + for (n_err = 0;n_err < gen_nb_xmlSchemaValidityErrorFunc_ptr;n_err++) { + for (n_warn = 0;n_warn < gen_nb_xmlSchemaValidityWarningFunc_ptr;n_warn++) { + for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlSchemaParserCtxtPtr(n_ctxt, 0); + err = gen_xmlSchemaValidityErrorFunc_ptr(n_err, 1); + warn = gen_xmlSchemaValidityWarningFunc_ptr(n_warn, 2); + ctx = gen_void_ptr_ptr(n_ctx, 3); + + ret_val = xmlSchemaGetParserErrors(ctxt, err, warn, ctx); + desret_int(ret_val); + call_tests++; + des_xmlSchemaParserCtxtPtr(n_ctxt, ctxt, 0); + des_xmlSchemaValidityErrorFunc_ptr(n_err, err, 1); + des_xmlSchemaValidityWarningFunc_ptr(n_warn, warn, 2); + des_void_ptr_ptr(n_ctx, ctx, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaGetParserErrors", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_err); + printf(" %d", n_warn); + printf(" %d", n_ctx); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaGetValidErrors(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaValidCtxtPtr ctxt; /* a XML-Schema validation context */ + int n_ctxt; + xmlSchemaValidityErrorFunc * err; /* the error function result */ + int n_err; + xmlSchemaValidityWarningFunc * warn; /* the warning function result */ + int n_warn; + void ** ctx; /* the functions context result */ + int n_ctx; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) { + for (n_err = 0;n_err < gen_nb_xmlSchemaValidityErrorFunc_ptr;n_err++) { + for (n_warn = 0;n_warn < gen_nb_xmlSchemaValidityWarningFunc_ptr;n_warn++) { + for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0); + err = gen_xmlSchemaValidityErrorFunc_ptr(n_err, 1); + warn = gen_xmlSchemaValidityWarningFunc_ptr(n_warn, 2); + ctx = gen_void_ptr_ptr(n_ctx, 3); + + ret_val = xmlSchemaGetValidErrors(ctxt, err, warn, ctx); + desret_int(ret_val); + call_tests++; + des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlSchemaValidityErrorFunc_ptr(n_err, err, 1); + des_xmlSchemaValidityWarningFunc_ptr(n_warn, warn, 2); + des_void_ptr_ptr(n_ctx, ctx, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaGetValidErrors", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_err); + printf(" %d", n_warn); + printf(" %d", n_ctx); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaIsValid(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaValidCtxtPtr ctxt; /* the schema validation context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0); + + ret_val = xmlSchemaIsValid(ctxt); + desret_int(ret_val); + call_tests++; + des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaIsValid", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaNewDocParserCtxt(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + xmlSchemaParserCtxtPtr ret_val; + xmlDocPtr doc; /* a preparsed document tree */ + int n_doc; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + + ret_val = xmlSchemaNewDocParserCtxt(doc); + desret_xmlSchemaParserCtxtPtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaNewDocParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaNewMemParserCtxt(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + xmlSchemaParserCtxtPtr ret_val; + char * buffer; /* a pointer to a char array containing the schemas */ + int n_buffer; + int size; /* the size of the array */ + int n_size; + + for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) { + for (n_size = 0;n_size < gen_nb_int;n_size++) { + mem_base = xmlMemBlocks(); + buffer = gen_const_char_ptr(n_buffer, 0); + size = gen_int(n_size, 1); + if ((buffer != NULL) && + (size > (int) strlen((const char *) buffer) + 1)) + continue; + + ret_val = xmlSchemaNewMemParserCtxt((const char *)buffer, size); + desret_xmlSchemaParserCtxtPtr(ret_val); + call_tests++; + des_const_char_ptr(n_buffer, (const char *)buffer, 0); + des_int(n_size, size, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaNewMemParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buffer); + printf(" %d", n_size); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaNewParserCtxt(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + xmlSchemaParserCtxtPtr ret_val; + char * URL; /* the location of the schema */ + int n_URL; + + for (n_URL = 0;n_URL < gen_nb_const_char_ptr;n_URL++) { + mem_base = xmlMemBlocks(); + URL = gen_const_char_ptr(n_URL, 0); + + ret_val = xmlSchemaNewParserCtxt((const char *)URL); + desret_xmlSchemaParserCtxtPtr(ret_val); + call_tests++; + des_const_char_ptr(n_URL, (const char *)URL, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaNewParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_URL); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaNewValidCtxt(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSchemaParse(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSchemaSAXPlug(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + +#ifdef LIBXML_SCHEMAS_ENABLED + +#define gen_nb_xmlSchemaSAXPlugPtr 1 +static xmlSchemaSAXPlugPtr gen_xmlSchemaSAXPlugPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlSchemaSAXPlugPtr(int no ATTRIBUTE_UNUSED, xmlSchemaSAXPlugPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlSchemaSAXUnplug(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaSAXPlugPtr plug; /* a data structure returned by xmlSchemaSAXPlug */ + int n_plug; + + for (n_plug = 0;n_plug < gen_nb_xmlSchemaSAXPlugPtr;n_plug++) { + mem_base = xmlMemBlocks(); + plug = gen_xmlSchemaSAXPlugPtr(n_plug, 0); + + ret_val = xmlSchemaSAXUnplug(plug); + desret_int(ret_val); + call_tests++; + des_xmlSchemaSAXPlugPtr(n_plug, plug, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaSAXUnplug", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_plug); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaSetParserErrors(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSchemaSetParserStructuredErrors(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSchemaSetValidErrors(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSchemaSetValidOptions(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */ + int n_ctxt; + int options; /* a combination of xmlSchemaValidOption */ + int n_options; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) { + for (n_options = 0;n_options < gen_nb_int;n_options++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0); + options = gen_int(n_options, 1); + + ret_val = xmlSchemaSetValidOptions(ctxt, options); + desret_int(ret_val); + call_tests++; + des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0); + des_int(n_options, options, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaSetValidOptions", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_options); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaSetValidStructuredErrors(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSchemaValidCtxtGetOptions(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0); + + ret_val = xmlSchemaValidCtxtGetOptions(ctxt); + desret_int(ret_val); + call_tests++; + des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaValidCtxtGetOptions", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaValidCtxtGetParserCtxt(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + xmlParserCtxtPtr ret_val; + xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0); + + ret_val = xmlSchemaValidCtxtGetParserCtxt(ctxt); + desret_xmlParserCtxtPtr(ret_val); + call_tests++; + des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaValidCtxtGetParserCtxt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaValidateDoc(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */ + int n_ctxt; + xmlDocPtr doc; /* a parsed document tree */ + int n_doc; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) { + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0); + doc = gen_xmlDocPtr(n_doc, 1); + + ret_val = xmlSchemaValidateDoc(ctxt, doc); + desret_int(ret_val); + call_tests++; + des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlDocPtr(n_doc, doc, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaValidateDoc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_doc); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaValidateFile(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */ + int n_ctxt; + const char * filename; /* the URI of the instance */ + int n_filename; + int options; /* a future set of options, currently unused */ + int n_options; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) { + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + for (n_options = 0;n_options < gen_nb_int;n_options++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0); + filename = gen_filepath(n_filename, 1); + options = gen_int(n_options, 2); + + ret_val = xmlSchemaValidateFile(ctxt, filename, options); + desret_int(ret_val); + call_tests++; + des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0); + des_filepath(n_filename, filename, 1); + des_int(n_options, options, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaValidateFile", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_filename); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaValidateOneElement(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */ + int n_ctxt; + xmlNodePtr elem; /* an element node */ + int n_elem; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) { + for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0); + elem = gen_xmlNodePtr(n_elem, 1); + + ret_val = xmlSchemaValidateOneElement(ctxt, elem); + desret_int(ret_val); + call_tests++; + des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlNodePtr(n_elem, elem, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaValidateOneElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_elem); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaValidateSetFilename(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + xmlSchemaValidCtxtPtr vctxt; /* the schema validation context */ + int n_vctxt; + const char * filename; /* the file name */ + int n_filename; + + for (n_vctxt = 0;n_vctxt < gen_nb_xmlSchemaValidCtxtPtr;n_vctxt++) { + for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) { + mem_base = xmlMemBlocks(); + vctxt = gen_xmlSchemaValidCtxtPtr(n_vctxt, 0); + filename = gen_filepath(n_filename, 1); + + xmlSchemaValidateSetFilename(vctxt, filename); + call_tests++; + des_xmlSchemaValidCtxtPtr(n_vctxt, vctxt, 0); + des_filepath(n_filename, filename, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaValidateSetFilename", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_vctxt); + printf(" %d", n_filename); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaValidateSetLocator(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSchemaValidateStream(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */ + int n_ctxt; + xmlParserInputBufferPtr input; /* the input to use for reading the data */ + int n_input; + xmlCharEncoding enc; /* an optional encoding information */ + int n_enc; + xmlSAXHandlerPtr sax; /* a SAX handler for the resulting events */ + int n_sax; + void * user_data; /* the context to provide to the SAX handler. */ + int n_user_data; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) { + for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) { + for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) { + for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) { + for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0); + input = gen_xmlParserInputBufferPtr(n_input, 1); + enc = gen_xmlCharEncoding(n_enc, 2); + sax = gen_xmlSAXHandlerPtr(n_sax, 3); + user_data = gen_userdata(n_user_data, 4); + + ret_val = xmlSchemaValidateStream(ctxt, input, enc, sax, user_data); + desret_int(ret_val); + call_tests++; + des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0); + des_xmlParserInputBufferPtr(n_input, input, 1); + des_xmlCharEncoding(n_enc, enc, 2); + des_xmlSAXHandlerPtr(n_sax, sax, 3); + des_userdata(n_user_data, user_data, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaValidateStream", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_input); + printf(" %d", n_enc); + printf(" %d", n_sax); + printf(" %d", n_user_data); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_xmlschemas(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing xmlschemas : 16 of 27 functions ...\n"); + test_ret += test_xmlSchemaDump(); + test_ret += test_xmlSchemaGetParserErrors(); + test_ret += test_xmlSchemaGetValidErrors(); + test_ret += test_xmlSchemaIsValid(); + test_ret += test_xmlSchemaNewDocParserCtxt(); + test_ret += test_xmlSchemaNewMemParserCtxt(); + test_ret += test_xmlSchemaNewParserCtxt(); + test_ret += test_xmlSchemaNewValidCtxt(); + test_ret += test_xmlSchemaParse(); + test_ret += test_xmlSchemaSAXPlug(); + test_ret += test_xmlSchemaSAXUnplug(); + test_ret += test_xmlSchemaSetParserErrors(); + test_ret += test_xmlSchemaSetParserStructuredErrors(); + test_ret += test_xmlSchemaSetValidErrors(); + test_ret += test_xmlSchemaSetValidOptions(); + test_ret += test_xmlSchemaSetValidStructuredErrors(); + test_ret += test_xmlSchemaValidCtxtGetOptions(); + test_ret += test_xmlSchemaValidCtxtGetParserCtxt(); + test_ret += test_xmlSchemaValidateDoc(); + test_ret += test_xmlSchemaValidateFile(); + test_ret += test_xmlSchemaValidateOneElement(); + test_ret += test_xmlSchemaValidateSetFilename(); + test_ret += test_xmlSchemaValidateSetLocator(); + test_ret += test_xmlSchemaValidateStream(); + + if (test_ret != 0) + printf("Module xmlschemas: %d errors\n", test_ret); + return(test_ret); +} +#ifdef LIBXML_SCHEMAS_ENABLED + +#define gen_nb_xmlSchemaFacetPtr 1 +static xmlSchemaFacetPtr gen_xmlSchemaFacetPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlSchemaFacetPtr(int no ATTRIBUTE_UNUSED, xmlSchemaFacetPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + +#ifdef LIBXML_SCHEMAS_ENABLED + +#define gen_nb_xmlSchemaTypePtr 1 +static xmlSchemaTypePtr gen_xmlSchemaTypePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlSchemaTypePtr(int no ATTRIBUTE_UNUSED, xmlSchemaTypePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlSchemaCheckFacet(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaFacetPtr facet; /* the facet */ + int n_facet; + xmlSchemaTypePtr typeDecl; /* the schema type definition */ + int n_typeDecl; + xmlSchemaParserCtxtPtr pctxt; /* the schema parser context or NULL */ + int n_pctxt; + xmlChar * name; /* the optional name of the type */ + int n_name; + + for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) { + for (n_typeDecl = 0;n_typeDecl < gen_nb_xmlSchemaTypePtr;n_typeDecl++) { + for (n_pctxt = 0;n_pctxt < gen_nb_xmlSchemaParserCtxtPtr;n_pctxt++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + facet = gen_xmlSchemaFacetPtr(n_facet, 0); + typeDecl = gen_xmlSchemaTypePtr(n_typeDecl, 1); + pctxt = gen_xmlSchemaParserCtxtPtr(n_pctxt, 2); + name = gen_const_xmlChar_ptr(n_name, 3); + + ret_val = xmlSchemaCheckFacet(facet, typeDecl, pctxt, (const xmlChar *)name); + desret_int(ret_val); + call_tests++; + des_xmlSchemaFacetPtr(n_facet, facet, 0); + des_xmlSchemaTypePtr(n_typeDecl, typeDecl, 1); + des_xmlSchemaParserCtxtPtr(n_pctxt, pctxt, 2); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaCheckFacet", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_facet); + printf(" %d", n_typeDecl); + printf(" %d", n_pctxt); + printf(" %d", n_name); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaCleanupTypes(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + + + xmlSchemaCleanupTypes(); + call_tests++; + xmlResetLastError(); + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaCollapseString(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlChar * value; /* a value */ + int n_value; + + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + value = gen_const_xmlChar_ptr(n_value, 0); + + ret_val = xmlSchemaCollapseString((const xmlChar *)value); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaCollapseString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_value); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + +#ifdef LIBXML_SCHEMAS_ENABLED + +#define gen_nb_xmlSchemaValPtr 1 +static xmlSchemaValPtr gen_xmlSchemaValPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlSchemaValPtr(int no ATTRIBUTE_UNUSED, xmlSchemaValPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlSchemaCompareValues(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaValPtr x; /* a first value */ + int n_x; + xmlSchemaValPtr y; /* a second value */ + int n_y; + + for (n_x = 0;n_x < gen_nb_xmlSchemaValPtr;n_x++) { + for (n_y = 0;n_y < gen_nb_xmlSchemaValPtr;n_y++) { + mem_base = xmlMemBlocks(); + x = gen_xmlSchemaValPtr(n_x, 0); + y = gen_xmlSchemaValPtr(n_y, 1); + + ret_val = xmlSchemaCompareValues(x, y); + desret_int(ret_val); + call_tests++; + des_xmlSchemaValPtr(n_x, x, 0); + des_xmlSchemaValPtr(n_y, y, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaCompareValues", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_x); + printf(" %d", n_y); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaCompareValuesWhtsp(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaValPtr x; /* a first value */ + int n_x; + xmlSchemaWhitespaceValueType xws; /* the whitespace value of x */ + int n_xws; + xmlSchemaValPtr y; /* a second value */ + int n_y; + xmlSchemaWhitespaceValueType yws; /* the whitespace value of y */ + int n_yws; + + for (n_x = 0;n_x < gen_nb_xmlSchemaValPtr;n_x++) { + for (n_xws = 0;n_xws < gen_nb_xmlSchemaWhitespaceValueType;n_xws++) { + for (n_y = 0;n_y < gen_nb_xmlSchemaValPtr;n_y++) { + for (n_yws = 0;n_yws < gen_nb_xmlSchemaWhitespaceValueType;n_yws++) { + mem_base = xmlMemBlocks(); + x = gen_xmlSchemaValPtr(n_x, 0); + xws = gen_xmlSchemaWhitespaceValueType(n_xws, 1); + y = gen_xmlSchemaValPtr(n_y, 2); + yws = gen_xmlSchemaWhitespaceValueType(n_yws, 3); + + ret_val = xmlSchemaCompareValuesWhtsp(x, xws, y, yws); + desret_int(ret_val); + call_tests++; + des_xmlSchemaValPtr(n_x, x, 0); + des_xmlSchemaWhitespaceValueType(n_xws, xws, 1); + des_xmlSchemaValPtr(n_y, y, 2); + des_xmlSchemaWhitespaceValueType(n_yws, yws, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaCompareValuesWhtsp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_x); + printf(" %d", n_xws); + printf(" %d", n_y); + printf(" %d", n_yws); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaCopyValue(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSchemaGetBuiltInListSimpleTypeItemType(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + xmlSchemaTypePtr ret_val; + xmlSchemaTypePtr type; /* the built-in simple type. */ + int n_type; + + for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) { + mem_base = xmlMemBlocks(); + type = gen_xmlSchemaTypePtr(n_type, 0); + + ret_val = xmlSchemaGetBuiltInListSimpleTypeItemType(type); + desret_xmlSchemaTypePtr(ret_val); + call_tests++; + des_xmlSchemaTypePtr(n_type, type, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaGetBuiltInListSimpleTypeItemType", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_type); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaGetBuiltInType(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + xmlSchemaTypePtr ret_val; + xmlSchemaValType type; /* the type of the built in type */ + int n_type; + + for (n_type = 0;n_type < gen_nb_xmlSchemaValType;n_type++) { + type = gen_xmlSchemaValType(n_type, 0); + + ret_val = xmlSchemaGetBuiltInType(type); + desret_xmlSchemaTypePtr(ret_val); + call_tests++; + des_xmlSchemaValType(n_type, type, 0); + xmlResetLastError(); + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaGetCanonValue(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaValPtr val; /* the precomputed value */ + int n_val; + xmlChar ** retValue; /* the returned value */ + int n_retValue; + + for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) { + for (n_retValue = 0;n_retValue < gen_nb_const_xmlChar_ptr_ptr;n_retValue++) { + mem_base = xmlMemBlocks(); + val = gen_xmlSchemaValPtr(n_val, 0); + retValue = gen_const_xmlChar_ptr_ptr(n_retValue, 1); + + ret_val = xmlSchemaGetCanonValue(val, (const xmlChar **)retValue); + desret_int(ret_val); + call_tests++; + des_xmlSchemaValPtr(n_val, val, 0); + des_const_xmlChar_ptr_ptr(n_retValue, (const xmlChar **)retValue, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaGetCanonValue", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf(" %d", n_retValue); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaGetCanonValueWhtsp(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaValPtr val; /* the precomputed value */ + int n_val; + xmlChar ** retValue; /* the returned value */ + int n_retValue; + xmlSchemaWhitespaceValueType ws; /* the whitespace type of the value */ + int n_ws; + + for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) { + for (n_retValue = 0;n_retValue < gen_nb_const_xmlChar_ptr_ptr;n_retValue++) { + for (n_ws = 0;n_ws < gen_nb_xmlSchemaWhitespaceValueType;n_ws++) { + mem_base = xmlMemBlocks(); + val = gen_xmlSchemaValPtr(n_val, 0); + retValue = gen_const_xmlChar_ptr_ptr(n_retValue, 1); + ws = gen_xmlSchemaWhitespaceValueType(n_ws, 2); + + ret_val = xmlSchemaGetCanonValueWhtsp(val, (const xmlChar **)retValue, ws); + desret_int(ret_val); + call_tests++; + des_xmlSchemaValPtr(n_val, val, 0); + des_const_xmlChar_ptr_ptr(n_retValue, (const xmlChar **)retValue, 1); + des_xmlSchemaWhitespaceValueType(n_ws, ws, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaGetCanonValueWhtsp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf(" %d", n_retValue); + printf(" %d", n_ws); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaGetFacetValueAsULong(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + unsigned long ret_val; + xmlSchemaFacetPtr facet; /* an schemas type facet */ + int n_facet; + + for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) { + mem_base = xmlMemBlocks(); + facet = gen_xmlSchemaFacetPtr(n_facet, 0); + + ret_val = xmlSchemaGetFacetValueAsULong(facet); + desret_unsigned_long(ret_val); + call_tests++; + des_xmlSchemaFacetPtr(n_facet, facet, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaGetFacetValueAsULong", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_facet); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaGetPredefinedType(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + xmlSchemaTypePtr ret_val; + xmlChar * name; /* the type name */ + int n_name; + xmlChar * ns; /* the URI of the namespace usually "http://www.w3.org/2001/XMLSchema" */ + int n_ns; + + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) { + mem_base = xmlMemBlocks(); + name = gen_const_xmlChar_ptr(n_name, 0); + ns = gen_const_xmlChar_ptr(n_ns, 1); + + ret_val = xmlSchemaGetPredefinedType((const xmlChar *)name, (const xmlChar *)ns); + desret_xmlSchemaTypePtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0); + des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaGetPredefinedType", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_name); + printf(" %d", n_ns); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaGetValType(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + xmlSchemaValType ret_val; + xmlSchemaValPtr val; /* a schemas value */ + int n_val; + + for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_xmlSchemaValPtr(n_val, 0); + + ret_val = xmlSchemaGetValType(val); + desret_xmlSchemaValType(ret_val); + call_tests++; + des_xmlSchemaValPtr(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaGetValType", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaInitTypes(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + + + xmlSchemaInitTypes(); + call_tests++; + xmlResetLastError(); + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaIsBuiltInTypeFacet(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaTypePtr type; /* the built-in type */ + int n_type; + int facetType; /* the facet type */ + int n_facetType; + + for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) { + for (n_facetType = 0;n_facetType < gen_nb_int;n_facetType++) { + mem_base = xmlMemBlocks(); + type = gen_xmlSchemaTypePtr(n_type, 0); + facetType = gen_int(n_facetType, 1); + + ret_val = xmlSchemaIsBuiltInTypeFacet(type, facetType); + desret_int(ret_val); + call_tests++; + des_xmlSchemaTypePtr(n_type, type, 0); + des_int(n_facetType, facetType, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaIsBuiltInTypeFacet", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_type); + printf(" %d", n_facetType); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaNewFacet(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSchemaNewNOTATIONValue(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSchemaNewQNameValue(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSchemaNewStringValue(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + +#ifdef LIBXML_SCHEMAS_ENABLED + +#define gen_nb_xmlSchemaValPtr_ptr 1 +static xmlSchemaValPtr * gen_xmlSchemaValPtr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlSchemaValPtr_ptr(int no ATTRIBUTE_UNUSED, xmlSchemaValPtr * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlSchemaValPredefTypeNode(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaTypePtr type; /* the predefined type */ + int n_type; + xmlChar * value; /* the value to check */ + int n_value; + xmlSchemaValPtr * val; /* the return computed value */ + int n_val; + xmlNodePtr node; /* the node containing the value */ + int n_node; + + for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr_ptr;n_val++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + mem_base = xmlMemBlocks(); + type = gen_xmlSchemaTypePtr(n_type, 0); + value = gen_const_xmlChar_ptr(n_value, 1); + val = gen_xmlSchemaValPtr_ptr(n_val, 2); + node = gen_xmlNodePtr(n_node, 3); + + ret_val = xmlSchemaValPredefTypeNode(type, (const xmlChar *)value, val, node); + desret_int(ret_val); + call_tests++; + des_xmlSchemaTypePtr(n_type, type, 0); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1); + des_xmlSchemaValPtr_ptr(n_val, val, 2); + des_xmlNodePtr(n_node, node, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaValPredefTypeNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_type); + printf(" %d", n_value); + printf(" %d", n_val); + printf(" %d", n_node); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaValPredefTypeNodeNoNorm(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaTypePtr type; /* the predefined type */ + int n_type; + xmlChar * value; /* the value to check */ + int n_value; + xmlSchemaValPtr * val; /* the return computed value */ + int n_val; + xmlNodePtr node; /* the node containing the value */ + int n_node; + + for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr_ptr;n_val++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + mem_base = xmlMemBlocks(); + type = gen_xmlSchemaTypePtr(n_type, 0); + value = gen_const_xmlChar_ptr(n_value, 1); + val = gen_xmlSchemaValPtr_ptr(n_val, 2); + node = gen_xmlNodePtr(n_node, 3); + + ret_val = xmlSchemaValPredefTypeNodeNoNorm(type, (const xmlChar *)value, val, node); + desret_int(ret_val); + call_tests++; + des_xmlSchemaTypePtr(n_type, type, 0); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1); + des_xmlSchemaValPtr_ptr(n_val, val, 2); + des_xmlNodePtr(n_node, node, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaValPredefTypeNodeNoNorm", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_type); + printf(" %d", n_value); + printf(" %d", n_val); + printf(" %d", n_node); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaValidateFacet(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaTypePtr base; /* the base type */ + int n_base; + xmlSchemaFacetPtr facet; /* the facet to check */ + int n_facet; + xmlChar * value; /* the lexical repr of the value to validate */ + int n_value; + xmlSchemaValPtr val; /* the precomputed value */ + int n_val; + + for (n_base = 0;n_base < gen_nb_xmlSchemaTypePtr;n_base++) { + for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) { + mem_base = xmlMemBlocks(); + base = gen_xmlSchemaTypePtr(n_base, 0); + facet = gen_xmlSchemaFacetPtr(n_facet, 1); + value = gen_const_xmlChar_ptr(n_value, 2); + val = gen_xmlSchemaValPtr(n_val, 3); + + ret_val = xmlSchemaValidateFacet(base, facet, (const xmlChar *)value, val); + desret_int(ret_val); + call_tests++; + des_xmlSchemaTypePtr(n_base, base, 0); + des_xmlSchemaFacetPtr(n_facet, facet, 1); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2); + des_xmlSchemaValPtr(n_val, val, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaValidateFacet", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_base); + printf(" %d", n_facet); + printf(" %d", n_value); + printf(" %d", n_val); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaValidateFacetWhtsp(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaFacetPtr facet; /* the facet to check */ + int n_facet; + xmlSchemaWhitespaceValueType fws; /* the whitespace type of the facet's value */ + int n_fws; + xmlSchemaValType valType; /* the built-in type of the value */ + int n_valType; + xmlChar * value; /* the lexical (or normalized for pattern) repr of the value to validate */ + int n_value; + xmlSchemaValPtr val; /* the precomputed value */ + int n_val; + xmlSchemaWhitespaceValueType ws; /* the whitespace type of the value */ + int n_ws; + + for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) { + for (n_fws = 0;n_fws < gen_nb_xmlSchemaWhitespaceValueType;n_fws++) { + for (n_valType = 0;n_valType < gen_nb_xmlSchemaValType;n_valType++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) { + for (n_ws = 0;n_ws < gen_nb_xmlSchemaWhitespaceValueType;n_ws++) { + mem_base = xmlMemBlocks(); + facet = gen_xmlSchemaFacetPtr(n_facet, 0); + fws = gen_xmlSchemaWhitespaceValueType(n_fws, 1); + valType = gen_xmlSchemaValType(n_valType, 2); + value = gen_const_xmlChar_ptr(n_value, 3); + val = gen_xmlSchemaValPtr(n_val, 4); + ws = gen_xmlSchemaWhitespaceValueType(n_ws, 5); + + ret_val = xmlSchemaValidateFacetWhtsp(facet, fws, valType, (const xmlChar *)value, val, ws); + desret_int(ret_val); + call_tests++; + des_xmlSchemaFacetPtr(n_facet, facet, 0); + des_xmlSchemaWhitespaceValueType(n_fws, fws, 1); + des_xmlSchemaValType(n_valType, valType, 2); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3); + des_xmlSchemaValPtr(n_val, val, 4); + des_xmlSchemaWhitespaceValueType(n_ws, ws, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaValidateFacetWhtsp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_facet); + printf(" %d", n_fws); + printf(" %d", n_valType); + printf(" %d", n_value); + printf(" %d", n_val); + printf(" %d", n_ws); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaValidateLengthFacet(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaTypePtr type; /* the built-in type */ + int n_type; + xmlSchemaFacetPtr facet; /* the facet to check */ + int n_facet; + xmlChar * value; /* the lexical repr. of the value to be validated */ + int n_value; + xmlSchemaValPtr val; /* the precomputed value */ + int n_val; + unsigned long * length; /* the actual length of the value */ + int n_length; + + for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) { + for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) { + for (n_length = 0;n_length < gen_nb_unsigned_long_ptr;n_length++) { + mem_base = xmlMemBlocks(); + type = gen_xmlSchemaTypePtr(n_type, 0); + facet = gen_xmlSchemaFacetPtr(n_facet, 1); + value = gen_const_xmlChar_ptr(n_value, 2); + val = gen_xmlSchemaValPtr(n_val, 3); + length = gen_unsigned_long_ptr(n_length, 4); + + ret_val = xmlSchemaValidateLengthFacet(type, facet, (const xmlChar *)value, val, length); + desret_int(ret_val); + call_tests++; + des_xmlSchemaTypePtr(n_type, type, 0); + des_xmlSchemaFacetPtr(n_facet, facet, 1); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2); + des_xmlSchemaValPtr(n_val, val, 3); + des_unsigned_long_ptr(n_length, length, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaValidateLengthFacet", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_type); + printf(" %d", n_facet); + printf(" %d", n_value); + printf(" %d", n_val); + printf(" %d", n_length); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaValidateLengthFacetWhtsp(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaFacetPtr facet; /* the facet to check */ + int n_facet; + xmlSchemaValType valType; /* the built-in type */ + int n_valType; + xmlChar * value; /* the lexical repr. of the value to be validated */ + int n_value; + xmlSchemaValPtr val; /* the precomputed value */ + int n_val; + unsigned long * length; /* the actual length of the value */ + int n_length; + xmlSchemaWhitespaceValueType ws; /* the whitespace type of the value */ + int n_ws; + + for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) { + for (n_valType = 0;n_valType < gen_nb_xmlSchemaValType;n_valType++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) { + for (n_length = 0;n_length < gen_nb_unsigned_long_ptr;n_length++) { + for (n_ws = 0;n_ws < gen_nb_xmlSchemaWhitespaceValueType;n_ws++) { + mem_base = xmlMemBlocks(); + facet = gen_xmlSchemaFacetPtr(n_facet, 0); + valType = gen_xmlSchemaValType(n_valType, 1); + value = gen_const_xmlChar_ptr(n_value, 2); + val = gen_xmlSchemaValPtr(n_val, 3); + length = gen_unsigned_long_ptr(n_length, 4); + ws = gen_xmlSchemaWhitespaceValueType(n_ws, 5); + + ret_val = xmlSchemaValidateLengthFacetWhtsp(facet, valType, (const xmlChar *)value, val, length, ws); + desret_int(ret_val); + call_tests++; + des_xmlSchemaFacetPtr(n_facet, facet, 0); + des_xmlSchemaValType(n_valType, valType, 1); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2); + des_xmlSchemaValPtr(n_val, val, 3); + des_unsigned_long_ptr(n_length, length, 4); + des_xmlSchemaWhitespaceValueType(n_ws, ws, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaValidateLengthFacetWhtsp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_facet); + printf(" %d", n_valType); + printf(" %d", n_value); + printf(" %d", n_val); + printf(" %d", n_length); + printf(" %d", n_ws); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaValidateListSimpleTypeFacet(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaFacetPtr facet; /* the facet to check */ + int n_facet; + xmlChar * value; /* the lexical repr of the value to validate */ + int n_value; + unsigned long actualLen; /* the number of list items */ + int n_actualLen; + unsigned long * expectedLen; /* the resulting expected number of list items */ + int n_expectedLen; + + for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + for (n_actualLen = 0;n_actualLen < gen_nb_unsigned_long;n_actualLen++) { + for (n_expectedLen = 0;n_expectedLen < gen_nb_unsigned_long_ptr;n_expectedLen++) { + mem_base = xmlMemBlocks(); + facet = gen_xmlSchemaFacetPtr(n_facet, 0); + value = gen_const_xmlChar_ptr(n_value, 1); + actualLen = gen_unsigned_long(n_actualLen, 2); + expectedLen = gen_unsigned_long_ptr(n_expectedLen, 3); + + ret_val = xmlSchemaValidateListSimpleTypeFacet(facet, (const xmlChar *)value, actualLen, expectedLen); + desret_int(ret_val); + call_tests++; + des_xmlSchemaFacetPtr(n_facet, facet, 0); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1); + des_unsigned_long(n_actualLen, actualLen, 2); + des_unsigned_long_ptr(n_expectedLen, expectedLen, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaValidateListSimpleTypeFacet", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_facet); + printf(" %d", n_value); + printf(" %d", n_actualLen); + printf(" %d", n_expectedLen); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaValidatePredefinedType(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaTypePtr type; /* the predefined type */ + int n_type; + xmlChar * value; /* the value to check */ + int n_value; + xmlSchemaValPtr * val; /* the return computed value */ + int n_val; + + for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) { + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr_ptr;n_val++) { + mem_base = xmlMemBlocks(); + type = gen_xmlSchemaTypePtr(n_type, 0); + value = gen_const_xmlChar_ptr(n_value, 1); + val = gen_xmlSchemaValPtr_ptr(n_val, 2); + + ret_val = xmlSchemaValidatePredefinedType(type, (const xmlChar *)value, val); + desret_int(ret_val); + call_tests++; + des_xmlSchemaTypePtr(n_type, type, 0); + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1); + des_xmlSchemaValPtr_ptr(n_val, val, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaValidatePredefinedType", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_type); + printf(" %d", n_value); + printf(" %d", n_val); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaValueAppend(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaValPtr prev; /* the value */ + int n_prev; + xmlSchemaValPtr cur; /* the value to be appended */ + int n_cur; + + for (n_prev = 0;n_prev < gen_nb_xmlSchemaValPtr;n_prev++) { + for (n_cur = 0;n_cur < gen_nb_xmlSchemaValPtr;n_cur++) { + mem_base = xmlMemBlocks(); + prev = gen_xmlSchemaValPtr(n_prev, 0); + cur = gen_xmlSchemaValPtr(n_cur, 1); + + ret_val = xmlSchemaValueAppend(prev, cur); + desret_int(ret_val); + call_tests++; + des_xmlSchemaValPtr(n_prev, prev, 0); + des_xmlSchemaValPtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaValueAppend", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_prev); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaValueGetAsBoolean(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + xmlSchemaValPtr val; /* the value */ + int n_val; + + for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_xmlSchemaValPtr(n_val, 0); + + ret_val = xmlSchemaValueGetAsBoolean(val); + desret_int(ret_val); + call_tests++; + des_xmlSchemaValPtr(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaValueGetAsBoolean", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaValueGetAsString(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + const xmlChar * ret_val; + xmlSchemaValPtr val; /* the value */ + int n_val; + + for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_xmlSchemaValPtr(n_val, 0); + + ret_val = xmlSchemaValueGetAsString(val); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_xmlSchemaValPtr(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaValueGetAsString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlSchemaValueGetNext(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlSchemaWhiteSpaceReplace(void) { + int test_ret = 0; + +#if defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlChar * value; /* a value */ + int n_value; + + for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) { + mem_base = xmlMemBlocks(); + value = gen_const_xmlChar_ptr(n_value, 0); + + ret_val = xmlSchemaWhiteSpaceReplace((const xmlChar *)value); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlSchemaWhiteSpaceReplace", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_value); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_xmlschemastypes(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing xmlschemastypes : 26 of 34 functions ...\n"); + test_ret += test_xmlSchemaCheckFacet(); + test_ret += test_xmlSchemaCleanupTypes(); + test_ret += test_xmlSchemaCollapseString(); + test_ret += test_xmlSchemaCompareValues(); + test_ret += test_xmlSchemaCompareValuesWhtsp(); + test_ret += test_xmlSchemaCopyValue(); + test_ret += test_xmlSchemaGetBuiltInListSimpleTypeItemType(); + test_ret += test_xmlSchemaGetBuiltInType(); + test_ret += test_xmlSchemaGetCanonValue(); + test_ret += test_xmlSchemaGetCanonValueWhtsp(); + test_ret += test_xmlSchemaGetFacetValueAsULong(); + test_ret += test_xmlSchemaGetPredefinedType(); + test_ret += test_xmlSchemaGetValType(); + test_ret += test_xmlSchemaInitTypes(); + test_ret += test_xmlSchemaIsBuiltInTypeFacet(); + test_ret += test_xmlSchemaNewFacet(); + test_ret += test_xmlSchemaNewNOTATIONValue(); + test_ret += test_xmlSchemaNewQNameValue(); + test_ret += test_xmlSchemaNewStringValue(); + test_ret += test_xmlSchemaValPredefTypeNode(); + test_ret += test_xmlSchemaValPredefTypeNodeNoNorm(); + test_ret += test_xmlSchemaValidateFacet(); + test_ret += test_xmlSchemaValidateFacetWhtsp(); + test_ret += test_xmlSchemaValidateLengthFacet(); + test_ret += test_xmlSchemaValidateLengthFacetWhtsp(); + test_ret += test_xmlSchemaValidateListSimpleTypeFacet(); + test_ret += test_xmlSchemaValidatePredefinedType(); + test_ret += test_xmlSchemaValueAppend(); + test_ret += test_xmlSchemaValueGetAsBoolean(); + test_ret += test_xmlSchemaValueGetAsString(); + test_ret += test_xmlSchemaValueGetNext(); + test_ret += test_xmlSchemaWhiteSpaceReplace(); + + if (test_ret != 0) + printf("Module xmlschemastypes: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlCharStrdup(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + char * cur; /* the input char * */ + int n_cur; + + for (n_cur = 0;n_cur < gen_nb_const_char_ptr;n_cur++) { + mem_base = xmlMemBlocks(); + cur = gen_const_char_ptr(n_cur, 0); + + ret_val = xmlCharStrdup((const char *)cur); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_char_ptr(n_cur, (const char *)cur, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCharStrdup", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCharStrndup(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + char * cur; /* the input char * */ + int n_cur; + int len; /* the len of @cur */ + int n_len; + + for (n_cur = 0;n_cur < gen_nb_const_char_ptr;n_cur++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + cur = gen_const_char_ptr(n_cur, 0); + len = gen_int(n_len, 1); + if ((cur != NULL) && + (len > (int) strlen((const char *) cur) + 1)) + continue; + + ret_val = xmlCharStrndup((const char *)cur, len); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_char_ptr(n_cur, (const char *)cur, 0); + des_int(n_len, len, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCharStrndup", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_len); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlCheckUTF8(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + unsigned char * utf; /* Pointer to putative UTF-8 encoded string. */ + int n_utf; + + for (n_utf = 0;n_utf < gen_nb_const_unsigned_char_ptr;n_utf++) { + mem_base = xmlMemBlocks(); + utf = gen_const_unsigned_char_ptr(n_utf, 0); + + ret_val = xmlCheckUTF8((const unsigned char *)utf); + desret_int(ret_val); + call_tests++; + des_const_unsigned_char_ptr(n_utf, (const unsigned char *)utf, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlCheckUTF8", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_utf); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlGetUTF8Char(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + unsigned char * utf; /* a sequence of UTF-8 encoded bytes */ + int n_utf; + int * len; /* a pointer to the minimum number of bytes present in the sequence. This is used to assure the next character is completely contained within the sequence. */ + int n_len; + + for (n_utf = 0;n_utf < gen_nb_const_unsigned_char_ptr;n_utf++) { + for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) { + mem_base = xmlMemBlocks(); + utf = gen_const_unsigned_char_ptr(n_utf, 0); + len = gen_int_ptr(n_len, 1); + + ret_val = xmlGetUTF8Char((const unsigned char *)utf, len); + desret_int(ret_val); + call_tests++; + des_const_unsigned_char_ptr(n_utf, (const unsigned char *)utf, 0); + des_int_ptr(n_len, len, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlGetUTF8Char", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_utf); + printf(" %d", n_len); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlStrEqual(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlChar * str1; /* the first xmlChar * */ + int n_str1; + xmlChar * str2; /* the second xmlChar * */ + int n_str2; + + for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) { + for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) { + mem_base = xmlMemBlocks(); + str1 = gen_const_xmlChar_ptr(n_str1, 0); + str2 = gen_const_xmlChar_ptr(n_str2, 1); + + ret_val = xmlStrEqual((const xmlChar *)str1, (const xmlChar *)str2); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0); + des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStrEqual", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_str1); + printf(" %d", n_str2); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlStrPrintf(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlStrQEqual(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlChar * pref; /* the prefix of the QName */ + int n_pref; + xmlChar * name; /* the localname of the QName */ + int n_name; + xmlChar * str; /* the second xmlChar * */ + int n_str; + + for (n_pref = 0;n_pref < gen_nb_const_xmlChar_ptr;n_pref++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + mem_base = xmlMemBlocks(); + pref = gen_const_xmlChar_ptr(n_pref, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + str = gen_const_xmlChar_ptr(n_str, 2); + + ret_val = xmlStrQEqual((const xmlChar *)pref, (const xmlChar *)name, (const xmlChar *)str); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_pref, (const xmlChar *)pref, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStrQEqual", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_pref); + printf(" %d", n_name); + printf(" %d", n_str); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlStrVPrintf(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlStrcasecmp(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlChar * str1; /* the first xmlChar * */ + int n_str1; + xmlChar * str2; /* the second xmlChar * */ + int n_str2; + + for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) { + for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) { + mem_base = xmlMemBlocks(); + str1 = gen_const_xmlChar_ptr(n_str1, 0); + str2 = gen_const_xmlChar_ptr(n_str2, 1); + + ret_val = xmlStrcasecmp((const xmlChar *)str1, (const xmlChar *)str2); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0); + des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStrcasecmp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_str1); + printf(" %d", n_str2); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlStrcasestr(void) { + int test_ret = 0; + + int mem_base; + const xmlChar * ret_val; + xmlChar * str; /* the xmlChar * array (haystack) */ + int n_str; + xmlChar * val; /* the xmlChar to search (needle) */ + int n_val; + + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) { + mem_base = xmlMemBlocks(); + str = gen_const_xmlChar_ptr(n_str, 0); + val = gen_const_xmlChar_ptr(n_val, 1); + + ret_val = xmlStrcasestr((const xmlChar *)str, (const xmlChar *)val); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0); + des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStrcasestr", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_str); + printf(" %d", n_val); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlStrchr(void) { + int test_ret = 0; + + int mem_base; + const xmlChar * ret_val; + xmlChar * str; /* the xmlChar * array */ + int n_str; + xmlChar val; /* the xmlChar to search */ + int n_val; + + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + for (n_val = 0;n_val < gen_nb_xmlChar;n_val++) { + mem_base = xmlMemBlocks(); + str = gen_const_xmlChar_ptr(n_str, 0); + val = gen_xmlChar(n_val, 1); + + ret_val = xmlStrchr((const xmlChar *)str, val); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0); + des_xmlChar(n_val, val, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStrchr", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_str); + printf(" %d", n_val); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlStrcmp(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlChar * str1; /* the first xmlChar * */ + int n_str1; + xmlChar * str2; /* the second xmlChar * */ + int n_str2; + + for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) { + for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) { + mem_base = xmlMemBlocks(); + str1 = gen_const_xmlChar_ptr(n_str1, 0); + str2 = gen_const_xmlChar_ptr(n_str2, 1); + + ret_val = xmlStrcmp((const xmlChar *)str1, (const xmlChar *)str2); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0); + des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStrcmp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_str1); + printf(" %d", n_str2); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlStrdup(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlChar * cur; /* the input xmlChar * */ + int n_cur; + + for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) { + mem_base = xmlMemBlocks(); + cur = gen_const_xmlChar_ptr(n_cur, 0); + + ret_val = xmlStrdup((const xmlChar *)cur); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStrdup", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlStrlen(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlChar * str; /* the xmlChar * array */ + int n_str; + + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + mem_base = xmlMemBlocks(); + str = gen_const_xmlChar_ptr(n_str, 0); + + ret_val = xmlStrlen((const xmlChar *)str); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStrlen", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_str); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlStrncasecmp(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlChar * str1; /* the first xmlChar * */ + int n_str1; + xmlChar * str2; /* the second xmlChar * */ + int n_str2; + int len; /* the max comparison length */ + int n_len; + + for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) { + for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + str1 = gen_const_xmlChar_ptr(n_str1, 0); + str2 = gen_const_xmlChar_ptr(n_str2, 1); + len = gen_int(n_len, 2); + if ((str2 != NULL) && + (len > (int) strlen((const char *) str2) + 1)) + continue; + + ret_val = xmlStrncasecmp((const xmlChar *)str1, (const xmlChar *)str2, len); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0); + des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStrncasecmp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_str1); + printf(" %d", n_str2); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlStrncatNew(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlChar * str1; /* first xmlChar string */ + int n_str1; + xmlChar * str2; /* second xmlChar string */ + int n_str2; + int len; /* the len of @str2 or < 0 */ + int n_len; + + for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) { + for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + str1 = gen_const_xmlChar_ptr(n_str1, 0); + str2 = gen_const_xmlChar_ptr(n_str2, 1); + len = gen_int(n_len, 2); + if ((str2 != NULL) && + (len > (int) strlen((const char *) str2) + 1)) + continue; + + ret_val = xmlStrncatNew((const xmlChar *)str1, (const xmlChar *)str2, len); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0); + des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStrncatNew", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_str1); + printf(" %d", n_str2); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlStrncmp(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlChar * str1; /* the first xmlChar * */ + int n_str1; + xmlChar * str2; /* the second xmlChar * */ + int n_str2; + int len; /* the max comparison length */ + int n_len; + + for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) { + for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + str1 = gen_const_xmlChar_ptr(n_str1, 0); + str2 = gen_const_xmlChar_ptr(n_str2, 1); + len = gen_int(n_len, 2); + if ((str2 != NULL) && + (len > (int) strlen((const char *) str2) + 1)) + continue; + + ret_val = xmlStrncmp((const xmlChar *)str1, (const xmlChar *)str2, len); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0); + des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStrncmp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_str1); + printf(" %d", n_str2); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlStrndup(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlChar * cur; /* the input xmlChar * */ + int n_cur; + int len; /* the len of @cur */ + int n_len; + + for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + cur = gen_const_xmlChar_ptr(n_cur, 0); + len = gen_int(n_len, 1); + if ((cur != NULL) && + (len > (int) strlen((const char *) cur) + 1)) + continue; + + ret_val = xmlStrndup((const xmlChar *)cur, len); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0); + des_int(n_len, len, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStrndup", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_len); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlStrstr(void) { + int test_ret = 0; + + int mem_base; + const xmlChar * ret_val; + xmlChar * str; /* the xmlChar * array (haystack) */ + int n_str; + xmlChar * val; /* the xmlChar to search (needle) */ + int n_val; + + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) { + mem_base = xmlMemBlocks(); + str = gen_const_xmlChar_ptr(n_str, 0); + val = gen_const_xmlChar_ptr(n_val, 1); + + ret_val = xmlStrstr((const xmlChar *)str, (const xmlChar *)val); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0); + des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStrstr", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_str); + printf(" %d", n_val); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlStrsub(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlChar * str; /* the xmlChar * array (haystack) */ + int n_str; + int start; /* the index of the first char (zero based) */ + int n_start; + int len; /* the length of the substring */ + int n_len; + + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + for (n_start = 0;n_start < gen_nb_int;n_start++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + str = gen_const_xmlChar_ptr(n_str, 0); + start = gen_int(n_start, 1); + len = gen_int(n_len, 2); + if ((str != NULL) && + (start > (int) strlen((const char *) str) + 1)) + continue; + if ((str != NULL) && + (len > (int) strlen((const char *) str) + 1)) + continue; + + ret_val = xmlStrsub((const xmlChar *)str, start, len); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0); + des_int(n_start, start, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlStrsub", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_str); + printf(" %d", n_start); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlUTF8Charcmp(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlChar * utf1; /* pointer to first UTF8 char */ + int n_utf1; + xmlChar * utf2; /* pointer to second UTF8 char */ + int n_utf2; + + for (n_utf1 = 0;n_utf1 < gen_nb_const_xmlChar_ptr;n_utf1++) { + for (n_utf2 = 0;n_utf2 < gen_nb_const_xmlChar_ptr;n_utf2++) { + mem_base = xmlMemBlocks(); + utf1 = gen_const_xmlChar_ptr(n_utf1, 0); + utf2 = gen_const_xmlChar_ptr(n_utf2, 1); + + ret_val = xmlUTF8Charcmp((const xmlChar *)utf1, (const xmlChar *)utf2); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_utf1, (const xmlChar *)utf1, 0); + des_const_xmlChar_ptr(n_utf2, (const xmlChar *)utf2, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUTF8Charcmp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_utf1); + printf(" %d", n_utf2); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlUTF8Size(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlChar * utf; /* pointer to the UTF8 character */ + int n_utf; + + for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) { + mem_base = xmlMemBlocks(); + utf = gen_const_xmlChar_ptr(n_utf, 0); + + ret_val = xmlUTF8Size((const xmlChar *)utf); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUTF8Size", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_utf); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlUTF8Strlen(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlChar * utf; /* a sequence of UTF-8 encoded bytes */ + int n_utf; + + for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) { + mem_base = xmlMemBlocks(); + utf = gen_const_xmlChar_ptr(n_utf, 0); + + ret_val = xmlUTF8Strlen((const xmlChar *)utf); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUTF8Strlen", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_utf); + printf("\n"); + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlUTF8Strloc(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlChar * utf; /* the input UTF8 * */ + int n_utf; + xmlChar * utfchar; /* the UTF8 character to be found */ + int n_utfchar; + + for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) { + for (n_utfchar = 0;n_utfchar < gen_nb_const_xmlChar_ptr;n_utfchar++) { + mem_base = xmlMemBlocks(); + utf = gen_const_xmlChar_ptr(n_utf, 0); + utfchar = gen_const_xmlChar_ptr(n_utfchar, 1); + + ret_val = xmlUTF8Strloc((const xmlChar *)utf, (const xmlChar *)utfchar); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0); + des_const_xmlChar_ptr(n_utfchar, (const xmlChar *)utfchar, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUTF8Strloc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_utf); + printf(" %d", n_utfchar); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlUTF8Strndup(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlChar * utf; /* the input UTF8 * */ + int n_utf; + int len; /* the len of @utf (in chars) */ + int n_len; + + for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + utf = gen_const_xmlChar_ptr(n_utf, 0); + len = gen_int(n_len, 1); + if ((utf != NULL) && + (len > (int) strlen((const char *) utf) + 1)) + continue; + + ret_val = xmlUTF8Strndup((const xmlChar *)utf, len); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0); + des_int(n_len, len, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUTF8Strndup", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_utf); + printf(" %d", n_len); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlUTF8Strpos(void) { + int test_ret = 0; + + int mem_base; + const xmlChar * ret_val; + xmlChar * utf; /* the input UTF8 * */ + int n_utf; + int pos; /* the position of the desired UTF8 char (in chars) */ + int n_pos; + + for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) { + for (n_pos = 0;n_pos < gen_nb_int;n_pos++) { + mem_base = xmlMemBlocks(); + utf = gen_const_xmlChar_ptr(n_utf, 0); + pos = gen_int(n_pos, 1); + + ret_val = xmlUTF8Strpos((const xmlChar *)utf, pos); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0); + des_int(n_pos, pos, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUTF8Strpos", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_utf); + printf(" %d", n_pos); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlUTF8Strsize(void) { + int test_ret = 0; + + int mem_base; + int ret_val; + xmlChar * utf; /* a sequence of UTF-8 encoded bytes */ + int n_utf; + int len; /* the number of characters in the array */ + int n_len; + + for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + utf = gen_const_xmlChar_ptr(n_utf, 0); + len = gen_int(n_len, 1); + if ((utf != NULL) && + (len > (int) strlen((const char *) utf) + 1)) + continue; + + ret_val = xmlUTF8Strsize((const xmlChar *)utf, len); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0); + des_int(n_len, len, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUTF8Strsize", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_utf); + printf(" %d", n_len); + printf("\n"); + } + } + } + function_tests++; + + return(test_ret); +} + + +static int +test_xmlUTF8Strsub(void) { + int test_ret = 0; + + int mem_base; + xmlChar * ret_val; + xmlChar * utf; /* a sequence of UTF-8 encoded bytes */ + int n_utf; + int start; /* relative pos of first char */ + int n_start; + int len; /* total number to copy */ + int n_len; + + for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) { + for (n_start = 0;n_start < gen_nb_int;n_start++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + utf = gen_const_xmlChar_ptr(n_utf, 0); + start = gen_int(n_start, 1); + len = gen_int(n_len, 2); + if ((utf != NULL) && + (start > (int) strlen((const char *) utf) + 1)) + continue; + if ((utf != NULL) && + (len > (int) strlen((const char *) utf) + 1)) + continue; + + ret_val = xmlUTF8Strsub((const xmlChar *)utf, start, len); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0); + des_int(n_start, start, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUTF8Strsub", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_utf); + printf(" %d", n_start); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; + + return(test_ret); +} + +static int +test_xmlstring(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing xmlstring : 26 of 30 functions ...\n"); + test_ret += test_xmlCharStrdup(); + test_ret += test_xmlCharStrndup(); + test_ret += test_xmlCheckUTF8(); + test_ret += test_xmlGetUTF8Char(); + test_ret += test_xmlStrEqual(); + test_ret += test_xmlStrPrintf(); + test_ret += test_xmlStrQEqual(); + test_ret += test_xmlStrVPrintf(); + test_ret += test_xmlStrcasecmp(); + test_ret += test_xmlStrcasestr(); + test_ret += test_xmlStrchr(); + test_ret += test_xmlStrcmp(); + test_ret += test_xmlStrdup(); + test_ret += test_xmlStrlen(); + test_ret += test_xmlStrncasecmp(); + test_ret += test_xmlStrncatNew(); + test_ret += test_xmlStrncmp(); + test_ret += test_xmlStrndup(); + test_ret += test_xmlStrstr(); + test_ret += test_xmlStrsub(); + test_ret += test_xmlUTF8Charcmp(); + test_ret += test_xmlUTF8Size(); + test_ret += test_xmlUTF8Strlen(); + test_ret += test_xmlUTF8Strloc(); + test_ret += test_xmlUTF8Strndup(); + test_ret += test_xmlUTF8Strpos(); + test_ret += test_xmlUTF8Strsize(); + test_ret += test_xmlUTF8Strsub(); + + if (test_ret != 0) + printf("Module xmlstring: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlUCSIsAegeanNumbers(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsAegeanNumbers(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsAegeanNumbers", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsAlphabeticPresentationForms(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsAlphabeticPresentationForms(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsAlphabeticPresentationForms", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsArabic(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsArabic(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsArabic", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsArabicPresentationFormsA(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsArabicPresentationFormsA(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsArabicPresentationFormsA", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsArabicPresentationFormsB(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsArabicPresentationFormsB(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsArabicPresentationFormsB", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsArmenian(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsArmenian(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsArmenian", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsArrows(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsArrows(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsArrows", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsBasicLatin(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsBasicLatin(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsBasicLatin", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsBengali(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsBengali(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsBengali", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsBlock(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + char * block; /* UCS block name */ + int n_block; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + for (n_block = 0;n_block < gen_nb_const_char_ptr;n_block++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + block = gen_const_char_ptr(n_block, 1); + + ret_val = xmlUCSIsBlock(code, (const char *)block); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + des_const_char_ptr(n_block, (const char *)block, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsBlock", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf(" %d", n_block); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsBlockElements(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsBlockElements(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsBlockElements", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsBopomofo(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsBopomofo(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsBopomofo", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsBopomofoExtended(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsBopomofoExtended(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsBopomofoExtended", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsBoxDrawing(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsBoxDrawing(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsBoxDrawing", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsBraillePatterns(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsBraillePatterns(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsBraillePatterns", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsBuhid(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsBuhid(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsBuhid", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsByzantineMusicalSymbols(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsByzantineMusicalSymbols(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsByzantineMusicalSymbols", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCJKCompatibility(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCJKCompatibility(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCJKCompatibility", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCJKCompatibilityForms(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCJKCompatibilityForms(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCJKCompatibilityForms", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCJKCompatibilityIdeographs(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCJKCompatibilityIdeographs(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCJKCompatibilityIdeographs", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCJKCompatibilityIdeographsSupplement(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCJKCompatibilityIdeographsSupplement(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCJKCompatibilityIdeographsSupplement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCJKRadicalsSupplement(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCJKRadicalsSupplement(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCJKRadicalsSupplement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCJKSymbolsandPunctuation(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCJKSymbolsandPunctuation(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCJKSymbolsandPunctuation", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCJKUnifiedIdeographs(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCJKUnifiedIdeographs(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCJKUnifiedIdeographs", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCJKUnifiedIdeographsExtensionA(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCJKUnifiedIdeographsExtensionA(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCJKUnifiedIdeographsExtensionA", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCJKUnifiedIdeographsExtensionB(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCJKUnifiedIdeographsExtensionB(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCJKUnifiedIdeographsExtensionB", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCat(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + char * cat; /* UCS Category name */ + int n_cat; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + for (n_cat = 0;n_cat < gen_nb_const_char_ptr;n_cat++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + cat = gen_const_char_ptr(n_cat, 1); + + ret_val = xmlUCSIsCat(code, (const char *)cat); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + des_const_char_ptr(n_cat, (const char *)cat, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCat", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf(" %d", n_cat); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatC(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatC(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatC", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatCc(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatCc(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatCc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatCf(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatCf(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatCf", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatCo(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatCo(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatCo", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatCs(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatCs(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatCs", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatL(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatL(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatL", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatLl(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatLl(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatLl", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatLm(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatLm(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatLm", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatLo(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatLo(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatLo", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatLt(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatLt(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatLt", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatLu(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatLu(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatLu", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatM(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatM(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatM", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatMc(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatMc(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatMc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatMe(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatMe(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatMe", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatMn(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatMn(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatMn", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatN(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatN(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatN", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatNd(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatNd(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatNd", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatNl(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatNl(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatNl", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatNo(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatNo(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatNo", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatP(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatP(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatP", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatPc(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatPc(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatPc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatPd(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatPd(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatPd", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatPe(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatPe(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatPe", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatPf(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatPf(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatPf", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatPi(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatPi(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatPi", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatPo(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatPo(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatPo", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatPs(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatPs(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatPs", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatS(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatS(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatS", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatSc(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatSc(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatSc", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatSk(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatSk(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatSk", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatSm(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatSm(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatSm", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatSo(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatSo(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatSo", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatZ(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatZ(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatZ", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatZl(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatZl(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatZl", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatZp(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatZp(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatZp", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCatZs(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCatZs(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCatZs", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCherokee(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCherokee(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCherokee", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCombiningDiacriticalMarks(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCombiningDiacriticalMarks(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCombiningDiacriticalMarks", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCombiningDiacriticalMarksforSymbols(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCombiningDiacriticalMarksforSymbols(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCombiningDiacriticalMarksforSymbols", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCombiningHalfMarks(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCombiningHalfMarks(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCombiningHalfMarks", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCombiningMarksforSymbols(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCombiningMarksforSymbols(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCombiningMarksforSymbols", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsControlPictures(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsControlPictures(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsControlPictures", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCurrencySymbols(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCurrencySymbols(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCurrencySymbols", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCypriotSyllabary(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCypriotSyllabary(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCypriotSyllabary", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCyrillic(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCyrillic(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCyrillic", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsCyrillicSupplement(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsCyrillicSupplement(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsCyrillicSupplement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsDeseret(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsDeseret(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsDeseret", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsDevanagari(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsDevanagari(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsDevanagari", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsDingbats(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsDingbats(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsDingbats", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsEnclosedAlphanumerics(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsEnclosedAlphanumerics(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsEnclosedAlphanumerics", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsEnclosedCJKLettersandMonths(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsEnclosedCJKLettersandMonths(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsEnclosedCJKLettersandMonths", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsEthiopic(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsEthiopic(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsEthiopic", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsGeneralPunctuation(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsGeneralPunctuation(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsGeneralPunctuation", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsGeometricShapes(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsGeometricShapes(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsGeometricShapes", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsGeorgian(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsGeorgian(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsGeorgian", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsGothic(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsGothic(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsGothic", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsGreek(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsGreek(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsGreek", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsGreekExtended(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsGreekExtended(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsGreekExtended", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsGreekandCoptic(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsGreekandCoptic(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsGreekandCoptic", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsGujarati(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsGujarati(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsGujarati", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsGurmukhi(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsGurmukhi(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsGurmukhi", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsHalfwidthandFullwidthForms(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsHalfwidthandFullwidthForms(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsHalfwidthandFullwidthForms", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsHangulCompatibilityJamo(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsHangulCompatibilityJamo(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsHangulCompatibilityJamo", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsHangulJamo(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsHangulJamo(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsHangulJamo", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsHangulSyllables(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsHangulSyllables(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsHangulSyllables", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsHanunoo(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsHanunoo(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsHanunoo", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsHebrew(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsHebrew(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsHebrew", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsHighPrivateUseSurrogates(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsHighPrivateUseSurrogates(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsHighPrivateUseSurrogates", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsHighSurrogates(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsHighSurrogates(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsHighSurrogates", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsHiragana(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsHiragana(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsHiragana", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsIPAExtensions(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsIPAExtensions(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsIPAExtensions", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsIdeographicDescriptionCharacters(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsIdeographicDescriptionCharacters(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsIdeographicDescriptionCharacters", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsKanbun(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsKanbun(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsKanbun", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsKangxiRadicals(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsKangxiRadicals(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsKangxiRadicals", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsKannada(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsKannada(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsKannada", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsKatakana(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsKatakana(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsKatakana", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsKatakanaPhoneticExtensions(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsKatakanaPhoneticExtensions(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsKatakanaPhoneticExtensions", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsKhmer(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsKhmer(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsKhmer", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsKhmerSymbols(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsKhmerSymbols(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsKhmerSymbols", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsLao(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsLao(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsLao", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsLatin1Supplement(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsLatin1Supplement(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsLatin1Supplement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsLatinExtendedA(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsLatinExtendedA(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsLatinExtendedA", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsLatinExtendedAdditional(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsLatinExtendedAdditional(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsLatinExtendedAdditional", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsLatinExtendedB(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsLatinExtendedB(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsLatinExtendedB", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsLetterlikeSymbols(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsLetterlikeSymbols(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsLetterlikeSymbols", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsLimbu(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsLimbu(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsLimbu", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsLinearBIdeograms(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsLinearBIdeograms(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsLinearBIdeograms", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsLinearBSyllabary(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsLinearBSyllabary(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsLinearBSyllabary", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsLowSurrogates(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsLowSurrogates(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsLowSurrogates", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsMalayalam(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsMalayalam(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsMalayalam", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsMathematicalAlphanumericSymbols(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsMathematicalAlphanumericSymbols(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsMathematicalAlphanumericSymbols", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsMathematicalOperators(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsMathematicalOperators(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsMathematicalOperators", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsMiscellaneousMathematicalSymbolsA(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsMiscellaneousMathematicalSymbolsA(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsMiscellaneousMathematicalSymbolsA", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsMiscellaneousMathematicalSymbolsB(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsMiscellaneousMathematicalSymbolsB(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsMiscellaneousMathematicalSymbolsB", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsMiscellaneousSymbols(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsMiscellaneousSymbols(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsMiscellaneousSymbols", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsMiscellaneousSymbolsandArrows(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsMiscellaneousSymbolsandArrows(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsMiscellaneousSymbolsandArrows", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsMiscellaneousTechnical(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsMiscellaneousTechnical(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsMiscellaneousTechnical", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsMongolian(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsMongolian(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsMongolian", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsMusicalSymbols(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsMusicalSymbols(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsMusicalSymbols", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsMyanmar(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsMyanmar(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsMyanmar", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsNumberForms(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsNumberForms(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsNumberForms", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsOgham(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsOgham(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsOgham", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsOldItalic(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsOldItalic(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsOldItalic", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsOpticalCharacterRecognition(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsOpticalCharacterRecognition(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsOpticalCharacterRecognition", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsOriya(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsOriya(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsOriya", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsOsmanya(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsOsmanya(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsOsmanya", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsPhoneticExtensions(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsPhoneticExtensions(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsPhoneticExtensions", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsPrivateUse(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsPrivateUse(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsPrivateUse", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsPrivateUseArea(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsPrivateUseArea(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsPrivateUseArea", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsRunic(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsRunic(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsRunic", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsShavian(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsShavian(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsShavian", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsSinhala(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsSinhala(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsSinhala", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsSmallFormVariants(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsSmallFormVariants(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsSmallFormVariants", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsSpacingModifierLetters(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsSpacingModifierLetters(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsSpacingModifierLetters", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsSpecials(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsSpecials(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsSpecials", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsSuperscriptsandSubscripts(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsSuperscriptsandSubscripts(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsSuperscriptsandSubscripts", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsSupplementalArrowsA(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsSupplementalArrowsA(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsSupplementalArrowsA", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsSupplementalArrowsB(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsSupplementalArrowsB(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsSupplementalArrowsB", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsSupplementalMathematicalOperators(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsSupplementalMathematicalOperators(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsSupplementalMathematicalOperators", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsSupplementaryPrivateUseAreaA(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsSupplementaryPrivateUseAreaA(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsSupplementaryPrivateUseAreaA", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsSupplementaryPrivateUseAreaB(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsSupplementaryPrivateUseAreaB(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsSupplementaryPrivateUseAreaB", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsSyriac(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsSyriac(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsSyriac", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsTagalog(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsTagalog(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsTagalog", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsTagbanwa(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsTagbanwa(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsTagbanwa", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsTags(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsTags(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsTags", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsTaiLe(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsTaiLe(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsTaiLe", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsTaiXuanJingSymbols(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsTaiXuanJingSymbols(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsTaiXuanJingSymbols", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsTamil(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsTamil(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsTamil", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsTelugu(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsTelugu(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsTelugu", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsThaana(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsThaana(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsThaana", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsThai(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsThai(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsThai", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsTibetan(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsTibetan(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsTibetan", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsUgaritic(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsUgaritic(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsUgaritic", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsUnifiedCanadianAboriginalSyllabics(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsUnifiedCanadianAboriginalSyllabics(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsUnifiedCanadianAboriginalSyllabics", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsVariationSelectors(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsVariationSelectors(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsVariationSelectors", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsVariationSelectorsSupplement(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsVariationSelectorsSupplement(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsVariationSelectorsSupplement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsYiRadicals(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsYiRadicals(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsYiRadicals", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsYiSyllables(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsYiSyllables(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsYiSyllables", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlUCSIsYijingHexagramSymbols(void) { + int test_ret = 0; + +#if defined(LIBXML_UNICODE_ENABLED) + int mem_base; + int ret_val; + int code; /* UCS code point */ + int n_code; + + for (n_code = 0;n_code < gen_nb_int;n_code++) { + mem_base = xmlMemBlocks(); + code = gen_int(n_code, 0); + + ret_val = xmlUCSIsYijingHexagramSymbols(code); + desret_int(ret_val); + call_tests++; + des_int(n_code, code, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlUCSIsYijingHexagramSymbols", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_code); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_xmlunicode(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing xmlunicode : 166 of 166 functions ...\n"); + test_ret += test_xmlUCSIsAegeanNumbers(); + test_ret += test_xmlUCSIsAlphabeticPresentationForms(); + test_ret += test_xmlUCSIsArabic(); + test_ret += test_xmlUCSIsArabicPresentationFormsA(); + test_ret += test_xmlUCSIsArabicPresentationFormsB(); + test_ret += test_xmlUCSIsArmenian(); + test_ret += test_xmlUCSIsArrows(); + test_ret += test_xmlUCSIsBasicLatin(); + test_ret += test_xmlUCSIsBengali(); + test_ret += test_xmlUCSIsBlock(); + test_ret += test_xmlUCSIsBlockElements(); + test_ret += test_xmlUCSIsBopomofo(); + test_ret += test_xmlUCSIsBopomofoExtended(); + test_ret += test_xmlUCSIsBoxDrawing(); + test_ret += test_xmlUCSIsBraillePatterns(); + test_ret += test_xmlUCSIsBuhid(); + test_ret += test_xmlUCSIsByzantineMusicalSymbols(); + test_ret += test_xmlUCSIsCJKCompatibility(); + test_ret += test_xmlUCSIsCJKCompatibilityForms(); + test_ret += test_xmlUCSIsCJKCompatibilityIdeographs(); + test_ret += test_xmlUCSIsCJKCompatibilityIdeographsSupplement(); + test_ret += test_xmlUCSIsCJKRadicalsSupplement(); + test_ret += test_xmlUCSIsCJKSymbolsandPunctuation(); + test_ret += test_xmlUCSIsCJKUnifiedIdeographs(); + test_ret += test_xmlUCSIsCJKUnifiedIdeographsExtensionA(); + test_ret += test_xmlUCSIsCJKUnifiedIdeographsExtensionB(); + test_ret += test_xmlUCSIsCat(); + test_ret += test_xmlUCSIsCatC(); + test_ret += test_xmlUCSIsCatCc(); + test_ret += test_xmlUCSIsCatCf(); + test_ret += test_xmlUCSIsCatCo(); + test_ret += test_xmlUCSIsCatCs(); + test_ret += test_xmlUCSIsCatL(); + test_ret += test_xmlUCSIsCatLl(); + test_ret += test_xmlUCSIsCatLm(); + test_ret += test_xmlUCSIsCatLo(); + test_ret += test_xmlUCSIsCatLt(); + test_ret += test_xmlUCSIsCatLu(); + test_ret += test_xmlUCSIsCatM(); + test_ret += test_xmlUCSIsCatMc(); + test_ret += test_xmlUCSIsCatMe(); + test_ret += test_xmlUCSIsCatMn(); + test_ret += test_xmlUCSIsCatN(); + test_ret += test_xmlUCSIsCatNd(); + test_ret += test_xmlUCSIsCatNl(); + test_ret += test_xmlUCSIsCatNo(); + test_ret += test_xmlUCSIsCatP(); + test_ret += test_xmlUCSIsCatPc(); + test_ret += test_xmlUCSIsCatPd(); + test_ret += test_xmlUCSIsCatPe(); + test_ret += test_xmlUCSIsCatPf(); + test_ret += test_xmlUCSIsCatPi(); + test_ret += test_xmlUCSIsCatPo(); + test_ret += test_xmlUCSIsCatPs(); + test_ret += test_xmlUCSIsCatS(); + test_ret += test_xmlUCSIsCatSc(); + test_ret += test_xmlUCSIsCatSk(); + test_ret += test_xmlUCSIsCatSm(); + test_ret += test_xmlUCSIsCatSo(); + test_ret += test_xmlUCSIsCatZ(); + test_ret += test_xmlUCSIsCatZl(); + test_ret += test_xmlUCSIsCatZp(); + test_ret += test_xmlUCSIsCatZs(); + test_ret += test_xmlUCSIsCherokee(); + test_ret += test_xmlUCSIsCombiningDiacriticalMarks(); + test_ret += test_xmlUCSIsCombiningDiacriticalMarksforSymbols(); + test_ret += test_xmlUCSIsCombiningHalfMarks(); + test_ret += test_xmlUCSIsCombiningMarksforSymbols(); + test_ret += test_xmlUCSIsControlPictures(); + test_ret += test_xmlUCSIsCurrencySymbols(); + test_ret += test_xmlUCSIsCypriotSyllabary(); + test_ret += test_xmlUCSIsCyrillic(); + test_ret += test_xmlUCSIsCyrillicSupplement(); + test_ret += test_xmlUCSIsDeseret(); + test_ret += test_xmlUCSIsDevanagari(); + test_ret += test_xmlUCSIsDingbats(); + test_ret += test_xmlUCSIsEnclosedAlphanumerics(); + test_ret += test_xmlUCSIsEnclosedCJKLettersandMonths(); + test_ret += test_xmlUCSIsEthiopic(); + test_ret += test_xmlUCSIsGeneralPunctuation(); + test_ret += test_xmlUCSIsGeometricShapes(); + test_ret += test_xmlUCSIsGeorgian(); + test_ret += test_xmlUCSIsGothic(); + test_ret += test_xmlUCSIsGreek(); + test_ret += test_xmlUCSIsGreekExtended(); + test_ret += test_xmlUCSIsGreekandCoptic(); + test_ret += test_xmlUCSIsGujarati(); + test_ret += test_xmlUCSIsGurmukhi(); + test_ret += test_xmlUCSIsHalfwidthandFullwidthForms(); + test_ret += test_xmlUCSIsHangulCompatibilityJamo(); + test_ret += test_xmlUCSIsHangulJamo(); + test_ret += test_xmlUCSIsHangulSyllables(); + test_ret += test_xmlUCSIsHanunoo(); + test_ret += test_xmlUCSIsHebrew(); + test_ret += test_xmlUCSIsHighPrivateUseSurrogates(); + test_ret += test_xmlUCSIsHighSurrogates(); + test_ret += test_xmlUCSIsHiragana(); + test_ret += test_xmlUCSIsIPAExtensions(); + test_ret += test_xmlUCSIsIdeographicDescriptionCharacters(); + test_ret += test_xmlUCSIsKanbun(); + test_ret += test_xmlUCSIsKangxiRadicals(); + test_ret += test_xmlUCSIsKannada(); + test_ret += test_xmlUCSIsKatakana(); + test_ret += test_xmlUCSIsKatakanaPhoneticExtensions(); + test_ret += test_xmlUCSIsKhmer(); + test_ret += test_xmlUCSIsKhmerSymbols(); + test_ret += test_xmlUCSIsLao(); + test_ret += test_xmlUCSIsLatin1Supplement(); + test_ret += test_xmlUCSIsLatinExtendedA(); + test_ret += test_xmlUCSIsLatinExtendedAdditional(); + test_ret += test_xmlUCSIsLatinExtendedB(); + test_ret += test_xmlUCSIsLetterlikeSymbols(); + test_ret += test_xmlUCSIsLimbu(); + test_ret += test_xmlUCSIsLinearBIdeograms(); + test_ret += test_xmlUCSIsLinearBSyllabary(); + test_ret += test_xmlUCSIsLowSurrogates(); + test_ret += test_xmlUCSIsMalayalam(); + test_ret += test_xmlUCSIsMathematicalAlphanumericSymbols(); + test_ret += test_xmlUCSIsMathematicalOperators(); + test_ret += test_xmlUCSIsMiscellaneousMathematicalSymbolsA(); + test_ret += test_xmlUCSIsMiscellaneousMathematicalSymbolsB(); + test_ret += test_xmlUCSIsMiscellaneousSymbols(); + test_ret += test_xmlUCSIsMiscellaneousSymbolsandArrows(); + test_ret += test_xmlUCSIsMiscellaneousTechnical(); + test_ret += test_xmlUCSIsMongolian(); + test_ret += test_xmlUCSIsMusicalSymbols(); + test_ret += test_xmlUCSIsMyanmar(); + test_ret += test_xmlUCSIsNumberForms(); + test_ret += test_xmlUCSIsOgham(); + test_ret += test_xmlUCSIsOldItalic(); + test_ret += test_xmlUCSIsOpticalCharacterRecognition(); + test_ret += test_xmlUCSIsOriya(); + test_ret += test_xmlUCSIsOsmanya(); + test_ret += test_xmlUCSIsPhoneticExtensions(); + test_ret += test_xmlUCSIsPrivateUse(); + test_ret += test_xmlUCSIsPrivateUseArea(); + test_ret += test_xmlUCSIsRunic(); + test_ret += test_xmlUCSIsShavian(); + test_ret += test_xmlUCSIsSinhala(); + test_ret += test_xmlUCSIsSmallFormVariants(); + test_ret += test_xmlUCSIsSpacingModifierLetters(); + test_ret += test_xmlUCSIsSpecials(); + test_ret += test_xmlUCSIsSuperscriptsandSubscripts(); + test_ret += test_xmlUCSIsSupplementalArrowsA(); + test_ret += test_xmlUCSIsSupplementalArrowsB(); + test_ret += test_xmlUCSIsSupplementalMathematicalOperators(); + test_ret += test_xmlUCSIsSupplementaryPrivateUseAreaA(); + test_ret += test_xmlUCSIsSupplementaryPrivateUseAreaB(); + test_ret += test_xmlUCSIsSyriac(); + test_ret += test_xmlUCSIsTagalog(); + test_ret += test_xmlUCSIsTagbanwa(); + test_ret += test_xmlUCSIsTags(); + test_ret += test_xmlUCSIsTaiLe(); + test_ret += test_xmlUCSIsTaiXuanJingSymbols(); + test_ret += test_xmlUCSIsTamil(); + test_ret += test_xmlUCSIsTelugu(); + test_ret += test_xmlUCSIsThaana(); + test_ret += test_xmlUCSIsThai(); + test_ret += test_xmlUCSIsTibetan(); + test_ret += test_xmlUCSIsUgaritic(); + test_ret += test_xmlUCSIsUnifiedCanadianAboriginalSyllabics(); + test_ret += test_xmlUCSIsVariationSelectors(); + test_ret += test_xmlUCSIsVariationSelectorsSupplement(); + test_ret += test_xmlUCSIsYiRadicals(); + test_ret += test_xmlUCSIsYiSyllables(); + test_ret += test_xmlUCSIsYijingHexagramSymbols(); + + if (test_ret != 0) + printf("Module xmlunicode: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlNewTextWriter(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + xmlTextWriterPtr ret_val; + xmlOutputBufferPtr out; /* an xmlOutputBufferPtr */ + int n_out; + + for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) { + mem_base = xmlMemBlocks(); + out = gen_xmlOutputBufferPtr(n_out, 0); + + ret_val = xmlNewTextWriter(out); + if (ret_val != NULL) out = NULL; + desret_xmlTextWriterPtr(ret_val); + call_tests++; + des_xmlOutputBufferPtr(n_out, out, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewTextWriter", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_out); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNewTextWriterFilename(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + xmlTextWriterPtr ret_val; + const char * uri; /* the URI of the resource for the output */ + int n_uri; + int compression; /* compress the output? */ + int n_compression; + + for (n_uri = 0;n_uri < gen_nb_fileoutput;n_uri++) { + for (n_compression = 0;n_compression < gen_nb_int;n_compression++) { + mem_base = xmlMemBlocks(); + uri = gen_fileoutput(n_uri, 0); + compression = gen_int(n_compression, 1); + + ret_val = xmlNewTextWriterFilename(uri, compression); + desret_xmlTextWriterPtr(ret_val); + call_tests++; + des_fileoutput(n_uri, uri, 0); + des_int(n_compression, compression, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewTextWriterFilename", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_uri); + printf(" %d", n_compression); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNewTextWriterMemory(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + xmlTextWriterPtr ret_val; + xmlBufferPtr buf; /* xmlBufferPtr */ + int n_buf; + int compression; /* compress the output? */ + int n_compression; + + for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) { + for (n_compression = 0;n_compression < gen_nb_int;n_compression++) { + mem_base = xmlMemBlocks(); + buf = gen_xmlBufferPtr(n_buf, 0); + compression = gen_int(n_compression, 1); + + ret_val = xmlNewTextWriterMemory(buf, compression); + desret_xmlTextWriterPtr(ret_val); + call_tests++; + des_xmlBufferPtr(n_buf, buf, 0); + des_int(n_compression, compression, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewTextWriterMemory", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_buf); + printf(" %d", n_compression); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNewTextWriterPushParser(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + xmlTextWriterPtr ret_val; + xmlParserCtxtPtr ctxt; /* xmlParserCtxtPtr to hold the new XML document tree */ + int n_ctxt; + int compression; /* compress the output? */ + int n_compression; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { + for (n_compression = 0;n_compression < gen_nb_int;n_compression++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0); + compression = gen_int(n_compression, 1); + + ret_val = xmlNewTextWriterPushParser(ctxt, compression); + if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;} if (ret_val != NULL) ctxt = NULL; + desret_xmlTextWriterPtr(ret_val); + call_tests++; + des_xmlParserCtxtPtr(n_ctxt, ctxt, 0); + des_int(n_compression, compression, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewTextWriterPushParser", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_compression); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlNewTextWriterTree(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + xmlTextWriterPtr ret_val; + xmlDocPtr doc; /* xmlDocPtr */ + int n_doc; + xmlNodePtr node; /* xmlNodePtr or NULL for doc->children */ + int n_node; + int compression; /* compress the output? */ + int n_compression; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_compression = 0;n_compression < gen_nb_int;n_compression++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + node = gen_xmlNodePtr(n_node, 1); + compression = gen_int(n_compression, 2); + + ret_val = xmlNewTextWriterTree(doc, node, compression); + desret_xmlTextWriterPtr(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + des_xmlNodePtr(n_node, node, 1); + des_int(n_compression, compression, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlNewTextWriterTree", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf(" %d", n_node); + printf(" %d", n_compression); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterEndAttribute(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + + ret_val = xmlTextWriterEndAttribute(writer); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterEndAttribute", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterEndCDATA(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + + ret_val = xmlTextWriterEndCDATA(writer); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterEndCDATA", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterEndComment(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + + ret_val = xmlTextWriterEndComment(writer); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterEndComment", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterEndDTD(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + + ret_val = xmlTextWriterEndDTD(writer); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterEndDTD", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterEndDTDAttlist(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + + ret_val = xmlTextWriterEndDTDAttlist(writer); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterEndDTDAttlist", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterEndDTDElement(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + + ret_val = xmlTextWriterEndDTDElement(writer); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterEndDTDElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterEndDTDEntity(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + + ret_val = xmlTextWriterEndDTDEntity(writer); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterEndDTDEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterEndDocument(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + + ret_val = xmlTextWriterEndDocument(writer); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterEndDocument", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterEndElement(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + + ret_val = xmlTextWriterEndElement(writer); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterEndElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterEndPI(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + + ret_val = xmlTextWriterEndPI(writer); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterEndPI", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterFlush(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + + ret_val = xmlTextWriterFlush(writer); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterFlush", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterFullEndElement(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + + ret_val = xmlTextWriterFullEndElement(writer); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterFullEndElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterSetIndent(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + int indent; /* do indentation? */ + int n_indent; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_indent = 0;n_indent < gen_nb_int;n_indent++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + indent = gen_int(n_indent, 1); + + ret_val = xmlTextWriterSetIndent(writer, indent); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_int(n_indent, indent, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterSetIndent", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_indent); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterSetIndentString(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * str; /* the xmlChar string */ + int n_str; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + str = gen_const_xmlChar_ptr(n_str, 1); + + ret_val = xmlTextWriterSetIndentString(writer, (const xmlChar *)str); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterSetIndentString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_str); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterSetQuoteChar(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar quotechar; /* the quote character */ + int n_quotechar; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_quotechar = 0;n_quotechar < gen_nb_xmlChar;n_quotechar++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + quotechar = gen_xmlChar(n_quotechar, 1); + + ret_val = xmlTextWriterSetQuoteChar(writer, quotechar); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_xmlChar(n_quotechar, quotechar, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterSetQuoteChar", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_quotechar); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterStartAttribute(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * name; /* element name */ + int n_name; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlTextWriterStartAttribute(writer, (const xmlChar *)name); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterStartAttribute", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterStartAttributeNS(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * prefix; /* namespace prefix or NULL */ + int n_prefix; + xmlChar * name; /* element local name */ + int n_name; + xmlChar * namespaceURI; /* namespace URI or NULL */ + int n_namespaceURI; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + prefix = gen_const_xmlChar_ptr(n_prefix, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3); + + ret_val = xmlTextWriterStartAttributeNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterStartAttributeNS", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_prefix); + printf(" %d", n_name); + printf(" %d", n_namespaceURI); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterStartCDATA(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + + ret_val = xmlTextWriterStartCDATA(writer); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterStartCDATA", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterStartComment(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + + ret_val = xmlTextWriterStartComment(writer); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterStartComment", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterStartDTD(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * name; /* the name of the DTD */ + int n_name; + xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */ + int n_pubid; + xmlChar * sysid; /* the system identifier, which is the URI of the DTD */ + int n_sysid; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) { + for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + pubid = gen_const_xmlChar_ptr(n_pubid, 2); + sysid = gen_const_xmlChar_ptr(n_sysid, 3); + + ret_val = xmlTextWriterStartDTD(writer, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 2); + des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterStartDTD", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_name); + printf(" %d", n_pubid); + printf(" %d", n_sysid); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterStartDTDAttlist(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * name; /* the name of the DTD ATTLIST */ + int n_name; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlTextWriterStartDTDAttlist(writer, (const xmlChar *)name); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterStartDTDAttlist", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterStartDTDElement(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * name; /* the name of the DTD element */ + int n_name; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlTextWriterStartDTDElement(writer, (const xmlChar *)name); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterStartDTDElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterStartDTDEntity(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + int pe; /* TRUE if this is a parameter entity, FALSE if not */ + int n_pe; + xmlChar * name; /* the name of the DTD ATTLIST */ + int n_name; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_pe = 0;n_pe < gen_nb_int;n_pe++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + pe = gen_int(n_pe, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + + ret_val = xmlTextWriterStartDTDEntity(writer, pe, (const xmlChar *)name); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_int(n_pe, pe, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterStartDTDEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_pe); + printf(" %d", n_name); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterStartDocument(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + char * version; /* the xml version ("1.0") or NULL for default ("1.0") */ + int n_version; + char * encoding; /* the encoding or NULL for default */ + int n_encoding; + char * standalone; /* "yes" or "no" or NULL for default */ + int n_standalone; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_version = 0;n_version < gen_nb_const_char_ptr;n_version++) { + for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) { + for (n_standalone = 0;n_standalone < gen_nb_const_char_ptr;n_standalone++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + version = gen_const_char_ptr(n_version, 1); + encoding = gen_const_char_ptr(n_encoding, 2); + standalone = gen_const_char_ptr(n_standalone, 3); + + ret_val = xmlTextWriterStartDocument(writer, (const char *)version, (const char *)encoding, (const char *)standalone); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_char_ptr(n_version, (const char *)version, 1); + des_const_char_ptr(n_encoding, (const char *)encoding, 2); + des_const_char_ptr(n_standalone, (const char *)standalone, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterStartDocument", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_version); + printf(" %d", n_encoding); + printf(" %d", n_standalone); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterStartElement(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * name; /* element name */ + int n_name; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlTextWriterStartElement(writer, (const xmlChar *)name); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterStartElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterStartElementNS(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * prefix; /* namespace prefix or NULL */ + int n_prefix; + xmlChar * name; /* element local name */ + int n_name; + xmlChar * namespaceURI; /* namespace URI or NULL */ + int n_namespaceURI; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + prefix = gen_const_xmlChar_ptr(n_prefix, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3); + + ret_val = xmlTextWriterStartElementNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterStartElementNS", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_prefix); + printf(" %d", n_name); + printf(" %d", n_namespaceURI); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterStartPI(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * target; /* PI target */ + int n_target; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_target = 0;n_target < gen_nb_const_xmlChar_ptr;n_target++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + target = gen_const_xmlChar_ptr(n_target, 1); + + ret_val = xmlTextWriterStartPI(writer, (const xmlChar *)target); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_target, (const xmlChar *)target, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterStartPI", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_target); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteAttribute(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * name; /* attribute name */ + int n_name; + xmlChar * content; /* attribute content */ + int n_content; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + content = gen_const_xmlChar_ptr(n_content, 2); + + ret_val = xmlTextWriterWriteAttribute(writer, (const xmlChar *)name, (const xmlChar *)content); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWriteAttribute", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_name); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteAttributeNS(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * prefix; /* namespace prefix */ + int n_prefix; + xmlChar * name; /* attribute local name */ + int n_name; + xmlChar * namespaceURI; /* namespace URI */ + int n_namespaceURI; + xmlChar * content; /* attribute content */ + int n_content; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + prefix = gen_const_xmlChar_ptr(n_prefix, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3); + content = gen_const_xmlChar_ptr(n_content, 4); + + ret_val = xmlTextWriterWriteAttributeNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI, (const xmlChar *)content); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWriteAttributeNS", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_prefix); + printf(" %d", n_name); + printf(" %d", n_namespaceURI); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteBase64(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + char * data; /* binary data */ + int n_data; + int start; /* the position within the data of the first byte to encode */ + int n_start; + int len; /* the number of bytes to encode */ + int n_len; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_data = 0;n_data < gen_nb_const_char_ptr;n_data++) { + for (n_start = 0;n_start < gen_nb_int;n_start++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + data = gen_const_char_ptr(n_data, 1); + start = gen_int(n_start, 2); + len = gen_int(n_len, 3); + if ((data != NULL) && + (start > (int) strlen((const char *) data) + 1)) + continue; + if ((data != NULL) && + (len > (int) strlen((const char *) data) + 1)) + continue; + + ret_val = xmlTextWriterWriteBase64(writer, (const char *)data, start, len); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_char_ptr(n_data, (const char *)data, 1); + des_int(n_start, start, 2); + des_int(n_len, len, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWriteBase64", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_data); + printf(" %d", n_start); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteBinHex(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + char * data; /* binary data */ + int n_data; + int start; /* the position within the data of the first byte to encode */ + int n_start; + int len; /* the number of bytes to encode */ + int n_len; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_data = 0;n_data < gen_nb_const_char_ptr;n_data++) { + for (n_start = 0;n_start < gen_nb_int;n_start++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + data = gen_const_char_ptr(n_data, 1); + start = gen_int(n_start, 2); + len = gen_int(n_len, 3); + if ((data != NULL) && + (start > (int) strlen((const char *) data) + 1)) + continue; + if ((data != NULL) && + (len > (int) strlen((const char *) data) + 1)) + continue; + + ret_val = xmlTextWriterWriteBinHex(writer, (const char *)data, start, len); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_char_ptr(n_data, (const char *)data, 1); + des_int(n_start, start, 2); + des_int(n_len, len, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWriteBinHex", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_data); + printf(" %d", n_start); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteCDATA(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * content; /* CDATA content */ + int n_content; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + content = gen_const_xmlChar_ptr(n_content, 1); + + ret_val = xmlTextWriterWriteCDATA(writer, (const xmlChar *)content); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWriteCDATA", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_content); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteComment(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * content; /* comment string */ + int n_content; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + content = gen_const_xmlChar_ptr(n_content, 1); + + ret_val = xmlTextWriterWriteComment(writer, (const xmlChar *)content); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWriteComment", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_content); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteDTD(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * name; /* the name of the DTD */ + int n_name; + xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */ + int n_pubid; + xmlChar * sysid; /* the system identifier, which is the URI of the DTD */ + int n_sysid; + xmlChar * subset; /* string content of the DTD */ + int n_subset; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) { + for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) { + for (n_subset = 0;n_subset < gen_nb_const_xmlChar_ptr;n_subset++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + pubid = gen_const_xmlChar_ptr(n_pubid, 2); + sysid = gen_const_xmlChar_ptr(n_sysid, 3); + subset = gen_const_xmlChar_ptr(n_subset, 4); + + ret_val = xmlTextWriterWriteDTD(writer, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)subset); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 2); + des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 3); + des_const_xmlChar_ptr(n_subset, (const xmlChar *)subset, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWriteDTD", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_name); + printf(" %d", n_pubid); + printf(" %d", n_sysid); + printf(" %d", n_subset); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteDTDAttlist(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * name; /* the name of the DTD ATTLIST */ + int n_name; + xmlChar * content; /* content of the ATTLIST */ + int n_content; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + content = gen_const_xmlChar_ptr(n_content, 2); + + ret_val = xmlTextWriterWriteDTDAttlist(writer, (const xmlChar *)name, (const xmlChar *)content); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWriteDTDAttlist", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_name); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteDTDElement(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * name; /* the name of the DTD element */ + int n_name; + xmlChar * content; /* content of the element */ + int n_content; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + content = gen_const_xmlChar_ptr(n_content, 2); + + ret_val = xmlTextWriterWriteDTDElement(writer, (const xmlChar *)name, (const xmlChar *)content); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWriteDTDElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_name); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteDTDEntity(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + int pe; /* TRUE if this is a parameter entity, FALSE if not */ + int n_pe; + xmlChar * name; /* the name of the DTD entity */ + int n_name; + xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */ + int n_pubid; + xmlChar * sysid; /* the system identifier, which is the URI of the DTD */ + int n_sysid; + xmlChar * ndataid; /* the xml notation name. */ + int n_ndataid; + xmlChar * content; /* content of the entity */ + int n_content; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_pe = 0;n_pe < gen_nb_int;n_pe++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) { + for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) { + for (n_ndataid = 0;n_ndataid < gen_nb_const_xmlChar_ptr;n_ndataid++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + pe = gen_int(n_pe, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + pubid = gen_const_xmlChar_ptr(n_pubid, 3); + sysid = gen_const_xmlChar_ptr(n_sysid, 4); + ndataid = gen_const_xmlChar_ptr(n_ndataid, 5); + content = gen_const_xmlChar_ptr(n_content, 6); + + ret_val = xmlTextWriterWriteDTDEntity(writer, pe, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)ndataid, (const xmlChar *)content); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_int(n_pe, pe, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 3); + des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 4); + des_const_xmlChar_ptr(n_ndataid, (const xmlChar *)ndataid, 5); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 6); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWriteDTDEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_pe); + printf(" %d", n_name); + printf(" %d", n_pubid); + printf(" %d", n_sysid); + printf(" %d", n_ndataid); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteDTDExternalEntity(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + int pe; /* TRUE if this is a parameter entity, FALSE if not */ + int n_pe; + xmlChar * name; /* the name of the DTD entity */ + int n_name; + xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */ + int n_pubid; + xmlChar * sysid; /* the system identifier, which is the URI of the DTD */ + int n_sysid; + xmlChar * ndataid; /* the xml notation name. */ + int n_ndataid; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_pe = 0;n_pe < gen_nb_int;n_pe++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) { + for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) { + for (n_ndataid = 0;n_ndataid < gen_nb_const_xmlChar_ptr;n_ndataid++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + pe = gen_int(n_pe, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + pubid = gen_const_xmlChar_ptr(n_pubid, 3); + sysid = gen_const_xmlChar_ptr(n_sysid, 4); + ndataid = gen_const_xmlChar_ptr(n_ndataid, 5); + + ret_val = xmlTextWriterWriteDTDExternalEntity(writer, pe, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)ndataid); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_int(n_pe, pe, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 3); + des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 4); + des_const_xmlChar_ptr(n_ndataid, (const xmlChar *)ndataid, 5); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWriteDTDExternalEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_pe); + printf(" %d", n_name); + printf(" %d", n_pubid); + printf(" %d", n_sysid); + printf(" %d", n_ndataid); + printf("\n"); + } + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteDTDExternalEntityContents(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */ + int n_pubid; + xmlChar * sysid; /* the system identifier, which is the URI of the DTD */ + int n_sysid; + xmlChar * ndataid; /* the xml notation name. */ + int n_ndataid; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) { + for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) { + for (n_ndataid = 0;n_ndataid < gen_nb_const_xmlChar_ptr;n_ndataid++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + pubid = gen_const_xmlChar_ptr(n_pubid, 1); + sysid = gen_const_xmlChar_ptr(n_sysid, 2); + ndataid = gen_const_xmlChar_ptr(n_ndataid, 3); + + ret_val = xmlTextWriterWriteDTDExternalEntityContents(writer, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)ndataid); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 1); + des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 2); + des_const_xmlChar_ptr(n_ndataid, (const xmlChar *)ndataid, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWriteDTDExternalEntityContents", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_pubid); + printf(" %d", n_sysid); + printf(" %d", n_ndataid); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteDTDInternalEntity(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + int pe; /* TRUE if this is a parameter entity, FALSE if not */ + int n_pe; + xmlChar * name; /* the name of the DTD entity */ + int n_name; + xmlChar * content; /* content of the entity */ + int n_content; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_pe = 0;n_pe < gen_nb_int;n_pe++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + pe = gen_int(n_pe, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + content = gen_const_xmlChar_ptr(n_content, 3); + + ret_val = xmlTextWriterWriteDTDInternalEntity(writer, pe, (const xmlChar *)name, (const xmlChar *)content); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_int(n_pe, pe, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWriteDTDInternalEntity", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_pe); + printf(" %d", n_name); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteDTDNotation(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * name; /* the name of the xml notation */ + int n_name; + xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */ + int n_pubid; + xmlChar * sysid; /* the system identifier, which is the URI of the DTD */ + int n_sysid; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) { + for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + pubid = gen_const_xmlChar_ptr(n_pubid, 2); + sysid = gen_const_xmlChar_ptr(n_sysid, 3); + + ret_val = xmlTextWriterWriteDTDNotation(writer, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 2); + des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWriteDTDNotation", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_name); + printf(" %d", n_pubid); + printf(" %d", n_sysid); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteElement(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * name; /* element name */ + int n_name; + xmlChar * content; /* element content */ + int n_content; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + content = gen_const_xmlChar_ptr(n_content, 2); + + ret_val = xmlTextWriterWriteElement(writer, (const xmlChar *)name, (const xmlChar *)content); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWriteElement", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_name); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteElementNS(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * prefix; /* namespace prefix */ + int n_prefix; + xmlChar * name; /* element local name */ + int n_name; + xmlChar * namespaceURI; /* namespace URI */ + int n_namespaceURI; + xmlChar * content; /* element content */ + int n_content; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + prefix = gen_const_xmlChar_ptr(n_prefix, 1); + name = gen_const_xmlChar_ptr(n_name, 2); + namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3); + content = gen_const_xmlChar_ptr(n_content, 4); + + ret_val = xmlTextWriterWriteElementNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI, (const xmlChar *)content); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2); + des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 4); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWriteElementNS", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_prefix); + printf(" %d", n_name); + printf(" %d", n_namespaceURI); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteFormatAttribute(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteFormatAttributeNS(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteFormatCDATA(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteFormatComment(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteFormatDTD(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteFormatDTDAttlist(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteFormatDTDElement(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteFormatDTDInternalEntity(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteFormatElement(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteFormatElementNS(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteFormatPI(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteFormatRaw(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteFormatString(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWritePI(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * target; /* PI target */ + int n_target; + xmlChar * content; /* PI content */ + int n_content; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_target = 0;n_target < gen_nb_const_xmlChar_ptr;n_target++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + target = gen_const_xmlChar_ptr(n_target, 1); + content = gen_const_xmlChar_ptr(n_content, 2); + + ret_val = xmlTextWriterWritePI(writer, (const xmlChar *)target, (const xmlChar *)content); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_target, (const xmlChar *)target, 1); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWritePI", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_target); + printf(" %d", n_content); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteRaw(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * content; /* text string */ + int n_content; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + content = gen_const_xmlChar_ptr(n_content, 1); + + ret_val = xmlTextWriterWriteRaw(writer, (const xmlChar *)content); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWriteRaw", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_content); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteRawLen(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * content; /* text string */ + int n_content; + int len; /* length of the text string */ + int n_len; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + for (n_len = 0;n_len < gen_nb_int;n_len++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + content = gen_const_xmlChar_ptr(n_content, 1); + len = gen_int(n_len, 2); + if ((content != NULL) && + (len > (int) strlen((const char *) content) + 1)) + continue; + + ret_val = xmlTextWriterWriteRawLen(writer, (const xmlChar *)content, len); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1); + des_int(n_len, len, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWriteRawLen", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_content); + printf(" %d", n_len); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteString(void) { + int test_ret = 0; + +#if defined(LIBXML_WRITER_ENABLED) + int mem_base; + int ret_val; + xmlTextWriterPtr writer; /* the xmlTextWriterPtr */ + int n_writer; + xmlChar * content; /* text string */ + int n_content; + + for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) { + for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) { + mem_base = xmlMemBlocks(); + writer = gen_xmlTextWriterPtr(n_writer, 0); + content = gen_const_xmlChar_ptr(n_content, 1); + + ret_val = xmlTextWriterWriteString(writer, (const xmlChar *)content); + desret_int(ret_val); + call_tests++; + des_xmlTextWriterPtr(n_writer, writer, 0); + des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlTextWriterWriteString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_writer); + printf(" %d", n_content); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlTextWriterWriteVFormatAttribute(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteVFormatAttributeNS(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteVFormatCDATA(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteVFormatComment(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteVFormatDTD(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteVFormatDTDAttlist(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteVFormatDTDElement(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteVFormatDTDInternalEntity(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteVFormatElement(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteVFormatElementNS(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteVFormatPI(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteVFormatRaw(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlTextWriterWriteVFormatString(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + +static int +test_xmlwriter(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing xmlwriter : 52 of 80 functions ...\n"); + test_ret += test_xmlNewTextWriter(); + test_ret += test_xmlNewTextWriterFilename(); + test_ret += test_xmlNewTextWriterMemory(); + test_ret += test_xmlNewTextWriterPushParser(); + test_ret += test_xmlNewTextWriterTree(); + test_ret += test_xmlTextWriterEndAttribute(); + test_ret += test_xmlTextWriterEndCDATA(); + test_ret += test_xmlTextWriterEndComment(); + test_ret += test_xmlTextWriterEndDTD(); + test_ret += test_xmlTextWriterEndDTDAttlist(); + test_ret += test_xmlTextWriterEndDTDElement(); + test_ret += test_xmlTextWriterEndDTDEntity(); + test_ret += test_xmlTextWriterEndDocument(); + test_ret += test_xmlTextWriterEndElement(); + test_ret += test_xmlTextWriterEndPI(); + test_ret += test_xmlTextWriterFlush(); + test_ret += test_xmlTextWriterFullEndElement(); + test_ret += test_xmlTextWriterSetIndent(); + test_ret += test_xmlTextWriterSetIndentString(); + test_ret += test_xmlTextWriterSetQuoteChar(); + test_ret += test_xmlTextWriterStartAttribute(); + test_ret += test_xmlTextWriterStartAttributeNS(); + test_ret += test_xmlTextWriterStartCDATA(); + test_ret += test_xmlTextWriterStartComment(); + test_ret += test_xmlTextWriterStartDTD(); + test_ret += test_xmlTextWriterStartDTDAttlist(); + test_ret += test_xmlTextWriterStartDTDElement(); + test_ret += test_xmlTextWriterStartDTDEntity(); + test_ret += test_xmlTextWriterStartDocument(); + test_ret += test_xmlTextWriterStartElement(); + test_ret += test_xmlTextWriterStartElementNS(); + test_ret += test_xmlTextWriterStartPI(); + test_ret += test_xmlTextWriterWriteAttribute(); + test_ret += test_xmlTextWriterWriteAttributeNS(); + test_ret += test_xmlTextWriterWriteBase64(); + test_ret += test_xmlTextWriterWriteBinHex(); + test_ret += test_xmlTextWriterWriteCDATA(); + test_ret += test_xmlTextWriterWriteComment(); + test_ret += test_xmlTextWriterWriteDTD(); + test_ret += test_xmlTextWriterWriteDTDAttlist(); + test_ret += test_xmlTextWriterWriteDTDElement(); + test_ret += test_xmlTextWriterWriteDTDEntity(); + test_ret += test_xmlTextWriterWriteDTDExternalEntity(); + test_ret += test_xmlTextWriterWriteDTDExternalEntityContents(); + test_ret += test_xmlTextWriterWriteDTDInternalEntity(); + test_ret += test_xmlTextWriterWriteDTDNotation(); + test_ret += test_xmlTextWriterWriteElement(); + test_ret += test_xmlTextWriterWriteElementNS(); + test_ret += test_xmlTextWriterWriteFormatAttribute(); + test_ret += test_xmlTextWriterWriteFormatAttributeNS(); + test_ret += test_xmlTextWriterWriteFormatCDATA(); + test_ret += test_xmlTextWriterWriteFormatComment(); + test_ret += test_xmlTextWriterWriteFormatDTD(); + test_ret += test_xmlTextWriterWriteFormatDTDAttlist(); + test_ret += test_xmlTextWriterWriteFormatDTDElement(); + test_ret += test_xmlTextWriterWriteFormatDTDInternalEntity(); + test_ret += test_xmlTextWriterWriteFormatElement(); + test_ret += test_xmlTextWriterWriteFormatElementNS(); + test_ret += test_xmlTextWriterWriteFormatPI(); + test_ret += test_xmlTextWriterWriteFormatRaw(); + test_ret += test_xmlTextWriterWriteFormatString(); + test_ret += test_xmlTextWriterWritePI(); + test_ret += test_xmlTextWriterWriteRaw(); + test_ret += test_xmlTextWriterWriteRawLen(); + test_ret += test_xmlTextWriterWriteString(); + test_ret += test_xmlTextWriterWriteVFormatAttribute(); + test_ret += test_xmlTextWriterWriteVFormatAttributeNS(); + test_ret += test_xmlTextWriterWriteVFormatCDATA(); + test_ret += test_xmlTextWriterWriteVFormatComment(); + test_ret += test_xmlTextWriterWriteVFormatDTD(); + test_ret += test_xmlTextWriterWriteVFormatDTDAttlist(); + test_ret += test_xmlTextWriterWriteVFormatDTDElement(); + test_ret += test_xmlTextWriterWriteVFormatDTDInternalEntity(); + test_ret += test_xmlTextWriterWriteVFormatElement(); + test_ret += test_xmlTextWriterWriteVFormatElementNS(); + test_ret += test_xmlTextWriterWriteVFormatPI(); + test_ret += test_xmlTextWriterWriteVFormatRaw(); + test_ret += test_xmlTextWriterWriteVFormatString(); + + if (test_ret != 0) + printf("Module xmlwriter: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlXPathCastBooleanToNumber(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + double ret_val; + int val; /* a boolean */ + int n_val; + + for (n_val = 0;n_val < gen_nb_int;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_int(n_val, 0); + + ret_val = xmlXPathCastBooleanToNumber(val); + desret_double(ret_val); + call_tests++; + des_int(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCastBooleanToNumber", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCastBooleanToString(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlChar * ret_val; + int val; /* a boolean */ + int n_val; + + for (n_val = 0;n_val < gen_nb_int;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_int(n_val, 0); + + ret_val = xmlXPathCastBooleanToString(val); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_int(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCastBooleanToString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCastNodeSetToBoolean(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlNodeSetPtr ns; /* a node-set */ + int n_ns; + + for (n_ns = 0;n_ns < gen_nb_xmlNodeSetPtr;n_ns++) { + mem_base = xmlMemBlocks(); + ns = gen_xmlNodeSetPtr(n_ns, 0); + + ret_val = xmlXPathCastNodeSetToBoolean(ns); + desret_int(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_ns, ns, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCastNodeSetToBoolean", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ns); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCastNodeSetToNumber(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + double ret_val; + xmlNodeSetPtr ns; /* a node-set */ + int n_ns; + + for (n_ns = 0;n_ns < gen_nb_xmlNodeSetPtr;n_ns++) { + mem_base = xmlMemBlocks(); + ns = gen_xmlNodeSetPtr(n_ns, 0); + + ret_val = xmlXPathCastNodeSetToNumber(ns); + desret_double(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_ns, ns, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCastNodeSetToNumber", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ns); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCastNodeSetToString(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlNodeSetPtr ns; /* a node-set */ + int n_ns; + + for (n_ns = 0;n_ns < gen_nb_xmlNodeSetPtr;n_ns++) { + mem_base = xmlMemBlocks(); + ns = gen_xmlNodeSetPtr(n_ns, 0); + + ret_val = xmlXPathCastNodeSetToString(ns); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_ns, ns, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCastNodeSetToString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ns); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCastNodeToNumber(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + double ret_val; + xmlNodePtr node; /* a node */ + int n_node; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + + ret_val = xmlXPathCastNodeToNumber(node); + desret_double(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCastNodeToNumber", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCastNodeToString(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlNodePtr node; /* a node */ + int n_node; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + + ret_val = xmlXPathCastNodeToString(node); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCastNodeToString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCastNumberToBoolean(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + double val; /* a number */ + int n_val; + + for (n_val = 0;n_val < gen_nb_double;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_double(n_val, 0); + + ret_val = xmlXPathCastNumberToBoolean(val); + desret_int(ret_val); + call_tests++; + des_double(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCastNumberToBoolean", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCastNumberToString(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlChar * ret_val; + double val; /* a number */ + int n_val; + + for (n_val = 0;n_val < gen_nb_double;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_double(n_val, 0); + + ret_val = xmlXPathCastNumberToString(val); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_double(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCastNumberToString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCastStringToBoolean(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlChar * val; /* a string */ + int n_val; + + for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_const_xmlChar_ptr(n_val, 0); + + ret_val = xmlXPathCastStringToBoolean((const xmlChar *)val); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCastStringToBoolean", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCastStringToNumber(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + double ret_val; + xmlChar * val; /* a string */ + int n_val; + + for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_const_xmlChar_ptr(n_val, 0); + + ret_val = xmlXPathCastStringToNumber((const xmlChar *)val); + desret_double(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCastStringToNumber", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCastToBoolean(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlXPathObjectPtr val; /* an XPath object */ + int n_val; + + for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_xmlXPathObjectPtr(n_val, 0); + + ret_val = xmlXPathCastToBoolean(val); + desret_int(ret_val); + call_tests++; + des_xmlXPathObjectPtr(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCastToBoolean", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCastToNumber(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + double ret_val; + xmlXPathObjectPtr val; /* an XPath object */ + int n_val; + + for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_xmlXPathObjectPtr(n_val, 0); + + ret_val = xmlXPathCastToNumber(val); + desret_double(ret_val); + call_tests++; + des_xmlXPathObjectPtr(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCastToNumber", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCastToString(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlXPathObjectPtr val; /* an XPath object */ + int n_val; + + for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_xmlXPathObjectPtr(n_val, 0); + + ret_val = xmlXPathCastToString(val); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlXPathObjectPtr(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCastToString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCmpNodes(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlNodePtr node1; /* the first node */ + int n_node1; + xmlNodePtr node2; /* the second node */ + int n_node2; + + for (n_node1 = 0;n_node1 < gen_nb_xmlNodePtr;n_node1++) { + for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) { + mem_base = xmlMemBlocks(); + node1 = gen_xmlNodePtr(n_node1, 0); + node2 = gen_xmlNodePtr(n_node2, 1); + + ret_val = xmlXPathCmpNodes(node1, node2); + desret_int(ret_val); + call_tests++; + des_xmlNodePtr(n_node1, node1, 0); + des_xmlNodePtr(n_node2, node2, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCmpNodes", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node1); + printf(" %d", n_node2); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCompile(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + +#ifdef LIBXML_XPATH_ENABLED + +#define gen_nb_xmlXPathCompExprPtr 1 +static xmlXPathCompExprPtr gen_xmlXPathCompExprPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlXPathCompExprPtr(int no ATTRIBUTE_UNUSED, xmlXPathCompExprPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + +#ifdef LIBXML_XPATH_ENABLED + +#define gen_nb_xmlXPathContextPtr 1 +static xmlXPathContextPtr gen_xmlXPathContextPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlXPathContextPtr(int no ATTRIBUTE_UNUSED, xmlXPathContextPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlXPathCompiledEval(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlXPathCompExprPtr comp; /* the compiled XPath expression */ + int n_comp; + xmlXPathContextPtr ctx; /* the XPath context */ + int n_ctx; + + for (n_comp = 0;n_comp < gen_nb_xmlXPathCompExprPtr;n_comp++) { + for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) { + mem_base = xmlMemBlocks(); + comp = gen_xmlXPathCompExprPtr(n_comp, 0); + ctx = gen_xmlXPathContextPtr(n_ctx, 1); + + ret_val = xmlXPathCompiledEval(comp, ctx); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlXPathCompExprPtr(n_comp, comp, 0); + des_xmlXPathContextPtr(n_ctx, ctx, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCompiledEval", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_comp); + printf(" %d", n_ctx); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCompiledEvalToBoolean(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlXPathCompExprPtr comp; /* the compiled XPath expression */ + int n_comp; + xmlXPathContextPtr ctxt; /* the XPath context */ + int n_ctxt; + + for (n_comp = 0;n_comp < gen_nb_xmlXPathCompExprPtr;n_comp++) { + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + comp = gen_xmlXPathCompExprPtr(n_comp, 0); + ctxt = gen_xmlXPathContextPtr(n_ctxt, 1); + + ret_val = xmlXPathCompiledEvalToBoolean(comp, ctxt); + desret_int(ret_val); + call_tests++; + des_xmlXPathCompExprPtr(n_comp, comp, 0); + des_xmlXPathContextPtr(n_ctxt, ctxt, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCompiledEvalToBoolean", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_comp); + printf(" %d", n_ctxt); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathContextSetCache(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlXPathContextPtr ctxt; /* the XPath context */ + int n_ctxt; + int active; /* enables/disables (creates/frees) the cache */ + int n_active; + int value; /* a value with semantics dependent on @options */ + int n_value; + int options; /* options (currently only the value 0 is used) */ + int n_options; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) { + for (n_active = 0;n_active < gen_nb_int;n_active++) { + for (n_value = 0;n_value < gen_nb_int;n_value++) { + for (n_options = 0;n_options < gen_nb_int;n_options++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathContextPtr(n_ctxt, 0); + active = gen_int(n_active, 1); + value = gen_int(n_value, 2); + options = gen_int(n_options, 3); + + ret_val = xmlXPathContextSetCache(ctxt, active, value, options); + desret_int(ret_val); + call_tests++; + des_xmlXPathContextPtr(n_ctxt, ctxt, 0); + des_int(n_active, active, 1); + des_int(n_value, value, 2); + des_int(n_options, options, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathContextSetCache", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_active); + printf(" %d", n_value); + printf(" %d", n_options); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathConvertBoolean(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlXPathObjectPtr val; /* an XPath object */ + int n_val; + + for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_xmlXPathObjectPtr(n_val, 0); + + ret_val = xmlXPathConvertBoolean(val); + val = NULL; + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlXPathObjectPtr(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathConvertBoolean", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathConvertNumber(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlXPathObjectPtr val; /* an XPath object */ + int n_val; + + for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_xmlXPathObjectPtr(n_val, 0); + + ret_val = xmlXPathConvertNumber(val); + val = NULL; + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlXPathObjectPtr(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathConvertNumber", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathConvertString(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlXPathObjectPtr val; /* an XPath object */ + int n_val; + + for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_xmlXPathObjectPtr(n_val, 0); + + ret_val = xmlXPathConvertString(val); + val = NULL; + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlXPathObjectPtr(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathConvertString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCtxtCompile(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlXPathEval(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlChar * str; /* the XPath expression */ + int n_str; + xmlXPathContextPtr ctx; /* the XPath context */ + int n_ctx; + + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) { + mem_base = xmlMemBlocks(); + str = gen_const_xmlChar_ptr(n_str, 0); + ctx = gen_xmlXPathContextPtr(n_ctx, 1); + + ret_val = xmlXPathEval((const xmlChar *)str, ctx); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0); + des_xmlXPathContextPtr(n_ctx, ctx, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathEval", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_str); + printf(" %d", n_ctx); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathEvalExpression(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlChar * str; /* the XPath expression */ + int n_str; + xmlXPathContextPtr ctxt; /* the XPath context */ + int n_ctxt; + + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + str = gen_const_xmlChar_ptr(n_str, 0); + ctxt = gen_xmlXPathContextPtr(n_ctxt, 1); + + ret_val = xmlXPathEvalExpression((const xmlChar *)str, ctxt); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0); + des_xmlXPathContextPtr(n_ctxt, ctxt, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathEvalExpression", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_str); + printf(" %d", n_ctxt); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathEvalPredicate(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlXPathContextPtr ctxt; /* the XPath context */ + int n_ctxt; + xmlXPathObjectPtr res; /* the Predicate Expression evaluation result */ + int n_res; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) { + for (n_res = 0;n_res < gen_nb_xmlXPathObjectPtr;n_res++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathContextPtr(n_ctxt, 0); + res = gen_xmlXPathObjectPtr(n_res, 1); + + ret_val = xmlXPathEvalPredicate(ctxt, res); + desret_int(ret_val); + call_tests++; + des_xmlXPathContextPtr(n_ctxt, ctxt, 0); + des_xmlXPathObjectPtr(n_res, res, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathEvalPredicate", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_res); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathInit(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + + mem_base = xmlMemBlocks(); + + xmlXPathInit(); + call_tests++; + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathInit", + xmlMemBlocks() - mem_base); + test_ret++; + printf("\n"); + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathIsInf(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + double val; /* a double value */ + int n_val; + + for (n_val = 0;n_val < gen_nb_double;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_double(n_val, 0); + + ret_val = xmlXPathIsInf(val); + desret_int(ret_val); + call_tests++; + des_double(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathIsInf", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathIsNaN(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) + int mem_base; + int ret_val; + double val; /* a double value */ + int n_val; + + for (n_val = 0;n_val < gen_nb_double;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_double(n_val, 0); + + ret_val = xmlXPathIsNaN(val); + desret_int(ret_val); + call_tests++; + des_double(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathIsNaN", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNewContext(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlXPathNodeEval(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlNodePtr node; /* the node to to use as the context node */ + int n_node; + xmlChar * str; /* the XPath expression */ + int n_str; + xmlXPathContextPtr ctx; /* the XPath context */ + int n_ctx; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + str = gen_const_xmlChar_ptr(n_str, 1); + ctx = gen_xmlXPathContextPtr(n_ctx, 2); + + ret_val = xmlXPathNodeEval(node, (const xmlChar *)str, ctx); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1); + des_xmlXPathContextPtr(n_ctx, ctx, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNodeEval", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_str); + printf(" %d", n_ctx); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNodeSetCreate(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodeSetPtr ret_val; + xmlNodePtr val; /* an initial xmlNodePtr, or NULL */ + int n_val; + + for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_xmlNodePtr(n_val, 0); + + ret_val = xmlXPathNodeSetCreate(val); + desret_xmlNodeSetPtr(ret_val); + call_tests++; + des_xmlNodePtr(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNodeSetCreate", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathObjectCopy(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlXPathObjectPtr val; /* the original object */ + int n_val; + + for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_xmlXPathObjectPtr(n_val, 0); + + ret_val = xmlXPathObjectCopy(val); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlXPathObjectPtr(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathObjectCopy", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathOrderDocElems(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + long ret_val; + xmlDocPtr doc; /* an input document */ + int n_doc; + + for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { + mem_base = xmlMemBlocks(); + doc = gen_xmlDocPtr(n_doc, 0); + + ret_val = xmlXPathOrderDocElems(doc); + desret_long(ret_val); + call_tests++; + des_xmlDocPtr(n_doc, doc, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathOrderDocElems", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_doc); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathSetContextNode(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlNodePtr node; /* the node to to use as the context node */ + int n_node; + xmlXPathContextPtr ctx; /* the XPath context */ + int n_ctx; + + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) { + mem_base = xmlMemBlocks(); + node = gen_xmlNodePtr(n_node, 0); + ctx = gen_xmlXPathContextPtr(n_ctx, 1); + + ret_val = xmlXPathSetContextNode(node, ctx); + desret_int(ret_val); + call_tests++; + des_xmlNodePtr(n_node, node, 0); + des_xmlXPathContextPtr(n_ctx, ctx, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathSetContextNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_node); + printf(" %d", n_ctx); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_xpath(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing xpath : 32 of 40 functions ...\n"); + test_ret += test_xmlXPathCastBooleanToNumber(); + test_ret += test_xmlXPathCastBooleanToString(); + test_ret += test_xmlXPathCastNodeSetToBoolean(); + test_ret += test_xmlXPathCastNodeSetToNumber(); + test_ret += test_xmlXPathCastNodeSetToString(); + test_ret += test_xmlXPathCastNodeToNumber(); + test_ret += test_xmlXPathCastNodeToString(); + test_ret += test_xmlXPathCastNumberToBoolean(); + test_ret += test_xmlXPathCastNumberToString(); + test_ret += test_xmlXPathCastStringToBoolean(); + test_ret += test_xmlXPathCastStringToNumber(); + test_ret += test_xmlXPathCastToBoolean(); + test_ret += test_xmlXPathCastToNumber(); + test_ret += test_xmlXPathCastToString(); + test_ret += test_xmlXPathCmpNodes(); + test_ret += test_xmlXPathCompile(); + test_ret += test_xmlXPathCompiledEval(); + test_ret += test_xmlXPathCompiledEvalToBoolean(); + test_ret += test_xmlXPathContextSetCache(); + test_ret += test_xmlXPathConvertBoolean(); + test_ret += test_xmlXPathConvertNumber(); + test_ret += test_xmlXPathConvertString(); + test_ret += test_xmlXPathCtxtCompile(); + test_ret += test_xmlXPathEval(); + test_ret += test_xmlXPathEvalExpression(); + test_ret += test_xmlXPathEvalPredicate(); + test_ret += test_xmlXPathInit(); + test_ret += test_xmlXPathIsInf(); + test_ret += test_xmlXPathIsNaN(); + test_ret += test_xmlXPathNewContext(); + test_ret += test_xmlXPathNodeEval(); + test_ret += test_xmlXPathNodeSetCreate(); + test_ret += test_xmlXPathObjectCopy(); + test_ret += test_xmlXPathOrderDocElems(); + test_ret += test_xmlXPathSetContextNode(); + + if (test_ret != 0) + printf("Module xpath: %d errors\n", test_ret); + return(test_ret); +} +#ifdef LIBXML_XPATH_ENABLED + +#define gen_nb_xmlXPathParserContextPtr 1 +static xmlXPathParserContextPtr gen_xmlXPathParserContextPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlXPathParserContextPtr(int no ATTRIBUTE_UNUSED, xmlXPathParserContextPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_valuePop(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlXPathParserContextPtr ctxt; /* an XPath evaluation context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + + ret_val = valuePop(ctxt); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in valuePop", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_valuePush(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlXPathParserContextPtr ctxt; /* an XPath evaluation context */ + int n_ctxt; + xmlXPathObjectPtr value; /* the XPath object */ + int n_value; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_value = 0;n_value < gen_nb_xmlXPathObjectPtr;n_value++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + value = gen_xmlXPathObjectPtr(n_value, 1); + + ret_val = valuePush(ctxt, value); + desret_int(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_xmlXPathObjectPtr(n_value, value, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in valuePush", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_value); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathAddValues(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + + xmlXPathAddValues(ctxt); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathAddValues", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathBooleanFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathBooleanFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathBooleanFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCeilingFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathCeilingFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCeilingFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCompareValues(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int inf; /* less than (1) or greater than (0) */ + int n_inf; + int strict; /* is the comparison strict */ + int n_strict; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_inf = 0;n_inf < gen_nb_int;n_inf++) { + for (n_strict = 0;n_strict < gen_nb_int;n_strict++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + inf = gen_int(n_inf, 1); + strict = gen_int(n_strict, 2); + + ret_val = xmlXPathCompareValues(ctxt, inf, strict); + desret_int(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_inf, inf, 1); + des_int(n_strict, strict, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCompareValues", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_inf); + printf(" %d", n_strict); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathConcatFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathConcatFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathConcatFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathContainsFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathContainsFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathContainsFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathCountFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathCountFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathCountFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathDebugDumpCompExpr(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_DEBUG_ENABLED) + int mem_base; + FILE * output; /* the FILE * for the output */ + int n_output; + xmlXPathCompExprPtr comp; /* the precompiled XPath expression */ + int n_comp; + int depth; /* the indentation level. */ + int n_depth; + + for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) { + for (n_comp = 0;n_comp < gen_nb_xmlXPathCompExprPtr;n_comp++) { + for (n_depth = 0;n_depth < gen_nb_int;n_depth++) { + mem_base = xmlMemBlocks(); + output = gen_FILE_ptr(n_output, 0); + comp = gen_xmlXPathCompExprPtr(n_comp, 1); + depth = gen_int(n_depth, 2); + + xmlXPathDebugDumpCompExpr(output, comp, depth); + call_tests++; + des_FILE_ptr(n_output, output, 0); + des_xmlXPathCompExprPtr(n_comp, comp, 1); + des_int(n_depth, depth, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathDebugDumpCompExpr", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_output); + printf(" %d", n_comp); + printf(" %d", n_depth); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathDebugDumpObject(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_DEBUG_ENABLED) + int mem_base; + FILE * output; /* the FILE * to dump the output */ + int n_output; + xmlXPathObjectPtr cur; /* the object to inspect */ + int n_cur; + int depth; /* indentation level */ + int n_depth; + + for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) { + for (n_cur = 0;n_cur < gen_nb_xmlXPathObjectPtr;n_cur++) { + for (n_depth = 0;n_depth < gen_nb_int;n_depth++) { + mem_base = xmlMemBlocks(); + output = gen_FILE_ptr(n_output, 0); + cur = gen_xmlXPathObjectPtr(n_cur, 1); + depth = gen_int(n_depth, 2); + + xmlXPathDebugDumpObject(output, cur, depth); + call_tests++; + des_FILE_ptr(n_output, output, 0); + des_xmlXPathObjectPtr(n_cur, cur, 1); + des_int(n_depth, depth, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathDebugDumpObject", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_output); + printf(" %d", n_cur); + printf(" %d", n_depth); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathDifference(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodeSetPtr ret_val; + xmlNodeSetPtr nodes1; /* a node-set */ + int n_nodes1; + xmlNodeSetPtr nodes2; /* a node-set */ + int n_nodes2; + + for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) { + for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) { + mem_base = xmlMemBlocks(); + nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0); + nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1); + + ret_val = xmlXPathDifference(nodes1, nodes2); + desret_xmlNodeSetPtr(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_nodes1, nodes1, 0); + des_xmlNodeSetPtr(n_nodes2, nodes2, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathDifference", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_nodes1); + printf(" %d", n_nodes2); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathDistinct(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodeSetPtr ret_val; + xmlNodeSetPtr nodes; /* a node-set */ + int n_nodes; + + for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) { + mem_base = xmlMemBlocks(); + nodes = gen_xmlNodeSetPtr(n_nodes, 0); + + ret_val = xmlXPathDistinct(nodes); + desret_xmlNodeSetPtr(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_nodes, nodes, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathDistinct", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_nodes); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathDistinctSorted(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodeSetPtr ret_val; + xmlNodeSetPtr nodes; /* a node-set, sorted by document order */ + int n_nodes; + + for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) { + mem_base = xmlMemBlocks(); + nodes = gen_xmlNodeSetPtr(n_nodes, 0); + + ret_val = xmlXPathDistinctSorted(nodes); + desret_xmlNodeSetPtr(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_nodes, nodes, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathDistinctSorted", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_nodes); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathDivValues(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + + xmlXPathDivValues(ctxt); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathDivValues", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathEqualValues(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + + ret_val = xmlXPathEqualValues(ctxt); + desret_int(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathEqualValues", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathErr(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* a XPath parser context */ + int n_ctxt; + int error; /* the error code */ + int n_error; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_error = 0;n_error < gen_nb_int;n_error++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + error = gen_int(n_error, 1); + + xmlXPathErr(ctxt, error); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_error, error, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathErr", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_error); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathEvalExpr(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + + xmlXPathEvalExpr(ctxt); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathEvalExpr", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathEvaluatePredicateResult(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + xmlXPathObjectPtr res; /* the Predicate Expression evaluation result */ + int n_res; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_res = 0;n_res < gen_nb_xmlXPathObjectPtr;n_res++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + res = gen_xmlXPathObjectPtr(n_res, 1); + + ret_val = xmlXPathEvaluatePredicateResult(ctxt, res); + desret_int(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_xmlXPathObjectPtr(n_res, res, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathEvaluatePredicateResult", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_res); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathFalseFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathFalseFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathFalseFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathFloorFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathFloorFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathFloorFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathFunctionLookup(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlXPathFunctionLookupNS(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlXPathHasSameNodes(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlNodeSetPtr nodes1; /* a node-set */ + int n_nodes1; + xmlNodeSetPtr nodes2; /* a node-set */ + int n_nodes2; + + for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) { + for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) { + mem_base = xmlMemBlocks(); + nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0); + nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1); + + ret_val = xmlXPathHasSameNodes(nodes1, nodes2); + desret_int(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_nodes1, nodes1, 0); + des_xmlNodeSetPtr(n_nodes2, nodes2, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathHasSameNodes", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_nodes1); + printf(" %d", n_nodes2); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathIdFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathIdFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathIdFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathIntersection(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodeSetPtr ret_val; + xmlNodeSetPtr nodes1; /* a node-set */ + int n_nodes1; + xmlNodeSetPtr nodes2; /* a node-set */ + int n_nodes2; + + for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) { + for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) { + mem_base = xmlMemBlocks(); + nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0); + nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1); + + ret_val = xmlXPathIntersection(nodes1, nodes2); + desret_xmlNodeSetPtr(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_nodes1, nodes1, 0); + des_xmlNodeSetPtr(n_nodes2, nodes2, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathIntersection", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_nodes1); + printf(" %d", n_nodes2); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathIsNodeType(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlChar * name; /* a name string */ + int n_name; + + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + name = gen_const_xmlChar_ptr(n_name, 0); + + ret_val = xmlXPathIsNodeType((const xmlChar *)name); + desret_int(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathIsNodeType", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_name); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathLangFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathLangFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathLangFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathLastFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathLastFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathLastFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathLeading(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodeSetPtr ret_val; + xmlNodeSetPtr nodes1; /* a node-set */ + int n_nodes1; + xmlNodeSetPtr nodes2; /* a node-set */ + int n_nodes2; + + for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) { + for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) { + mem_base = xmlMemBlocks(); + nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0); + nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1); + + ret_val = xmlXPathLeading(nodes1, nodes2); + desret_xmlNodeSetPtr(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_nodes1, nodes1, 0); + des_xmlNodeSetPtr(n_nodes2, nodes2, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathLeading", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_nodes1); + printf(" %d", n_nodes2); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathLeadingSorted(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodeSetPtr ret_val; + xmlNodeSetPtr nodes1; /* a node-set, sorted by document order */ + int n_nodes1; + xmlNodeSetPtr nodes2; /* a node-set, sorted by document order */ + int n_nodes2; + + for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) { + for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) { + mem_base = xmlMemBlocks(); + nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0); + nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1); + + ret_val = xmlXPathLeadingSorted(nodes1, nodes2); + desret_xmlNodeSetPtr(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_nodes1, nodes1, 0); + des_xmlNodeSetPtr(n_nodes2, nodes2, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathLeadingSorted", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_nodes1); + printf(" %d", n_nodes2); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathLocalNameFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathLocalNameFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathLocalNameFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathModValues(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + + xmlXPathModValues(ctxt); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathModValues", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathMultValues(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + + xmlXPathMultValues(ctxt); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathMultValues", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNamespaceURIFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathNamespaceURIFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNamespaceURIFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNewBoolean(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + int val; /* the boolean value */ + int n_val; + + for (n_val = 0;n_val < gen_nb_int;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_int(n_val, 0); + + ret_val = xmlXPathNewBoolean(val); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_int(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNewBoolean", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNewCString(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + char * val; /* the char * value */ + int n_val; + + for (n_val = 0;n_val < gen_nb_const_char_ptr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_const_char_ptr(n_val, 0); + + ret_val = xmlXPathNewCString((const char *)val); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_const_char_ptr(n_val, (const char *)val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNewCString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNewFloat(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + double val; /* the double value */ + int n_val; + + for (n_val = 0;n_val < gen_nb_double;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_double(n_val, 0); + + ret_val = xmlXPathNewFloat(val); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_double(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNewFloat", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNewNodeSet(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlNodePtr val; /* the NodePtr value */ + int n_val; + + for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_xmlNodePtr(n_val, 0); + + ret_val = xmlXPathNewNodeSet(val); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlNodePtr(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNewNodeSet", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNewNodeSetList(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlNodeSetPtr val; /* an existing NodeSet */ + int n_val; + + for (n_val = 0;n_val < gen_nb_xmlNodeSetPtr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_xmlNodeSetPtr(n_val, 0); + + ret_val = xmlXPathNewNodeSetList(val); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNewNodeSetList", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNewParserContext(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlXPathNewString(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlChar * val; /* the xmlChar * value */ + int n_val; + + for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_const_xmlChar_ptr(n_val, 0); + + ret_val = xmlXPathNewString((const xmlChar *)val); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNewString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNextAncestor(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + xmlNodePtr cur; /* the current node in the traversal */ + int n_cur; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + cur = gen_xmlNodePtr(n_cur, 1); + + ret_val = xmlXPathNextAncestor(ctxt, cur); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_xmlNodePtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNextAncestor", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNextAncestorOrSelf(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + xmlNodePtr cur; /* the current node in the traversal */ + int n_cur; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + cur = gen_xmlNodePtr(n_cur, 1); + + ret_val = xmlXPathNextAncestorOrSelf(ctxt, cur); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_xmlNodePtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNextAncestorOrSelf", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNextAttribute(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + xmlNodePtr cur; /* the current attribute in the traversal */ + int n_cur; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + cur = gen_xmlNodePtr(n_cur, 1); + + ret_val = xmlXPathNextAttribute(ctxt, cur); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_xmlNodePtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNextAttribute", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNextChild(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + xmlNodePtr cur; /* the current node in the traversal */ + int n_cur; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + cur = gen_xmlNodePtr(n_cur, 1); + + ret_val = xmlXPathNextChild(ctxt, cur); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_xmlNodePtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNextChild", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNextDescendant(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + xmlNodePtr cur; /* the current node in the traversal */ + int n_cur; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + cur = gen_xmlNodePtr(n_cur, 1); + + ret_val = xmlXPathNextDescendant(ctxt, cur); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_xmlNodePtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNextDescendant", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNextDescendantOrSelf(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + xmlNodePtr cur; /* the current node in the traversal */ + int n_cur; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + cur = gen_xmlNodePtr(n_cur, 1); + + ret_val = xmlXPathNextDescendantOrSelf(ctxt, cur); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_xmlNodePtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNextDescendantOrSelf", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNextFollowing(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + xmlNodePtr cur; /* the current node in the traversal */ + int n_cur; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + cur = gen_xmlNodePtr(n_cur, 1); + + ret_val = xmlXPathNextFollowing(ctxt, cur); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_xmlNodePtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNextFollowing", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNextFollowingSibling(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + xmlNodePtr cur; /* the current node in the traversal */ + int n_cur; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + cur = gen_xmlNodePtr(n_cur, 1); + + ret_val = xmlXPathNextFollowingSibling(ctxt, cur); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_xmlNodePtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNextFollowingSibling", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNextNamespace(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + xmlNodePtr cur; /* the current attribute in the traversal */ + int n_cur; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + cur = gen_xmlNodePtr(n_cur, 1); + + ret_val = xmlXPathNextNamespace(ctxt, cur); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_xmlNodePtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNextNamespace", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNextParent(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + xmlNodePtr cur; /* the current node in the traversal */ + int n_cur; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + cur = gen_xmlNodePtr(n_cur, 1); + + ret_val = xmlXPathNextParent(ctxt, cur); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_xmlNodePtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNextParent", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNextPreceding(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + xmlNodePtr cur; /* the current node in the traversal */ + int n_cur; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + cur = gen_xmlNodePtr(n_cur, 1); + + ret_val = xmlXPathNextPreceding(ctxt, cur); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_xmlNodePtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNextPreceding", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNextPrecedingSibling(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + xmlNodePtr cur; /* the current node in the traversal */ + int n_cur; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + cur = gen_xmlNodePtr(n_cur, 1); + + ret_val = xmlXPathNextPrecedingSibling(ctxt, cur); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_xmlNodePtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNextPrecedingSibling", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNextSelf(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + xmlNodePtr cur; /* the current node in the traversal */ + int n_cur; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + cur = gen_xmlNodePtr(n_cur, 1); + + ret_val = xmlXPathNextSelf(ctxt, cur); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_xmlNodePtr(n_cur, cur, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNextSelf", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_cur); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNodeLeading(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodeSetPtr ret_val; + xmlNodeSetPtr nodes; /* a node-set */ + int n_nodes; + xmlNodePtr node; /* a node */ + int n_node; + + for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + mem_base = xmlMemBlocks(); + nodes = gen_xmlNodeSetPtr(n_nodes, 0); + node = gen_xmlNodePtr(n_node, 1); + + ret_val = xmlXPathNodeLeading(nodes, node); + desret_xmlNodeSetPtr(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_nodes, nodes, 0); + des_xmlNodePtr(n_node, node, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNodeLeading", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_nodes); + printf(" %d", n_node); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNodeLeadingSorted(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodeSetPtr ret_val; + xmlNodeSetPtr nodes; /* a node-set, sorted by document order */ + int n_nodes; + xmlNodePtr node; /* a node */ + int n_node; + + for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + mem_base = xmlMemBlocks(); + nodes = gen_xmlNodeSetPtr(n_nodes, 0); + node = gen_xmlNodePtr(n_node, 1); + + ret_val = xmlXPathNodeLeadingSorted(nodes, node); + desret_xmlNodeSetPtr(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_nodes, nodes, 0); + des_xmlNodePtr(n_node, node, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNodeLeadingSorted", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_nodes); + printf(" %d", n_node); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNodeSetAdd(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlNodeSetPtr cur; /* the initial node set */ + int n_cur; + xmlNodePtr val; /* a new xmlNodePtr */ + int n_val; + + for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) { + for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlNodeSetPtr(n_cur, 0); + val = gen_xmlNodePtr(n_val, 1); + + ret_val = xmlXPathNodeSetAdd(cur, val); + desret_int(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_cur, cur, 0); + des_xmlNodePtr(n_val, val, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNodeSetAdd", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_val); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNodeSetAddNs(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlNodeSetPtr cur; /* the initial node set */ + int n_cur; + xmlNodePtr node; /* the hosting node */ + int n_node; + xmlNsPtr ns; /* a the namespace node */ + int n_ns; + + for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlNodeSetPtr(n_cur, 0); + node = gen_xmlNodePtr(n_node, 1); + ns = gen_xmlNsPtr(n_ns, 2); + + ret_val = xmlXPathNodeSetAddNs(cur, node, ns); + desret_int(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_cur, cur, 0); + des_xmlNodePtr(n_node, node, 1); + des_xmlNsPtr(n_ns, ns, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNodeSetAddNs", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_node); + printf(" %d", n_ns); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNodeSetAddUnique(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlNodeSetPtr cur; /* the initial node set */ + int n_cur; + xmlNodePtr val; /* a new xmlNodePtr */ + int n_val; + + for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) { + for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlNodeSetPtr(n_cur, 0); + val = gen_xmlNodePtr(n_val, 1); + + ret_val = xmlXPathNodeSetAddUnique(cur, val); + desret_int(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_cur, cur, 0); + des_xmlNodePtr(n_val, val, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNodeSetAddUnique", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_val); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNodeSetContains(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlNodeSetPtr cur; /* the node-set */ + int n_cur; + xmlNodePtr val; /* the node */ + int n_val; + + for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) { + for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlNodeSetPtr(n_cur, 0); + val = gen_xmlNodePtr(n_val, 1); + + ret_val = xmlXPathNodeSetContains(cur, val); + desret_int(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_cur, cur, 0); + des_xmlNodePtr(n_val, val, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNodeSetContains", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_val); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNodeSetDel(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodeSetPtr cur; /* the initial node set */ + int n_cur; + xmlNodePtr val; /* an xmlNodePtr */ + int n_val; + + for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) { + for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlNodeSetPtr(n_cur, 0); + val = gen_xmlNodePtr(n_val, 1); + + xmlXPathNodeSetDel(cur, val); + call_tests++; + des_xmlNodeSetPtr(n_cur, cur, 0); + des_xmlNodePtr(n_val, val, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNodeSetDel", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_val); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNodeSetMerge(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodeSetPtr ret_val; + xmlNodeSetPtr val1; /* the first NodeSet or NULL */ + int n_val1; + xmlNodeSetPtr val2; /* the second NodeSet */ + int n_val2; + + for (n_val1 = 0;n_val1 < gen_nb_xmlNodeSetPtr;n_val1++) { + for (n_val2 = 0;n_val2 < gen_nb_xmlNodeSetPtr;n_val2++) { + mem_base = xmlMemBlocks(); + val1 = gen_xmlNodeSetPtr(n_val1, 0); + val2 = gen_xmlNodeSetPtr(n_val2, 1); + + ret_val = xmlXPathNodeSetMerge(val1, val2); + desret_xmlNodeSetPtr(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_val1, val1, 0); + des_xmlNodeSetPtr(n_val2, val2, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNodeSetMerge", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val1); + printf(" %d", n_val2); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNodeSetRemove(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodeSetPtr cur; /* the initial node set */ + int n_cur; + int val; /* the index to remove */ + int n_val; + + for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) { + for (n_val = 0;n_val < gen_nb_int;n_val++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlNodeSetPtr(n_cur, 0); + val = gen_int(n_val, 1); + + xmlXPathNodeSetRemove(cur, val); + call_tests++; + des_xmlNodeSetPtr(n_cur, cur, 0); + des_int(n_val, val, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNodeSetRemove", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_val); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNodeSetSort(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodeSetPtr set; /* the node set */ + int n_set; + + for (n_set = 0;n_set < gen_nb_xmlNodeSetPtr;n_set++) { + mem_base = xmlMemBlocks(); + set = gen_xmlNodeSetPtr(n_set, 0); + + xmlXPathNodeSetSort(set); + call_tests++; + des_xmlNodeSetPtr(n_set, set, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNodeSetSort", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_set); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNodeTrailing(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodeSetPtr ret_val; + xmlNodeSetPtr nodes; /* a node-set */ + int n_nodes; + xmlNodePtr node; /* a node */ + int n_node; + + for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + mem_base = xmlMemBlocks(); + nodes = gen_xmlNodeSetPtr(n_nodes, 0); + node = gen_xmlNodePtr(n_node, 1); + + ret_val = xmlXPathNodeTrailing(nodes, node); + desret_xmlNodeSetPtr(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_nodes, nodes, 0); + des_xmlNodePtr(n_node, node, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNodeTrailing", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_nodes); + printf(" %d", n_node); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNodeTrailingSorted(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodeSetPtr ret_val; + xmlNodeSetPtr nodes; /* a node-set, sorted by document order */ + int n_nodes; + xmlNodePtr node; /* a node */ + int n_node; + + for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) { + for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) { + mem_base = xmlMemBlocks(); + nodes = gen_xmlNodeSetPtr(n_nodes, 0); + node = gen_xmlNodePtr(n_node, 1); + + ret_val = xmlXPathNodeTrailingSorted(nodes, node); + desret_xmlNodeSetPtr(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_nodes, nodes, 0); + des_xmlNodePtr(n_node, node, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNodeTrailingSorted", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_nodes); + printf(" %d", n_node); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNormalizeFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathNormalizeFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNormalizeFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNotEqualValues(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + + ret_val = xmlXPathNotEqualValues(ctxt); + desret_int(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNotEqualValues", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNotFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathNotFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNotFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNsLookup(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + const xmlChar * ret_val; + xmlXPathContextPtr ctxt; /* the XPath context */ + int n_ctxt; + xmlChar * prefix; /* the namespace prefix value */ + int n_prefix; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) { + for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathContextPtr(n_ctxt, 0); + prefix = gen_const_xmlChar_ptr(n_prefix, 1); + + ret_val = xmlXPathNsLookup(ctxt, (const xmlChar *)prefix); + desret_const_xmlChar_ptr(ret_val); + call_tests++; + des_xmlXPathContextPtr(n_ctxt, ctxt, 0); + des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNsLookup", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_prefix); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathNumberFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathNumberFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathNumberFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathParseNCName(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + + ret_val = xmlXPathParseNCName(ctxt); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathParseNCName", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathParseName(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + + ret_val = xmlXPathParseName(ctxt); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathParseName", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathPopBoolean(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlXPathParserContextPtr ctxt; /* an XPath parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + + ret_val = xmlXPathPopBoolean(ctxt); + desret_int(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathPopBoolean", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathPopExternal(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + void * ret_val; + xmlXPathParserContextPtr ctxt; /* an XPath parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + + ret_val = xmlXPathPopExternal(ctxt); + desret_void_ptr(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathPopExternal", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathPopNodeSet(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodeSetPtr ret_val; + xmlXPathParserContextPtr ctxt; /* an XPath parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + + ret_val = xmlXPathPopNodeSet(ctxt); + desret_xmlNodeSetPtr(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathPopNodeSet", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathPopNumber(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + double ret_val; + xmlXPathParserContextPtr ctxt; /* an XPath parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + + ret_val = xmlXPathPopNumber(ctxt); + desret_double(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathPopNumber", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathPopString(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlChar * ret_val; + xmlXPathParserContextPtr ctxt; /* an XPath parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + + ret_val = xmlXPathPopString(ctxt); + desret_xmlChar_ptr(ret_val); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathPopString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathPositionFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathPositionFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathPositionFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathRegisterAllFunctions(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathContextPtr ctxt; /* the XPath context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathContextPtr(n_ctxt, 0); + + xmlXPathRegisterAllFunctions(ctxt); + call_tests++; + des_xmlXPathContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathRegisterAllFunctions", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathRegisterFunc(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlXPathRegisterFuncLookup(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlXPathRegisterFuncNS(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlXPathRegisterNs(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlXPathContextPtr ctxt; /* the XPath context */ + int n_ctxt; + xmlChar * prefix; /* the namespace prefix cannot be NULL or empty string */ + int n_prefix; + xmlChar * ns_uri; /* the namespace name */ + int n_ns_uri; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) { + for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) { + for (n_ns_uri = 0;n_ns_uri < gen_nb_const_xmlChar_ptr;n_ns_uri++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathContextPtr(n_ctxt, 0); + prefix = gen_const_xmlChar_ptr(n_prefix, 1); + ns_uri = gen_const_xmlChar_ptr(n_ns_uri, 2); + + ret_val = xmlXPathRegisterNs(ctxt, (const xmlChar *)prefix, (const xmlChar *)ns_uri); + desret_int(ret_val); + call_tests++; + des_xmlXPathContextPtr(n_ctxt, ctxt, 0); + des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1); + des_const_xmlChar_ptr(n_ns_uri, (const xmlChar *)ns_uri, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathRegisterNs", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_prefix); + printf(" %d", n_ns_uri); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathRegisterVariable(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlXPathContextPtr ctxt; /* the XPath context */ + int n_ctxt; + xmlChar * name; /* the variable name */ + int n_name; + xmlXPathObjectPtr value; /* the variable value or NULL */ + int n_value; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_value = 0;n_value < gen_nb_xmlXPathObjectPtr;n_value++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathContextPtr(n_ctxt, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + value = gen_xmlXPathObjectPtr(n_value, 2); + + ret_val = xmlXPathRegisterVariable(ctxt, (const xmlChar *)name, value); + desret_int(ret_val); + call_tests++; + des_xmlXPathContextPtr(n_ctxt, ctxt, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_xmlXPathObjectPtr(n_value, value, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathRegisterVariable", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_name); + printf(" %d", n_value); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathRegisterVariableLookup(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlXPathRegisterVariableNS(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + int ret_val; + xmlXPathContextPtr ctxt; /* the XPath context */ + int n_ctxt; + xmlChar * name; /* the variable name */ + int n_name; + xmlChar * ns_uri; /* the variable namespace URI */ + int n_ns_uri; + xmlXPathObjectPtr value; /* the variable value or NULL */ + int n_value; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_ns_uri = 0;n_ns_uri < gen_nb_const_xmlChar_ptr;n_ns_uri++) { + for (n_value = 0;n_value < gen_nb_xmlXPathObjectPtr;n_value++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathContextPtr(n_ctxt, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + ns_uri = gen_const_xmlChar_ptr(n_ns_uri, 2); + value = gen_xmlXPathObjectPtr(n_value, 3); + + ret_val = xmlXPathRegisterVariableNS(ctxt, (const xmlChar *)name, (const xmlChar *)ns_uri, value); + desret_int(ret_val); + call_tests++; + des_xmlXPathContextPtr(n_ctxt, ctxt, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_ns_uri, (const xmlChar *)ns_uri, 2); + des_xmlXPathObjectPtr(n_value, value, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathRegisterVariableNS", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_name); + printf(" %d", n_ns_uri); + printf(" %d", n_value); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathRegisteredFuncsCleanup(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathContextPtr ctxt; /* the XPath context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathContextPtr(n_ctxt, 0); + + xmlXPathRegisteredFuncsCleanup(ctxt); + call_tests++; + des_xmlXPathContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathRegisteredFuncsCleanup", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathRegisteredNsCleanup(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathContextPtr ctxt; /* the XPath context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathContextPtr(n_ctxt, 0); + + xmlXPathRegisteredNsCleanup(ctxt); + call_tests++; + des_xmlXPathContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathRegisteredNsCleanup", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathRegisteredVariablesCleanup(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathContextPtr ctxt; /* the XPath context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathContextPtr(n_ctxt, 0); + + xmlXPathRegisteredVariablesCleanup(ctxt); + call_tests++; + des_xmlXPathContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathRegisteredVariablesCleanup", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathRoot(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + + xmlXPathRoot(ctxt); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathRoot", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathRoundFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathRoundFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathRoundFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathStartsWithFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathStartsWithFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathStartsWithFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathStringEvalNumber(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + double ret_val; + xmlChar * str; /* A string to scan */ + int n_str; + + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + mem_base = xmlMemBlocks(); + str = gen_const_xmlChar_ptr(n_str, 0); + + ret_val = xmlXPathStringEvalNumber((const xmlChar *)str); + desret_double(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathStringEvalNumber", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_str); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathStringFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathStringFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathStringFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathStringLengthFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathStringLengthFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathStringLengthFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathSubValues(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + + xmlXPathSubValues(ctxt); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathSubValues", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathSubstringAfterFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathSubstringAfterFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathSubstringAfterFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathSubstringBeforeFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathSubstringBeforeFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathSubstringBeforeFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathSubstringFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathSubstringFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathSubstringFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathSumFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathSumFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathSumFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathTrailing(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodeSetPtr ret_val; + xmlNodeSetPtr nodes1; /* a node-set */ + int n_nodes1; + xmlNodeSetPtr nodes2; /* a node-set */ + int n_nodes2; + + for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) { + for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) { + mem_base = xmlMemBlocks(); + nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0); + nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1); + + ret_val = xmlXPathTrailing(nodes1, nodes2); + desret_xmlNodeSetPtr(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_nodes1, nodes1, 0); + des_xmlNodeSetPtr(n_nodes2, nodes2, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathTrailing", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_nodes1); + printf(" %d", n_nodes2); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathTrailingSorted(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlNodeSetPtr ret_val; + xmlNodeSetPtr nodes1; /* a node-set, sorted by document order */ + int n_nodes1; + xmlNodeSetPtr nodes2; /* a node-set, sorted by document order */ + int n_nodes2; + + for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) { + for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) { + mem_base = xmlMemBlocks(); + nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0); + nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1); + + ret_val = xmlXPathTrailingSorted(nodes1, nodes2); + desret_xmlNodeSetPtr(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_nodes1, nodes1, 0); + des_xmlNodeSetPtr(n_nodes2, nodes2, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathTrailingSorted", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_nodes1); + printf(" %d", n_nodes2); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathTranslateFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathTranslateFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathTranslateFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathTrueFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + int nargs; /* the number of arguments */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPathTrueFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathTrueFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathValueFlipSign(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + + xmlXPathValueFlipSign(ctxt); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathValueFlipSign", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathVariableLookup(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlXPathContextPtr ctxt; /* the XPath context */ + int n_ctxt; + xmlChar * name; /* the variable name */ + int n_name; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathContextPtr(n_ctxt, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + + ret_val = xmlXPathVariableLookup(ctxt, (const xmlChar *)name); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlXPathContextPtr(n_ctxt, ctxt, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathVariableLookup", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_name); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathVariableLookupNS(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlXPathContextPtr ctxt; /* the XPath context */ + int n_ctxt; + xmlChar * name; /* the variable name */ + int n_name; + xmlChar * ns_uri; /* the variable namespace URI */ + int n_ns_uri; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) { + for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) { + for (n_ns_uri = 0;n_ns_uri < gen_nb_const_xmlChar_ptr;n_ns_uri++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathContextPtr(n_ctxt, 0); + name = gen_const_xmlChar_ptr(n_name, 1); + ns_uri = gen_const_xmlChar_ptr(n_ns_uri, 2); + + ret_val = xmlXPathVariableLookupNS(ctxt, (const xmlChar *)name, (const xmlChar *)ns_uri); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlXPathContextPtr(n_ctxt, ctxt, 0); + des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1); + des_const_xmlChar_ptr(n_ns_uri, (const xmlChar *)ns_uri, 2); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathVariableLookupNS", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_name); + printf(" %d", n_ns_uri); + printf("\n"); + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathWrapCString(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + char * val; /* the char * value */ + int n_val; + + for (n_val = 0;n_val < gen_nb_char_ptr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_char_ptr(n_val, 0); + + ret_val = xmlXPathWrapCString(val); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_char_ptr(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathWrapCString", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathWrapExternal(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + void * val; /* the user data */ + int n_val; + + for (n_val = 0;n_val < gen_nb_void_ptr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_void_ptr(n_val, 0); + + ret_val = xmlXPathWrapExternal(val); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_void_ptr(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathWrapExternal", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPathWrapNodeSet(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlNodeSetPtr val; /* the NodePtr value */ + int n_val; + + for (n_val = 0;n_val < gen_nb_xmlNodeSetPtr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_xmlNodeSetPtr(n_val, 0); + + ret_val = xmlXPathWrapNodeSet(val); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPathWrapNodeSet", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPatherror(void) { + int test_ret = 0; + +#if defined(LIBXML_XPATH_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPath Parser context */ + int n_ctxt; + const char * file; /* the file name */ + int n_file; + int line; /* the line number */ + int n_line; + int no; /* the error number */ + int n_no; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_file = 0;n_file < gen_nb_filepath;n_file++) { + for (n_line = 0;n_line < gen_nb_int;n_line++) { + for (n_no = 0;n_no < gen_nb_int;n_no++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + file = gen_filepath(n_file, 1); + line = gen_int(n_line, 2); + no = gen_int(n_no, 3); + + xmlXPatherror(ctxt, file, line, no); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_filepath(n_file, file, 1); + des_int(n_line, line, 2); + des_int(n_no, no, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPatherror", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_file); + printf(" %d", n_line); + printf(" %d", n_no); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_xpathInternals(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing xpathInternals : 106 of 117 functions ...\n"); + test_ret += test_valuePop(); + test_ret += test_valuePush(); + test_ret += test_xmlXPathAddValues(); + test_ret += test_xmlXPathBooleanFunction(); + test_ret += test_xmlXPathCeilingFunction(); + test_ret += test_xmlXPathCompareValues(); + test_ret += test_xmlXPathConcatFunction(); + test_ret += test_xmlXPathContainsFunction(); + test_ret += test_xmlXPathCountFunction(); + test_ret += test_xmlXPathDebugDumpCompExpr(); + test_ret += test_xmlXPathDebugDumpObject(); + test_ret += test_xmlXPathDifference(); + test_ret += test_xmlXPathDistinct(); + test_ret += test_xmlXPathDistinctSorted(); + test_ret += test_xmlXPathDivValues(); + test_ret += test_xmlXPathEqualValues(); + test_ret += test_xmlXPathErr(); + test_ret += test_xmlXPathEvalExpr(); + test_ret += test_xmlXPathEvaluatePredicateResult(); + test_ret += test_xmlXPathFalseFunction(); + test_ret += test_xmlXPathFloorFunction(); + test_ret += test_xmlXPathFunctionLookup(); + test_ret += test_xmlXPathFunctionLookupNS(); + test_ret += test_xmlXPathHasSameNodes(); + test_ret += test_xmlXPathIdFunction(); + test_ret += test_xmlXPathIntersection(); + test_ret += test_xmlXPathIsNodeType(); + test_ret += test_xmlXPathLangFunction(); + test_ret += test_xmlXPathLastFunction(); + test_ret += test_xmlXPathLeading(); + test_ret += test_xmlXPathLeadingSorted(); + test_ret += test_xmlXPathLocalNameFunction(); + test_ret += test_xmlXPathModValues(); + test_ret += test_xmlXPathMultValues(); + test_ret += test_xmlXPathNamespaceURIFunction(); + test_ret += test_xmlXPathNewBoolean(); + test_ret += test_xmlXPathNewCString(); + test_ret += test_xmlXPathNewFloat(); + test_ret += test_xmlXPathNewNodeSet(); + test_ret += test_xmlXPathNewNodeSetList(); + test_ret += test_xmlXPathNewParserContext(); + test_ret += test_xmlXPathNewString(); + test_ret += test_xmlXPathNextAncestor(); + test_ret += test_xmlXPathNextAncestorOrSelf(); + test_ret += test_xmlXPathNextAttribute(); + test_ret += test_xmlXPathNextChild(); + test_ret += test_xmlXPathNextDescendant(); + test_ret += test_xmlXPathNextDescendantOrSelf(); + test_ret += test_xmlXPathNextFollowing(); + test_ret += test_xmlXPathNextFollowingSibling(); + test_ret += test_xmlXPathNextNamespace(); + test_ret += test_xmlXPathNextParent(); + test_ret += test_xmlXPathNextPreceding(); + test_ret += test_xmlXPathNextPrecedingSibling(); + test_ret += test_xmlXPathNextSelf(); + test_ret += test_xmlXPathNodeLeading(); + test_ret += test_xmlXPathNodeLeadingSorted(); + test_ret += test_xmlXPathNodeSetAdd(); + test_ret += test_xmlXPathNodeSetAddNs(); + test_ret += test_xmlXPathNodeSetAddUnique(); + test_ret += test_xmlXPathNodeSetContains(); + test_ret += test_xmlXPathNodeSetDel(); + test_ret += test_xmlXPathNodeSetMerge(); + test_ret += test_xmlXPathNodeSetRemove(); + test_ret += test_xmlXPathNodeSetSort(); + test_ret += test_xmlXPathNodeTrailing(); + test_ret += test_xmlXPathNodeTrailingSorted(); + test_ret += test_xmlXPathNormalizeFunction(); + test_ret += test_xmlXPathNotEqualValues(); + test_ret += test_xmlXPathNotFunction(); + test_ret += test_xmlXPathNsLookup(); + test_ret += test_xmlXPathNumberFunction(); + test_ret += test_xmlXPathParseNCName(); + test_ret += test_xmlXPathParseName(); + test_ret += test_xmlXPathPopBoolean(); + test_ret += test_xmlXPathPopExternal(); + test_ret += test_xmlXPathPopNodeSet(); + test_ret += test_xmlXPathPopNumber(); + test_ret += test_xmlXPathPopString(); + test_ret += test_xmlXPathPositionFunction(); + test_ret += test_xmlXPathRegisterAllFunctions(); + test_ret += test_xmlXPathRegisterFunc(); + test_ret += test_xmlXPathRegisterFuncLookup(); + test_ret += test_xmlXPathRegisterFuncNS(); + test_ret += test_xmlXPathRegisterNs(); + test_ret += test_xmlXPathRegisterVariable(); + test_ret += test_xmlXPathRegisterVariableLookup(); + test_ret += test_xmlXPathRegisterVariableNS(); + test_ret += test_xmlXPathRegisteredFuncsCleanup(); + test_ret += test_xmlXPathRegisteredNsCleanup(); + test_ret += test_xmlXPathRegisteredVariablesCleanup(); + test_ret += test_xmlXPathRoot(); + test_ret += test_xmlXPathRoundFunction(); + test_ret += test_xmlXPathStartsWithFunction(); + test_ret += test_xmlXPathStringEvalNumber(); + test_ret += test_xmlXPathStringFunction(); + test_ret += test_xmlXPathStringLengthFunction(); + test_ret += test_xmlXPathSubValues(); + test_ret += test_xmlXPathSubstringAfterFunction(); + test_ret += test_xmlXPathSubstringBeforeFunction(); + test_ret += test_xmlXPathSubstringFunction(); + test_ret += test_xmlXPathSumFunction(); + test_ret += test_xmlXPathTrailing(); + test_ret += test_xmlXPathTrailingSorted(); + test_ret += test_xmlXPathTranslateFunction(); + test_ret += test_xmlXPathTrueFunction(); + test_ret += test_xmlXPathValueFlipSign(); + test_ret += test_xmlXPathVariableLookup(); + test_ret += test_xmlXPathVariableLookupNS(); + test_ret += test_xmlXPathWrapCString(); + test_ret += test_xmlXPathWrapExternal(); + test_ret += test_xmlXPathWrapNodeSet(); + test_ret += test_xmlXPatherror(); + + if (test_ret != 0) + printf("Module xpathInternals: %d errors\n", test_ret); + return(test_ret); +} + +static int +test_xmlXPtrBuildNodeList(void) { + int test_ret = 0; + +#if defined(LIBXML_XPTR_ENABLED) + int mem_base; + xmlNodePtr ret_val; + xmlXPathObjectPtr obj; /* the XPointer result from the evaluation. */ + int n_obj; + + for (n_obj = 0;n_obj < gen_nb_xmlXPathObjectPtr;n_obj++) { + mem_base = xmlMemBlocks(); + obj = gen_xmlXPathObjectPtr(n_obj, 0); + + ret_val = xmlXPtrBuildNodeList(obj); + desret_xmlNodePtr(ret_val); + call_tests++; + des_xmlXPathObjectPtr(n_obj, obj, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPtrBuildNodeList", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_obj); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPtrEval(void) { + int test_ret = 0; + +#if defined(LIBXML_XPTR_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlChar * str; /* the XPointer expression */ + int n_str; + xmlXPathContextPtr ctx; /* the XPointer context */ + int n_ctx; + + for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) { + for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) { + mem_base = xmlMemBlocks(); + str = gen_const_xmlChar_ptr(n_str, 0); + ctx = gen_xmlXPathContextPtr(n_ctx, 1); + + ret_val = xmlXPtrEval((const xmlChar *)str, ctx); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0); + des_xmlXPathContextPtr(n_ctx, ctx, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPtrEval", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_str); + printf(" %d", n_ctx); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPtrEvalRangePredicate(void) { + int test_ret = 0; + +#if defined(LIBXML_XPTR_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPointer Parser context */ + int n_ctxt; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + + xmlXPtrEvalRangePredicate(ctxt); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPtrEvalRangePredicate", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + +#ifdef LIBXML_XPTR_ENABLED + +#define gen_nb_xmlLocationSetPtr 1 +static xmlLocationSetPtr gen_xmlLocationSetPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlLocationSetPtr(int no ATTRIBUTE_UNUSED, xmlLocationSetPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + + +static int +test_xmlXPtrLocationSetAdd(void) { + int test_ret = 0; + +#if defined(LIBXML_XPTR_ENABLED) + int mem_base; + xmlLocationSetPtr cur; /* the initial range set */ + int n_cur; + xmlXPathObjectPtr val; /* a new xmlXPathObjectPtr */ + int n_val; + + for (n_cur = 0;n_cur < gen_nb_xmlLocationSetPtr;n_cur++) { + for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlLocationSetPtr(n_cur, 0); + val = gen_xmlXPathObjectPtr(n_val, 1); + + xmlXPtrLocationSetAdd(cur, val); + call_tests++; + des_xmlLocationSetPtr(n_cur, cur, 0); + des_xmlXPathObjectPtr(n_val, val, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPtrLocationSetAdd", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_val); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPtrLocationSetCreate(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlXPtrLocationSetDel(void) { + int test_ret = 0; + +#if defined(LIBXML_XPTR_ENABLED) + int mem_base; + xmlLocationSetPtr cur; /* the initial range set */ + int n_cur; + xmlXPathObjectPtr val; /* an xmlXPathObjectPtr */ + int n_val; + + for (n_cur = 0;n_cur < gen_nb_xmlLocationSetPtr;n_cur++) { + for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlLocationSetPtr(n_cur, 0); + val = gen_xmlXPathObjectPtr(n_val, 1); + + xmlXPtrLocationSetDel(cur, val); + call_tests++; + des_xmlLocationSetPtr(n_cur, cur, 0); + des_xmlXPathObjectPtr(n_val, val, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPtrLocationSetDel", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_val); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPtrLocationSetMerge(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlXPtrLocationSetRemove(void) { + int test_ret = 0; + +#if defined(LIBXML_XPTR_ENABLED) + int mem_base; + xmlLocationSetPtr cur; /* the initial range set */ + int n_cur; + int val; /* the index to remove */ + int n_val; + + for (n_cur = 0;n_cur < gen_nb_xmlLocationSetPtr;n_cur++) { + for (n_val = 0;n_val < gen_nb_int;n_val++) { + mem_base = xmlMemBlocks(); + cur = gen_xmlLocationSetPtr(n_cur, 0); + val = gen_int(n_val, 1); + + xmlXPtrLocationSetRemove(cur, val); + call_tests++; + des_xmlLocationSetPtr(n_cur, cur, 0); + des_int(n_val, val, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPtrLocationSetRemove", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_cur); + printf(" %d", n_val); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPtrNewCollapsedRange(void) { + int test_ret = 0; + +#if defined(LIBXML_XPTR_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlNodePtr start; /* the starting and ending node */ + int n_start; + + for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) { + mem_base = xmlMemBlocks(); + start = gen_xmlNodePtr(n_start, 0); + + ret_val = xmlXPtrNewCollapsedRange(start); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlNodePtr(n_start, start, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPtrNewCollapsedRange", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_start); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPtrNewContext(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); +} + + +static int +test_xmlXPtrNewLocationSetNodeSet(void) { + int test_ret = 0; + +#if defined(LIBXML_XPTR_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlNodeSetPtr set; /* a node set */ + int n_set; + + for (n_set = 0;n_set < gen_nb_xmlNodeSetPtr;n_set++) { + mem_base = xmlMemBlocks(); + set = gen_xmlNodeSetPtr(n_set, 0); + + ret_val = xmlXPtrNewLocationSetNodeSet(set); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlNodeSetPtr(n_set, set, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPtrNewLocationSetNodeSet", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_set); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPtrNewLocationSetNodes(void) { + int test_ret = 0; + +#if defined(LIBXML_XPTR_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlNodePtr start; /* the start NodePtr value */ + int n_start; + xmlNodePtr end; /* the end NodePtr value or NULL */ + int n_end; + + for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) { + for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) { + mem_base = xmlMemBlocks(); + start = gen_xmlNodePtr(n_start, 0); + end = gen_xmlNodePtr(n_end, 1); + + ret_val = xmlXPtrNewLocationSetNodes(start, end); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlNodePtr(n_start, start, 0); + des_xmlNodePtr(n_end, end, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPtrNewLocationSetNodes", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_start); + printf(" %d", n_end); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPtrNewRange(void) { + int test_ret = 0; + +#if defined(LIBXML_XPTR_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlNodePtr start; /* the starting node */ + int n_start; + int startindex; /* the start index */ + int n_startindex; + xmlNodePtr end; /* the ending point */ + int n_end; + int endindex; /* the ending index */ + int n_endindex; + + for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) { + for (n_startindex = 0;n_startindex < gen_nb_int;n_startindex++) { + for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) { + for (n_endindex = 0;n_endindex < gen_nb_int;n_endindex++) { + mem_base = xmlMemBlocks(); + start = gen_xmlNodePtr(n_start, 0); + startindex = gen_int(n_startindex, 1); + end = gen_xmlNodePtr(n_end, 2); + endindex = gen_int(n_endindex, 3); + + ret_val = xmlXPtrNewRange(start, startindex, end, endindex); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlNodePtr(n_start, start, 0); + des_int(n_startindex, startindex, 1); + des_xmlNodePtr(n_end, end, 2); + des_int(n_endindex, endindex, 3); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPtrNewRange", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_start); + printf(" %d", n_startindex); + printf(" %d", n_end); + printf(" %d", n_endindex); + printf("\n"); + } + } + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPtrNewRangeNodeObject(void) { + int test_ret = 0; + +#if defined(LIBXML_XPTR_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlNodePtr start; /* the starting node */ + int n_start; + xmlXPathObjectPtr end; /* the ending object */ + int n_end; + + for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) { + for (n_end = 0;n_end < gen_nb_xmlXPathObjectPtr;n_end++) { + mem_base = xmlMemBlocks(); + start = gen_xmlNodePtr(n_start, 0); + end = gen_xmlXPathObjectPtr(n_end, 1); + + ret_val = xmlXPtrNewRangeNodeObject(start, end); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlNodePtr(n_start, start, 0); + des_xmlXPathObjectPtr(n_end, end, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPtrNewRangeNodeObject", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_start); + printf(" %d", n_end); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPtrNewRangeNodePoint(void) { + int test_ret = 0; + +#if defined(LIBXML_XPTR_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlNodePtr start; /* the starting node */ + int n_start; + xmlXPathObjectPtr end; /* the ending point */ + int n_end; + + for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) { + for (n_end = 0;n_end < gen_nb_xmlXPathObjectPtr;n_end++) { + mem_base = xmlMemBlocks(); + start = gen_xmlNodePtr(n_start, 0); + end = gen_xmlXPathObjectPtr(n_end, 1); + + ret_val = xmlXPtrNewRangeNodePoint(start, end); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlNodePtr(n_start, start, 0); + des_xmlXPathObjectPtr(n_end, end, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPtrNewRangeNodePoint", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_start); + printf(" %d", n_end); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPtrNewRangeNodes(void) { + int test_ret = 0; + +#if defined(LIBXML_XPTR_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlNodePtr start; /* the starting node */ + int n_start; + xmlNodePtr end; /* the ending node */ + int n_end; + + for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) { + for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) { + mem_base = xmlMemBlocks(); + start = gen_xmlNodePtr(n_start, 0); + end = gen_xmlNodePtr(n_end, 1); + + ret_val = xmlXPtrNewRangeNodes(start, end); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlNodePtr(n_start, start, 0); + des_xmlNodePtr(n_end, end, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPtrNewRangeNodes", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_start); + printf(" %d", n_end); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPtrNewRangePointNode(void) { + int test_ret = 0; + +#if defined(LIBXML_XPTR_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlXPathObjectPtr start; /* the starting point */ + int n_start; + xmlNodePtr end; /* the ending node */ + int n_end; + + for (n_start = 0;n_start < gen_nb_xmlXPathObjectPtr;n_start++) { + for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) { + mem_base = xmlMemBlocks(); + start = gen_xmlXPathObjectPtr(n_start, 0); + end = gen_xmlNodePtr(n_end, 1); + + ret_val = xmlXPtrNewRangePointNode(start, end); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlXPathObjectPtr(n_start, start, 0); + des_xmlNodePtr(n_end, end, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPtrNewRangePointNode", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_start); + printf(" %d", n_end); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPtrNewRangePoints(void) { + int test_ret = 0; + +#if defined(LIBXML_XPTR_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlXPathObjectPtr start; /* the starting point */ + int n_start; + xmlXPathObjectPtr end; /* the ending point */ + int n_end; + + for (n_start = 0;n_start < gen_nb_xmlXPathObjectPtr;n_start++) { + for (n_end = 0;n_end < gen_nb_xmlXPathObjectPtr;n_end++) { + mem_base = xmlMemBlocks(); + start = gen_xmlXPathObjectPtr(n_start, 0); + end = gen_xmlXPathObjectPtr(n_end, 1); + + ret_val = xmlXPtrNewRangePoints(start, end); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlXPathObjectPtr(n_start, start, 0); + des_xmlXPathObjectPtr(n_end, end, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPtrNewRangePoints", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_start); + printf(" %d", n_end); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPtrRangeToFunction(void) { + int test_ret = 0; + +#if defined(LIBXML_XPTR_ENABLED) + int mem_base; + xmlXPathParserContextPtr ctxt; /* the XPointer Parser context */ + int n_ctxt; + int nargs; /* the number of args */ + int n_nargs; + + for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) { + for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) { + mem_base = xmlMemBlocks(); + ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0); + nargs = gen_int(n_nargs, 1); + + xmlXPtrRangeToFunction(ctxt, nargs); + call_tests++; + des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0); + des_int(n_nargs, nargs, 1); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPtrRangeToFunction", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_ctxt); + printf(" %d", n_nargs); + printf("\n"); + } + } + } + function_tests++; +#endif + + return(test_ret); +} + + +static int +test_xmlXPtrWrapLocationSet(void) { + int test_ret = 0; + +#if defined(LIBXML_XPTR_ENABLED) + int mem_base; + xmlXPathObjectPtr ret_val; + xmlLocationSetPtr val; /* the LocationSet value */ + int n_val; + + for (n_val = 0;n_val < gen_nb_xmlLocationSetPtr;n_val++) { + mem_base = xmlMemBlocks(); + val = gen_xmlLocationSetPtr(n_val, 0); + + ret_val = xmlXPtrWrapLocationSet(val); + desret_xmlXPathObjectPtr(ret_val); + call_tests++; + des_xmlLocationSetPtr(n_val, val, 0); + xmlResetLastError(); + if (mem_base != xmlMemBlocks()) { + printf("Leak of %d blocks found in xmlXPtrWrapLocationSet", + xmlMemBlocks() - mem_base); + test_ret++; + printf(" %d", n_val); + printf("\n"); + } + } + function_tests++; +#endif + + return(test_ret); +} + +static int +test_xpointer(void) { + int test_ret = 0; + + if (quiet == 0) printf("Testing xpointer : 17 of 21 functions ...\n"); + test_ret += test_xmlXPtrBuildNodeList(); + test_ret += test_xmlXPtrEval(); + test_ret += test_xmlXPtrEvalRangePredicate(); + test_ret += test_xmlXPtrLocationSetAdd(); + test_ret += test_xmlXPtrLocationSetCreate(); + test_ret += test_xmlXPtrLocationSetDel(); + test_ret += test_xmlXPtrLocationSetMerge(); + test_ret += test_xmlXPtrLocationSetRemove(); + test_ret += test_xmlXPtrNewCollapsedRange(); + test_ret += test_xmlXPtrNewContext(); + test_ret += test_xmlXPtrNewLocationSetNodeSet(); + test_ret += test_xmlXPtrNewLocationSetNodes(); + test_ret += test_xmlXPtrNewRange(); + test_ret += test_xmlXPtrNewRangeNodeObject(); + test_ret += test_xmlXPtrNewRangeNodePoint(); + test_ret += test_xmlXPtrNewRangeNodes(); + test_ret += test_xmlXPtrNewRangePointNode(); + test_ret += test_xmlXPtrNewRangePoints(); + test_ret += test_xmlXPtrRangeToFunction(); + test_ret += test_xmlXPtrWrapLocationSet(); + + if (test_ret != 0) + printf("Module xpointer: %d errors\n", test_ret); + return(test_ret); +} +static int +test_module(const char *module) { + if (!strcmp(module, "HTMLparser")) return(test_HTMLparser()); + if (!strcmp(module, "HTMLtree")) return(test_HTMLtree()); + if (!strcmp(module, "SAX2")) return(test_SAX2()); + if (!strcmp(module, "c14n")) return(test_c14n()); + if (!strcmp(module, "catalog")) return(test_catalog()); + if (!strcmp(module, "chvalid")) return(test_chvalid()); + if (!strcmp(module, "debugXML")) return(test_debugXML()); + if (!strcmp(module, "dict")) return(test_dict()); + if (!strcmp(module, "encoding")) return(test_encoding()); + if (!strcmp(module, "entities")) return(test_entities()); + if (!strcmp(module, "hash")) return(test_hash()); + if (!strcmp(module, "list")) return(test_list()); + if (!strcmp(module, "nanoftp")) return(test_nanoftp()); + if (!strcmp(module, "nanohttp")) return(test_nanohttp()); + if (!strcmp(module, "parser")) return(test_parser()); + if (!strcmp(module, "parserInternals")) return(test_parserInternals()); + if (!strcmp(module, "pattern")) return(test_pattern()); + if (!strcmp(module, "relaxng")) return(test_relaxng()); + if (!strcmp(module, "schemasInternals")) return(test_schemasInternals()); + if (!strcmp(module, "schematron")) return(test_schematron()); + if (!strcmp(module, "tree")) return(test_tree()); + if (!strcmp(module, "uri")) return(test_uri()); + if (!strcmp(module, "valid")) return(test_valid()); + if (!strcmp(module, "xinclude")) return(test_xinclude()); + if (!strcmp(module, "xmlIO")) return(test_xmlIO()); + if (!strcmp(module, "xmlautomata")) return(test_xmlautomata()); + if (!strcmp(module, "xmlerror")) return(test_xmlerror()); + if (!strcmp(module, "xmlmodule")) return(test_xmlmodule()); + if (!strcmp(module, "xmlreader")) return(test_xmlreader()); + if (!strcmp(module, "xmlregexp")) return(test_xmlregexp()); + if (!strcmp(module, "xmlsave")) return(test_xmlsave()); + if (!strcmp(module, "xmlschemas")) return(test_xmlschemas()); + if (!strcmp(module, "xmlschemastypes")) return(test_xmlschemastypes()); + if (!strcmp(module, "xmlstring")) return(test_xmlstring()); + if (!strcmp(module, "xmlunicode")) return(test_xmlunicode()); + if (!strcmp(module, "xmlwriter")) return(test_xmlwriter()); + if (!strcmp(module, "xpath")) return(test_xpath()); + if (!strcmp(module, "xpathInternals")) return(test_xpathInternals()); + if (!strcmp(module, "xpointer")) return(test_xpointer()); + return(0); +} diff --git a/testchar.c b/testchar.c new file mode 100644 index 0000000..6866a17 --- /dev/null +++ b/testchar.c @@ -0,0 +1,617 @@ +/** + * Test the UTF-8 decoding routines + * + * author: Daniel Veillard + * copy: see Copyright for the status of this software. + */ + +#include +#include +#include +#include + +#include "buf.h" + +int lastError; + +static void errorHandler(void *unused, xmlErrorPtr err) { + if ((unused == NULL) && (err != NULL) && (lastError == 0)) { + lastError = err->code; + } +} + +char document1[100] = "XXXX"; +char document2[100] = ""; + +static void testDocumentRangeByte1(xmlParserCtxtPtr ctxt, char *document, + int len, char *data, int forbid1, int forbid2) { + int i; + xmlDocPtr res; + + for (i = 0;i <= 0xFF;i++) { + lastError = 0; + xmlCtxtReset(ctxt); + + data[0] = i; + + res = xmlReadMemory(document, len, "test", NULL, 0); + + if ((i == forbid1) || (i == forbid2)) { + if ((lastError == 0) || (res != NULL)) + fprintf(stderr, + "Failed to detect invalid char for Byte 0x%02X: %c\n", + i, i); + } + + else if ((i == '<') || (i == '&')) { + if ((lastError == 0) || (res != NULL)) + fprintf(stderr, + "Failed to detect illegal char %c for Byte 0x%02X\n", i, i); + } + else if (((i < 0x20) || (i >= 0x80)) && + (i != 0x9) && (i != 0xA) && (i != 0xD)) { + if ((lastError != XML_ERR_INVALID_CHAR) && (res != NULL)) + fprintf(stderr, + "Failed to detect invalid char for Byte 0x%02X\n", i); + } + else if (res == NULL) { + fprintf(stderr, + "Failed to parse valid char for Byte 0x%02X : %c\n", i, i); + } + if (res != NULL) + xmlFreeDoc(res); + } +} + +static void testDocumentRangeByte2(xmlParserCtxtPtr ctxt, char *document, + int len, char *data) { + int i, j; + xmlDocPtr res; + + for (i = 0x80;i <= 0xFF;i++) { + for (j = 0;j <= 0xFF;j++) { + lastError = 0; + xmlCtxtReset(ctxt); + + data[0] = i; + data[1] = j; + + res = xmlReadMemory(document, len, "test", NULL, 0); + + /* if first bit of first char is set, then second bit must too */ + if ((i & 0x80) && ((i & 0x40) == 0)) { + if ((lastError == 0) || (res != NULL)) + fprintf(stderr, + "Failed to detect invalid char for Bytes 0x%02X 0x%02X\n", + i, j); + } + + /* + * if first bit of first char is set, then second char first + * bits must be 10 + */ + else if ((i & 0x80) && ((j & 0xC0) != 0x80)) { + if ((lastError == 0) || (res != NULL)) + fprintf(stderr, + "Failed to detect invalid char for Bytes 0x%02X 0x%02X\n", + i, j); + } + + /* + * if using a 2 byte encoding then the value must be greater + * than 0x80, i.e. one of bits 5 to 1 of i must be set + */ + else if ((i & 0x80) && ((i & 0x1E) == 0)) { + if ((lastError == 0) || (res != NULL)) + fprintf(stderr, + "Failed to detect invalid char for Bytes 0x%02X 0x%02X\n", + i, j); + } + + /* + * if third bit of first char is set, then the sequence would need + * at least 3 bytes, but we give only 2 ! + */ + else if ((i & 0xE0) == 0xE0) { + if ((lastError == 0) || (res != NULL)) + fprintf(stderr, + "Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x00\n", + i, j); + } + + /* + * We should see no error in remaining cases + */ + else if ((lastError != 0) || (res == NULL)) { + fprintf(stderr, + "Failed to parse document for Bytes 0x%02X 0x%02X\n", i, j); + } + if (res != NULL) + xmlFreeDoc(res); + } + } +} + +/** + * testDocumentRanges: + * + * Test the correct UTF8 character parsing in context of XML documents + * Those are in-context injection tests checking the parser behaviour on + * edge case values at different point in content, beginning and end of + * CDATA in text or in attribute values. + */ + +static void testDocumentRanges(void) { + xmlParserCtxtPtr ctxt; + char *data; + + /* + * Set up a parsing context using the first document as + * the current input source. + */ + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL) { + fprintf(stderr, "Failed to allocate parser context\n"); + return; + } + + printf("testing 1 byte char in document: 1"); + fflush(stdout); + data = &document1[5]; + data[0] = ' '; + data[1] = ' '; + data[2] = ' '; + data[3] = ' '; + /* test 1 byte injection at beginning of area */ + testDocumentRangeByte1(ctxt, &document1[0], strlen(document1), + data, -1, -1); + printf(" 2"); + fflush(stdout); + data[0] = ' '; + data[1] = ' '; + data[2] = ' '; + data[3] = ' '; + /* test 1 byte injection at end of area */ + testDocumentRangeByte1(ctxt, &document1[0], strlen(document1), + data + 3, -1, -1); + + printf(" 3"); + fflush(stdout); + data = &document2[10]; + data[0] = ' '; + data[1] = ' '; + data[2] = ' '; + data[3] = ' '; + /* test 1 byte injection at beginning of area */ + testDocumentRangeByte1(ctxt, &document2[0], strlen(document2), + data, '\'', -1); + printf(" 4"); + fflush(stdout); + data[0] = ' '; + data[1] = ' '; + data[2] = ' '; + data[3] = ' '; + /* test 1 byte injection at end of area */ + testDocumentRangeByte1(ctxt, &document2[0], strlen(document2), + data + 3, '\'', -1); + printf(" done\n"); + + printf("testing 2 byte char in document: 1"); + fflush(stdout); + data = &document1[5]; + data[0] = ' '; + data[1] = ' '; + data[2] = ' '; + data[3] = ' '; + /* test 2 byte injection at beginning of area */ + testDocumentRangeByte2(ctxt, &document1[0], strlen(document1), + data); + printf(" 2"); + fflush(stdout); + data[0] = ' '; + data[1] = ' '; + data[2] = ' '; + data[3] = ' '; + /* test 2 byte injection at end of area */ + testDocumentRangeByte2(ctxt, &document1[0], strlen(document1), + data + 2); + + printf(" 3"); + fflush(stdout); + data = &document2[10]; + data[0] = ' '; + data[1] = ' '; + data[2] = ' '; + data[3] = ' '; + /* test 2 byte injection at beginning of area */ + testDocumentRangeByte2(ctxt, &document2[0], strlen(document2), + data); + printf(" 4"); + fflush(stdout); + data[0] = ' '; + data[1] = ' '; + data[2] = ' '; + data[3] = ' '; + /* test 2 byte injection at end of area */ + testDocumentRangeByte2(ctxt, &document2[0], strlen(document2), + data + 2); + printf(" done\n"); + + xmlFreeParserCtxt(ctxt); +} + +static void testCharRangeByte1(xmlParserCtxtPtr ctxt, char *data) { + int i = 0; + int len, c; + + data[1] = 0; + data[2] = 0; + data[3] = 0; + for (i = 0;i <= 0xFF;i++) { + data[0] = i; + ctxt->charset = XML_CHAR_ENCODING_UTF8; + + lastError = 0; + c = xmlCurrentChar(ctxt, &len); + if ((i == 0) || (i >= 0x80)) { + /* we must see an error there */ + if (lastError != XML_ERR_INVALID_CHAR) + fprintf(stderr, + "Failed to detect invalid char for Byte 0x%02X\n", i); + } else if (i == 0xD) { + if ((c != 0xA) || (len != 1)) + fprintf(stderr, "Failed to convert char for Byte 0x%02X\n", i); + } else if ((c != i) || (len != 1)) { + fprintf(stderr, "Failed to parse char for Byte 0x%02X\n", i); + } + } +} + +static void testCharRangeByte2(xmlParserCtxtPtr ctxt, char *data) { + int i, j; + int len, c; + + data[2] = 0; + data[3] = 0; + for (i = 0x80;i <= 0xFF;i++) { + for (j = 0;j <= 0xFF;j++) { + data[0] = i; + data[1] = j; + ctxt->charset = XML_CHAR_ENCODING_UTF8; + + lastError = 0; + c = xmlCurrentChar(ctxt, &len); + + /* if first bit of first char is set, then second bit must too */ + if ((i & 0x80) && ((i & 0x40) == 0)) { + if (lastError != XML_ERR_INVALID_CHAR) + fprintf(stderr, + "Failed to detect invalid char for Bytes 0x%02X 0x%02X\n", + i, j); + } + + /* + * if first bit of first char is set, then second char first + * bits must be 10 + */ + else if ((i & 0x80) && ((j & 0xC0) != 0x80)) { + if (lastError != XML_ERR_INVALID_CHAR) + fprintf(stderr, + "Failed to detect invalid char for Bytes 0x%02X 0x%02X: %d\n", + i, j, c); + } + + /* + * if using a 2 byte encoding then the value must be greater + * than 0x80, i.e. one of bits 5 to 1 of i must be set + */ + else if ((i & 0x80) && ((i & 0x1E) == 0)) { + if (lastError != XML_ERR_INVALID_CHAR) + fprintf(stderr, + "Failed to detect invalid char for Bytes 0x%02X 0x%02X: %d\n", + i, j, c); + } + + /* + * if third bit of first char is set, then the sequence would need + * at least 3 bytes, but we give only 2 ! + */ + else if ((i & 0xE0) == 0xE0) { + if (lastError != XML_ERR_INVALID_CHAR) + fprintf(stderr, + "Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x00\n", + i, j); + } + + /* + * We should see no error in remaining cases + */ + else if ((lastError != 0) || (len != 2)) { + fprintf(stderr, + "Failed to parse char for Bytes 0x%02X 0x%02X\n", i, j); + } + + /* + * Finally check the value is right + */ + else if (c != (j & 0x3F) + ((i & 0x1F) << 6)) { + fprintf(stderr, + "Failed to parse char for Bytes 0x%02X 0x%02X: expect %d got %d\n", + i, j, ((j & 0x3F) + ((i & 0x1F) << 6)), c); + } + } + } +} + +static void testCharRangeByte3(xmlParserCtxtPtr ctxt, char *data) { + int i, j, k, K; + int len, c; + unsigned char lows[6] = {0, 0x80, 0x81, 0xC1, 0xFF, 0xBF}; + int value; + + data[3] = 0; + for (i = 0xE0;i <= 0xFF;i++) { + for (j = 0;j <= 0xFF;j++) { + for (k = 0;k < 6;k++) { + data[0] = i; + data[1] = j; + K = lows[k]; + data[2] = (char) K; + value = (K & 0x3F) + ((j & 0x3F) << 6) + ((i & 0xF) << 12); + ctxt->charset = XML_CHAR_ENCODING_UTF8; + + lastError = 0; + c = xmlCurrentChar(ctxt, &len); + + /* + * if fourth bit of first char is set, then the sequence would need + * at least 4 bytes, but we give only 3 ! + */ + if ((i & 0xF0) == 0xF0) { + if (lastError != XML_ERR_INVALID_CHAR) + fprintf(stderr, + "Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x%02X 0x%02X\n", + i, j, K, data[3]); + } + + /* + * The second and the third bytes must start with 10 + */ + else if (((j & 0xC0) != 0x80) || ((K & 0xC0) != 0x80)) { + if (lastError != XML_ERR_INVALID_CHAR) + fprintf(stderr, + "Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x%02X\n", + i, j, K); + } + + /* + * if using a 3 byte encoding then the value must be greater + * than 0x800, i.e. one of bits 4 to 0 of i must be set or + * the 6th byte of data[1] must be set + */ + else if (((i & 0xF) == 0) && ((j & 0x20) == 0)) { + if (lastError != XML_ERR_INVALID_CHAR) + fprintf(stderr, + "Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x%02X\n", + i, j, K); + } + + /* + * There are values in that range that are not allowed in XML-1.0 + */ + else if (((value > 0xD7FF) && (value <0xE000)) || + ((value > 0xFFFD) && (value <0x10000))) { + if (lastError != XML_ERR_INVALID_CHAR) + fprintf(stderr, + "Failed to detect invalid char 0x%04X for Bytes 0x%02X 0x%02X 0x%02X\n", + value, i, j, K); + } + + /* + * We should see no error in remaining cases + */ + else if ((lastError != 0) || (len != 3)) { + fprintf(stderr, + "Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X\n", + i, j, K); + } + + /* + * Finally check the value is right + */ + else if (c != value) { + fprintf(stderr, + "Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X: expect %d got %d\n", + i, j, data[2], value, c); + } + } + } + } +} + +static void testCharRangeByte4(xmlParserCtxtPtr ctxt, char *data) { + int i, j, k, K, l, L; + int len, c; + unsigned char lows[6] = {0, 0x80, 0x81, 0xC1, 0xFF, 0xBF}; + int value; + + data[4] = 0; + for (i = 0xF0;i <= 0xFF;i++) { + for (j = 0;j <= 0xFF;j++) { + for (k = 0;k < 6;k++) { + for (l = 0;l < 6;l++) { + data[0] = i; + data[1] = j; + K = lows[k]; + data[2] = (char) K; + L = lows[l]; + data[3] = (char) L; + value = (L & 0x3F) + ((K & 0x3F) << 6) + ((j & 0x3F) << 12) + + ((i & 0x7) << 18); + ctxt->charset = XML_CHAR_ENCODING_UTF8; + + lastError = 0; + c = xmlCurrentChar(ctxt, &len); + + /* + * if fifth bit of first char is set, then the sequence would need + * at least 5 bytes, but we give only 4 ! + */ + if ((i & 0xF8) == 0xF8) { + if (lastError != XML_ERR_INVALID_CHAR) + fprintf(stderr, + "Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x%02X 0x%02X\n", + i, j, K, data[3]); + } + + /* + * The second, third and fourth bytes must start with 10 + */ + else if (((j & 0xC0) != 0x80) || ((K & 0xC0) != 0x80) || + ((L & 0xC0) != 0x80)) { + if (lastError != XML_ERR_INVALID_CHAR) + fprintf(stderr, + "Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x%02X 0x%02X\n", + i, j, K, L); + } + + /* + * if using a 3 byte encoding then the value must be greater + * than 0x10000, i.e. one of bits 3 to 0 of i must be set or + * the 6 or 5th byte of j must be set + */ + else if (((i & 0x7) == 0) && ((j & 0x30) == 0)) { + if (lastError != XML_ERR_INVALID_CHAR) + fprintf(stderr, + "Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x%02X 0x%02X\n", + i, j, K, L); + } + + /* + * There are values in that range that are not allowed in XML-1.0 + */ + else if (((value > 0xD7FF) && (value <0xE000)) || + ((value > 0xFFFD) && (value <0x10000)) || + (value > 0x10FFFF)) { + if (lastError != XML_ERR_INVALID_CHAR) + fprintf(stderr, +"Failed to detect invalid char 0x%04X for Bytes 0x%02X 0x%02X 0x%02X 0x%02X\n", + value, i, j, K, L); + } + + /* + * We should see no error in remaining cases + */ + else if ((lastError != 0) || (len != 4)) { + fprintf(stderr, + "Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X\n", + i, j, K); + } + + /* + * Finally check the value is right + */ + else if (c != value) { + fprintf(stderr, + "Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X: expect %d got %d\n", + i, j, data[2], value, c); + } + } + } + } + } +} + +/** + * testCharRanges: + * + * Test the correct UTF8 character parsing in isolation i.e. + * not when parsing a full document, this is less expensive and we can + * cover the full range of UTF-8 chars accepted by XML-1.0 + */ + +static void testCharRanges(void) { + char data[5]; + xmlParserCtxtPtr ctxt; + xmlParserInputBufferPtr buf; + xmlParserInputPtr input; + + memset(data, 0, 5); + + /* + * Set up a parsing context using the above data buffer as + * the current input source. + */ + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL) { + fprintf(stderr, "Failed to allocate parser context\n"); + return; + } + buf = xmlParserInputBufferCreateStatic(data, sizeof(data), + XML_CHAR_ENCODING_NONE); + if (buf == NULL) { + fprintf(stderr, "Failed to allocate input buffer\n"); + goto error; + } + input = xmlNewInputStream(ctxt); + if (input == NULL) { + xmlFreeParserInputBuffer(buf); + goto error; + } + input->filename = NULL; + input->buf = buf; + input->cur = + input->base = xmlBufContent(input->buf->buffer); + input->end = input->base + 4; + inputPush(ctxt, input); + + printf("testing char range: 1"); + fflush(stdout); + testCharRangeByte1(ctxt, data); + printf(" 2"); + fflush(stdout); + testCharRangeByte2(ctxt, data); + printf(" 3"); + fflush(stdout); + testCharRangeByte3(ctxt, data); + printf(" 4"); + fflush(stdout); + testCharRangeByte4(ctxt, data); + printf(" done\n"); + fflush(stdout); + +error: + xmlFreeParserCtxt(ctxt); +} + +int main(void) { + + /* + * this initialize the library and check potential ABI mismatches + * between the version it was compiled for and the actual shared + * library used. + */ + LIBXML_TEST_VERSION + + /* + * Catch errors separately + */ + + xmlSetStructuredErrorFunc(NULL, errorHandler); + + /* + * Run the tests + */ + testCharRanges(); + testDocumentRanges(); + + /* + * Cleanup function for the XML library. + */ + xmlCleanupParser(); + /* + * this is to debug memory for regression tests + */ + xmlMemoryDump(); + return(0); +} diff --git a/testdict.c b/testdict.c new file mode 100644 index 0000000..40bebd0 --- /dev/null +++ b/testdict.c @@ -0,0 +1,444 @@ +#include +#include +#include + +/* #define WITH_PRINT */ + +static const char *seeds1[] = { + "a", "b", "c", + "d", "e", "f", + "g", "h", "i", + "j", "k", "l", + + NULL +}; + +static const char *seeds2[] = { + "m", "n", "o", + "p", "q", "r", + "s", "t", "u", + "v", "w", "x", + + NULL +}; + +#define NB_STRINGS_NS 100 +#define NB_STRINGS_MAX 10000 +#define NB_STRINGS_MIN 10 + +static xmlChar *strings1[NB_STRINGS_MAX]; +static xmlChar *strings2[NB_STRINGS_MAX]; +static const xmlChar *test1[NB_STRINGS_MAX]; +static const xmlChar *test2[NB_STRINGS_MAX]; +static int nbErrors = 0; + +static void fill_strings(void) { + int i, j, k; + + /* + * That's a bit nasty but the output is fine and it doesn't take hours + * there is a small but sufficient number of duplicates, and we have + * ":xxx" and full QNames in the last NB_STRINGS_NS values + */ + for (i = 0; seeds1[i] != NULL; i++) { + strings1[i] = xmlStrdup((const xmlChar *) seeds1[i]); + if (strings1[i] == NULL) { + fprintf(stderr, "Out of memory while generating strings1\n"); + exit(1); + } + } + for (j = 0, k = 0;i < NB_STRINGS_MAX - NB_STRINGS_NS;i++,j++) { + strings1[i] = xmlStrncatNew(strings1[j], strings1[k], -1); + if (strings1[i] == NULL) { + fprintf(stderr, "Out of memory while generating strings1\n"); + exit(1); + } + if (j >= 50) { + j = 0; + k++; + } + } + for (j = 0; (j < 50) && (i < NB_STRINGS_MAX); i++, j+=2) { + strings1[i] = xmlStrncatNew(strings1[j], (const xmlChar *) ":", -1); + if (strings1[i] == NULL) { + fprintf(stderr, "Out of memory while generating strings1\n"); + exit(1); + } + } + for (j = NB_STRINGS_MAX - NB_STRINGS_NS, k = 0; + i < NB_STRINGS_MAX;i++,j++) { + strings1[i] = xmlStrncatNew(strings1[j], strings1[k], -1); + if (strings1[i] == NULL) { + fprintf(stderr, "Out of memory while generating strings1\n"); + exit(1); + } + k += 3; + if (k >= 50) k = 0; + } + + /* + * Now do the same with the second pool of strings + */ + for (i = 0; seeds2[i] != NULL; i++) { + strings2[i] = xmlStrdup((const xmlChar *) seeds2[i]); + if (strings2[i] == NULL) { + fprintf(stderr, "Out of memory while generating strings2\n"); + exit(1); + } + } + for (j = 0, k = 0;i < NB_STRINGS_MAX - NB_STRINGS_NS;i++,j++) { + strings2[i] = xmlStrncatNew(strings2[j], strings2[k], -1); + if (strings2[i] == NULL) { + fprintf(stderr, "Out of memory while generating strings2\n"); + exit(1); + } + if (j >= 50) { + j = 0; + k++; + } + } + for (j = 0; (j < 50) && (i < NB_STRINGS_MAX); i++, j+=2) { + strings2[i] = xmlStrncatNew(strings2[j], (const xmlChar *) ":", -1); + if (strings2[i] == NULL) { + fprintf(stderr, "Out of memory while generating strings2\n"); + exit(1); + } + } + for (j = NB_STRINGS_MAX - NB_STRINGS_NS, k = 0; + i < NB_STRINGS_MAX;i++,j++) { + strings2[i] = xmlStrncatNew(strings2[j], strings2[k], -1); + if (strings2[i] == NULL) { + fprintf(stderr, "Out of memory while generating strings2\n"); + exit(1); + } + k += 3; + if (k >= 50) k = 0; + } + +} + +#ifdef WITH_PRINT +static void print_strings(void) { + int i; + + for (i = 0; i < NB_STRINGS_MAX;i++) { + printf("%s\n", strings1[i]); + } + for (i = 0; i < NB_STRINGS_MAX;i++) { + printf("%s\n", strings2[i]); + } +} +#endif + +static void clean_strings(void) { + int i; + + for (i = 0; i < NB_STRINGS_MAX; i++) { + if (strings1[i] != NULL) /* really should not happen */ + xmlFree(strings1[i]); + } + for (i = 0; i < NB_STRINGS_MAX; i++) { + if (strings2[i] != NULL) /* really should not happen */ + xmlFree(strings2[i]); + } +} + +/* + * This tests the sub-dictionary support + */ +static int run_test2(xmlDictPtr parent) { + int i, j; + xmlDictPtr dict; + int ret = 0; + xmlChar prefix[40]; + xmlChar *cur, *pref; + const xmlChar *tmp; + + dict = xmlDictCreateSub(parent); + if (dict == NULL) { + fprintf(stderr, "Out of memory while creating sub-dictionary\n"); + exit(1); + } + memset(test2, 0, sizeof(test2)); + + /* + * Fill in NB_STRINGS_MIN, at this point the dictionary should not grow + * and we allocate all those doing the fast key computations + * All the strings are based on a different seeds subset so we know + * they are allocated in the main dictionary, not coming from the parent + */ + for (i = 0;i < NB_STRINGS_MIN;i++) { + test2[i] = xmlDictLookup(dict, strings2[i], -1); + if (test2[i] == NULL) { + fprintf(stderr, "Failed lookup for '%s'\n", strings2[i]); + ret = 1; + nbErrors++; + } + } + j = NB_STRINGS_MAX - NB_STRINGS_NS; + /* ":foo" like strings2 */ + for (i = 0;i < NB_STRINGS_MIN;i++, j++) { + test2[j] = xmlDictLookup(dict, strings2[j], xmlStrlen(strings2[j])); + if (test2[j] == NULL) { + fprintf(stderr, "Failed lookup for '%s'\n", strings2[j]); + ret = 1; + nbErrors++; + } + } + /* "a:foo" like strings2 */ + j = NB_STRINGS_MAX - NB_STRINGS_MIN; + for (i = 0;i < NB_STRINGS_MIN;i++, j++) { + test2[j] = xmlDictLookup(dict, strings2[j], xmlStrlen(strings2[j])); + if (test2[j] == NULL) { + fprintf(stderr, "Failed lookup for '%s'\n", strings2[j]); + ret = 1; + nbErrors++; + } + } + + /* + * At this point allocate all the strings + * the dictionary will grow in the process, reallocate more string tables + * and switch to the better key generator + */ + for (i = 0;i < NB_STRINGS_MAX;i++) { + if (test2[i] != NULL) + continue; + test2[i] = xmlDictLookup(dict, strings2[i], -1); + if (test2[i] == NULL) { + fprintf(stderr, "Failed lookup for '%s'\n", strings2[i]); + ret = 1; + nbErrors++; + } + } + + /* + * Now we can start to test things, first that all strings2 belongs to + * the dict, and that none of them was actually allocated in the parent + */ + for (i = 0;i < NB_STRINGS_MAX;i++) { + if (!xmlDictOwns(dict, test2[i])) { + fprintf(stderr, "Failed ownership failure for '%s'\n", + strings2[i]); + ret = 1; + nbErrors++; + } + if (xmlDictOwns(parent, test2[i])) { + fprintf(stderr, "Failed parent ownership failure for '%s'\n", + strings2[i]); + ret = 1; + nbErrors++; + } + } + + /* + * Also verify that all strings from the parent are seen from the subdict + */ + for (i = 0;i < NB_STRINGS_MAX;i++) { + if (!xmlDictOwns(dict, test1[i])) { + fprintf(stderr, "Failed sub-ownership failure for '%s'\n", + strings1[i]); + ret = 1; + nbErrors++; + } + } + + /* + * Then that another lookup to the string in sub will return the same + */ + for (i = 0;i < NB_STRINGS_MAX;i++) { + if (xmlDictLookup(dict, strings2[i], -1) != test2[i]) { + fprintf(stderr, "Failed re-lookup check for %d, '%s'\n", + i, strings2[i]); + ret = 1; + nbErrors++; + } + } + /* + * But also that any lookup for a string in the parent will be provided + * as in the parent + */ + for (i = 0;i < NB_STRINGS_MAX;i++) { + if (xmlDictLookup(dict, strings1[i], -1) != test1[i]) { + fprintf(stderr, "Failed parent string lookup check for %d, '%s'\n", + i, strings1[i]); + ret = 1; + nbErrors++; + } + } + + /* + * check the QName lookups + */ + for (i = NB_STRINGS_MAX - NB_STRINGS_NS;i < NB_STRINGS_MAX;i++) { + cur = strings2[i]; + pref = &prefix[0]; + while (*cur != ':') *pref++ = *cur++; + cur++; + *pref = 0; + tmp = xmlDictQLookup(dict, &prefix[0], cur); + if (tmp != test2[i]) { + fprintf(stderr, "Failed lookup check for '%s':'%s'\n", + &prefix[0], cur); + ret = 1; + nbErrors++; + } + } + /* + * check the QName lookups for strings from the parent + */ + for (i = NB_STRINGS_MAX - NB_STRINGS_NS;i < NB_STRINGS_MAX;i++) { + cur = strings1[i]; + pref = &prefix[0]; + while (*cur != ':') *pref++ = *cur++; + cur++; + *pref = 0; + tmp = xmlDictQLookup(dict, &prefix[0], cur); + if (xmlDictQLookup(dict, &prefix[0], cur) != test1[i]) { + fprintf(stderr, "Failed parent lookup check for '%s':'%s'\n", + &prefix[0], cur); + ret = 1; + nbErrors++; + } + } + + xmlDictFree(dict); + return(ret); +} + +/* + * Test a single dictionary + */ +static int run_test1(void) { + int i, j; + xmlDictPtr dict; + int ret = 0; + xmlChar prefix[40]; + xmlChar *cur, *pref; + const xmlChar *tmp; + + dict = xmlDictCreate(); + if (dict == NULL) { + fprintf(stderr, "Out of memory while creating dictionary\n"); + exit(1); + } + memset(test1, 0, sizeof(test1)); + + /* + * Fill in NB_STRINGS_MIN, at this point the dictionary should not grow + * and we allocate all those doing the fast key computations + */ + for (i = 0;i < NB_STRINGS_MIN;i++) { + test1[i] = xmlDictLookup(dict, strings1[i], -1); + if (test1[i] == NULL) { + fprintf(stderr, "Failed lookup for '%s'\n", strings1[i]); + ret = 1; + nbErrors++; + } + } + j = NB_STRINGS_MAX - NB_STRINGS_NS; + /* ":foo" like strings1 */ + for (i = 0;i < NB_STRINGS_MIN;i++, j++) { + test1[j] = xmlDictLookup(dict, strings1[j], xmlStrlen(strings1[j])); + if (test1[j] == NULL) { + fprintf(stderr, "Failed lookup for '%s'\n", strings1[j]); + ret = 1; + nbErrors++; + } + } + /* "a:foo" like strings1 */ + j = NB_STRINGS_MAX - NB_STRINGS_MIN; + for (i = 0;i < NB_STRINGS_MIN;i++, j++) { + test1[j] = xmlDictLookup(dict, strings1[j], xmlStrlen(strings1[j])); + if (test1[j] == NULL) { + fprintf(stderr, "Failed lookup for '%s'\n", strings1[j]); + ret = 1; + nbErrors++; + } + } + + /* + * At this point allocate all the strings + * the dictionary will grow in the process, reallocate more string tables + * and switch to the better key generator + */ + for (i = 0;i < NB_STRINGS_MAX;i++) { + if (test1[i] != NULL) + continue; + test1[i] = xmlDictLookup(dict, strings1[i], -1); + if (test1[i] == NULL) { + fprintf(stderr, "Failed lookup for '%s'\n", strings1[i]); + ret = 1; + nbErrors++; + } + } + + /* + * Now we can start to test things, first that all strings1 belongs to + * the dict + */ + for (i = 0;i < NB_STRINGS_MAX;i++) { + if (!xmlDictOwns(dict, test1[i])) { + fprintf(stderr, "Failed ownership failure for '%s'\n", + strings1[i]); + ret = 1; + nbErrors++; + } + } + + /* + * Then that another lookup to the string will return the same + */ + for (i = 0;i < NB_STRINGS_MAX;i++) { + if (xmlDictLookup(dict, strings1[i], -1) != test1[i]) { + fprintf(stderr, "Failed re-lookup check for %d, '%s'\n", + i, strings1[i]); + ret = 1; + nbErrors++; + } + } + + /* + * More complex, check the QName lookups + */ + for (i = NB_STRINGS_MAX - NB_STRINGS_NS;i < NB_STRINGS_MAX;i++) { + cur = strings1[i]; + pref = &prefix[0]; + while (*cur != ':') *pref++ = *cur++; + cur++; + *pref = 0; + tmp = xmlDictQLookup(dict, &prefix[0], cur); + if (tmp != test1[i]) { + fprintf(stderr, "Failed lookup check for '%s':'%s'\n", + &prefix[0], cur); + ret = 1; + nbErrors++; + } + } + + run_test2(dict); + + xmlDictFree(dict); + return(ret); +} + +int main(void) +{ + int ret; + + LIBXML_TEST_VERSION + fill_strings(); +#ifdef WITH_PRINT + print_strings(); +#endif + ret = run_test1(); + if (ret == 0) { + printf("dictionary tests succeeded %d strings\n", 2 * NB_STRINGS_MAX); + } else { + printf("dictionary tests failed with %d errors\n", nbErrors); + } + clean_strings(); + xmlCleanupParser(); + xmlMemoryDump(); + return(ret); +} diff --git a/testdso.c b/testdso.c new file mode 100644 index 0000000..bd4ff08 --- /dev/null +++ b/testdso.c @@ -0,0 +1,12 @@ +#include + +#define IN_LIBXML +#include "libxml/xmlexports.h" + +XMLPUBFUN int hello_world(void); + +int hello_world(void) +{ + printf("Success!\n"); + return 0; +} diff --git a/testlimits.c b/testlimits.c new file mode 100644 index 0000000..059116a --- /dev/null +++ b/testlimits.c @@ -0,0 +1,1638 @@ +/* + * testlimits.c: C program to run libxml2 regression tests checking various + * limits in document size. Will consume a lot of RAM and CPU cycles + * + * To compile on Unixes: + * cc -o testlimits `xml2-config --cflags` testlimits.c `xml2-config --libs` -lpthread + * + * See Copyright for the status of this software. + * + * daniel@veillard.com + */ + +#include "libxml.h" +#include + +#if !defined(_WIN32) || defined(__CYGWIN__) +#include +#endif +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#ifdef LIBXML_READER_ENABLED +#include +#endif + +static int verbose = 0; +static int tests_quiet = 0; + +/************************************************************************ + * * + * time handling * + * * + ************************************************************************/ + +/* maximum time for one parsing before declaring a timeout */ +#define MAX_TIME 2 /* seconds */ + +static clock_t t0; +int timeout = 0; + +static void reset_timout(void) { + timeout = 0; + t0 = clock(); +} + +static int check_time(void) { + clock_t tnow = clock(); + if (((tnow - t0) / CLOCKS_PER_SEC) > MAX_TIME) { + timeout = 1; + return(0); + } + return(1); +} + +/************************************************************************ + * * + * Huge document generator * + * * + ************************************************************************/ + +#include + +/* + * Huge documents are built using fixed start and end chunks + * and filling between the two an unconventional amount of char data + */ +typedef struct hugeTest hugeTest; +typedef hugeTest *hugeTestPtr; +struct hugeTest { + const char *description; + const char *name; + const char *start; + const char *end; +}; + +static struct hugeTest hugeTests[] = { + { "Huge text node", "huge:textNode", "", "" }, + { "Huge attribute node", "huge:attrNode", "" }, + { "Huge comment node", "huge:commentNode", "" }, + { "Huge PI node", "huge:piNode", "" }, +}; + +static const char *current; +static int rlen; +static unsigned int currentTest = 0; +static int instate = 0; + +/** + * hugeMatch: + * @URI: an URI to test + * + * Check for an huge: query + * + * Returns 1 if yes and 0 if another Input module should be used + */ +static int +hugeMatch(const char * URI) { + if ((URI != NULL) && (!strncmp(URI, "huge:", 5))) + return(1); + return(0); +} + +/** + * hugeOpen: + * @URI: an URI to test + * + * Return a pointer to the huge: query handler, in this example simply + * the current pointer... + * + * Returns an Input context or NULL in case or error + */ +static void * +hugeOpen(const char * URI) { + if ((URI == NULL) || (strncmp(URI, "huge:", 5))) + return(NULL); + + for (currentTest = 0;currentTest < sizeof(hugeTests)/sizeof(hugeTests[0]); + currentTest++) + if (!strcmp(hugeTests[currentTest].name, URI)) + goto found; + + return(NULL); + +found: + rlen = strlen(hugeTests[currentTest].start); + current = hugeTests[currentTest].start; + instate = 0; + return((void *) current); +} + +/** + * hugeClose: + * @context: the read context + * + * Close the huge: query handler + * + * Returns 0 or -1 in case of error + */ +static int +hugeClose(void * context) { + if (context == NULL) return(-1); + fprintf(stderr, "\n"); + return(0); +} + +#define CHUNK 4096 + +char filling[CHUNK + 1]; + +static void fillFilling(void) { + int i; + + for (i = 0;i < CHUNK;i++) { + filling[i] = 'a'; + } + filling[CHUNK] = 0; +} + +size_t maxlen = 64 * 1024 * 1024; +size_t curlen = 0; +size_t dotlen; + +/** + * hugeRead: + * @context: the read context + * @buffer: where to store data + * @len: number of bytes to read + * + * Implement an huge: query read. + * + * Returns the number of bytes read or -1 in case of error + */ +static int +hugeRead(void *context, char *buffer, int len) +{ + if ((context == NULL) || (buffer == NULL) || (len < 0)) + return (-1); + + if (instate == 0) { + if (len >= rlen) { + len = rlen; + rlen = 0; + memcpy(buffer, current, len); + instate = 1; + curlen = 0; + dotlen = maxlen / 10; + } else { + memcpy(buffer, current, len); + rlen -= len; + current += len; + } + } else if (instate == 2) { + if (len >= rlen) { + len = rlen; + rlen = 0; + memcpy(buffer, current, len); + instate = 3; + curlen = 0; + } else { + memcpy(buffer, current, len); + rlen -= len; + current += len; + } + } else if (instate == 1) { + if (len > CHUNK) len = CHUNK; + memcpy(buffer, &filling[0], len); + curlen += len; + if (curlen >= maxlen) { + rlen = strlen(hugeTests[currentTest].end); + current = hugeTests[currentTest].end; + instate = 2; + } else { + if (curlen > dotlen) { + fprintf(stderr, "."); + dotlen += maxlen / 10; + } + } + } else + len = 0; + return (len); +} + +/************************************************************************ + * * + * Crazy document generator * + * * + ************************************************************************/ + +unsigned int crazy_indx = 0; + +const char *crazy = "\ +\ +\ +\ +\ +\ +\ +]>\ +\ +\ +\ +\ +\ +foo\ +\ +\ +\ +"; + +/** + * crazyMatch: + * @URI: an URI to test + * + * Check for a crazy: query + * + * Returns 1 if yes and 0 if another Input module should be used + */ +static int +crazyMatch(const char * URI) { + if ((URI != NULL) && (!strncmp(URI, "crazy:", 6))) + return(1); + return(0); +} + +/** + * crazyOpen: + * @URI: an URI to test + * + * Return a pointer to the crazy: query handler, in this example simply + * the current pointer... + * + * Returns an Input context or NULL in case or error + */ +static void * +crazyOpen(const char * URI) { + if ((URI == NULL) || (strncmp(URI, "crazy:", 6))) + return(NULL); + + if (crazy_indx > strlen(crazy)) + return(NULL); + reset_timout(); + rlen = crazy_indx; + current = &crazy[0]; + instate = 0; + return((void *) current); +} + +/** + * crazyClose: + * @context: the read context + * + * Close the crazy: query handler + * + * Returns 0 or -1 in case of error + */ +static int +crazyClose(void * context) { + if (context == NULL) return(-1); + return(0); +} + + +/** + * crazyRead: + * @context: the read context + * @buffer: where to store data + * @len: number of bytes to read + * + * Implement an crazy: query read. + * + * Returns the number of bytes read or -1 in case of error + */ +static int +crazyRead(void *context, char *buffer, int len) +{ + if ((context == NULL) || (buffer == NULL) || (len < 0)) + return (-1); + + if ((check_time() <= 0) && (instate == 1)) { + fprintf(stderr, "\ntimeout in crazy(%d)\n", crazy_indx); + rlen = strlen(crazy) - crazy_indx; + current = &crazy[crazy_indx]; + instate = 2; + } + if (instate == 0) { + if (len >= rlen) { + len = rlen; + rlen = 0; + memcpy(buffer, current, len); + instate = 1; + curlen = 0; + } else { + memcpy(buffer, current, len); + rlen -= len; + current += len; + } + } else if (instate == 2) { + if (len >= rlen) { + len = rlen; + rlen = 0; + memcpy(buffer, current, len); + instate = 3; + curlen = 0; + } else { + memcpy(buffer, current, len); + rlen -= len; + current += len; + } + } else if (instate == 1) { + if (len > CHUNK) len = CHUNK; + memcpy(buffer, &filling[0], len); + curlen += len; + if (curlen >= maxlen) { + rlen = strlen(crazy) - crazy_indx; + current = &crazy[crazy_indx]; + instate = 2; + } + } else + len = 0; + return (len); +} +/************************************************************************ + * * + * Libxml2 specific routines * + * * + ************************************************************************/ + +static int nb_tests = 0; +static int nb_errors = 0; +static int nb_leaks = 0; +static int extraMemoryFromResolver = 0; + +/* + * We need to trap calls to the resolver to not account memory for the catalog + * which is shared to the current running test. We also don't want to have + * network downloads modifying tests. + */ +static xmlParserInputPtr +testExternalEntityLoader(const char *URL, const char *ID, + xmlParserCtxtPtr ctxt) { + xmlParserInputPtr ret; + int memused = xmlMemUsed(); + + ret = xmlNoNetExternalEntityLoader(URL, ID, ctxt); + extraMemoryFromResolver += xmlMemUsed() - memused; + + return(ret); +} + +/* + * Trapping the error messages at the generic level to grab the equivalent of + * stderr messages on CLI tools. + */ +static char testErrors[32769]; +static int testErrorsSize = 0; + +static void XMLCDECL +channel(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...) { + va_list args; + int res; + + if (testErrorsSize >= 32768) + return; + va_start(args, msg); + res = vsnprintf(&testErrors[testErrorsSize], + 32768 - testErrorsSize, + msg, args); + va_end(args); + if (testErrorsSize + res >= 32768) { + /* buffer is full */ + testErrorsSize = 32768; + testErrors[testErrorsSize] = 0; + } else { + testErrorsSize += res; + } + testErrors[testErrorsSize] = 0; +} + +/** + * xmlParserPrintFileContext: + * @input: an xmlParserInputPtr input + * + * Displays current context within the input content for error tracking + */ + +static void +xmlParserPrintFileContextInternal(xmlParserInputPtr input , + xmlGenericErrorFunc chanl, void *data ) { + const xmlChar *cur, *base; + unsigned int n, col; /* GCC warns if signed, because compared with sizeof() */ + xmlChar content[81]; /* space for 80 chars + line terminator */ + xmlChar *ctnt; + + if (input == NULL) return; + cur = input->cur; + base = input->base; + /* skip backwards over any end-of-lines */ + while ((cur > base) && ((*(cur) == '\n') || (*(cur) == '\r'))) { + cur--; + } + n = 0; + /* search backwards for beginning-of-line (to max buff size) */ + while ((n++ < (sizeof(content)-1)) && (cur > base) && + (*(cur) != '\n') && (*(cur) != '\r')) + cur--; + if ((*(cur) == '\n') || (*(cur) == '\r')) cur++; + /* calculate the error position in terms of the current position */ + col = input->cur - cur; + /* search forward for end-of-line (to max buff size) */ + n = 0; + ctnt = content; + /* copy selected text to our buffer */ + while ((*cur != 0) && (*(cur) != '\n') && + (*(cur) != '\r') && (n < sizeof(content)-1)) { + *ctnt++ = *cur++; + n++; + } + *ctnt = 0; + /* print out the selected text */ + chanl(data ,"%s\n", content); + /* create blank line with problem pointer */ + n = 0; + ctnt = content; + /* (leave buffer space for pointer + line terminator) */ + while ((nfile; + line = err->line; + code = err->code; + domain = err->domain; + level = err->level; + node = err->node; + if ((domain == XML_FROM_PARSER) || (domain == XML_FROM_HTML) || + (domain == XML_FROM_DTD) || (domain == XML_FROM_NAMESPACE) || + (domain == XML_FROM_IO) || (domain == XML_FROM_VALID)) { + ctxt = err->ctxt; + } + str = err->message; + + if (code == XML_ERR_OK) + return; + + if ((node != NULL) && (node->type == XML_ELEMENT_NODE)) + name = node->name; + + /* + * Maintain the compatibility with the legacy error handling + */ + if (ctxt != NULL) { + input = ctxt->input; + if ((input != NULL) && (input->filename == NULL) && + (ctxt->inputNr > 1)) { + cur = input; + input = ctxt->inputTab[ctxt->inputNr - 2]; + } + if (input != NULL) { + if (input->filename) + channel(data, "%s:%d: ", input->filename, input->line); + else if ((line != 0) && (domain == XML_FROM_PARSER)) + channel(data, "Entity: line %d: ", input->line); + } + } else { + if (file != NULL) + channel(data, "%s:%d: ", file, line); + else if ((line != 0) && (domain == XML_FROM_PARSER)) + channel(data, "Entity: line %d: ", line); + } + if (name != NULL) { + channel(data, "element %s: ", name); + } + if (code == XML_ERR_OK) + return; + switch (domain) { + case XML_FROM_PARSER: + channel(data, "parser "); + break; + case XML_FROM_NAMESPACE: + channel(data, "namespace "); + break; + case XML_FROM_DTD: + case XML_FROM_VALID: + channel(data, "validity "); + break; + case XML_FROM_HTML: + channel(data, "HTML parser "); + break; + case XML_FROM_MEMORY: + channel(data, "memory "); + break; + case XML_FROM_OUTPUT: + channel(data, "output "); + break; + case XML_FROM_IO: + channel(data, "I/O "); + break; + case XML_FROM_XINCLUDE: + channel(data, "XInclude "); + break; + case XML_FROM_XPATH: + channel(data, "XPath "); + break; + case XML_FROM_XPOINTER: + channel(data, "parser "); + break; + case XML_FROM_REGEXP: + channel(data, "regexp "); + break; + case XML_FROM_MODULE: + channel(data, "module "); + break; + case XML_FROM_SCHEMASV: + channel(data, "Schemas validity "); + break; + case XML_FROM_SCHEMASP: + channel(data, "Schemas parser "); + break; + case XML_FROM_RELAXNGP: + channel(data, "Relax-NG parser "); + break; + case XML_FROM_RELAXNGV: + channel(data, "Relax-NG validity "); + break; + case XML_FROM_CATALOG: + channel(data, "Catalog "); + break; + case XML_FROM_C14N: + channel(data, "C14N "); + break; + case XML_FROM_XSLT: + channel(data, "XSLT "); + break; + default: + break; + } + if (code == XML_ERR_OK) + return; + switch (level) { + case XML_ERR_NONE: + channel(data, ": "); + break; + case XML_ERR_WARNING: + channel(data, "warning : "); + break; + case XML_ERR_ERROR: + channel(data, "error : "); + break; + case XML_ERR_FATAL: + channel(data, "error : "); + break; + } + if (code == XML_ERR_OK) + return; + if (str != NULL) { + int len; + len = xmlStrlen((const xmlChar *)str); + if ((len > 0) && (str[len - 1] != '\n')) + channel(data, "%s\n", str); + else + channel(data, "%s", str); + } else { + channel(data, "%s\n", "out of memory error"); + } + if (code == XML_ERR_OK) + return; + + if (ctxt != NULL) { + xmlParserPrintFileContextInternal(input, channel, data); + if (cur != NULL) { + if (cur->filename) + channel(data, "%s:%d: \n", cur->filename, cur->line); + else if ((line != 0) && (domain == XML_FROM_PARSER)) + channel(data, "Entity: line %d: \n", cur->line); + xmlParserPrintFileContextInternal(cur, channel, data); + } + } + if ((domain == XML_FROM_XPATH) && (err->str1 != NULL) && + (err->int1 < 100) && + (err->int1 < xmlStrlen((const xmlChar *)err->str1))) { + xmlChar buf[150]; + int i; + + channel(data, "%s\n", err->str1); + for (i=0;i < err->int1;i++) + buf[i] = ' '; + buf[i++] = '^'; + buf[i] = 0; + channel(data, "%s\n", buf); + } +} + +static void +initializeLibxml2(void) { + xmlGetWarningsDefaultValue = 0; + xmlPedanticParserDefault(0); + + xmlMemSetup(xmlMemFree, xmlMemMalloc, xmlMemRealloc, xmlMemoryStrdup); + xmlInitParser(); + xmlSetExternalEntityLoader(testExternalEntityLoader); + xmlSetStructuredErrorFunc(NULL, testStructuredErrorHandler); + /* + * register the new I/O handlers + */ + if (xmlRegisterInputCallbacks(hugeMatch, hugeOpen, + hugeRead, hugeClose) < 0) { + fprintf(stderr, "failed to register Huge handlers\n"); + exit(1); + } + if (xmlRegisterInputCallbacks(crazyMatch, crazyOpen, + crazyRead, crazyClose) < 0) { + fprintf(stderr, "failed to register Crazy handlers\n"); + exit(1); + } +} + +/************************************************************************ + * * + * SAX empty callbacks * + * * + ************************************************************************/ + +unsigned long callbacks = 0; + +/** + * isStandaloneCallback: + * @ctxt: An XML parser context + * + * Is this document tagged standalone ? + * + * Returns 1 if true + */ +static int +isStandaloneCallback(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + return (0); +} + +/** + * hasInternalSubsetCallback: + * @ctxt: An XML parser context + * + * Does this document has an internal subset + * + * Returns 1 if true + */ +static int +hasInternalSubsetCallback(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + return (0); +} + +/** + * hasExternalSubsetCallback: + * @ctxt: An XML parser context + * + * Does this document has an external subset + * + * Returns 1 if true + */ +static int +hasExternalSubsetCallback(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + return (0); +} + +/** + * internalSubsetCallback: + * @ctxt: An XML parser context + * + * Does this document has an internal subset + */ +static void +internalSubsetCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * name ATTRIBUTE_UNUSED, + const xmlChar * ExternalID ATTRIBUTE_UNUSED, + const xmlChar * SystemID ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} + +/** + * externalSubsetCallback: + * @ctxt: An XML parser context + * + * Does this document has an external subset + */ +static void +externalSubsetCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * name ATTRIBUTE_UNUSED, + const xmlChar * ExternalID ATTRIBUTE_UNUSED, + const xmlChar * SystemID ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} + +/** + * resolveEntityCallback: + * @ctxt: An XML parser context + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * + * Special entity resolver, better left to the parser, it has + * more context than the application layer. + * The default behaviour is to NOT resolve the entities, in that case + * the ENTITY_REF nodes are built in the structure (and the parameter + * values). + * + * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour. + */ +static xmlParserInputPtr +resolveEntityCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * publicId ATTRIBUTE_UNUSED, + const xmlChar * systemId ATTRIBUTE_UNUSED) +{ + callbacks++; + return (NULL); +} + +/** + * getEntityCallback: + * @ctxt: An XML parser context + * @name: The entity name + * + * Get an entity by name + * + * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour. + */ +static xmlEntityPtr +getEntityCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * name ATTRIBUTE_UNUSED) +{ + callbacks++; + return (NULL); +} + +/** + * getParameterEntityCallback: + * @ctxt: An XML parser context + * @name: The entity name + * + * Get a parameter entity by name + * + * Returns the xmlParserInputPtr + */ +static xmlEntityPtr +getParameterEntityCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * name ATTRIBUTE_UNUSED) +{ + callbacks++; + return (NULL); +} + + +/** + * entityDeclCallback: + * @ctxt: An XML parser context + * @name: the entity name + * @type: the entity type + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * @content: the entity value (without processing). + * + * An entity definition has been parsed + */ +static void +entityDeclCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * name ATTRIBUTE_UNUSED, + int type ATTRIBUTE_UNUSED, + const xmlChar * publicId ATTRIBUTE_UNUSED, + const xmlChar * systemId ATTRIBUTE_UNUSED, + xmlChar * content ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} + +/** + * attributeDeclCallback: + * @ctxt: An XML parser context + * @name: the attribute name + * @type: the attribute type + * + * An attribute definition has been parsed + */ +static void +attributeDeclCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * elem ATTRIBUTE_UNUSED, + const xmlChar * name ATTRIBUTE_UNUSED, + int type ATTRIBUTE_UNUSED, int def ATTRIBUTE_UNUSED, + const xmlChar * defaultValue ATTRIBUTE_UNUSED, + xmlEnumerationPtr tree ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} + +/** + * elementDeclCallback: + * @ctxt: An XML parser context + * @name: the element name + * @type: the element type + * @content: the element value (without processing). + * + * An element definition has been parsed + */ +static void +elementDeclCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * name ATTRIBUTE_UNUSED, + int type ATTRIBUTE_UNUSED, + xmlElementContentPtr content ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} + +/** + * notationDeclCallback: + * @ctxt: An XML parser context + * @name: The name of the notation + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * + * What to do when a notation declaration has been parsed. + */ +static void +notationDeclCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * name ATTRIBUTE_UNUSED, + const xmlChar * publicId ATTRIBUTE_UNUSED, + const xmlChar * systemId ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} + +/** + * unparsedEntityDeclCallback: + * @ctxt: An XML parser context + * @name: The name of the entity + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * @notationName: the name of the notation + * + * What to do when an unparsed entity declaration is parsed + */ +static void +unparsedEntityDeclCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * name ATTRIBUTE_UNUSED, + const xmlChar * publicId ATTRIBUTE_UNUSED, + const xmlChar * systemId ATTRIBUTE_UNUSED, + const xmlChar * notationName ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} + +/** + * setDocumentLocatorCallback: + * @ctxt: An XML parser context + * @loc: A SAX Locator + * + * Receive the document locator at startup, actually xmlDefaultSAXLocator + * Everything is available on the context, so this is useless in our case. + */ +static void +setDocumentLocatorCallback(void *ctx ATTRIBUTE_UNUSED, + xmlSAXLocatorPtr loc ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} + +/** + * startDocumentCallback: + * @ctxt: An XML parser context + * + * called when the document start being processed. + */ +static void +startDocumentCallback(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} + +/** + * endDocumentCallback: + * @ctxt: An XML parser context + * + * called when the document end has been detected. + */ +static void +endDocumentCallback(void *ctx ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} + +#if 0 +/** + * startElementCallback: + * @ctxt: An XML parser context + * @name: The element name + * + * called when an opening tag has been processed. + */ +static void +startElementCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * name ATTRIBUTE_UNUSED, + const xmlChar ** atts ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} + +/** + * endElementCallback: + * @ctxt: An XML parser context + * @name: The element name + * + * called when the end of an element has been detected. + */ +static void +endElementCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * name ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} +#endif + +/** + * charactersCallback: + * @ctxt: An XML parser context + * @ch: a xmlChar string + * @len: the number of xmlChar + * + * receiving some chars from the parser. + * Question: how much at a time ??? + */ +static void +charactersCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * ch ATTRIBUTE_UNUSED, + int len ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} + +/** + * referenceCallback: + * @ctxt: An XML parser context + * @name: The entity name + * + * called when an entity reference is detected. + */ +static void +referenceCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * name ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} + +/** + * ignorableWhitespaceCallback: + * @ctxt: An XML parser context + * @ch: a xmlChar string + * @start: the first char in the string + * @len: the number of xmlChar + * + * receiving some ignorable whitespaces from the parser. + * Question: how much at a time ??? + */ +static void +ignorableWhitespaceCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * ch ATTRIBUTE_UNUSED, + int len ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} + +/** + * processingInstructionCallback: + * @ctxt: An XML parser context + * @target: the target name + * @data: the PI data's + * @len: the number of xmlChar + * + * A processing instruction has been parsed. + */ +static void +processingInstructionCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * target ATTRIBUTE_UNUSED, + const xmlChar * data ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} + +/** + * cdataBlockCallback: + * @ctx: the user data (XML parser context) + * @value: The pcdata content + * @len: the block length + * + * called when a pcdata block has been parsed + */ +static void +cdataBlockCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * value ATTRIBUTE_UNUSED, + int len ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} + +/** + * commentCallback: + * @ctxt: An XML parser context + * @value: the comment content + * + * A comment has been parsed. + */ +static void +commentCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * value ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} + +/** + * warningCallback: + * @ctxt: An XML parser context + * @msg: the message to display/transmit + * @...: extra parameters for the message display + * + * Display and format a warning messages, gives file, line, position and + * extra parameters. + */ +static void XMLCDECL +warningCallback(void *ctx ATTRIBUTE_UNUSED, + const char *msg ATTRIBUTE_UNUSED, ...) +{ + callbacks++; + return; +} + +/** + * errorCallback: + * @ctxt: An XML parser context + * @msg: the message to display/transmit + * @...: extra parameters for the message display + * + * Display and format a error messages, gives file, line, position and + * extra parameters. + */ +static void XMLCDECL +errorCallback(void *ctx ATTRIBUTE_UNUSED, const char *msg ATTRIBUTE_UNUSED, + ...) +{ + callbacks++; + return; +} + +/** + * fatalErrorCallback: + * @ctxt: An XML parser context + * @msg: the message to display/transmit + * @...: extra parameters for the message display + * + * Display and format a fatalError messages, gives file, line, position and + * extra parameters. + */ +static void XMLCDECL +fatalErrorCallback(void *ctx ATTRIBUTE_UNUSED, + const char *msg ATTRIBUTE_UNUSED, ...) +{ + return; +} + + +/* + * SAX2 specific callbacks + */ + +/** + * startElementNsCallback: + * @ctxt: An XML parser context + * @name: The element name + * + * called when an opening tag has been processed. + */ +static void +startElementNsCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * localname ATTRIBUTE_UNUSED, + const xmlChar * prefix ATTRIBUTE_UNUSED, + const xmlChar * URI ATTRIBUTE_UNUSED, + int nb_namespaces ATTRIBUTE_UNUSED, + const xmlChar ** namespaces ATTRIBUTE_UNUSED, + int nb_attributes ATTRIBUTE_UNUSED, + int nb_defaulted ATTRIBUTE_UNUSED, + const xmlChar ** attributes ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} + +/** + * endElementCallback: + * @ctxt: An XML parser context + * @name: The element name + * + * called when the end of an element has been detected. + */ +static void +endElementNsCallback(void *ctx ATTRIBUTE_UNUSED, + const xmlChar * localname ATTRIBUTE_UNUSED, + const xmlChar * prefix ATTRIBUTE_UNUSED, + const xmlChar * URI ATTRIBUTE_UNUSED) +{ + callbacks++; + return; +} + +static xmlSAXHandler callbackSAX2HandlerStruct = { + internalSubsetCallback, + isStandaloneCallback, + hasInternalSubsetCallback, + hasExternalSubsetCallback, + resolveEntityCallback, + getEntityCallback, + entityDeclCallback, + notationDeclCallback, + attributeDeclCallback, + elementDeclCallback, + unparsedEntityDeclCallback, + setDocumentLocatorCallback, + startDocumentCallback, + endDocumentCallback, + NULL, + NULL, + referenceCallback, + charactersCallback, + ignorableWhitespaceCallback, + processingInstructionCallback, + commentCallback, + warningCallback, + errorCallback, + fatalErrorCallback, + getParameterEntityCallback, + cdataBlockCallback, + externalSubsetCallback, + XML_SAX2_MAGIC, + NULL, + startElementNsCallback, + endElementNsCallback, + NULL +}; + +static xmlSAXHandlerPtr callbackSAX2Handler = &callbackSAX2HandlerStruct; + +/************************************************************************ + * * + * The tests front-ends * + * * + ************************************************************************/ + +/** + * readerTest: + * @filename: the file to parse + * @max_size: size of the limit to test + * @options: parsing options + * @fail: should a failure be reported + * + * Parse a memory generated file using SAX + * + * Returns 0 in case of success, an error code otherwise + */ +static int +saxTest(const char *filename, size_t limit, int options, int fail) { + int res = 0; + xmlParserCtxtPtr ctxt; + xmlDocPtr doc; + xmlSAXHandlerPtr old_sax; + + nb_tests++; + + maxlen = limit; + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL) { + fprintf(stderr, "Failed to create parser context\n"); + return(1); + } + old_sax = ctxt->sax; + ctxt->sax = callbackSAX2Handler; + ctxt->userData = NULL; + doc = xmlCtxtReadFile(ctxt, filename, NULL, options); + + if (doc != NULL) { + fprintf(stderr, "SAX parsing generated a document !\n"); + xmlFreeDoc(doc); + res = 0; + } else if (ctxt->wellFormed == 0) { + if (fail) + res = 0; + else { + fprintf(stderr, "Failed to parse '%s' %lu\n", filename, + (unsigned long) limit); + res = 1; + } + } else { + if (fail) { + fprintf(stderr, "Failed to get failure for '%s' %lu\n", + filename, (unsigned long) limit); + res = 1; + } else + res = 0; + } + ctxt->sax = old_sax; + xmlFreeParserCtxt(ctxt); + + return(res); +} +#ifdef LIBXML_READER_ENABLED +/** + * readerTest: + * @filename: the file to parse + * @max_size: size of the limit to test + * @options: parsing options + * @fail: should a failure be reported + * + * Parse a memory generated file using the xmlReader + * + * Returns 0 in case of success, an error code otherwise + */ +static int +readerTest(const char *filename, size_t limit, int options, int fail) { + xmlTextReaderPtr reader; + int res = 0; + int ret; + + nb_tests++; + + maxlen = limit; + reader = xmlReaderForFile(filename , NULL, options); + if (reader == NULL) { + fprintf(stderr, "Failed to open '%s' test\n", filename); + return(1); + } + ret = xmlTextReaderRead(reader); + while (ret == 1) { + ret = xmlTextReaderRead(reader); + } + if (ret != 0) { + if (fail) + res = 0; + else { + if (strncmp(filename, "crazy:", 6) == 0) + fprintf(stderr, "Failed to parse '%s' %u\n", + filename, crazy_indx); + else + fprintf(stderr, "Failed to parse '%s' %lu\n", + filename, (unsigned long) limit); + res = 1; + } + } else { + if (fail) { + if (strncmp(filename, "crazy:", 6) == 0) + fprintf(stderr, "Failed to get failure for '%s' %u\n", + filename, crazy_indx); + else + fprintf(stderr, "Failed to get failure for '%s' %lu\n", + filename, (unsigned long) limit); + res = 1; + } else + res = 0; + } + if (timeout) + res = 1; + xmlFreeTextReader(reader); + + return(res); +} +#endif + +/************************************************************************ + * * + * Tests descriptions * + * * + ************************************************************************/ + +typedef int (*functest) (const char *filename, size_t limit, int options, + int fail); + +typedef struct limitDesc limitDesc; +typedef limitDesc *limitDescPtr; +struct limitDesc { + const char *name; /* the huge generator name */ + size_t limit; /* the limit to test */ + int options; /* extra parser options */ + int fail; /* whether the test should fail */ +}; + +static limitDesc limitDescriptions[] = { + /* max length of a text node in content */ + {"huge:textNode", XML_MAX_TEXT_LENGTH - CHUNK, 0, 0}, + {"huge:textNode", XML_MAX_TEXT_LENGTH + CHUNK, 0, 1}, + {"huge:textNode", XML_MAX_TEXT_LENGTH + CHUNK, XML_PARSE_HUGE, 0}, + /* max length of a text node in content */ + {"huge:attrNode", XML_MAX_TEXT_LENGTH - CHUNK, 0, 0}, + {"huge:attrNode", XML_MAX_TEXT_LENGTH + CHUNK, 0, 1}, + {"huge:attrNode", XML_MAX_TEXT_LENGTH + CHUNK, XML_PARSE_HUGE, 0}, + /* max length of a comment node */ + {"huge:commentNode", XML_MAX_TEXT_LENGTH - CHUNK, 0, 0}, + {"huge:commentNode", XML_MAX_TEXT_LENGTH + CHUNK, 0, 1}, + {"huge:commentNode", XML_MAX_TEXT_LENGTH + CHUNK, XML_PARSE_HUGE, 0}, + /* max length of a PI node */ + {"huge:piNode", XML_MAX_TEXT_LENGTH - CHUNK, 0, 0}, + {"huge:piNode", XML_MAX_TEXT_LENGTH + CHUNK, 0, 1}, + {"huge:piNode", XML_MAX_TEXT_LENGTH + CHUNK, XML_PARSE_HUGE, 0}, +}; + +typedef struct testDesc testDesc; +typedef testDesc *testDescPtr; +struct testDesc { + const char *desc; /* description of the test */ + functest func; /* function implementing the test */ +}; + +static +testDesc testDescriptions[] = { + { "Parsing of huge files with the sax parser", saxTest}, +/* { "Parsing of huge files with the tree parser", treeTest}, */ +#ifdef LIBXML_READER_ENABLED + { "Parsing of huge files with the reader", readerTest}, +#endif + {NULL, NULL} +}; + +typedef struct testException testException; +typedef testException *testExceptionPtr; +struct testException { + unsigned int test; /* the parser test number */ + unsigned int limit; /* the limit test number */ + int fail; /* new fail value or -1*/ + size_t size; /* new limit value or 0 */ +}; + +static +testException testExceptions[] = { + /* the SAX parser doesn't hit a limit of XML_MAX_TEXT_LENGTH text nodes */ + { 0, 1, 0, 0}, +}; + +static int +launchTests(testDescPtr tst, unsigned int test) { + int res = 0, err = 0; + unsigned int i, j; + size_t limit; + int fail; + + if (tst == NULL) return(-1); + + for (i = 0;i < sizeof(limitDescriptions)/sizeof(limitDescriptions[0]);i++) { + limit = limitDescriptions[i].limit; + fail = limitDescriptions[i].fail; + /* + * Handle exceptions if any + */ + for (j = 0;j < sizeof(testExceptions)/sizeof(testExceptions[0]);j++) { + if ((testExceptions[j].test == test) && + (testExceptions[j].limit == i)) { + if (testExceptions[j].fail != -1) + fail = testExceptions[j].fail; + if (testExceptions[j].size != 0) + limit = testExceptions[j].size; + break; + } + } + res = tst->func(limitDescriptions[i].name, limit, + limitDescriptions[i].options, fail); + if (res != 0) { + nb_errors++; + err++; + } + } + return(err); +} + + +static int +runtest(unsigned int i) { + int ret = 0, res; + int old_errors, old_tests, old_leaks; + + old_errors = nb_errors; + old_tests = nb_tests; + old_leaks = nb_leaks; + if ((tests_quiet == 0) && (testDescriptions[i].desc != NULL)) + printf("## %s\n", testDescriptions[i].desc); + res = launchTests(&testDescriptions[i], i); + if (res != 0) + ret++; + if (verbose) { + if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) + printf("Ran %d tests, no errors\n", nb_tests - old_tests); + else + printf("Ran %d tests, %d errors, %d leaks\n", + nb_tests - old_tests, + nb_errors - old_errors, + nb_leaks - old_leaks); + } + return(ret); +} + +static int +launchCrazySAX(unsigned int test, int fail) { + int res = 0, err = 0; + + crazy_indx = test; + + res = saxTest("crazy::test", XML_MAX_LOOKUP_LIMIT - CHUNK, 0, fail); + if (res != 0) { + nb_errors++; + err++; + } + if (tests_quiet == 0) + fprintf(stderr, "%c", crazy[test]); + + return(err); +} + +#ifdef LIBXML_READER_ENABLED +static int +launchCrazy(unsigned int test, int fail) { + int res = 0, err = 0; + + crazy_indx = test; + + res = readerTest("crazy::test", XML_MAX_LOOKUP_LIMIT - CHUNK, 0, fail); + if (res != 0) { + nb_errors++; + err++; + } + if (tests_quiet == 0) + fprintf(stderr, "%c", crazy[test]); + + return(err); +} +#endif + +static int get_crazy_fail(int test) { + /* + * adding 1000000 of character 'a' leads to parser failure mostly + * everywhere except in those special spots. Need to be updated + * each time crazy is updated + */ + int fail = 1; + if ((test == 44) || /* PI in Misc */ + ((test >= 50) && (test <= 55)) || /* Comment in Misc */ + (test == 79) || /* PI in DTD */ + ((test >= 85) && (test <= 90)) || /* Comment in DTD */ + (test == 154) || /* PI in Misc */ + ((test >= 160) && (test <= 165)) || /* Comment in Misc */ + ((test >= 178) && (test <= 181)) || /* attribute value */ + (test == 183) || /* Text */ + (test == 189) || /* PI in Content */ + (test == 191) || /* Text */ + ((test >= 195) && (test <= 200)) || /* Comment in Content */ + ((test >= 203) && (test <= 206)) || /* Text */ + (test == 215) || (test == 216) || /* in CDATA */ + (test == 219) || /* Text */ + (test == 231) || /* PI in Misc */ + ((test >= 237) && (test <= 242))) /* Comment in Misc */ + fail = 0; + return(fail); +} + +static int +runcrazy(void) { + int ret = 0, res = 0; + int old_errors, old_tests, old_leaks; + unsigned int i; + + old_errors = nb_errors; + old_tests = nb_tests; + old_leaks = nb_leaks; + +#ifdef LIBXML_READER_ENABLED + if (tests_quiet == 0) { + printf("## Crazy tests on reader\n"); + } + for (i = 0;i < strlen(crazy);i++) { + res += launchCrazy(i, get_crazy_fail(i)); + if (res != 0) + ret++; + } +#endif + + if (tests_quiet == 0) { + printf("\n## Crazy tests on SAX\n"); + } + for (i = 0;i < strlen(crazy);i++) { + res += launchCrazySAX(i, get_crazy_fail(i)); + if (res != 0) + ret++; + } + if (tests_quiet == 0) + fprintf(stderr, "\n"); + if (verbose) { + if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) + printf("Ran %d tests, no errors\n", nb_tests - old_tests); + else + printf("Ran %d tests, %d errors, %d leaks\n", + nb_tests - old_tests, + nb_errors - old_errors, + nb_leaks - old_leaks); + } + return(ret); +} + + +int +main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + int i, a, ret = 0; + int subset = 0; + + fillFilling(); + initializeLibxml2(); + + for (a = 1; a < argc;a++) { + if (!strcmp(argv[a], "-v")) + verbose = 1; + else if (!strcmp(argv[a], "-quiet")) + tests_quiet = 1; + else if (!strcmp(argv[a], "-crazy")) + subset = 1; + } + if (subset == 0) { + for (i = 0; testDescriptions[i].func != NULL; i++) { + ret += runtest(i); + } + } + ret += runcrazy(); + if ((nb_errors == 0) && (nb_leaks == 0)) { + ret = 0; + printf("Total %d tests, no errors\n", + nb_tests); + } else { + ret = 1; + printf("Total %d tests, %d errors, %d leaks\n", + nb_tests, nb_errors, nb_leaks); + } + xmlCleanupParser(); + xmlMemoryDump(); + + return(ret); +} diff --git a/testrecurse.c b/testrecurse.c new file mode 100644 index 0000000..0cbe25a --- /dev/null +++ b/testrecurse.c @@ -0,0 +1,965 @@ +/* + * testrecurse.c: C program to run libxml2 regression tests checking entities + * recursions + * + * To compile on Unixes: + * cc -o testrecurse `xml2-config --cflags` testrecurse.c `xml2-config --libs` -lpthread + * + * See Copyright for the status of this software. + * + * daniel@veillard.com + */ + +#include "libxml.h" +#include + +#if !defined(_WIN32) || defined(__CYGWIN__) +#include +#endif +#include +#include +#include +#include + +#include +#include +#include +#ifdef LIBXML_READER_ENABLED +#include +#endif + +/* + * O_BINARY is just for Windows compatibility - if it isn't defined + * on this system, avoid any compilation error + */ +#ifdef O_BINARY +#define RD_FLAGS O_RDONLY | O_BINARY +#else +#define RD_FLAGS O_RDONLY +#endif + +typedef int (*functest) (const char *filename, const char *result, + const char *error, int options); + +typedef struct testDesc testDesc; +typedef testDesc *testDescPtr; +struct testDesc { + const char *desc; /* description of the test */ + functest func; /* function implementing the test */ + const char *in; /* glob to path for input files */ + const char *out; /* output directory */ + const char *suffix;/* suffix for output files */ + const char *err; /* suffix for error output files */ + int options; /* parser options for the test */ +}; + +static int checkTestFile(const char *filename); + + +#if defined(_WIN32) && !defined(__CYGWIN__) + +#include +#include + +typedef struct +{ + size_t gl_pathc; /* Count of paths matched so far */ + char **gl_pathv; /* List of matched pathnames. */ + size_t gl_offs; /* Slots to reserve in 'gl_pathv'. */ +} glob_t; + +#define GLOB_DOOFFS 0 +static int glob(const char *pattern, ATTRIBUTE_UNUSED int flags, + ATTRIBUTE_UNUSED int errfunc(const char *epath, int eerrno), + glob_t *pglob) { + glob_t *ret; + WIN32_FIND_DATA FindFileData; + HANDLE hFind; + unsigned int nb_paths = 0; + char directory[500]; + int len; + + if ((pattern == NULL) || (pglob == NULL)) return(-1); + + strncpy(directory, pattern, 499); + for (len = strlen(directory);len >= 0;len--) { + if (directory[len] == '/') { + len++; + directory[len] = 0; + break; + } + } + if (len <= 0) + len = 0; + + + ret = pglob; + memset(ret, 0, sizeof(glob_t)); + + hFind = FindFirstFileA(pattern, &FindFileData); + if (hFind == INVALID_HANDLE_VALUE) + return(0); + nb_paths = 20; + ret->gl_pathv = (char **) malloc(nb_paths * sizeof(char *)); + if (ret->gl_pathv == NULL) { + FindClose(hFind); + return(-1); + } + strncpy(directory + len, FindFileData.cFileName, 499 - len); + ret->gl_pathv[ret->gl_pathc] = strdup(directory); + if (ret->gl_pathv[ret->gl_pathc] == NULL) + goto done; + ret->gl_pathc++; + while(FindNextFileA(hFind, &FindFileData)) { + if (FindFileData.cFileName[0] == '.') + continue; + if (ret->gl_pathc + 2 > nb_paths) { + char **tmp = realloc(ret->gl_pathv, nb_paths * 2 * sizeof(char *)); + if (tmp == NULL) + break; + ret->gl_pathv = tmp; + nb_paths *= 2; + } + strncpy(directory + len, FindFileData.cFileName, 499 - len); + ret->gl_pathv[ret->gl_pathc] = strdup(directory); + if (ret->gl_pathv[ret->gl_pathc] == NULL) + break; + ret->gl_pathc++; + } + ret->gl_pathv[ret->gl_pathc] = NULL; + +done: + FindClose(hFind); + return(0); +} + + + +static void globfree(glob_t *pglob) { + unsigned int i; + if (pglob == NULL) + return; + + for (i = 0;i < pglob->gl_pathc;i++) { + if (pglob->gl_pathv[i] != NULL) + free(pglob->gl_pathv[i]); + } +} + +#else +#include +#endif + +/************************************************************************ + * * + * Huge document generator * + * * + ************************************************************************/ + +#include + + +static const char *start = " \ + \ + \ +]> \ +"; + +static const char *segment = " &e; &f; &d;\n"; +static const char *finish = ""; + +static int curseg = 0; +static const char *current; +static int rlen; + +/** + * hugeMatch: + * @URI: an URI to test + * + * Check for an huge: query + * + * Returns 1 if yes and 0 if another Input module should be used + */ +static int +hugeMatch(const char * URI) { + if ((URI != NULL) && (!strncmp(URI, "huge:", 4))) + return(1); + return(0); +} + +/** + * hugeOpen: + * @URI: an URI to test + * + * Return a pointer to the huge: query handler, in this example simply + * the current pointer... + * + * Returns an Input context or NULL in case or error + */ +static void * +hugeOpen(const char * URI) { + if ((URI == NULL) || (strncmp(URI, "huge:", 4))) + return(NULL); + rlen = strlen(start); + current = start; + return((void *) current); +} + +/** + * hugeClose: + * @context: the read context + * + * Close the huge: query handler + * + * Returns 0 or -1 in case of error + */ +static int +hugeClose(void * context) { + if (context == NULL) return(-1); + return(0); +} + +#define MAX_NODES 1000000 + +/** + * hugeRead: + * @context: the read context + * @buffer: where to store data + * @len: number of bytes to read + * + * Implement an huge: query read. + * + * Returns the number of bytes read or -1 in case of error + */ +static int +hugeRead(void *context, char *buffer, int len) +{ + if ((context == NULL) || (buffer == NULL) || (len < 0)) + return (-1); + + if (len >= rlen) { + if (curseg >= MAX_NODES + 1) { + rlen = 0; + return(0); + } + len = rlen; + rlen = 0; + memcpy(buffer, current, len); + curseg ++; + if (curseg == MAX_NODES) { + fprintf(stderr, "\n"); + rlen = strlen(finish); + current = finish; + } else { + if (curseg % (MAX_NODES / 10) == 0) + fprintf(stderr, "."); + rlen = strlen(segment); + current = segment; + } + } else { + memcpy(buffer, current, len); + rlen -= len; + current += len; + } + return (len); +} + +/************************************************************************ + * * + * Libxml2 specific routines * + * * + ************************************************************************/ + +static int nb_tests = 0; +static int nb_errors = 0; +static int nb_leaks = 0; +static int extraMemoryFromResolver = 0; + +static int +fatalError(void) { + fprintf(stderr, "Exitting tests on fatal error\n"); + exit(1); +} + +/* + * We need to trap calls to the resolver to not account memory for the catalog + * which is shared to the current running test. We also don't want to have + * network downloads modifying tests. + */ +static xmlParserInputPtr +testExternalEntityLoader(const char *URL, const char *ID, + xmlParserCtxtPtr ctxt) { + xmlParserInputPtr ret; + + if (checkTestFile(URL)) { + ret = xmlNoNetExternalEntityLoader(URL, ID, ctxt); + } else { + int memused = xmlMemUsed(); + ret = xmlNoNetExternalEntityLoader(URL, ID, ctxt); + extraMemoryFromResolver += xmlMemUsed() - memused; + } + + return(ret); +} + +/* + * Trapping the error messages at the generic level to grab the equivalent of + * stderr messages on CLI tools. + */ +static char testErrors[32769]; +static int testErrorsSize = 0; + +static void XMLCDECL +channel(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...) { + va_list args; + int res; + + if (testErrorsSize >= 32768) + return; + va_start(args, msg); + res = vsnprintf(&testErrors[testErrorsSize], + 32768 - testErrorsSize, + msg, args); + va_end(args); + if (testErrorsSize + res >= 32768) { + /* buffer is full */ + testErrorsSize = 32768; + testErrors[testErrorsSize] = 0; + } else { + testErrorsSize += res; + } + testErrors[testErrorsSize] = 0; +} + +/** + * xmlParserPrintFileContext: + * @input: an xmlParserInputPtr input + * + * Displays current context within the input content for error tracking + */ + +static void +xmlParserPrintFileContextInternal(xmlParserInputPtr input , + xmlGenericErrorFunc chanl, void *data ) { + const xmlChar *cur, *base; + unsigned int n, col; /* GCC warns if signed, because compared with sizeof() */ + xmlChar content[81]; /* space for 80 chars + line terminator */ + xmlChar *ctnt; + + if (input == NULL) return; + cur = input->cur; + base = input->base; + /* skip backwards over any end-of-lines */ + while ((cur > base) && ((*(cur) == '\n') || (*(cur) == '\r'))) { + cur--; + } + n = 0; + /* search backwards for beginning-of-line (to max buff size) */ + while ((n++ < (sizeof(content)-1)) && (cur > base) && + (*(cur) != '\n') && (*(cur) != '\r')) + cur--; + if ((*(cur) == '\n') || (*(cur) == '\r')) cur++; + /* calculate the error position in terms of the current position */ + col = input->cur - cur; + /* search forward for end-of-line (to max buff size) */ + n = 0; + ctnt = content; + /* copy selected text to our buffer */ + while ((*cur != 0) && (*(cur) != '\n') && + (*(cur) != '\r') && (n < sizeof(content)-1)) { + *ctnt++ = *cur++; + n++; + } + *ctnt = 0; + /* print out the selected text */ + chanl(data ,"%s\n", content); + /* create blank line with problem pointer */ + n = 0; + ctnt = content; + /* (leave buffer space for pointer + line terminator) */ + while ((nfile; + line = err->line; + code = err->code; + domain = err->domain; + level = err->level; + node = err->node; + if ((domain == XML_FROM_PARSER) || (domain == XML_FROM_HTML) || + (domain == XML_FROM_DTD) || (domain == XML_FROM_NAMESPACE) || + (domain == XML_FROM_IO) || (domain == XML_FROM_VALID)) { + ctxt = err->ctxt; + } + str = err->message; + + if (code == XML_ERR_OK) + return; + + if ((node != NULL) && (node->type == XML_ELEMENT_NODE)) + name = node->name; + + /* + * Maintain the compatibility with the legacy error handling + */ + if (ctxt != NULL) { + input = ctxt->input; + if ((input != NULL) && (input->filename == NULL) && + (ctxt->inputNr > 1)) { + cur = input; + input = ctxt->inputTab[ctxt->inputNr - 2]; + } + if (input != NULL) { + if (input->filename) + channel(data, "%s:%d: ", input->filename, input->line); + else if ((line != 0) && (domain == XML_FROM_PARSER)) + channel(data, "Entity: line %d: ", input->line); + } + } else { + if (file != NULL) + channel(data, "%s:%d: ", file, line); + else if ((line != 0) && (domain == XML_FROM_PARSER)) + channel(data, "Entity: line %d: ", line); + } + if (name != NULL) { + channel(data, "element %s: ", name); + } + if (code == XML_ERR_OK) + return; + switch (domain) { + case XML_FROM_PARSER: + channel(data, "parser "); + break; + case XML_FROM_NAMESPACE: + channel(data, "namespace "); + break; + case XML_FROM_DTD: + case XML_FROM_VALID: + channel(data, "validity "); + break; + case XML_FROM_HTML: + channel(data, "HTML parser "); + break; + case XML_FROM_MEMORY: + channel(data, "memory "); + break; + case XML_FROM_OUTPUT: + channel(data, "output "); + break; + case XML_FROM_IO: + channel(data, "I/O "); + break; + case XML_FROM_XINCLUDE: + channel(data, "XInclude "); + break; + case XML_FROM_XPATH: + channel(data, "XPath "); + break; + case XML_FROM_XPOINTER: + channel(data, "parser "); + break; + case XML_FROM_REGEXP: + channel(data, "regexp "); + break; + case XML_FROM_MODULE: + channel(data, "module "); + break; + case XML_FROM_SCHEMASV: + channel(data, "Schemas validity "); + break; + case XML_FROM_SCHEMASP: + channel(data, "Schemas parser "); + break; + case XML_FROM_RELAXNGP: + channel(data, "Relax-NG parser "); + break; + case XML_FROM_RELAXNGV: + channel(data, "Relax-NG validity "); + break; + case XML_FROM_CATALOG: + channel(data, "Catalog "); + break; + case XML_FROM_C14N: + channel(data, "C14N "); + break; + case XML_FROM_XSLT: + channel(data, "XSLT "); + break; + default: + break; + } + if (code == XML_ERR_OK) + return; + switch (level) { + case XML_ERR_NONE: + channel(data, ": "); + break; + case XML_ERR_WARNING: + channel(data, "warning : "); + break; + case XML_ERR_ERROR: + channel(data, "error : "); + break; + case XML_ERR_FATAL: + channel(data, "error : "); + break; + } + if (code == XML_ERR_OK) + return; + if (str != NULL) { + int len; + len = xmlStrlen((const xmlChar *)str); + if ((len > 0) && (str[len - 1] != '\n')) + channel(data, "%s\n", str); + else + channel(data, "%s", str); + } else { + channel(data, "%s\n", "out of memory error"); + } + if (code == XML_ERR_OK) + return; + + if (ctxt != NULL) { + xmlParserPrintFileContextInternal(input, channel, data); + if (cur != NULL) { + if (cur->filename) + channel(data, "%s:%d: \n", cur->filename, cur->line); + else if ((line != 0) && (domain == XML_FROM_PARSER)) + channel(data, "Entity: line %d: \n", cur->line); + xmlParserPrintFileContextInternal(cur, channel, data); + } + } + if ((domain == XML_FROM_XPATH) && (err->str1 != NULL) && + (err->int1 < 100) && + (err->int1 < xmlStrlen((const xmlChar *)err->str1))) { + xmlChar buf[150]; + int i; + + channel(data, "%s\n", err->str1); + for (i=0;i < err->int1;i++) + buf[i] = ' '; + buf[i++] = '^'; + buf[i] = 0; + channel(data, "%s\n", buf); + } +} + +static void +initializeLibxml2(void) { + xmlGetWarningsDefaultValue = 0; + xmlPedanticParserDefault(0); + + xmlMemSetup(xmlMemFree, xmlMemMalloc, xmlMemRealloc, xmlMemoryStrdup); + xmlInitParser(); + xmlSetExternalEntityLoader(testExternalEntityLoader); + xmlSetStructuredErrorFunc(NULL, testStructuredErrorHandler); + /* + * register the new I/O handlers + */ + if (xmlRegisterInputCallbacks(hugeMatch, hugeOpen, + hugeRead, hugeClose) < 0) { + fprintf(stderr, "failed to register Huge handler\n"); + exit(1); + } +} + +/************************************************************************ + * * + * File name and path utilities * + * * + ************************************************************************/ + +static const char *baseFilename(const char *filename) { + const char *cur; + if (filename == NULL) + return(NULL); + cur = &filename[strlen(filename)]; + while ((cur > filename) && (*cur != '/')) + cur--; + if (*cur == '/') + return(cur + 1); + return(cur); +} + +static char *resultFilename(const char *filename, const char *out, + const char *suffix) { + const char *base; + char res[500]; + char suffixbuff[500]; + +/************* + if ((filename[0] == 't') && (filename[1] == 'e') && + (filename[2] == 's') && (filename[3] == 't') && + (filename[4] == '/')) + filename = &filename[5]; + *************/ + + base = baseFilename(filename); + if (suffix == NULL) + suffix = ".tmp"; + if (out == NULL) + out = ""; + + strncpy(suffixbuff,suffix,499); +#ifdef VMS + if(strstr(base,".") && suffixbuff[0]=='.') + suffixbuff[0]='_'; +#endif + + if (snprintf(res, 499, "%s%s%s", out, base, suffixbuff) >= 499) + res[499] = 0; + return(strdup(res)); +} + +static int checkTestFile(const char *filename) { + struct stat buf; + + if (stat(filename, &buf) == -1) + return(0); + +#if defined(_WIN32) && !defined(__CYGWIN__) + if (!(buf.st_mode & _S_IFREG)) + return(0); +#else + if (!S_ISREG(buf.st_mode)) + return(0); +#endif + + return(1); +} + + + +/************************************************************************ + * * + * Test to detect or not recursive entities * + * * + ************************************************************************/ +/** + * recursiveDetectTest: + * @filename: the file to parse + * @result: the file with expected result + * @err: the file with error messages: unused + * + * Parse a file loading DTD and replacing entities check it fails for + * lol cases + * + * Returns 0 in case of success, an error code otherwise + */ +static int +recursiveDetectTest(const char *filename, + const char *result ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + xmlDocPtr doc; + xmlParserCtxtPtr ctxt; + int res = 0; + + nb_tests++; + + ctxt = xmlNewParserCtxt(); + /* + * base of the test, parse with the old API + */ + doc = xmlCtxtReadFile(ctxt, filename, NULL, + XML_PARSE_NOENT | XML_PARSE_DTDLOAD); + if ((doc != NULL) || (ctxt->lastError.code != XML_ERR_ENTITY_LOOP)) { + fprintf(stderr, "Failed to detect recursion in %s\n", filename); + xmlFreeParserCtxt(ctxt); + xmlFreeDoc(doc); + return(1); + } + xmlFreeParserCtxt(ctxt); + + return(res); +} + +/** + * notRecursiveDetectTest: + * @filename: the file to parse + * @result: the file with expected result + * @err: the file with error messages: unused + * + * Parse a file loading DTD and replacing entities check it works for + * good cases + * + * Returns 0 in case of success, an error code otherwise + */ +static int +notRecursiveDetectTest(const char *filename, + const char *result ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + xmlDocPtr doc; + xmlParserCtxtPtr ctxt; + int res = 0; + + nb_tests++; + + ctxt = xmlNewParserCtxt(); + /* + * base of the test, parse with the old API + */ + doc = xmlCtxtReadFile(ctxt, filename, NULL, + XML_PARSE_NOENT | XML_PARSE_DTDLOAD); + if (doc == NULL) { + fprintf(stderr, "Failed to parse correct file %s\n", filename); + xmlFreeParserCtxt(ctxt); + return(1); + } + xmlFreeDoc(doc); + xmlFreeParserCtxt(ctxt); + + return(res); +} + +#ifdef LIBXML_READER_ENABLED +/** + * notRecursiveHugeTest: + * @filename: the file to parse + * @result: the file with expected result + * @err: the file with error messages: unused + * + * Parse a memory generated file + * good cases + * + * Returns 0 in case of success, an error code otherwise + */ +static int +notRecursiveHugeTest(const char *filename ATTRIBUTE_UNUSED, + const char *result ATTRIBUTE_UNUSED, + const char *err ATTRIBUTE_UNUSED, + int options ATTRIBUTE_UNUSED) { + xmlTextReaderPtr reader; + int res = 0; + int ret; + + nb_tests++; + + reader = xmlReaderForFile("huge:test" , NULL, + XML_PARSE_NOENT | XML_PARSE_DTDLOAD); + if (reader == NULL) { + fprintf(stderr, "Failed to open huge:test\n"); + return(1); + } + ret = xmlTextReaderRead(reader); + while (ret == 1) { + ret = xmlTextReaderRead(reader); + } + if (ret != 0) { + fprintf(stderr, "Failed to parser huge:test with entities\n"); + res = 1; + } + xmlFreeTextReader(reader); + + return(res); +} +#endif + +/************************************************************************ + * * + * Tests Descriptions * + * * + ************************************************************************/ + +static +testDesc testDescriptions[] = { + { "Parsing recursive test cases" , + recursiveDetectTest, "./test/recurse/lol*.xml", NULL, NULL, NULL, + 0 }, + { "Parsing non-recursive test cases" , + notRecursiveDetectTest, "./test/recurse/good*.xml", NULL, NULL, NULL, + 0 }, +#ifdef LIBXML_READER_ENABLED + { "Parsing non-recursive huge case" , + notRecursiveHugeTest, NULL, NULL, NULL, NULL, + 0 }, +#endif + {NULL, NULL, NULL, NULL, NULL, NULL, 0} +}; + +/************************************************************************ + * * + * The main code driving the tests * + * * + ************************************************************************/ + +static int +launchTests(testDescPtr tst) { + int res = 0, err = 0; + size_t i; + char *result; + char *error; + int mem; + + if (tst == NULL) return(-1); + if (tst->in != NULL) { + glob_t globbuf; + + globbuf.gl_offs = 0; + glob(tst->in, GLOB_DOOFFS, NULL, &globbuf); + for (i = 0;i < globbuf.gl_pathc;i++) { + if (!checkTestFile(globbuf.gl_pathv[i])) + continue; + if (tst->suffix != NULL) { + result = resultFilename(globbuf.gl_pathv[i], tst->out, + tst->suffix); + if (result == NULL) { + fprintf(stderr, "Out of memory !\n"); + fatalError(); + } + } else { + result = NULL; + } + if (tst->err != NULL) { + error = resultFilename(globbuf.gl_pathv[i], tst->out, + tst->err); + if (error == NULL) { + fprintf(stderr, "Out of memory !\n"); + fatalError(); + } + } else { + error = NULL; + } + if ((result) &&(!checkTestFile(result))) { + fprintf(stderr, "Missing result file %s\n", result); + } else if ((error) &&(!checkTestFile(error))) { + fprintf(stderr, "Missing error file %s\n", error); + } else { + mem = xmlMemUsed(); + extraMemoryFromResolver = 0; + testErrorsSize = 0; + testErrors[0] = 0; + res = tst->func(globbuf.gl_pathv[i], result, error, + tst->options | XML_PARSE_COMPACT); + xmlResetLastError(); + if (res != 0) { + fprintf(stderr, "File %s generated an error\n", + globbuf.gl_pathv[i]); + nb_errors++; + err++; + } + else if (xmlMemUsed() != mem) { + if ((xmlMemUsed() != mem) && + (extraMemoryFromResolver == 0)) { + fprintf(stderr, "File %s leaked %d bytes\n", + globbuf.gl_pathv[i], xmlMemUsed() - mem); + nb_leaks++; + err++; + } + } + testErrorsSize = 0; + } + if (result) + free(result); + if (error) + free(error); + } + globfree(&globbuf); + } else { + testErrorsSize = 0; + testErrors[0] = 0; + extraMemoryFromResolver = 0; + res = tst->func(NULL, NULL, NULL, tst->options); + if (res != 0) { + nb_errors++; + err++; + } + } + return(err); +} + +static int verbose = 0; +static int tests_quiet = 0; + +static int +runtest(int i) { + int ret = 0, res; + int old_errors, old_tests, old_leaks; + + old_errors = nb_errors; + old_tests = nb_tests; + old_leaks = nb_leaks; + if ((tests_quiet == 0) && (testDescriptions[i].desc != NULL)) + printf("## %s\n", testDescriptions[i].desc); + res = launchTests(&testDescriptions[i]); + if (res != 0) + ret++; + if (verbose) { + if ((nb_errors == old_errors) && (nb_leaks == old_leaks)) + printf("Ran %d tests, no errors\n", nb_tests - old_tests); + else + printf("Ran %d tests, %d errors, %d leaks\n", + nb_tests - old_tests, + nb_errors - old_errors, + nb_leaks - old_leaks); + } + return(ret); +} + +int +main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { + int i, a, ret = 0; + int subset = 0; + + initializeLibxml2(); + + for (a = 1; a < argc;a++) { + if (!strcmp(argv[a], "-v")) + verbose = 1; + else if (!strcmp(argv[a], "-quiet")) + tests_quiet = 1; + else { + for (i = 0; testDescriptions[i].func != NULL; i++) { + if (strstr(testDescriptions[i].desc, argv[a])) { + ret += runtest(i); + subset++; + } + } + } + } + if (subset == 0) { + for (i = 0; testDescriptions[i].func != NULL; i++) { + ret += runtest(i); + } + } + if ((nb_errors == 0) && (nb_leaks == 0)) { + ret = 0; + printf("Total %d tests, no errors\n", + nb_tests); + } else { + ret = 1; + printf("Total %d tests, %d errors, %d leaks\n", + nb_tests, nb_errors, nb_leaks); + } + xmlCleanupParser(); + xmlMemoryDump(); + + return(ret); +} diff --git a/threads.c b/threads.c new file mode 100644 index 0000000..72df9ba --- /dev/null +++ b/threads.c @@ -0,0 +1,1048 @@ +/** + * threads.c: set of generic threading related routines + * + * See Copyright for the status of this software. + * + * Gary Pennington + * daniel@veillard.com + */ + +#define IN_LIBXML +#include "libxml.h" + +#include + +#include +#include + +#ifdef HAVE_SYS_TYPES_H +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_STDLIB_H +#include +#endif +#ifdef HAVE_PTHREAD_H +#include +#elif defined HAVE_WIN32_THREADS +#define WIN32_LEAN_AND_MEAN +#include +#ifndef HAVE_COMPILER_TLS +#include +#endif +#endif + +#ifdef HAVE_BEOS_THREADS +#include +#include +#endif + +#if defined(SOLARIS) +#include +#endif + +/* #define DEBUG_THREADS */ + +#ifdef HAVE_PTHREAD_H + +#if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 303) && \ + defined(__GLIBC__) && defined(__linux__) + +static int libxml_is_threaded = -1; + +#define XML_PTHREAD_WEAK + +#pragma weak pthread_once +#pragma weak pthread_getspecific +#pragma weak pthread_setspecific +#pragma weak pthread_key_create +#pragma weak pthread_key_delete +#pragma weak pthread_mutex_init +#pragma weak pthread_mutex_destroy +#pragma weak pthread_mutex_lock +#pragma weak pthread_mutex_unlock +#pragma weak pthread_cond_init +#pragma weak pthread_cond_destroy +#pragma weak pthread_cond_wait +#pragma weak pthread_equal +#pragma weak pthread_self +#pragma weak pthread_key_create +#pragma weak pthread_key_delete +#pragma weak pthread_cond_signal + +#else /* __GNUC__, __GLIBC__, __linux__ */ + +static int libxml_is_threaded = 1; + +#endif /* __GNUC__, __GLIBC__, __linux__ */ + +#endif /* HAVE_PTHREAD_H */ + +/* + * TODO: this module still uses malloc/free and not xmlMalloc/xmlFree + * to avoid some craziness since xmlMalloc/xmlFree may actually + * be hosted on allocated blocks needing them for the allocation ... + */ + +/* + * xmlMutex are a simple mutual exception locks + */ +struct _xmlMutex { +#ifdef HAVE_PTHREAD_H + pthread_mutex_t lock; +#elif defined HAVE_WIN32_THREADS + HANDLE mutex; +#elif defined HAVE_BEOS_THREADS + sem_id sem; + thread_id tid; +#else + int empty; +#endif +}; + +/* + * xmlRMutex are reentrant mutual exception locks + */ +struct _xmlRMutex { +#ifdef HAVE_PTHREAD_H + pthread_mutex_t lock; + unsigned int held; + unsigned int waiters; + pthread_t tid; + pthread_cond_t cv; +#elif defined HAVE_WIN32_THREADS + CRITICAL_SECTION cs; + unsigned int count; +#elif defined HAVE_BEOS_THREADS + xmlMutexPtr lock; + thread_id tid; + int32 count; +#else + int empty; +#endif +}; + +/* + * This module still has some internal static data. + * - xmlLibraryLock a global lock + * - globalkey used for per-thread data + */ + +#ifdef HAVE_PTHREAD_H +static pthread_key_t globalkey; +static pthread_t mainthread; +static pthread_once_t once_control = PTHREAD_ONCE_INIT; +static pthread_once_t once_control_init = PTHREAD_ONCE_INIT; +static pthread_mutex_t global_init_lock = PTHREAD_MUTEX_INITIALIZER; +#elif defined HAVE_WIN32_THREADS +#if defined(HAVE_COMPILER_TLS) +static __declspec(thread) xmlGlobalState tlstate; +static __declspec(thread) int tlstate_inited = 0; +#else /* HAVE_COMPILER_TLS */ +static DWORD globalkey = TLS_OUT_OF_INDEXES; +#endif /* HAVE_COMPILER_TLS */ +static DWORD mainthread; +static struct { + DWORD done; + LONG control; +} run_once = { 0, 0}; +static volatile LPCRITICAL_SECTION global_init_lock = NULL; + +/* endif HAVE_WIN32_THREADS */ +#elif defined HAVE_BEOS_THREADS +int32 globalkey = 0; +thread_id mainthread = 0; +int32 run_once_init = 0; +static int32 global_init_lock = -1; +static vint32 global_init_count = 0; +#endif + +static xmlRMutexPtr xmlLibraryLock = NULL; + +#ifdef LIBXML_THREAD_ENABLED +static void xmlOnceInit(void); +#endif + +/** + * xmlNewMutex: + * + * xmlNewMutex() is used to allocate a libxml2 token struct for use in + * synchronizing access to data. + * + * Returns a new simple mutex pointer or NULL in case of error + */ +xmlMutexPtr +xmlNewMutex(void) +{ + xmlMutexPtr tok; + + if ((tok = malloc(sizeof(xmlMutex))) == NULL) + return (NULL); +#ifdef HAVE_PTHREAD_H + if (libxml_is_threaded != 0) + pthread_mutex_init(&tok->lock, NULL); +#elif defined HAVE_WIN32_THREADS + tok->mutex = CreateMutex(NULL, FALSE, NULL); +#elif defined HAVE_BEOS_THREADS + if ((tok->sem = create_sem(1, "xmlMutex")) < B_OK) { + free(tok); + return NULL; + } + tok->tid = -1; +#endif + return (tok); +} + +/** + * xmlFreeMutex: + * @tok: the simple mutex + * + * xmlFreeMutex() is used to reclaim resources associated with a libxml2 token + * struct. + */ +void +xmlFreeMutex(xmlMutexPtr tok) +{ + if (tok == NULL) + return; + +#ifdef HAVE_PTHREAD_H + if (libxml_is_threaded != 0) + pthread_mutex_destroy(&tok->lock); +#elif defined HAVE_WIN32_THREADS + CloseHandle(tok->mutex); +#elif defined HAVE_BEOS_THREADS + delete_sem(tok->sem); +#endif + free(tok); +} + +/** + * xmlMutexLock: + * @tok: the simple mutex + * + * xmlMutexLock() is used to lock a libxml2 token. + */ +void +xmlMutexLock(xmlMutexPtr tok) +{ + if (tok == NULL) + return; +#ifdef HAVE_PTHREAD_H + if (libxml_is_threaded != 0) + pthread_mutex_lock(&tok->lock); +#elif defined HAVE_WIN32_THREADS + WaitForSingleObject(tok->mutex, INFINITE); +#elif defined HAVE_BEOS_THREADS + if (acquire_sem(tok->sem) != B_NO_ERROR) { +#ifdef DEBUG_THREADS + xmlGenericError(xmlGenericErrorContext, + "xmlMutexLock():BeOS:Couldn't acquire semaphore\n"); +#endif + } + tok->tid = find_thread(NULL); +#endif + +} + +/** + * xmlMutexUnlock: + * @tok: the simple mutex + * + * xmlMutexUnlock() is used to unlock a libxml2 token. + */ +void +xmlMutexUnlock(xmlMutexPtr tok) +{ + if (tok == NULL) + return; +#ifdef HAVE_PTHREAD_H + if (libxml_is_threaded != 0) + pthread_mutex_unlock(&tok->lock); +#elif defined HAVE_WIN32_THREADS + ReleaseMutex(tok->mutex); +#elif defined HAVE_BEOS_THREADS + if (tok->tid == find_thread(NULL)) { + tok->tid = -1; + release_sem(tok->sem); + } +#endif +} + +/** + * xmlNewRMutex: + * + * xmlRNewMutex() is used to allocate a reentrant mutex for use in + * synchronizing access to data. token_r is a re-entrant lock and thus useful + * for synchronizing access to data structures that may be manipulated in a + * recursive fashion. + * + * Returns the new reentrant mutex pointer or NULL in case of error + */ +xmlRMutexPtr +xmlNewRMutex(void) +{ + xmlRMutexPtr tok; + + if ((tok = malloc(sizeof(xmlRMutex))) == NULL) + return (NULL); +#ifdef HAVE_PTHREAD_H + if (libxml_is_threaded != 0) { + pthread_mutex_init(&tok->lock, NULL); + tok->held = 0; + tok->waiters = 0; + pthread_cond_init(&tok->cv, NULL); + } +#elif defined HAVE_WIN32_THREADS + InitializeCriticalSection(&tok->cs); + tok->count = 0; +#elif defined HAVE_BEOS_THREADS + if ((tok->lock = xmlNewMutex()) == NULL) { + free(tok); + return NULL; + } + tok->count = 0; +#endif + return (tok); +} + +/** + * xmlFreeRMutex: + * @tok: the reentrant mutex + * + * xmlRFreeMutex() is used to reclaim resources associated with a + * reentrant mutex. + */ +void +xmlFreeRMutex(xmlRMutexPtr tok ATTRIBUTE_UNUSED) +{ + if (tok == NULL) + return; +#ifdef HAVE_PTHREAD_H + if (libxml_is_threaded != 0) { + pthread_mutex_destroy(&tok->lock); + pthread_cond_destroy(&tok->cv); + } +#elif defined HAVE_WIN32_THREADS + DeleteCriticalSection(&tok->cs); +#elif defined HAVE_BEOS_THREADS + xmlFreeMutex(tok->lock); +#endif + free(tok); +} + +/** + * xmlRMutexLock: + * @tok: the reentrant mutex + * + * xmlRMutexLock() is used to lock a libxml2 token_r. + */ +void +xmlRMutexLock(xmlRMutexPtr tok) +{ + if (tok == NULL) + return; +#ifdef HAVE_PTHREAD_H + if (libxml_is_threaded == 0) + return; + + pthread_mutex_lock(&tok->lock); + if (tok->held) { + if (pthread_equal(tok->tid, pthread_self())) { + tok->held++; + pthread_mutex_unlock(&tok->lock); + return; + } else { + tok->waiters++; + while (tok->held) + pthread_cond_wait(&tok->cv, &tok->lock); + tok->waiters--; + } + } + tok->tid = pthread_self(); + tok->held = 1; + pthread_mutex_unlock(&tok->lock); +#elif defined HAVE_WIN32_THREADS + EnterCriticalSection(&tok->cs); + tok->count++; +#elif defined HAVE_BEOS_THREADS + if (tok->lock->tid == find_thread(NULL)) { + tok->count++; + return; + } else { + xmlMutexLock(tok->lock); + tok->count = 1; + } +#endif +} + +/** + * xmlRMutexUnlock: + * @tok: the reentrant mutex + * + * xmlRMutexUnlock() is used to unlock a libxml2 token_r. + */ +void +xmlRMutexUnlock(xmlRMutexPtr tok ATTRIBUTE_UNUSED) +{ + if (tok == NULL) + return; +#ifdef HAVE_PTHREAD_H + if (libxml_is_threaded == 0) + return; + + pthread_mutex_lock(&tok->lock); + tok->held--; + if (tok->held == 0) { + if (tok->waiters) + pthread_cond_signal(&tok->cv); + memset(&tok->tid, 0, sizeof(tok->tid)); + } + pthread_mutex_unlock(&tok->lock); +#elif defined HAVE_WIN32_THREADS + if (tok->count > 0) { + tok->count--; + LeaveCriticalSection(&tok->cs); + } +#elif defined HAVE_BEOS_THREADS + if (tok->lock->tid == find_thread(NULL)) { + tok->count--; + if (tok->count == 0) { + xmlMutexUnlock(tok->lock); + } + return; + } +#endif +} + +/** + * xmlGlobalInitMutexLock + * + * Makes sure that the global initialization mutex is initialized and + * locks it. + */ +void +__xmlGlobalInitMutexLock(void) +{ + /* Make sure the global init lock is initialized and then lock it. */ +#ifdef HAVE_PTHREAD_H + /* The mutex is statically initialized, so we just lock it. */ +#ifdef XML_PTHREAD_WEAK + if (pthread_mutex_lock == NULL) + return; +#endif /* XML_PTHREAD_WEAK */ + pthread_mutex_lock(&global_init_lock); +#elif defined HAVE_WIN32_THREADS + LPCRITICAL_SECTION cs; + + /* Create a new critical section */ + if (global_init_lock == NULL) { + cs = malloc(sizeof(CRITICAL_SECTION)); + if (cs == NULL) { + xmlGenericError(xmlGenericErrorContext, + "xmlGlobalInitMutexLock: out of memory\n"); + return; + } + InitializeCriticalSection(cs); + + /* Swap it into the global_init_lock */ +#ifdef InterlockedCompareExchangePointer + InterlockedCompareExchangePointer((void **) &global_init_lock, + cs, NULL); +#else /* Use older void* version */ + InterlockedCompareExchange((void **) &global_init_lock, + (void *) cs, NULL); +#endif /* InterlockedCompareExchangePointer */ + + /* If another thread successfully recorded its critical + * section in the global_init_lock then discard the one + * allocated by this thread. */ + if (global_init_lock != cs) { + DeleteCriticalSection(cs); + free(cs); + } + } + + /* Lock the chosen critical section */ + EnterCriticalSection(global_init_lock); +#elif defined HAVE_BEOS_THREADS + int32 sem; + + /* Allocate a new semaphore */ + sem = create_sem(1, "xmlGlobalinitMutex"); + + while (global_init_lock == -1) { + if (atomic_add(&global_init_count, 1) == 0) { + global_init_lock = sem; + } else { + snooze(1); + atomic_add(&global_init_count, -1); + } + } + + /* If another thread successfully recorded its critical + * section in the global_init_lock then discard the one + * allocated by this thread. */ + if (global_init_lock != sem) + delete_sem(sem); + + /* Acquire the chosen semaphore */ + if (acquire_sem(global_init_lock) != B_NO_ERROR) { +#ifdef DEBUG_THREADS + xmlGenericError(xmlGenericErrorContext, + "xmlGlobalInitMutexLock():BeOS:Couldn't acquire semaphore\n"); +#endif + } +#endif +} + +void +__xmlGlobalInitMutexUnlock(void) +{ +#ifdef HAVE_PTHREAD_H +#ifdef XML_PTHREAD_WEAK + if (pthread_mutex_unlock == NULL) + return; +#endif /* XML_PTHREAD_WEAK */ + pthread_mutex_unlock(&global_init_lock); +#elif defined HAVE_WIN32_THREADS + if (global_init_lock != NULL) { + LeaveCriticalSection(global_init_lock); + } +#elif defined HAVE_BEOS_THREADS + release_sem(global_init_lock); +#endif +} + +/** + * xmlGlobalInitMutexDestroy + * + * Makes sure that the global initialization mutex is destroyed before + * application termination. + */ +void +__xmlGlobalInitMutexDestroy(void) +{ +#ifdef HAVE_PTHREAD_H +#elif defined HAVE_WIN32_THREADS + if (global_init_lock != NULL) { + DeleteCriticalSection(global_init_lock); + free(global_init_lock); + global_init_lock = NULL; + } +#endif +} + +/************************************************************************ + * * + * Per thread global state handling * + * * + ************************************************************************/ + +#ifdef LIBXML_THREAD_ENABLED +#ifdef xmlLastError +#undef xmlLastError +#endif + +/** + * xmlFreeGlobalState: + * @state: a thread global state + * + * xmlFreeGlobalState() is called when a thread terminates with a non-NULL + * global state. It is is used here to reclaim memory resources. + */ +static void +xmlFreeGlobalState(void *state) +{ + xmlGlobalState *gs = (xmlGlobalState *) state; + + /* free any memory allocated in the thread's xmlLastError */ + xmlResetError(&(gs->xmlLastError)); + free(state); +} + +/** + * xmlNewGlobalState: + * + * xmlNewGlobalState() allocates a global state. This structure is used to + * hold all data for use by a thread when supporting backwards compatibility + * of libxml2 to pre-thread-safe behaviour. + * + * Returns the newly allocated xmlGlobalStatePtr or NULL in case of error + */ +static xmlGlobalStatePtr +xmlNewGlobalState(void) +{ + xmlGlobalState *gs; + + gs = malloc(sizeof(xmlGlobalState)); + if (gs == NULL) { + xmlGenericError(xmlGenericErrorContext, + "xmlGetGlobalState: out of memory\n"); + return (NULL); + } + + memset(gs, 0, sizeof(xmlGlobalState)); + xmlInitializeGlobalState(gs); + return (gs); +} +#endif /* LIBXML_THREAD_ENABLED */ + +#ifdef HAVE_PTHREAD_H +#elif defined HAVE_WIN32_THREADS +#if !defined(HAVE_COMPILER_TLS) +#if defined(LIBXML_STATIC) && !defined(LIBXML_STATIC_FOR_DLL) +typedef struct _xmlGlobalStateCleanupHelperParams { + HANDLE thread; + void *memory; +} xmlGlobalStateCleanupHelperParams; + +static void XMLCDECL +xmlGlobalStateCleanupHelper(void *p) +{ + xmlGlobalStateCleanupHelperParams *params = + (xmlGlobalStateCleanupHelperParams *) p; + WaitForSingleObject(params->thread, INFINITE); + CloseHandle(params->thread); + xmlFreeGlobalState(params->memory); + free(params); + _endthread(); +} +#else /* LIBXML_STATIC && !LIBXML_STATIC_FOR_DLL */ + +typedef struct _xmlGlobalStateCleanupHelperParams { + void *memory; + struct _xmlGlobalStateCleanupHelperParams *prev; + struct _xmlGlobalStateCleanupHelperParams *next; +} xmlGlobalStateCleanupHelperParams; + +static xmlGlobalStateCleanupHelperParams *cleanup_helpers_head = NULL; +static CRITICAL_SECTION cleanup_helpers_cs; + +#endif /* LIBXMLSTATIC && !LIBXML_STATIC_FOR_DLL */ +#endif /* HAVE_COMPILER_TLS */ +#endif /* HAVE_WIN32_THREADS */ + +#if defined HAVE_BEOS_THREADS + +/** + * xmlGlobalStateCleanup: + * @data: unused parameter + * + * Used for Beos only + */ +void +xmlGlobalStateCleanup(void *data) +{ + void *globalval = tls_get(globalkey); + + if (globalval != NULL) + xmlFreeGlobalState(globalval); +} +#endif + +/** + * xmlGetGlobalState: + * + * xmlGetGlobalState() is called to retrieve the global state for a thread. + * + * Returns the thread global state or NULL in case of error + */ +xmlGlobalStatePtr +xmlGetGlobalState(void) +{ +#ifdef HAVE_PTHREAD_H + xmlGlobalState *globalval; + + if (libxml_is_threaded == 0) + return (NULL); + + pthread_once(&once_control, xmlOnceInit); + + if ((globalval = (xmlGlobalState *) + pthread_getspecific(globalkey)) == NULL) { + xmlGlobalState *tsd = xmlNewGlobalState(); + if (tsd == NULL) + return(NULL); + + pthread_setspecific(globalkey, tsd); + return (tsd); + } + return (globalval); +#elif defined HAVE_WIN32_THREADS +#if defined(HAVE_COMPILER_TLS) + if (!tlstate_inited) { + tlstate_inited = 1; + xmlInitializeGlobalState(&tlstate); + } + return &tlstate; +#else /* HAVE_COMPILER_TLS */ + xmlGlobalState *globalval; + xmlGlobalStateCleanupHelperParams *p; + + xmlOnceInit(); +#if defined(LIBXML_STATIC) && !defined(LIBXML_STATIC_FOR_DLL) + globalval = (xmlGlobalState *) TlsGetValue(globalkey); +#else + p = (xmlGlobalStateCleanupHelperParams *) TlsGetValue(globalkey); + globalval = (xmlGlobalState *) (p ? p->memory : NULL); +#endif + if (globalval == NULL) { + xmlGlobalState *tsd = xmlNewGlobalState(); + + if (tsd == NULL) + return(NULL); + p = (xmlGlobalStateCleanupHelperParams *) + malloc(sizeof(xmlGlobalStateCleanupHelperParams)); + if (p == NULL) { + xmlGenericError(xmlGenericErrorContext, + "xmlGetGlobalState: out of memory\n"); + xmlFreeGlobalState(tsd); + return(NULL); + } + p->memory = tsd; +#if defined(LIBXML_STATIC) && !defined(LIBXML_STATIC_FOR_DLL) + DuplicateHandle(GetCurrentProcess(), GetCurrentThread(), + GetCurrentProcess(), &p->thread, 0, TRUE, + DUPLICATE_SAME_ACCESS); + TlsSetValue(globalkey, tsd); + _beginthread(xmlGlobalStateCleanupHelper, 0, p); +#else + EnterCriticalSection(&cleanup_helpers_cs); + if (cleanup_helpers_head != NULL) { + cleanup_helpers_head->prev = p; + } + p->next = cleanup_helpers_head; + p->prev = NULL; + cleanup_helpers_head = p; + TlsSetValue(globalkey, p); + LeaveCriticalSection(&cleanup_helpers_cs); +#endif + + return (tsd); + } + return (globalval); +#endif /* HAVE_COMPILER_TLS */ +#elif defined HAVE_BEOS_THREADS + xmlGlobalState *globalval; + + xmlOnceInit(); + + if ((globalval = (xmlGlobalState *) tls_get(globalkey)) == NULL) { + xmlGlobalState *tsd = xmlNewGlobalState(); + if (tsd == NULL) + return (NULL); + + tls_set(globalkey, tsd); + on_exit_thread(xmlGlobalStateCleanup, NULL); + return (tsd); + } + return (globalval); +#else + return (NULL); +#endif +} + +/************************************************************************ + * * + * Library wide thread interfaces * + * * + ************************************************************************/ + +/** + * xmlGetThreadId: + * + * xmlGetThreadId() find the current thread ID number + * Note that this is likely to be broken on some platforms using pthreads + * as the specification doesn't mandate pthread_t to be an integer type + * + * Returns the current thread ID number + */ +int +xmlGetThreadId(void) +{ +#ifdef HAVE_PTHREAD_H + pthread_t id; + int ret; + + if (libxml_is_threaded == 0) + return (0); + id = pthread_self(); + /* horrible but preserves compat, see warning above */ + memcpy(&ret, &id, sizeof(ret)); + return (ret); +#elif defined HAVE_WIN32_THREADS + return GetCurrentThreadId(); +#elif defined HAVE_BEOS_THREADS + return find_thread(NULL); +#else + return ((int) 0); +#endif +} + +/** + * xmlIsMainThread: + * + * xmlIsMainThread() check whether the current thread is the main thread. + * + * Returns 1 if the current thread is the main thread, 0 otherwise + */ +int +xmlIsMainThread(void) +{ +#ifdef HAVE_PTHREAD_H + if (libxml_is_threaded == -1) + xmlInitThreads(); + if (libxml_is_threaded == 0) + return (1); + pthread_once(&once_control, xmlOnceInit); +#elif defined HAVE_WIN32_THREADS + xmlOnceInit(); +#elif defined HAVE_BEOS_THREADS + xmlOnceInit(); +#endif + +#ifdef DEBUG_THREADS + xmlGenericError(xmlGenericErrorContext, "xmlIsMainThread()\n"); +#endif +#ifdef HAVE_PTHREAD_H + return (pthread_equal(mainthread,pthread_self())); +#elif defined HAVE_WIN32_THREADS + return (mainthread == GetCurrentThreadId()); +#elif defined HAVE_BEOS_THREADS + return (mainthread == find_thread(NULL)); +#else + return (1); +#endif +} + +/** + * xmlLockLibrary: + * + * xmlLockLibrary() is used to take out a re-entrant lock on the libxml2 + * library. + */ +void +xmlLockLibrary(void) +{ +#ifdef DEBUG_THREADS + xmlGenericError(xmlGenericErrorContext, "xmlLockLibrary()\n"); +#endif + xmlRMutexLock(xmlLibraryLock); +} + +/** + * xmlUnlockLibrary: + * + * xmlUnlockLibrary() is used to release a re-entrant lock on the libxml2 + * library. + */ +void +xmlUnlockLibrary(void) +{ +#ifdef DEBUG_THREADS + xmlGenericError(xmlGenericErrorContext, "xmlUnlockLibrary()\n"); +#endif + xmlRMutexUnlock(xmlLibraryLock); +} + +/** + * xmlInitThreads: + * + * xmlInitThreads() is used to to initialize all the thread related + * data of the libxml2 library. + */ +void +xmlInitThreads(void) +{ +#ifdef HAVE_PTHREAD_H +#ifdef XML_PTHREAD_WEAK + if (libxml_is_threaded == -1) { + if ((pthread_once != NULL) && + (pthread_getspecific != NULL) && + (pthread_setspecific != NULL) && + (pthread_key_create != NULL) && + (pthread_key_delete != NULL) && + (pthread_mutex_init != NULL) && + (pthread_mutex_destroy != NULL) && + (pthread_mutex_lock != NULL) && + (pthread_mutex_unlock != NULL) && + (pthread_cond_init != NULL) && + (pthread_cond_destroy != NULL) && + (pthread_cond_wait != NULL) && + (pthread_equal != NULL) && + (pthread_self != NULL) && + (pthread_cond_signal != NULL)) { + libxml_is_threaded = 1; + +/* fprintf(stderr, "Running multithreaded\n"); */ + } else { + +/* fprintf(stderr, "Running without multithread\n"); */ + libxml_is_threaded = 0; + } + } +#endif /* XML_PTHREAD_WEAK */ +#elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL)) + InitializeCriticalSection(&cleanup_helpers_cs); +#endif +} + +/** + * xmlCleanupThreads: + * + * xmlCleanupThreads() is used to to cleanup all the thread related + * data of the libxml2 library once processing has ended. + * + * WARNING: if your application is multithreaded or has plugin support + * calling this may crash the application if another thread or + * a plugin is still using libxml2. It's sometimes very hard to + * guess if libxml2 is in use in the application, some libraries + * or plugins may use it without notice. In case of doubt abstain + * from calling this function or do it just before calling exit() + * to avoid leak reports from valgrind ! + */ +void +xmlCleanupThreads(void) +{ +#ifdef DEBUG_THREADS + xmlGenericError(xmlGenericErrorContext, "xmlCleanupThreads()\n"); +#endif +#ifdef HAVE_PTHREAD_H + if (libxml_is_threaded != 0) + pthread_key_delete(globalkey); + once_control = once_control_init; +#elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL)) + if (globalkey != TLS_OUT_OF_INDEXES) { + xmlGlobalStateCleanupHelperParams *p; + + EnterCriticalSection(&cleanup_helpers_cs); + p = cleanup_helpers_head; + while (p != NULL) { + xmlGlobalStateCleanupHelperParams *temp = p; + + p = p->next; + xmlFreeGlobalState(temp->memory); + free(temp); + } + cleanup_helpers_head = 0; + LeaveCriticalSection(&cleanup_helpers_cs); + TlsFree(globalkey); + globalkey = TLS_OUT_OF_INDEXES; + } + DeleteCriticalSection(&cleanup_helpers_cs); +#endif +} + +#ifdef LIBXML_THREAD_ENABLED + +/** + * xmlOnceInit + * + * xmlOnceInit() is used to initialize the value of mainthread for use + * in other routines. This function should only be called using + * pthread_once() in association with the once_control variable to ensure + * that the function is only called once. See man pthread_once for more + * details. + */ +static void +xmlOnceInit(void) +{ +#ifdef HAVE_PTHREAD_H + (void) pthread_key_create(&globalkey, xmlFreeGlobalState); + mainthread = pthread_self(); + __xmlInitializeDict(); +#elif defined(HAVE_WIN32_THREADS) + if (!run_once.done) { + if (InterlockedIncrement(&run_once.control) == 1) { +#if !defined(HAVE_COMPILER_TLS) + globalkey = TlsAlloc(); +#endif + mainthread = GetCurrentThreadId(); + __xmlInitializeDict(); + run_once.done = 1; + } else { + /* Another thread is working; give up our slice and + * wait until they're done. */ + while (!run_once.done) + Sleep(0); + } + } +#elif defined HAVE_BEOS_THREADS + if (atomic_add(&run_once_init, 1) == 0) { + globalkey = tls_allocate(); + tls_set(globalkey, NULL); + mainthread = find_thread(NULL); + __xmlInitializeDict(); + } else + atomic_add(&run_once_init, -1); +#endif +} +#endif + +/** + * DllMain: + * @hinstDLL: handle to DLL instance + * @fdwReason: Reason code for entry + * @lpvReserved: generic pointer (depends upon reason code) + * + * Entry point for Windows library. It is being used to free thread-specific + * storage. + * + * Returns TRUE always + */ +#ifdef HAVE_PTHREAD_H +#elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL)) +#if defined(LIBXML_STATIC_FOR_DLL) +int XMLCALL +xmlDllMain(ATTRIBUTE_UNUSED void *hinstDLL, unsigned long fdwReason, + ATTRIBUTE_UNUSED void *lpvReserved) +#else +/* declare to avoid "no previous prototype for 'DllMain'" warning */ +/* Note that we do NOT want to include this function declaration in + a public header because it's meant to be called by Windows itself, + not a program that uses this library. This also has to be exported. */ + +XMLPUBFUN BOOL WINAPI +DllMain (HINSTANCE hinstDLL, + DWORD fdwReason, + LPVOID lpvReserved); + +BOOL WINAPI +DllMain(ATTRIBUTE_UNUSED HINSTANCE hinstDLL, DWORD fdwReason, + ATTRIBUTE_UNUSED LPVOID lpvReserved) +#endif +{ + switch (fdwReason) { + case DLL_THREAD_DETACH: + if (globalkey != TLS_OUT_OF_INDEXES) { + xmlGlobalState *globalval = NULL; + xmlGlobalStateCleanupHelperParams *p = + (xmlGlobalStateCleanupHelperParams *) + TlsGetValue(globalkey); + globalval = (xmlGlobalState *) (p ? p->memory : NULL); + if (globalval) { + xmlFreeGlobalState(globalval); + TlsSetValue(globalkey, NULL); + } + if (p) { + EnterCriticalSection(&cleanup_helpers_cs); + if (p == cleanup_helpers_head) + cleanup_helpers_head = p->next; + else + p->prev->next = p->next; + if (p->next != NULL) + p->next->prev = p->prev; + LeaveCriticalSection(&cleanup_helpers_cs); + free(p); + } + } + break; + } + return TRUE; +} +#endif +#define bottom_threads +#include "elfgcchack.h" diff --git a/timsort.h b/timsort.h new file mode 100644 index 0000000..383584f --- /dev/null +++ b/timsort.h @@ -0,0 +1,601 @@ +/* + * Taken from https://github.com/swenson/sort + * Revision: 05fd77bfec049ce8b7c408c4d3dd2d51ee061a15 + * Removed all code unrelated to Timsort and made minor adjustments for + * cross-platform compatibility. + */ + +/* + * The MIT License (MIT) + * + * Copyright (c) 2010-2017 Christopher Swenson. + * Copyright (c) 2012 Vojtech Fried. + * Copyright (c) 2012 Google Inc. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#include +#include +#include +#ifdef HAVE_STDINT_H +#include +#elif defined(_WIN32) +typedef unsigned __int64 uint64_t; +#endif + +#ifndef SORT_NAME +#error "Must declare SORT_NAME" +#endif + +#ifndef SORT_TYPE +#error "Must declare SORT_TYPE" +#endif + +#ifndef SORT_CMP +#define SORT_CMP(x, y) ((x) < (y) ? -1 : ((x) == (y) ? 0 : 1)) +#endif + +#ifndef TIM_SORT_STACK_SIZE +#define TIM_SORT_STACK_SIZE 128 +#endif + +#define SORT_SWAP(x,y) {SORT_TYPE __SORT_SWAP_t = (x); (x) = (y); (y) = __SORT_SWAP_t;} + + +/* Common, type-agnostic functions and constants that we don't want to declare twice. */ +#ifndef SORT_COMMON_H +#define SORT_COMMON_H + +#ifndef MAX +#define MAX(x,y) (((x) > (y) ? (x) : (y))) +#endif + +#ifndef MIN +#define MIN(x,y) (((x) < (y) ? (x) : (y))) +#endif + +static int compute_minrun(const uint64_t); + +#ifndef CLZ +#if defined(__GNUC__) && ((__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || (__GNUC__ > 3)) +#define CLZ __builtin_clzll +#else + +static int clzll(uint64_t); + +/* adapted from Hacker's Delight */ +static int clzll(uint64_t x) { + int n; + + if (x == 0) { + return 64; + } + + n = 0; + + if (x <= 0x00000000FFFFFFFFL) { + n = n + 32; + x = x << 32; + } + + if (x <= 0x0000FFFFFFFFFFFFL) { + n = n + 16; + x = x << 16; + } + + if (x <= 0x00FFFFFFFFFFFFFFL) { + n = n + 8; + x = x << 8; + } + + if (x <= 0x0FFFFFFFFFFFFFFFL) { + n = n + 4; + x = x << 4; + } + + if (x <= 0x3FFFFFFFFFFFFFFFL) { + n = n + 2; + x = x << 2; + } + + if (x <= 0x7FFFFFFFFFFFFFFFL) { + n = n + 1; + } + + return n; +} + +#define CLZ clzll +#endif +#endif + +static __inline int compute_minrun(const uint64_t size) { + const int top_bit = 64 - CLZ(size); + const int shift = MAX(top_bit, 6) - 6; + const int minrun = size >> shift; + const uint64_t mask = (1ULL << shift) - 1; + + if (mask & size) { + return minrun + 1; + } + + return minrun; +} + +#endif /* SORT_COMMON_H */ + +#define SORT_CONCAT(x, y) x ## _ ## y +#define SORT_MAKE_STR1(x, y) SORT_CONCAT(x,y) +#define SORT_MAKE_STR(x) SORT_MAKE_STR1(SORT_NAME,x) + +#define BINARY_INSERTION_FIND SORT_MAKE_STR(binary_insertion_find) +#define BINARY_INSERTION_SORT_START SORT_MAKE_STR(binary_insertion_sort_start) +#define BINARY_INSERTION_SORT SORT_MAKE_STR(binary_insertion_sort) +#define REVERSE_ELEMENTS SORT_MAKE_STR(reverse_elements) +#define COUNT_RUN SORT_MAKE_STR(count_run) +#define CHECK_INVARIANT SORT_MAKE_STR(check_invariant) +#define TIM_SORT SORT_MAKE_STR(tim_sort) +#define TIM_SORT_RESIZE SORT_MAKE_STR(tim_sort_resize) +#define TIM_SORT_MERGE SORT_MAKE_STR(tim_sort_merge) +#define TIM_SORT_COLLAPSE SORT_MAKE_STR(tim_sort_collapse) + +#ifndef MAX +#define MAX(x,y) (((x) > (y) ? (x) : (y))) +#endif +#ifndef MIN +#define MIN(x,y) (((x) < (y) ? (x) : (y))) +#endif + +typedef struct { + size_t start; + size_t length; +} TIM_SORT_RUN_T; + + +void BINARY_INSERTION_SORT(SORT_TYPE *dst, const size_t size); +void TIM_SORT(SORT_TYPE *dst, const size_t size); + + +/* Function used to do a binary search for binary insertion sort */ +static __inline size_t BINARY_INSERTION_FIND(SORT_TYPE *dst, const SORT_TYPE x, + const size_t size) { + size_t l, c, r; + SORT_TYPE cx; + l = 0; + r = size - 1; + c = r >> 1; + + /* check for out of bounds at the beginning. */ + if (SORT_CMP(x, dst[0]) < 0) { + return 0; + } else if (SORT_CMP(x, dst[r]) > 0) { + return r; + } + + cx = dst[c]; + + while (1) { + const int val = SORT_CMP(x, cx); + + if (val < 0) { + if (c - l <= 1) { + return c; + } + + r = c; + } else { /* allow = for stability. The binary search favors the right. */ + if (r - c <= 1) { + return c + 1; + } + + l = c; + } + + c = l + ((r - l) >> 1); + cx = dst[c]; + } +} + +/* Binary insertion sort, but knowing that the first "start" entries are sorted. Used in timsort. */ +static void BINARY_INSERTION_SORT_START(SORT_TYPE *dst, const size_t start, const size_t size) { + size_t i; + + for (i = start; i < size; i++) { + size_t j; + SORT_TYPE x; + size_t location; + + /* If this entry is already correct, just move along */ + if (SORT_CMP(dst[i - 1], dst[i]) <= 0) { + continue; + } + + /* Else we need to find the right place, shift everything over, and squeeze in */ + x = dst[i]; + location = BINARY_INSERTION_FIND(dst, x, i); + + for (j = i - 1; j >= location; j--) { + dst[j + 1] = dst[j]; + + if (j == 0) { /* check edge case because j is unsigned */ + break; + } + } + + dst[location] = x; + } +} + +/* Binary insertion sort */ +void BINARY_INSERTION_SORT(SORT_TYPE *dst, const size_t size) { + /* don't bother sorting an array of size <= 1 */ + if (size <= 1) { + return; + } + + BINARY_INSERTION_SORT_START(dst, 1, size); +} + +/* timsort implementation, based on timsort.txt */ + +static __inline void REVERSE_ELEMENTS(SORT_TYPE *dst, size_t start, size_t end) { + while (1) { + if (start >= end) { + return; + } + + SORT_SWAP(dst[start], dst[end]); + start++; + end--; + } +} + +static size_t COUNT_RUN(SORT_TYPE *dst, const size_t start, const size_t size) { + size_t curr; + + if (size - start == 1) { + return 1; + } + + if (start >= size - 2) { + if (SORT_CMP(dst[size - 2], dst[size - 1]) > 0) { + SORT_SWAP(dst[size - 2], dst[size - 1]); + } + + return 2; + } + + curr = start + 2; + + if (SORT_CMP(dst[start], dst[start + 1]) <= 0) { + /* increasing run */ + while (1) { + if (curr == size - 1) { + break; + } + + if (SORT_CMP(dst[curr - 1], dst[curr]) > 0) { + break; + } + + curr++; + } + + return curr - start; + } else { + /* decreasing run */ + while (1) { + if (curr == size - 1) { + break; + } + + if (SORT_CMP(dst[curr - 1], dst[curr]) <= 0) { + break; + } + + curr++; + } + + /* reverse in-place */ + REVERSE_ELEMENTS(dst, start, curr - 1); + return curr - start; + } +} + +static int CHECK_INVARIANT(TIM_SORT_RUN_T *stack, const int stack_curr) { + size_t A, B, C; + + if (stack_curr < 2) { + return 1; + } + + if (stack_curr == 2) { + const size_t A1 = stack[stack_curr - 2].length; + const size_t B1 = stack[stack_curr - 1].length; + + if (A1 <= B1) { + return 0; + } + + return 1; + } + + A = stack[stack_curr - 3].length; + B = stack[stack_curr - 2].length; + C = stack[stack_curr - 1].length; + + if ((A <= B + C) || (B <= C)) { + return 0; + } + + return 1; +} + +typedef struct { + size_t alloc; + SORT_TYPE *storage; +} TEMP_STORAGE_T; + +static void TIM_SORT_RESIZE(TEMP_STORAGE_T *store, const size_t new_size) { + if (store->alloc < new_size) { + SORT_TYPE *tempstore = (SORT_TYPE *)realloc(store->storage, new_size * sizeof(SORT_TYPE)); + + if (tempstore == NULL) { + fprintf(stderr, "Error allocating temporary storage for tim sort: need %lu bytes", + (unsigned long)(sizeof(SORT_TYPE) * new_size)); + exit(1); + } + + store->storage = tempstore; + store->alloc = new_size; + } +} + +static void TIM_SORT_MERGE(SORT_TYPE *dst, const TIM_SORT_RUN_T *stack, const int stack_curr, + TEMP_STORAGE_T *store) { + const size_t A = stack[stack_curr - 2].length; + const size_t B = stack[stack_curr - 1].length; + const size_t curr = stack[stack_curr - 2].start; + SORT_TYPE *storage; + size_t i, j, k; + TIM_SORT_RESIZE(store, MIN(A, B)); + storage = store->storage; + + /* left merge */ + if (A < B) { + memcpy(storage, &dst[curr], A * sizeof(SORT_TYPE)); + i = 0; + j = curr + A; + + for (k = curr; k < curr + A + B; k++) { + if ((i < A) && (j < curr + A + B)) { + if (SORT_CMP(storage[i], dst[j]) <= 0) { + dst[k] = storage[i++]; + } else { + dst[k] = dst[j++]; + } + } else if (i < A) { + dst[k] = storage[i++]; + } else { + break; + } + } + } else { + /* right merge */ + memcpy(storage, &dst[curr + A], B * sizeof(SORT_TYPE)); + i = B; + j = curr + A; + k = curr + A + B; + + while (k > curr) { + k--; + if ((i > 0) && (j > curr)) { + if (SORT_CMP(dst[j - 1], storage[i - 1]) > 0) { + dst[k] = dst[--j]; + } else { + dst[k] = storage[--i]; + } + } else if (i > 0) { + dst[k] = storage[--i]; + } else { + break; + } + } + } +} + +static int TIM_SORT_COLLAPSE(SORT_TYPE *dst, TIM_SORT_RUN_T *stack, int stack_curr, + TEMP_STORAGE_T *store, const size_t size) { + while (1) { + size_t A, B, C, D; + int ABC, BCD, CD; + + /* if the stack only has one thing on it, we are done with the collapse */ + if (stack_curr <= 1) { + break; + } + + /* if this is the last merge, just do it */ + if ((stack_curr == 2) && (stack[0].length + stack[1].length == size)) { + TIM_SORT_MERGE(dst, stack, stack_curr, store); + stack[0].length += stack[1].length; + stack_curr--; + break; + } + /* check if the invariant is off for a stack of 2 elements */ + else if ((stack_curr == 2) && (stack[0].length <= stack[1].length)) { + TIM_SORT_MERGE(dst, stack, stack_curr, store); + stack[0].length += stack[1].length; + stack_curr--; + break; + } else if (stack_curr == 2) { + break; + } + + B = stack[stack_curr - 3].length; + C = stack[stack_curr - 2].length; + D = stack[stack_curr - 1].length; + + if (stack_curr >= 4) { + A = stack[stack_curr - 4].length; + ABC = (A <= B + C); + } else { + ABC = 0; + } + + BCD = (B <= C + D) || ABC; + CD = (C <= D); + + /* Both invariants are good */ + if (!BCD && !CD) { + break; + } + + /* left merge */ + if (BCD && !CD) { + TIM_SORT_MERGE(dst, stack, stack_curr - 1, store); + stack[stack_curr - 3].length += stack[stack_curr - 2].length; + stack[stack_curr - 2] = stack[stack_curr - 1]; + stack_curr--; + } else { + /* right merge */ + TIM_SORT_MERGE(dst, stack, stack_curr, store); + stack[stack_curr - 2].length += stack[stack_curr - 1].length; + stack_curr--; + } + } + + return stack_curr; +} + +static __inline int PUSH_NEXT(SORT_TYPE *dst, + const size_t size, + TEMP_STORAGE_T *store, + const size_t minrun, + TIM_SORT_RUN_T *run_stack, + size_t *stack_curr, + size_t *curr) { + size_t len = COUNT_RUN(dst, *curr, size); + size_t run = minrun; + + if (run > size - *curr) { + run = size - *curr; + } + + if (run > len) { + BINARY_INSERTION_SORT_START(&dst[*curr], len, run); + len = run; + } + + run_stack[*stack_curr].start = *curr; + run_stack[*stack_curr].length = len; + (*stack_curr)++; + *curr += len; + + if (*curr == size) { + /* finish up */ + while (*stack_curr > 1) { + TIM_SORT_MERGE(dst, run_stack, *stack_curr, store); + run_stack[*stack_curr - 2].length += run_stack[*stack_curr - 1].length; + (*stack_curr)--; + } + + if (store->storage != NULL) { + free(store->storage); + store->storage = NULL; + } + + return 0; + } + + return 1; +} + +void TIM_SORT(SORT_TYPE *dst, const size_t size) { + size_t minrun; + TEMP_STORAGE_T _store, *store; + TIM_SORT_RUN_T run_stack[TIM_SORT_STACK_SIZE]; + size_t stack_curr = 0; + size_t curr = 0; + + /* don't bother sorting an array of size 1 */ + if (size <= 1) { + return; + } + + if (size < 64) { + BINARY_INSERTION_SORT(dst, size); + return; + } + + /* compute the minimum run length */ + minrun = compute_minrun(size); + /* temporary storage for merges */ + store = &_store; + store->alloc = 0; + store->storage = NULL; + + if (!PUSH_NEXT(dst, size, store, minrun, run_stack, &stack_curr, &curr)) { + return; + } + + if (!PUSH_NEXT(dst, size, store, minrun, run_stack, &stack_curr, &curr)) { + return; + } + + if (!PUSH_NEXT(dst, size, store, minrun, run_stack, &stack_curr, &curr)) { + return; + } + + while (1) { + if (!CHECK_INVARIANT(run_stack, stack_curr)) { + stack_curr = TIM_SORT_COLLAPSE(dst, run_stack, stack_curr, store, size); + continue; + } + + if (!PUSH_NEXT(dst, size, store, minrun, run_stack, &stack_curr, &curr)) { + return; + } + } +} + +#undef SORT_CONCAT +#undef SORT_MAKE_STR1 +#undef SORT_MAKE_STR +#undef SORT_NAME +#undef SORT_TYPE +#undef SORT_CMP +#undef TEMP_STORAGE_T +#undef TIM_SORT_RUN_T +#undef PUSH_NEXT +#undef SORT_SWAP +#undef SORT_CONCAT +#undef SORT_MAKE_STR1 +#undef SORT_MAKE_STR +#undef BINARY_INSERTION_FIND +#undef BINARY_INSERTION_SORT_START +#undef BINARY_INSERTION_SORT +#undef REVERSE_ELEMENTS +#undef COUNT_RUN +#undef TIM_SORT +#undef TIM_SORT_RESIZE +#undef TIM_SORT_COLLAPSE +#undef TIM_SORT_RUN_T +#undef TEMP_STORAGE_T diff --git a/tree.c b/tree.c new file mode 100644 index 0000000..08b1a50 --- /dev/null +++ b/tree.c @@ -0,0 +1,10148 @@ +/* + * tree.c : implementation of access function for an XML tree. + * + * References: + * XHTML 1.0 W3C REC: http://www.w3.org/TR/2002/REC-xhtml1-20020801/ + * + * See Copyright for the status of this software. + * + * daniel@veillard.com + * + */ + +/* To avoid EBCDIC trouble when parsing on zOS */ +#if defined(__MVS__) +#pragma convert("ISO8859-1") +#endif + +#define IN_LIBXML +#include "libxml.h" + +#include /* for memset() only ! */ +#include +#include +#ifdef HAVE_CTYPE_H +#include +#endif +#ifdef HAVE_STDLIB_H +#include +#endif +#ifdef LIBXML_ZLIB_ENABLED +#include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifdef LIBXML_HTML_ENABLED +#include +#endif +#ifdef LIBXML_DEBUG_ENABLED +#include +#endif + +#include "buf.h" +#include "save.h" + +int __xmlRegisterCallbacks = 0; + +/************************************************************************ + * * + * Forward declarations * + * * + ************************************************************************/ + +static xmlNsPtr +xmlNewReconciledNs(xmlDocPtr doc, xmlNodePtr tree, xmlNsPtr ns); + +static xmlChar* xmlGetPropNodeValueInternal(const xmlAttr *prop); + +/************************************************************************ + * * + * Tree memory error handler * + * * + ************************************************************************/ +/** + * xmlTreeErrMemory: + * @extra: extra informations + * + * Handle an out of memory condition + */ +static void +xmlTreeErrMemory(const char *extra) +{ + __xmlSimpleError(XML_FROM_TREE, XML_ERR_NO_MEMORY, NULL, NULL, extra); +} + +/** + * xmlTreeErr: + * @code: the error number + * @extra: extra informations + * + * Handle an out of memory condition + */ +static void +xmlTreeErr(int code, xmlNodePtr node, const char *extra) +{ + const char *msg = NULL; + + switch(code) { + case XML_TREE_INVALID_HEX: + msg = "invalid hexadecimal character value\n"; + break; + case XML_TREE_INVALID_DEC: + msg = "invalid decimal character value\n"; + break; + case XML_TREE_UNTERMINATED_ENTITY: + msg = "unterminated entity reference %15s\n"; + break; + case XML_TREE_NOT_UTF8: + msg = "string is not in UTF-8\n"; + break; + default: + msg = "unexpected error number\n"; + } + __xmlSimpleError(XML_FROM_TREE, code, node, msg, extra); +} + +/************************************************************************ + * * + * A few static variables and macros * + * * + ************************************************************************/ +/* #undef xmlStringText */ +const xmlChar xmlStringText[] = { 't', 'e', 'x', 't', 0 }; +/* #undef xmlStringTextNoenc */ +const xmlChar xmlStringTextNoenc[] = + { 't', 'e', 'x', 't', 'n', 'o', 'e', 'n', 'c', 0 }; +/* #undef xmlStringComment */ +const xmlChar xmlStringComment[] = { 'c', 'o', 'm', 'm', 'e', 'n', 't', 0 }; + +static int xmlCompressMode = 0; +static int xmlCheckDTD = 1; + +#define UPDATE_LAST_CHILD_AND_PARENT(n) if ((n) != NULL) { \ + xmlNodePtr ulccur = (n)->children; \ + if (ulccur == NULL) { \ + (n)->last = NULL; \ + } else { \ + while (ulccur->next != NULL) { \ + ulccur->parent = (n); \ + ulccur = ulccur->next; \ + } \ + ulccur->parent = (n); \ + (n)->last = ulccur; \ +}} + +#define IS_STR_XML(str) ((str != NULL) && (str[0] == 'x') && \ + (str[1] == 'm') && (str[2] == 'l') && (str[3] == 0)) + +/* #define DEBUG_BUFFER */ +/* #define DEBUG_TREE */ + +/************************************************************************ + * * + * Functions to move to entities.c once the * + * API freeze is smoothen and they can be made public. * + * * + ************************************************************************/ +#include + +#ifdef LIBXML_TREE_ENABLED +/** + * xmlGetEntityFromDtd: + * @dtd: A pointer to the DTD to search + * @name: The entity name + * + * Do an entity lookup in the DTD entity hash table and + * return the corresponding entity, if found. + * + * Returns A pointer to the entity structure or NULL if not found. + */ +static xmlEntityPtr +xmlGetEntityFromDtd(const xmlDtd *dtd, const xmlChar *name) { + xmlEntitiesTablePtr table; + + if((dtd != NULL) && (dtd->entities != NULL)) { + table = (xmlEntitiesTablePtr) dtd->entities; + return((xmlEntityPtr) xmlHashLookup(table, name)); + /* return(xmlGetEntityFromTable(table, name)); */ + } + return(NULL); +} +/** + * xmlGetParameterEntityFromDtd: + * @dtd: A pointer to the DTD to search + * @name: The entity name + * + * Do an entity lookup in the DTD parameter entity hash table and + * return the corresponding entity, if found. + * + * Returns A pointer to the entity structure or NULL if not found. + */ +static xmlEntityPtr +xmlGetParameterEntityFromDtd(const xmlDtd *dtd, const xmlChar *name) { + xmlEntitiesTablePtr table; + + if ((dtd != NULL) && (dtd->pentities != NULL)) { + table = (xmlEntitiesTablePtr) dtd->pentities; + return((xmlEntityPtr) xmlHashLookup(table, name)); + /* return(xmlGetEntityFromTable(table, name)); */ + } + return(NULL); +} +#endif /* LIBXML_TREE_ENABLED */ + +/************************************************************************ + * * + * QName handling helper * + * * + ************************************************************************/ + +/** + * xmlBuildQName: + * @ncname: the Name + * @prefix: the prefix + * @memory: preallocated memory + * @len: preallocated memory length + * + * Builds the QName @prefix:@ncname in @memory if there is enough space + * and prefix is not NULL nor empty, otherwise allocate a new string. + * If prefix is NULL or empty it returns ncname. + * + * Returns the new string which must be freed by the caller if different from + * @memory and @ncname or NULL in case of error + */ +xmlChar * +xmlBuildQName(const xmlChar *ncname, const xmlChar *prefix, + xmlChar *memory, int len) { + int lenn, lenp; + xmlChar *ret; + + if (ncname == NULL) return(NULL); + if (prefix == NULL) return((xmlChar *) ncname); + + lenn = strlen((char *) ncname); + lenp = strlen((char *) prefix); + + if ((memory == NULL) || (len < lenn + lenp + 2)) { + ret = (xmlChar *) xmlMallocAtomic(lenn + lenp + 2); + if (ret == NULL) { + xmlTreeErrMemory("building QName"); + return(NULL); + } + } else { + ret = memory; + } + memcpy(&ret[0], prefix, lenp); + ret[lenp] = ':'; + memcpy(&ret[lenp + 1], ncname, lenn); + ret[lenn + lenp + 1] = 0; + return(ret); +} + +/** + * xmlSplitQName2: + * @name: the full QName + * @prefix: a xmlChar ** + * + * parse an XML qualified name string + * + * [NS 5] QName ::= (Prefix ':')? LocalPart + * + * [NS 6] Prefix ::= NCName + * + * [NS 7] LocalPart ::= NCName + * + * Returns NULL if the name doesn't have a prefix. Otherwise, returns the + * local part, and prefix is updated to get the Prefix. Both the return value + * and the prefix must be freed by the caller. + */ +xmlChar * +xmlSplitQName2(const xmlChar *name, xmlChar **prefix) { + int len = 0; + xmlChar *ret = NULL; + + if (prefix == NULL) return(NULL); + *prefix = NULL; + if (name == NULL) return(NULL); + +#ifndef XML_XML_NAMESPACE + /* xml: prefix is not really a namespace */ + if ((name[0] == 'x') && (name[1] == 'm') && + (name[2] == 'l') && (name[3] == ':')) + return(NULL); +#endif + + /* nasty but valid */ + if (name[0] == ':') + return(NULL); + + /* + * we are not trying to validate but just to cut, and yes it will + * work even if this is as set of UTF-8 encoded chars + */ + while ((name[len] != 0) && (name[len] != ':')) + len++; + + if (name[len] == 0) + return(NULL); + + *prefix = xmlStrndup(name, len); + if (*prefix == NULL) { + xmlTreeErrMemory("QName split"); + return(NULL); + } + ret = xmlStrdup(&name[len + 1]); + if (ret == NULL) { + xmlTreeErrMemory("QName split"); + if (*prefix != NULL) { + xmlFree(*prefix); + *prefix = NULL; + } + return(NULL); + } + + return(ret); +} + +/** + * xmlSplitQName3: + * @name: the full QName + * @len: an int * + * + * parse an XML qualified name string,i + * + * returns NULL if it is not a Qualified Name, otherwise, update len + * with the length in byte of the prefix and return a pointer + * to the start of the name without the prefix + */ + +const xmlChar * +xmlSplitQName3(const xmlChar *name, int *len) { + int l = 0; + + if (name == NULL) return(NULL); + if (len == NULL) return(NULL); + + /* nasty but valid */ + if (name[0] == ':') + return(NULL); + + /* + * we are not trying to validate but just to cut, and yes it will + * work even if this is as set of UTF-8 encoded chars + */ + while ((name[l] != 0) && (name[l] != ':')) + l++; + + if (name[l] == 0) + return(NULL); + + *len = l; + + return(&name[l+1]); +} + +/************************************************************************ + * * + * Check Name, NCName and QName strings * + * * + ************************************************************************/ + +#define CUR_SCHAR(s, l) xmlStringCurrentChar(NULL, s, &l) + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED) +/** + * xmlValidateNCName: + * @value: the value to check + * @space: allow spaces in front and end of the string + * + * Check that a value conforms to the lexical space of NCName + * + * Returns 0 if this validates, a positive error code number otherwise + * and -1 in case of internal or API error. + */ +int +xmlValidateNCName(const xmlChar *value, int space) { + const xmlChar *cur = value; + int c,l; + + if (value == NULL) + return(-1); + + /* + * First quick algorithm for ASCII range + */ + if (space) + while (IS_BLANK_CH(*cur)) cur++; + if (((*cur >= 'a') && (*cur <= 'z')) || ((*cur >= 'A') && (*cur <= 'Z')) || + (*cur == '_')) + cur++; + else + goto try_complex; + while (((*cur >= 'a') && (*cur <= 'z')) || + ((*cur >= 'A') && (*cur <= 'Z')) || + ((*cur >= '0') && (*cur <= '9')) || + (*cur == '_') || (*cur == '-') || (*cur == '.')) + cur++; + if (space) + while (IS_BLANK_CH(*cur)) cur++; + if (*cur == 0) + return(0); + +try_complex: + /* + * Second check for chars outside the ASCII range + */ + cur = value; + c = CUR_SCHAR(cur, l); + if (space) { + while (IS_BLANK(c)) { + cur += l; + c = CUR_SCHAR(cur, l); + } + } + if ((!IS_LETTER(c)) && (c != '_')) + return(1); + cur += l; + c = CUR_SCHAR(cur, l); + while (IS_LETTER(c) || IS_DIGIT(c) || (c == '.') || + (c == '-') || (c == '_') || IS_COMBINING(c) || + IS_EXTENDER(c)) { + cur += l; + c = CUR_SCHAR(cur, l); + } + if (space) { + while (IS_BLANK(c)) { + cur += l; + c = CUR_SCHAR(cur, l); + } + } + if (c != 0) + return(1); + + return(0); +} +#endif + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +/** + * xmlValidateQName: + * @value: the value to check + * @space: allow spaces in front and end of the string + * + * Check that a value conforms to the lexical space of QName + * + * Returns 0 if this validates, a positive error code number otherwise + * and -1 in case of internal or API error. + */ +int +xmlValidateQName(const xmlChar *value, int space) { + const xmlChar *cur = value; + int c,l; + + if (value == NULL) + return(-1); + /* + * First quick algorithm for ASCII range + */ + if (space) + while (IS_BLANK_CH(*cur)) cur++; + if (((*cur >= 'a') && (*cur <= 'z')) || ((*cur >= 'A') && (*cur <= 'Z')) || + (*cur == '_')) + cur++; + else + goto try_complex; + while (((*cur >= 'a') && (*cur <= 'z')) || + ((*cur >= 'A') && (*cur <= 'Z')) || + ((*cur >= '0') && (*cur <= '9')) || + (*cur == '_') || (*cur == '-') || (*cur == '.')) + cur++; + if (*cur == ':') { + cur++; + if (((*cur >= 'a') && (*cur <= 'z')) || + ((*cur >= 'A') && (*cur <= 'Z')) || + (*cur == '_')) + cur++; + else + goto try_complex; + while (((*cur >= 'a') && (*cur <= 'z')) || + ((*cur >= 'A') && (*cur <= 'Z')) || + ((*cur >= '0') && (*cur <= '9')) || + (*cur == '_') || (*cur == '-') || (*cur == '.')) + cur++; + } + if (space) + while (IS_BLANK_CH(*cur)) cur++; + if (*cur == 0) + return(0); + +try_complex: + /* + * Second check for chars outside the ASCII range + */ + cur = value; + c = CUR_SCHAR(cur, l); + if (space) { + while (IS_BLANK(c)) { + cur += l; + c = CUR_SCHAR(cur, l); + } + } + if ((!IS_LETTER(c)) && (c != '_')) + return(1); + cur += l; + c = CUR_SCHAR(cur, l); + while (IS_LETTER(c) || IS_DIGIT(c) || (c == '.') || + (c == '-') || (c == '_') || IS_COMBINING(c) || + IS_EXTENDER(c)) { + cur += l; + c = CUR_SCHAR(cur, l); + } + if (c == ':') { + cur += l; + c = CUR_SCHAR(cur, l); + if ((!IS_LETTER(c)) && (c != '_')) + return(1); + cur += l; + c = CUR_SCHAR(cur, l); + while (IS_LETTER(c) || IS_DIGIT(c) || (c == '.') || + (c == '-') || (c == '_') || IS_COMBINING(c) || + IS_EXTENDER(c)) { + cur += l; + c = CUR_SCHAR(cur, l); + } + } + if (space) { + while (IS_BLANK(c)) { + cur += l; + c = CUR_SCHAR(cur, l); + } + } + if (c != 0) + return(1); + return(0); +} + +/** + * xmlValidateName: + * @value: the value to check + * @space: allow spaces in front and end of the string + * + * Check that a value conforms to the lexical space of Name + * + * Returns 0 if this validates, a positive error code number otherwise + * and -1 in case of internal or API error. + */ +int +xmlValidateName(const xmlChar *value, int space) { + const xmlChar *cur = value; + int c,l; + + if (value == NULL) + return(-1); + /* + * First quick algorithm for ASCII range + */ + if (space) + while (IS_BLANK_CH(*cur)) cur++; + if (((*cur >= 'a') && (*cur <= 'z')) || ((*cur >= 'A') && (*cur <= 'Z')) || + (*cur == '_') || (*cur == ':')) + cur++; + else + goto try_complex; + while (((*cur >= 'a') && (*cur <= 'z')) || + ((*cur >= 'A') && (*cur <= 'Z')) || + ((*cur >= '0') && (*cur <= '9')) || + (*cur == '_') || (*cur == '-') || (*cur == '.') || (*cur == ':')) + cur++; + if (space) + while (IS_BLANK_CH(*cur)) cur++; + if (*cur == 0) + return(0); + +try_complex: + /* + * Second check for chars outside the ASCII range + */ + cur = value; + c = CUR_SCHAR(cur, l); + if (space) { + while (IS_BLANK(c)) { + cur += l; + c = CUR_SCHAR(cur, l); + } + } + if ((!IS_LETTER(c)) && (c != '_') && (c != ':')) + return(1); + cur += l; + c = CUR_SCHAR(cur, l); + while (IS_LETTER(c) || IS_DIGIT(c) || (c == '.') || (c == ':') || + (c == '-') || (c == '_') || IS_COMBINING(c) || IS_EXTENDER(c)) { + cur += l; + c = CUR_SCHAR(cur, l); + } + if (space) { + while (IS_BLANK(c)) { + cur += l; + c = CUR_SCHAR(cur, l); + } + } + if (c != 0) + return(1); + return(0); +} + +/** + * xmlValidateNMToken: + * @value: the value to check + * @space: allow spaces in front and end of the string + * + * Check that a value conforms to the lexical space of NMToken + * + * Returns 0 if this validates, a positive error code number otherwise + * and -1 in case of internal or API error. + */ +int +xmlValidateNMToken(const xmlChar *value, int space) { + const xmlChar *cur = value; + int c,l; + + if (value == NULL) + return(-1); + /* + * First quick algorithm for ASCII range + */ + if (space) + while (IS_BLANK_CH(*cur)) cur++; + if (((*cur >= 'a') && (*cur <= 'z')) || + ((*cur >= 'A') && (*cur <= 'Z')) || + ((*cur >= '0') && (*cur <= '9')) || + (*cur == '_') || (*cur == '-') || (*cur == '.') || (*cur == ':')) + cur++; + else + goto try_complex; + while (((*cur >= 'a') && (*cur <= 'z')) || + ((*cur >= 'A') && (*cur <= 'Z')) || + ((*cur >= '0') && (*cur <= '9')) || + (*cur == '_') || (*cur == '-') || (*cur == '.') || (*cur == ':')) + cur++; + if (space) + while (IS_BLANK_CH(*cur)) cur++; + if (*cur == 0) + return(0); + +try_complex: + /* + * Second check for chars outside the ASCII range + */ + cur = value; + c = CUR_SCHAR(cur, l); + if (space) { + while (IS_BLANK(c)) { + cur += l; + c = CUR_SCHAR(cur, l); + } + } + if (!(IS_LETTER(c) || IS_DIGIT(c) || (c == '.') || (c == ':') || + (c == '-') || (c == '_') || IS_COMBINING(c) || IS_EXTENDER(c))) + return(1); + cur += l; + c = CUR_SCHAR(cur, l); + while (IS_LETTER(c) || IS_DIGIT(c) || (c == '.') || (c == ':') || + (c == '-') || (c == '_') || IS_COMBINING(c) || IS_EXTENDER(c)) { + cur += l; + c = CUR_SCHAR(cur, l); + } + if (space) { + while (IS_BLANK(c)) { + cur += l; + c = CUR_SCHAR(cur, l); + } + } + if (c != 0) + return(1); + return(0); +} +#endif /* LIBXML_TREE_ENABLED */ + +/************************************************************************ + * * + * Allocation and deallocation of basic structures * + * * + ************************************************************************/ + +/** + * xmlSetBufferAllocationScheme: + * @scheme: allocation method to use + * + * Set the buffer allocation method. Types are + * XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down + * XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed, + * improves performance + */ +void +xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme) { + if ((scheme == XML_BUFFER_ALLOC_EXACT) || + (scheme == XML_BUFFER_ALLOC_DOUBLEIT) || + (scheme == XML_BUFFER_ALLOC_HYBRID)) + xmlBufferAllocScheme = scheme; +} + +/** + * xmlGetBufferAllocationScheme: + * + * Types are + * XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down + * XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed, + * improves performance + * XML_BUFFER_ALLOC_HYBRID - use exact sizes on small strings to keep memory usage tight + * in normal usage, and doubleit on large strings to avoid + * pathological performance. + * + * Returns the current allocation scheme + */ +xmlBufferAllocationScheme +xmlGetBufferAllocationScheme(void) { + return(xmlBufferAllocScheme); +} + +/** + * xmlNewNs: + * @node: the element carrying the namespace + * @href: the URI associated + * @prefix: the prefix for the namespace + * + * Creation of a new Namespace. This function will refuse to create + * a namespace with a similar prefix than an existing one present on this + * node. + * Note that for a default namespace, @prefix should be NULL. + * + * We use href==NULL in the case of an element creation where the namespace + * was not defined. + * + * Returns a new namespace pointer or NULL + */ +xmlNsPtr +xmlNewNs(xmlNodePtr node, const xmlChar *href, const xmlChar *prefix) { + xmlNsPtr cur; + + if ((node != NULL) && (node->type != XML_ELEMENT_NODE)) + return(NULL); + + if ((prefix != NULL) && (xmlStrEqual(prefix, BAD_CAST "xml"))) { + /* xml namespace is predefined, no need to add it */ + if (xmlStrEqual(href, XML_XML_NAMESPACE)) + return(NULL); + + /* + * Problem, this is an attempt to bind xml prefix to a wrong + * namespace, which breaks + * Namespace constraint: Reserved Prefixes and Namespace Names + * from XML namespace. But documents authors may not care in + * their context so let's proceed. + */ + } + + /* + * Allocate a new Namespace and fill the fields. + */ + cur = (xmlNsPtr) xmlMalloc(sizeof(xmlNs)); + if (cur == NULL) { + xmlTreeErrMemory("building namespace"); + return(NULL); + } + memset(cur, 0, sizeof(xmlNs)); + cur->type = XML_LOCAL_NAMESPACE; + + if (href != NULL) + cur->href = xmlStrdup(href); + if (prefix != NULL) + cur->prefix = xmlStrdup(prefix); + + /* + * Add it at the end to preserve parsing order ... + * and checks for existing use of the prefix + */ + if (node != NULL) { + if (node->nsDef == NULL) { + node->nsDef = cur; + } else { + xmlNsPtr prev = node->nsDef; + + if (((prev->prefix == NULL) && (cur->prefix == NULL)) || + (xmlStrEqual(prev->prefix, cur->prefix))) { + xmlFreeNs(cur); + return(NULL); + } + while (prev->next != NULL) { + prev = prev->next; + if (((prev->prefix == NULL) && (cur->prefix == NULL)) || + (xmlStrEqual(prev->prefix, cur->prefix))) { + xmlFreeNs(cur); + return(NULL); + } + } + prev->next = cur; + } + } + return(cur); +} + +/** + * xmlSetNs: + * @node: a node in the document + * @ns: a namespace pointer + * + * Associate a namespace to a node, a posteriori. + */ +void +xmlSetNs(xmlNodePtr node, xmlNsPtr ns) { + if (node == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlSetNs: node == NULL\n"); +#endif + return; + } + if ((node->type == XML_ELEMENT_NODE) || + (node->type == XML_ATTRIBUTE_NODE)) + node->ns = ns; +} + +/** + * xmlFreeNs: + * @cur: the namespace pointer + * + * Free up the structures associated to a namespace + */ +void +xmlFreeNs(xmlNsPtr cur) { + if (cur == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlFreeNs : ns == NULL\n"); +#endif + return; + } + if (cur->href != NULL) xmlFree((char *) cur->href); + if (cur->prefix != NULL) xmlFree((char *) cur->prefix); + xmlFree(cur); +} + +/** + * xmlFreeNsList: + * @cur: the first namespace pointer + * + * Free up all the structures associated to the chained namespaces. + */ +void +xmlFreeNsList(xmlNsPtr cur) { + xmlNsPtr next; + if (cur == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlFreeNsList : ns == NULL\n"); +#endif + return; + } + while (cur != NULL) { + next = cur->next; + xmlFreeNs(cur); + cur = next; + } +} + +/** + * xmlNewDtd: + * @doc: the document pointer + * @name: the DTD name + * @ExternalID: the external ID + * @SystemID: the system ID + * + * Creation of a new DTD for the external subset. To create an + * internal subset, use xmlCreateIntSubset(). + * + * Returns a pointer to the new DTD structure + */ +xmlDtdPtr +xmlNewDtd(xmlDocPtr doc, const xmlChar *name, + const xmlChar *ExternalID, const xmlChar *SystemID) { + xmlDtdPtr cur; + + if ((doc != NULL) && (doc->extSubset != NULL)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlNewDtd(%s): document %s already have a DTD %s\n", + /* !!! */ (char *) name, doc->name, + /* !!! */ (char *)doc->extSubset->name); +#endif + return(NULL); + } + + /* + * Allocate a new DTD and fill the fields. + */ + cur = (xmlDtdPtr) xmlMalloc(sizeof(xmlDtd)); + if (cur == NULL) { + xmlTreeErrMemory("building DTD"); + return(NULL); + } + memset(cur, 0 , sizeof(xmlDtd)); + cur->type = XML_DTD_NODE; + + if (name != NULL) + cur->name = xmlStrdup(name); + if (ExternalID != NULL) + cur->ExternalID = xmlStrdup(ExternalID); + if (SystemID != NULL) + cur->SystemID = xmlStrdup(SystemID); + if (doc != NULL) + doc->extSubset = cur; + cur->doc = doc; + + if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue)) + xmlRegisterNodeDefaultValue((xmlNodePtr)cur); + return(cur); +} + +/** + * xmlGetIntSubset: + * @doc: the document pointer + * + * Get the internal subset of a document + * Returns a pointer to the DTD structure or NULL if not found + */ + +xmlDtdPtr +xmlGetIntSubset(const xmlDoc *doc) { + xmlNodePtr cur; + + if (doc == NULL) + return(NULL); + cur = doc->children; + while (cur != NULL) { + if (cur->type == XML_DTD_NODE) + return((xmlDtdPtr) cur); + cur = cur->next; + } + return((xmlDtdPtr) doc->intSubset); +} + +/** + * xmlCreateIntSubset: + * @doc: the document pointer + * @name: the DTD name + * @ExternalID: the external (PUBLIC) ID + * @SystemID: the system ID + * + * Create the internal subset of a document + * Returns a pointer to the new DTD structure + */ +xmlDtdPtr +xmlCreateIntSubset(xmlDocPtr doc, const xmlChar *name, + const xmlChar *ExternalID, const xmlChar *SystemID) { + xmlDtdPtr cur; + + if ((doc != NULL) && (xmlGetIntSubset(doc) != NULL)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + + "xmlCreateIntSubset(): document %s already have an internal subset\n", + doc->name); +#endif + return(NULL); + } + + /* + * Allocate a new DTD and fill the fields. + */ + cur = (xmlDtdPtr) xmlMalloc(sizeof(xmlDtd)); + if (cur == NULL) { + xmlTreeErrMemory("building internal subset"); + return(NULL); + } + memset(cur, 0, sizeof(xmlDtd)); + cur->type = XML_DTD_NODE; + + if (name != NULL) { + cur->name = xmlStrdup(name); + if (cur->name == NULL) { + xmlTreeErrMemory("building internal subset"); + xmlFree(cur); + return(NULL); + } + } + if (ExternalID != NULL) { + cur->ExternalID = xmlStrdup(ExternalID); + if (cur->ExternalID == NULL) { + xmlTreeErrMemory("building internal subset"); + if (cur->name != NULL) + xmlFree((char *)cur->name); + xmlFree(cur); + return(NULL); + } + } + if (SystemID != NULL) { + cur->SystemID = xmlStrdup(SystemID); + if (cur->SystemID == NULL) { + xmlTreeErrMemory("building internal subset"); + if (cur->name != NULL) + xmlFree((char *)cur->name); + if (cur->ExternalID != NULL) + xmlFree((char *)cur->ExternalID); + xmlFree(cur); + return(NULL); + } + } + if (doc != NULL) { + doc->intSubset = cur; + cur->parent = doc; + cur->doc = doc; + if (doc->children == NULL) { + doc->children = (xmlNodePtr) cur; + doc->last = (xmlNodePtr) cur; + } else { + if (doc->type == XML_HTML_DOCUMENT_NODE) { + xmlNodePtr prev; + + prev = doc->children; + prev->prev = (xmlNodePtr) cur; + cur->next = prev; + doc->children = (xmlNodePtr) cur; + } else { + xmlNodePtr next; + + next = doc->children; + while ((next != NULL) && (next->type != XML_ELEMENT_NODE)) + next = next->next; + if (next == NULL) { + cur->prev = doc->last; + cur->prev->next = (xmlNodePtr) cur; + cur->next = NULL; + doc->last = (xmlNodePtr) cur; + } else { + cur->next = next; + cur->prev = next->prev; + if (cur->prev == NULL) + doc->children = (xmlNodePtr) cur; + else + cur->prev->next = (xmlNodePtr) cur; + next->prev = (xmlNodePtr) cur; + } + } + } + } + + if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue)) + xmlRegisterNodeDefaultValue((xmlNodePtr)cur); + return(cur); +} + +/** + * DICT_FREE: + * @str: a string + * + * Free a string if it is not owned by the "dict" dictionary in the + * current scope + */ +#define DICT_FREE(str) \ + if ((str) && ((!dict) || \ + (xmlDictOwns(dict, (const xmlChar *)(str)) == 0))) \ + xmlFree((char *)(str)); + + +/** + * DICT_COPY: + * @str: a string + * + * Copy a string using a "dict" dictionary in the current scope, + * if availabe. + */ +#define DICT_COPY(str, cpy) \ + if (str) { \ + if (dict) { \ + if (xmlDictOwns(dict, (const xmlChar *)(str))) \ + cpy = (xmlChar *) (str); \ + else \ + cpy = (xmlChar *) xmlDictLookup((dict), (const xmlChar *)(str), -1); \ + } else \ + cpy = xmlStrdup((const xmlChar *)(str)); } + +/** + * DICT_CONST_COPY: + * @str: a string + * + * Copy a string using a "dict" dictionary in the current scope, + * if availabe. + */ +#define DICT_CONST_COPY(str, cpy) \ + if (str) { \ + if (dict) { \ + if (xmlDictOwns(dict, (const xmlChar *)(str))) \ + cpy = (const xmlChar *) (str); \ + else \ + cpy = xmlDictLookup((dict), (const xmlChar *)(str), -1); \ + } else \ + cpy = (const xmlChar *) xmlStrdup((const xmlChar *)(str)); } + + +/** + * xmlFreeDtd: + * @cur: the DTD structure to free up + * + * Free a DTD structure. + */ +void +xmlFreeDtd(xmlDtdPtr cur) { + xmlDictPtr dict = NULL; + + if (cur == NULL) { + return; + } + if (cur->doc != NULL) dict = cur->doc->dict; + + if ((__xmlRegisterCallbacks) && (xmlDeregisterNodeDefaultValue)) + xmlDeregisterNodeDefaultValue((xmlNodePtr)cur); + + if (cur->children != NULL) { + xmlNodePtr next, c = cur->children; + + /* + * Cleanup all nodes which are not part of the specific lists + * of notations, elements, attributes and entities. + */ + while (c != NULL) { + next = c->next; + if ((c->type != XML_NOTATION_NODE) && + (c->type != XML_ELEMENT_DECL) && + (c->type != XML_ATTRIBUTE_DECL) && + (c->type != XML_ENTITY_DECL)) { + xmlUnlinkNode(c); + xmlFreeNode(c); + } + c = next; + } + } + DICT_FREE(cur->name) + DICT_FREE(cur->SystemID) + DICT_FREE(cur->ExternalID) + /* TODO !!! */ + if (cur->notations != NULL) + xmlFreeNotationTable((xmlNotationTablePtr) cur->notations); + + if (cur->elements != NULL) + xmlFreeElementTable((xmlElementTablePtr) cur->elements); + if (cur->attributes != NULL) + xmlFreeAttributeTable((xmlAttributeTablePtr) cur->attributes); + if (cur->entities != NULL) + xmlFreeEntitiesTable((xmlEntitiesTablePtr) cur->entities); + if (cur->pentities != NULL) + xmlFreeEntitiesTable((xmlEntitiesTablePtr) cur->pentities); + + xmlFree(cur); +} + +/** + * xmlNewDoc: + * @version: xmlChar string giving the version of XML "1.0" + * + * Creates a new XML document + * + * Returns a new document + */ +xmlDocPtr +xmlNewDoc(const xmlChar *version) { + xmlDocPtr cur; + + if (version == NULL) + version = (const xmlChar *) "1.0"; + + /* + * Allocate a new document and fill the fields. + */ + cur = (xmlDocPtr) xmlMalloc(sizeof(xmlDoc)); + if (cur == NULL) { + xmlTreeErrMemory("building doc"); + return(NULL); + } + memset(cur, 0, sizeof(xmlDoc)); + cur->type = XML_DOCUMENT_NODE; + + cur->version = xmlStrdup(version); + if (cur->version == NULL) { + xmlTreeErrMemory("building doc"); + xmlFree(cur); + return(NULL); + } + cur->standalone = -1; + cur->compression = -1; /* not initialized */ + cur->doc = cur; + cur->parseFlags = 0; + cur->properties = XML_DOC_USERBUILT; + /* + * The in memory encoding is always UTF8 + * This field will never change and would + * be obsolete if not for binary compatibility. + */ + cur->charset = XML_CHAR_ENCODING_UTF8; + + if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue)) + xmlRegisterNodeDefaultValue((xmlNodePtr)cur); + return(cur); +} + +/** + * xmlFreeDoc: + * @cur: pointer to the document + * + * Free up all the structures used by a document, tree included. + */ +void +xmlFreeDoc(xmlDocPtr cur) { + xmlDtdPtr extSubset, intSubset; + xmlDictPtr dict = NULL; + + if (cur == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlFreeDoc : document == NULL\n"); +#endif + return; + } +#ifdef LIBXML_DEBUG_RUNTIME +#ifdef LIBXML_DEBUG_ENABLED + xmlDebugCheckDocument(stderr, cur); +#endif +#endif + + if (cur != NULL) dict = cur->dict; + + if ((__xmlRegisterCallbacks) && (xmlDeregisterNodeDefaultValue)) + xmlDeregisterNodeDefaultValue((xmlNodePtr)cur); + + /* + * Do this before freeing the children list to avoid ID lookups + */ + if (cur->ids != NULL) xmlFreeIDTable((xmlIDTablePtr) cur->ids); + cur->ids = NULL; + if (cur->refs != NULL) xmlFreeRefTable((xmlRefTablePtr) cur->refs); + cur->refs = NULL; + extSubset = cur->extSubset; + intSubset = cur->intSubset; + if (intSubset == extSubset) + extSubset = NULL; + if (extSubset != NULL) { + xmlUnlinkNode((xmlNodePtr) cur->extSubset); + cur->extSubset = NULL; + xmlFreeDtd(extSubset); + } + if (intSubset != NULL) { + xmlUnlinkNode((xmlNodePtr) cur->intSubset); + cur->intSubset = NULL; + xmlFreeDtd(intSubset); + } + + if (cur->children != NULL) xmlFreeNodeList(cur->children); + if (cur->oldNs != NULL) xmlFreeNsList(cur->oldNs); + + DICT_FREE(cur->version) + DICT_FREE(cur->name) + DICT_FREE(cur->encoding) + DICT_FREE(cur->URL) + xmlFree(cur); + if (dict) xmlDictFree(dict); +} + +/** + * xmlStringLenGetNodeList: + * @doc: the document + * @value: the value of the text + * @len: the length of the string value + * + * Parse the value string and build the node list associated. Should + * produce a flat tree with only TEXTs and ENTITY_REFs. + * Returns a pointer to the first child + */ +xmlNodePtr +xmlStringLenGetNodeList(const xmlDoc *doc, const xmlChar *value, int len) { + xmlNodePtr ret = NULL, last = NULL; + xmlNodePtr node; + xmlChar *val; + const xmlChar *cur = value, *end = cur + len; + const xmlChar *q; + xmlEntityPtr ent; + xmlBufPtr buf; + + if (value == NULL) return(NULL); + + buf = xmlBufCreateSize(0); + if (buf == NULL) return(NULL); + xmlBufSetAllocationScheme(buf, XML_BUFFER_ALLOC_HYBRID); + + q = cur; + while ((cur < end) && (*cur != 0)) { + if (cur[0] == '&') { + int charval = 0; + xmlChar tmp; + + /* + * Save the current text. + */ + if (cur != q) { + if (xmlBufAdd(buf, q, cur - q)) + goto out; + } + q = cur; + if ((cur + 2 < end) && (cur[1] == '#') && (cur[2] == 'x')) { + cur += 3; + if (cur < end) + tmp = *cur; + else + tmp = 0; + while (tmp != ';') { /* Non input consuming loop */ + if ((tmp >= '0') && (tmp <= '9')) + charval = charval * 16 + (tmp - '0'); + else if ((tmp >= 'a') && (tmp <= 'f')) + charval = charval * 16 + (tmp - 'a') + 10; + else if ((tmp >= 'A') && (tmp <= 'F')) + charval = charval * 16 + (tmp - 'A') + 10; + else { + xmlTreeErr(XML_TREE_INVALID_HEX, (xmlNodePtr) doc, + NULL); + charval = 0; + break; + } + cur++; + if (cur < end) + tmp = *cur; + else + tmp = 0; + } + if (tmp == ';') + cur++; + q = cur; + } else if ((cur + 1 < end) && (cur[1] == '#')) { + cur += 2; + if (cur < end) + tmp = *cur; + else + tmp = 0; + while (tmp != ';') { /* Non input consuming loops */ + if ((tmp >= '0') && (tmp <= '9')) + charval = charval * 10 + (tmp - '0'); + else { + xmlTreeErr(XML_TREE_INVALID_DEC, (xmlNodePtr) doc, + NULL); + charval = 0; + break; + } + cur++; + if (cur < end) + tmp = *cur; + else + tmp = 0; + } + if (tmp == ';') + cur++; + q = cur; + } else { + /* + * Read the entity string + */ + cur++; + q = cur; + while ((cur < end) && (*cur != 0) && (*cur != ';')) cur++; + if ((cur >= end) || (*cur == 0)) { + xmlTreeErr(XML_TREE_UNTERMINATED_ENTITY, (xmlNodePtr) doc, + (const char *) q); + goto out; + } + if (cur != q) { + /* + * Predefined entities don't generate nodes + */ + val = xmlStrndup(q, cur - q); + ent = xmlGetDocEntity(doc, val); + if ((ent != NULL) && + (ent->etype == XML_INTERNAL_PREDEFINED_ENTITY)) { + + if (xmlBufCat(buf, ent->content)) + goto out; + + } else { + /* + * Flush buffer so far + */ + if (!xmlBufIsEmpty(buf)) { + node = xmlNewDocText(doc, NULL); + if (node == NULL) { + if (val != NULL) xmlFree(val); + goto out; + } + node->content = xmlBufDetach(buf); + + if (last == NULL) { + last = ret = node; + } else { + last = xmlAddNextSibling(last, node); + } + } + + /* + * Create a new REFERENCE_REF node + */ + node = xmlNewReference(doc, val); + if (node == NULL) { + if (val != NULL) xmlFree(val); + goto out; + } + else if ((ent != NULL) && (ent->children == NULL)) { + xmlNodePtr temp; + + /* Set to non-NULL value to avoid recursion. */ + ent->children = (xmlNodePtr) -1; + ent->children = xmlStringGetNodeList(doc, + (const xmlChar*)node->content); + ent->owner = 1; + temp = ent->children; + while (temp) { + temp->parent = (xmlNodePtr)ent; + ent->last = temp; + temp = temp->next; + } + } + if (last == NULL) { + last = ret = node; + } else { + last = xmlAddNextSibling(last, node); + } + } + xmlFree(val); + } + cur++; + q = cur; + } + if (charval != 0) { + xmlChar buffer[10]; + int l; + + l = xmlCopyCharMultiByte(buffer, charval); + buffer[l] = 0; + + if (xmlBufCat(buf, buffer)) + goto out; + charval = 0; + } + } else + cur++; + } + + if (cur != q) { + /* + * Handle the last piece of text. + */ + if (xmlBufAdd(buf, q, cur - q)) + goto out; + } + + if (!xmlBufIsEmpty(buf)) { + node = xmlNewDocText(doc, NULL); + if (node == NULL) goto out; + node->content = xmlBufDetach(buf); + + if (last == NULL) { + ret = node; + } else { + xmlAddNextSibling(last, node); + } + } else if (ret == NULL) { + ret = xmlNewDocText(doc, BAD_CAST ""); + } + +out: + xmlBufFree(buf); + return(ret); +} + +/** + * xmlStringGetNodeList: + * @doc: the document + * @value: the value of the attribute + * + * Parse the value string and build the node list associated. Should + * produce a flat tree with only TEXTs and ENTITY_REFs. + * Returns a pointer to the first child + */ +xmlNodePtr +xmlStringGetNodeList(const xmlDoc *doc, const xmlChar *value) { + xmlNodePtr ret = NULL, last = NULL; + xmlNodePtr node; + xmlChar *val; + const xmlChar *cur = value; + const xmlChar *q; + xmlEntityPtr ent; + xmlBufPtr buf; + + if (value == NULL) return(NULL); + + buf = xmlBufCreateSize(0); + if (buf == NULL) return(NULL); + xmlBufSetAllocationScheme(buf, XML_BUFFER_ALLOC_HYBRID); + + q = cur; + while (*cur != 0) { + if (cur[0] == '&') { + int charval = 0; + xmlChar tmp; + + /* + * Save the current text. + */ + if (cur != q) { + if (xmlBufAdd(buf, q, cur - q)) + goto out; + } + q = cur; + if ((cur[1] == '#') && (cur[2] == 'x')) { + cur += 3; + tmp = *cur; + while (tmp != ';') { /* Non input consuming loop */ + if ((tmp >= '0') && (tmp <= '9')) + charval = charval * 16 + (tmp - '0'); + else if ((tmp >= 'a') && (tmp <= 'f')) + charval = charval * 16 + (tmp - 'a') + 10; + else if ((tmp >= 'A') && (tmp <= 'F')) + charval = charval * 16 + (tmp - 'A') + 10; + else { + xmlTreeErr(XML_TREE_INVALID_HEX, (xmlNodePtr) doc, + NULL); + charval = 0; + break; + } + cur++; + tmp = *cur; + } + if (tmp == ';') + cur++; + q = cur; + } else if (cur[1] == '#') { + cur += 2; + tmp = *cur; + while (tmp != ';') { /* Non input consuming loops */ + if ((tmp >= '0') && (tmp <= '9')) + charval = charval * 10 + (tmp - '0'); + else { + xmlTreeErr(XML_TREE_INVALID_DEC, (xmlNodePtr) doc, + NULL); + charval = 0; + break; + } + cur++; + tmp = *cur; + } + if (tmp == ';') + cur++; + q = cur; + } else { + /* + * Read the entity string + */ + cur++; + q = cur; + while ((*cur != 0) && (*cur != ';')) cur++; + if (*cur == 0) { + xmlTreeErr(XML_TREE_UNTERMINATED_ENTITY, + (xmlNodePtr) doc, (const char *) q); + goto out; + } + if (cur != q) { + /* + * Predefined entities don't generate nodes + */ + val = xmlStrndup(q, cur - q); + ent = xmlGetDocEntity(doc, val); + if ((ent != NULL) && + (ent->etype == XML_INTERNAL_PREDEFINED_ENTITY)) { + + if (xmlBufCat(buf, ent->content)) + goto out; + + } else { + /* + * Flush buffer so far + */ + if (!xmlBufIsEmpty(buf)) { + node = xmlNewDocText(doc, NULL); + node->content = xmlBufDetach(buf); + + if (last == NULL) { + last = ret = node; + } else { + last = xmlAddNextSibling(last, node); + } + } + + /* + * Create a new REFERENCE_REF node + */ + node = xmlNewReference(doc, val); + if (node == NULL) { + if (val != NULL) xmlFree(val); + goto out; + } + else if ((ent != NULL) && (ent->children == NULL)) { + xmlNodePtr temp; + + /* Set to non-NULL value to avoid recursion. */ + ent->children = (xmlNodePtr) -1; + ent->children = xmlStringGetNodeList(doc, + (const xmlChar*)node->content); + ent->owner = 1; + temp = ent->children; + while (temp) { + temp->parent = (xmlNodePtr)ent; + ent->last = temp; + temp = temp->next; + } + } + if (last == NULL) { + last = ret = node; + } else { + last = xmlAddNextSibling(last, node); + } + } + xmlFree(val); + } + cur++; + q = cur; + } + if (charval != 0) { + xmlChar buffer[10]; + int len; + + len = xmlCopyCharMultiByte(buffer, charval); + buffer[len] = 0; + + if (xmlBufCat(buf, buffer)) + goto out; + charval = 0; + } + } else + cur++; + } + if ((cur != q) || (ret == NULL)) { + /* + * Handle the last piece of text. + */ + xmlBufAdd(buf, q, cur - q); + } + + if (!xmlBufIsEmpty(buf)) { + node = xmlNewDocText(doc, NULL); + node->content = xmlBufDetach(buf); + + if (last == NULL) { + ret = node; + } else { + xmlAddNextSibling(last, node); + } + } + +out: + xmlBufFree(buf); + return(ret); +} + +/** + * xmlNodeListGetString: + * @doc: the document + * @list: a Node list + * @inLine: should we replace entity contents or show their external form + * + * Build the string equivalent to the text contained in the Node list + * made of TEXTs and ENTITY_REFs + * + * Returns a pointer to the string copy, the caller must free it with xmlFree(). + */ +xmlChar * +xmlNodeListGetString(xmlDocPtr doc, const xmlNode *list, int inLine) +{ + const xmlNode *node = list; + xmlChar *ret = NULL; + xmlEntityPtr ent; + int attr; + + if (list == NULL) + return (NULL); + if ((list->parent != NULL) && (list->parent->type == XML_ATTRIBUTE_NODE)) + attr = 1; + else + attr = 0; + + while (node != NULL) { + if ((node->type == XML_TEXT_NODE) || + (node->type == XML_CDATA_SECTION_NODE)) { + if (inLine) { + ret = xmlStrcat(ret, node->content); + } else { + xmlChar *buffer; + + if (attr) + buffer = xmlEncodeAttributeEntities(doc, node->content); + else + buffer = xmlEncodeEntitiesReentrant(doc, node->content); + if (buffer != NULL) { + ret = xmlStrcat(ret, buffer); + xmlFree(buffer); + } + } + } else if (node->type == XML_ENTITY_REF_NODE) { + if (inLine) { + ent = xmlGetDocEntity(doc, node->name); + if (ent != NULL) { + xmlChar *buffer; + + /* an entity content can be any "well balanced chunk", + * i.e. the result of the content [43] production: + * http://www.w3.org/TR/REC-xml#NT-content. + * So it can contain text, CDATA section or nested + * entity reference nodes (among others). + * -> we recursive call xmlNodeListGetString() + * which handles these types */ + buffer = xmlNodeListGetString(doc, ent->children, 1); + if (buffer != NULL) { + ret = xmlStrcat(ret, buffer); + xmlFree(buffer); + } + } else { + ret = xmlStrcat(ret, node->content); + } + } else { + xmlChar buf[2]; + + buf[0] = '&'; + buf[1] = 0; + ret = xmlStrncat(ret, buf, 1); + ret = xmlStrcat(ret, node->name); + buf[0] = ';'; + buf[1] = 0; + ret = xmlStrncat(ret, buf, 1); + } + } +#if 0 + else { + xmlGenericError(xmlGenericErrorContext, + "xmlGetNodeListString : invalid node type %d\n", + node->type); + } +#endif + node = node->next; + } + return (ret); +} + +#ifdef LIBXML_TREE_ENABLED +/** + * xmlNodeListGetRawString: + * @doc: the document + * @list: a Node list + * @inLine: should we replace entity contents or show their external form + * + * Builds the string equivalent to the text contained in the Node list + * made of TEXTs and ENTITY_REFs, contrary to xmlNodeListGetString() + * this function doesn't do any character encoding handling. + * + * Returns a pointer to the string copy, the caller must free it with xmlFree(). + */ +xmlChar * +xmlNodeListGetRawString(const xmlDoc *doc, const xmlNode *list, int inLine) +{ + const xmlNode *node = list; + xmlChar *ret = NULL; + xmlEntityPtr ent; + + if (list == NULL) + return (NULL); + + while (node != NULL) { + if ((node->type == XML_TEXT_NODE) || + (node->type == XML_CDATA_SECTION_NODE)) { + if (inLine) { + ret = xmlStrcat(ret, node->content); + } else { + xmlChar *buffer; + + buffer = xmlEncodeSpecialChars(doc, node->content); + if (buffer != NULL) { + ret = xmlStrcat(ret, buffer); + xmlFree(buffer); + } + } + } else if (node->type == XML_ENTITY_REF_NODE) { + if (inLine) { + ent = xmlGetDocEntity(doc, node->name); + if (ent != NULL) { + xmlChar *buffer; + + /* an entity content can be any "well balanced chunk", + * i.e. the result of the content [43] production: + * http://www.w3.org/TR/REC-xml#NT-content. + * So it can contain text, CDATA section or nested + * entity reference nodes (among others). + * -> we recursive call xmlNodeListGetRawString() + * which handles these types */ + buffer = + xmlNodeListGetRawString(doc, ent->children, 1); + if (buffer != NULL) { + ret = xmlStrcat(ret, buffer); + xmlFree(buffer); + } + } else { + ret = xmlStrcat(ret, node->content); + } + } else { + xmlChar buf[2]; + + buf[0] = '&'; + buf[1] = 0; + ret = xmlStrncat(ret, buf, 1); + ret = xmlStrcat(ret, node->name); + buf[0] = ';'; + buf[1] = 0; + ret = xmlStrncat(ret, buf, 1); + } + } +#if 0 + else { + xmlGenericError(xmlGenericErrorContext, + "xmlGetNodeListString : invalid node type %d\n", + node->type); + } +#endif + node = node->next; + } + return (ret); +} +#endif /* LIBXML_TREE_ENABLED */ + +static xmlAttrPtr +xmlNewPropInternal(xmlNodePtr node, xmlNsPtr ns, + const xmlChar * name, const xmlChar * value, + int eatname) +{ + xmlAttrPtr cur; + xmlDocPtr doc = NULL; + + if ((node != NULL) && (node->type != XML_ELEMENT_NODE)) { + if ((eatname == 1) && + ((node->doc == NULL) || + (!(xmlDictOwns(node->doc->dict, name))))) + xmlFree((xmlChar *) name); + return (NULL); + } + + /* + * Allocate a new property and fill the fields. + */ + cur = (xmlAttrPtr) xmlMalloc(sizeof(xmlAttr)); + if (cur == NULL) { + if ((eatname == 1) && + ((node == NULL) || (node->doc == NULL) || + (!(xmlDictOwns(node->doc->dict, name))))) + xmlFree((xmlChar *) name); + xmlTreeErrMemory("building attribute"); + return (NULL); + } + memset(cur, 0, sizeof(xmlAttr)); + cur->type = XML_ATTRIBUTE_NODE; + + cur->parent = node; + if (node != NULL) { + doc = node->doc; + cur->doc = doc; + } + cur->ns = ns; + + if (eatname == 0) { + if ((doc != NULL) && (doc->dict != NULL)) + cur->name = (xmlChar *) xmlDictLookup(doc->dict, name, -1); + else + cur->name = xmlStrdup(name); + } else + cur->name = name; + + if (value != NULL) { + xmlNodePtr tmp; + + if(!xmlCheckUTF8(value)) { + xmlTreeErr(XML_TREE_NOT_UTF8, (xmlNodePtr) doc, + NULL); + if (doc != NULL) + doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1"); + } + cur->children = xmlNewDocText(doc, value); + cur->last = NULL; + tmp = cur->children; + while (tmp != NULL) { + tmp->parent = (xmlNodePtr) cur; + if (tmp->next == NULL) + cur->last = tmp; + tmp = tmp->next; + } + } + + /* + * Add it at the end to preserve parsing order ... + */ + if (node != NULL) { + if (node->properties == NULL) { + node->properties = cur; + } else { + xmlAttrPtr prev = node->properties; + + while (prev->next != NULL) + prev = prev->next; + prev->next = cur; + cur->prev = prev; + } + } + + if ((value != NULL) && (node != NULL) && + (xmlIsID(node->doc, node, cur) == 1)) + xmlAddID(NULL, node->doc, value, cur); + + if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue)) + xmlRegisterNodeDefaultValue((xmlNodePtr) cur); + return (cur); +} + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \ + defined(LIBXML_SCHEMAS_ENABLED) +/** + * xmlNewProp: + * @node: the holding node + * @name: the name of the attribute + * @value: the value of the attribute + * + * Create a new property carried by a node. + * Returns a pointer to the attribute + */ +xmlAttrPtr +xmlNewProp(xmlNodePtr node, const xmlChar *name, const xmlChar *value) { + + if (name == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlNewProp : name == NULL\n"); +#endif + return(NULL); + } + + return xmlNewPropInternal(node, NULL, name, value, 0); +} +#endif /* LIBXML_TREE_ENABLED */ + +/** + * xmlNewNsProp: + * @node: the holding node + * @ns: the namespace + * @name: the name of the attribute + * @value: the value of the attribute + * + * Create a new property tagged with a namespace and carried by a node. + * Returns a pointer to the attribute + */ +xmlAttrPtr +xmlNewNsProp(xmlNodePtr node, xmlNsPtr ns, const xmlChar *name, + const xmlChar *value) { + + if (name == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlNewNsProp : name == NULL\n"); +#endif + return(NULL); + } + + return xmlNewPropInternal(node, ns, name, value, 0); +} + +/** + * xmlNewNsPropEatName: + * @node: the holding node + * @ns: the namespace + * @name: the name of the attribute + * @value: the value of the attribute + * + * Create a new property tagged with a namespace and carried by a node. + * Returns a pointer to the attribute + */ +xmlAttrPtr +xmlNewNsPropEatName(xmlNodePtr node, xmlNsPtr ns, xmlChar *name, + const xmlChar *value) { + + if (name == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlNewNsPropEatName : name == NULL\n"); +#endif + return(NULL); + } + + return xmlNewPropInternal(node, ns, name, value, 1); +} + +/** + * xmlNewDocProp: + * @doc: the document + * @name: the name of the attribute + * @value: the value of the attribute + * + * Create a new property carried by a document. + * Returns a pointer to the attribute + */ +xmlAttrPtr +xmlNewDocProp(xmlDocPtr doc, const xmlChar *name, const xmlChar *value) { + xmlAttrPtr cur; + + if (name == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlNewDocProp : name == NULL\n"); +#endif + return(NULL); + } + + /* + * Allocate a new property and fill the fields. + */ + cur = (xmlAttrPtr) xmlMalloc(sizeof(xmlAttr)); + if (cur == NULL) { + xmlTreeErrMemory("building attribute"); + return(NULL); + } + memset(cur, 0, sizeof(xmlAttr)); + cur->type = XML_ATTRIBUTE_NODE; + + if ((doc != NULL) && (doc->dict != NULL)) + cur->name = xmlDictLookup(doc->dict, name, -1); + else + cur->name = xmlStrdup(name); + cur->doc = doc; + if (value != NULL) { + xmlNodePtr tmp; + + cur->children = xmlStringGetNodeList(doc, value); + cur->last = NULL; + + tmp = cur->children; + while (tmp != NULL) { + tmp->parent = (xmlNodePtr) cur; + if (tmp->next == NULL) + cur->last = tmp; + tmp = tmp->next; + } + } + + if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue)) + xmlRegisterNodeDefaultValue((xmlNodePtr)cur); + return(cur); +} + +/** + * xmlFreePropList: + * @cur: the first property in the list + * + * Free a property and all its siblings, all the children are freed too. + */ +void +xmlFreePropList(xmlAttrPtr cur) { + xmlAttrPtr next; + if (cur == NULL) return; + while (cur != NULL) { + next = cur->next; + xmlFreeProp(cur); + cur = next; + } +} + +/** + * xmlFreeProp: + * @cur: an attribute + * + * Free one attribute, all the content is freed too + */ +void +xmlFreeProp(xmlAttrPtr cur) { + xmlDictPtr dict = NULL; + if (cur == NULL) return; + + if (cur->doc != NULL) dict = cur->doc->dict; + + if ((__xmlRegisterCallbacks) && (xmlDeregisterNodeDefaultValue)) + xmlDeregisterNodeDefaultValue((xmlNodePtr)cur); + + /* Check for ID removal -> leading to invalid references ! */ + if ((cur->doc != NULL) && (cur->atype == XML_ATTRIBUTE_ID)) { + xmlRemoveID(cur->doc, cur); + } + if (cur->children != NULL) xmlFreeNodeList(cur->children); + DICT_FREE(cur->name) + xmlFree(cur); +} + +/** + * xmlRemoveProp: + * @cur: an attribute + * + * Unlink and free one attribute, all the content is freed too + * Note this doesn't work for namespace definition attributes + * + * Returns 0 if success and -1 in case of error. + */ +int +xmlRemoveProp(xmlAttrPtr cur) { + xmlAttrPtr tmp; + if (cur == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlRemoveProp : cur == NULL\n"); +#endif + return(-1); + } + if (cur->parent == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlRemoveProp : cur->parent == NULL\n"); +#endif + return(-1); + } + tmp = cur->parent->properties; + if (tmp == cur) { + cur->parent->properties = cur->next; + if (cur->next != NULL) + cur->next->prev = NULL; + xmlFreeProp(cur); + return(0); + } + while (tmp != NULL) { + if (tmp->next == cur) { + tmp->next = cur->next; + if (tmp->next != NULL) + tmp->next->prev = tmp; + xmlFreeProp(cur); + return(0); + } + tmp = tmp->next; + } +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlRemoveProp : attribute not owned by its node\n"); +#endif + return(-1); +} + +/** + * xmlNewDocPI: + * @doc: the target document + * @name: the processing instruction name + * @content: the PI content + * + * Creation of a processing instruction element. + * Returns a pointer to the new node object. + */ +xmlNodePtr +xmlNewDocPI(xmlDocPtr doc, const xmlChar *name, const xmlChar *content) { + xmlNodePtr cur; + + if (name == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlNewPI : name == NULL\n"); +#endif + return(NULL); + } + + /* + * Allocate a new node and fill the fields. + */ + cur = (xmlNodePtr) xmlMalloc(sizeof(xmlNode)); + if (cur == NULL) { + xmlTreeErrMemory("building PI"); + return(NULL); + } + memset(cur, 0, sizeof(xmlNode)); + cur->type = XML_PI_NODE; + + if ((doc != NULL) && (doc->dict != NULL)) + cur->name = xmlDictLookup(doc->dict, name, -1); + else + cur->name = xmlStrdup(name); + if (content != NULL) { + cur->content = xmlStrdup(content); + } + cur->doc = doc; + + if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue)) + xmlRegisterNodeDefaultValue((xmlNodePtr)cur); + return(cur); +} + +/** + * xmlNewPI: + * @name: the processing instruction name + * @content: the PI content + * + * Creation of a processing instruction element. + * Use xmlDocNewPI preferably to get string interning + * + * Returns a pointer to the new node object. + */ +xmlNodePtr +xmlNewPI(const xmlChar *name, const xmlChar *content) { + return(xmlNewDocPI(NULL, name, content)); +} + +/** + * xmlNewNode: + * @ns: namespace if any + * @name: the node name + * + * Creation of a new node element. @ns is optional (NULL). + * + * Returns a pointer to the new node object. Uses xmlStrdup() to make + * copy of @name. + */ +xmlNodePtr +xmlNewNode(xmlNsPtr ns, const xmlChar *name) { + xmlNodePtr cur; + + if (name == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlNewNode : name == NULL\n"); +#endif + return(NULL); + } + + /* + * Allocate a new node and fill the fields. + */ + cur = (xmlNodePtr) xmlMalloc(sizeof(xmlNode)); + if (cur == NULL) { + xmlTreeErrMemory("building node"); + return(NULL); + } + memset(cur, 0, sizeof(xmlNode)); + cur->type = XML_ELEMENT_NODE; + + cur->name = xmlStrdup(name); + cur->ns = ns; + + if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue)) + xmlRegisterNodeDefaultValue(cur); + return(cur); +} + +/** + * xmlNewNodeEatName: + * @ns: namespace if any + * @name: the node name + * + * Creation of a new node element. @ns is optional (NULL). + * + * Returns a pointer to the new node object, with pointer @name as + * new node's name. Use xmlNewNode() if a copy of @name string is + * is needed as new node's name. + */ +xmlNodePtr +xmlNewNodeEatName(xmlNsPtr ns, xmlChar *name) { + xmlNodePtr cur; + + if (name == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlNewNode : name == NULL\n"); +#endif + return(NULL); + } + + /* + * Allocate a new node and fill the fields. + */ + cur = (xmlNodePtr) xmlMalloc(sizeof(xmlNode)); + if (cur == NULL) { + xmlTreeErrMemory("building node"); + /* we can't check here that name comes from the doc dictionary */ + return(NULL); + } + memset(cur, 0, sizeof(xmlNode)); + cur->type = XML_ELEMENT_NODE; + + cur->name = name; + cur->ns = ns; + + if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue)) + xmlRegisterNodeDefaultValue((xmlNodePtr)cur); + return(cur); +} + +/** + * xmlNewDocNode: + * @doc: the document + * @ns: namespace if any + * @name: the node name + * @content: the XML text content if any + * + * Creation of a new node element within a document. @ns and @content + * are optional (NULL). + * NOTE: @content is supposed to be a piece of XML CDATA, so it allow entities + * references, but XML special chars need to be escaped first by using + * xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't + * need entities support. + * + * Returns a pointer to the new node object. + */ +xmlNodePtr +xmlNewDocNode(xmlDocPtr doc, xmlNsPtr ns, + const xmlChar *name, const xmlChar *content) { + xmlNodePtr cur; + + if ((doc != NULL) && (doc->dict != NULL)) + cur = xmlNewNodeEatName(ns, (xmlChar *) + xmlDictLookup(doc->dict, name, -1)); + else + cur = xmlNewNode(ns, name); + if (cur != NULL) { + cur->doc = doc; + if (content != NULL) { + cur->children = xmlStringGetNodeList(doc, content); + UPDATE_LAST_CHILD_AND_PARENT(cur) + } + } + + return(cur); +} + +/** + * xmlNewDocNodeEatName: + * @doc: the document + * @ns: namespace if any + * @name: the node name + * @content: the XML text content if any + * + * Creation of a new node element within a document. @ns and @content + * are optional (NULL). + * NOTE: @content is supposed to be a piece of XML CDATA, so it allow entities + * references, but XML special chars need to be escaped first by using + * xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't + * need entities support. + * + * Returns a pointer to the new node object. + */ +xmlNodePtr +xmlNewDocNodeEatName(xmlDocPtr doc, xmlNsPtr ns, + xmlChar *name, const xmlChar *content) { + xmlNodePtr cur; + + cur = xmlNewNodeEatName(ns, name); + if (cur != NULL) { + cur->doc = doc; + if (content != NULL) { + cur->children = xmlStringGetNodeList(doc, content); + UPDATE_LAST_CHILD_AND_PARENT(cur) + } + } else { + /* if name don't come from the doc dictionary free it here */ + if ((name != NULL) && (doc != NULL) && + (!(xmlDictOwns(doc->dict, name)))) + xmlFree(name); + } + return(cur); +} + +#ifdef LIBXML_TREE_ENABLED +/** + * xmlNewDocRawNode: + * @doc: the document + * @ns: namespace if any + * @name: the node name + * @content: the text content if any + * + * Creation of a new node element within a document. @ns and @content + * are optional (NULL). + * + * Returns a pointer to the new node object. + */ +xmlNodePtr +xmlNewDocRawNode(xmlDocPtr doc, xmlNsPtr ns, + const xmlChar *name, const xmlChar *content) { + xmlNodePtr cur; + + cur = xmlNewDocNode(doc, ns, name, NULL); + if (cur != NULL) { + cur->doc = doc; + if (content != NULL) { + cur->children = xmlNewDocText(doc, content); + UPDATE_LAST_CHILD_AND_PARENT(cur) + } + } + return(cur); +} + +/** + * xmlNewDocFragment: + * @doc: the document owning the fragment + * + * Creation of a new Fragment node. + * Returns a pointer to the new node object. + */ +xmlNodePtr +xmlNewDocFragment(xmlDocPtr doc) { + xmlNodePtr cur; + + /* + * Allocate a new DocumentFragment node and fill the fields. + */ + cur = (xmlNodePtr) xmlMalloc(sizeof(xmlNode)); + if (cur == NULL) { + xmlTreeErrMemory("building fragment"); + return(NULL); + } + memset(cur, 0, sizeof(xmlNode)); + cur->type = XML_DOCUMENT_FRAG_NODE; + + cur->doc = doc; + + if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue)) + xmlRegisterNodeDefaultValue(cur); + return(cur); +} +#endif /* LIBXML_TREE_ENABLED */ + +/** + * xmlNewText: + * @content: the text content + * + * Creation of a new text node. + * Returns a pointer to the new node object. + */ +xmlNodePtr +xmlNewText(const xmlChar *content) { + xmlNodePtr cur; + + /* + * Allocate a new node and fill the fields. + */ + cur = (xmlNodePtr) xmlMalloc(sizeof(xmlNode)); + if (cur == NULL) { + xmlTreeErrMemory("building text"); + return(NULL); + } + memset(cur, 0, sizeof(xmlNode)); + cur->type = XML_TEXT_NODE; + + cur->name = xmlStringText; + if (content != NULL) { + cur->content = xmlStrdup(content); + } + + if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue)) + xmlRegisterNodeDefaultValue(cur); + return(cur); +} + +#ifdef LIBXML_TREE_ENABLED +/** + * xmlNewTextChild: + * @parent: the parent node + * @ns: a namespace if any + * @name: the name of the child + * @content: the text content of the child if any. + * + * Creation of a new child element, added at the end of @parent children list. + * @ns and @content parameters are optional (NULL). If @ns is NULL, the newly + * created element inherits the namespace of @parent. If @content is non NULL, + * a child TEXT node will be created containing the string @content. + * NOTE: Use xmlNewChild() if @content will contain entities that need to be + * preserved. Use this function, xmlNewTextChild(), if you need to ensure that + * reserved XML chars that might appear in @content, such as the ampersand, + * greater-than or less-than signs, are automatically replaced by their XML + * escaped entity representations. + * + * Returns a pointer to the new node object. + */ +xmlNodePtr +xmlNewTextChild(xmlNodePtr parent, xmlNsPtr ns, + const xmlChar *name, const xmlChar *content) { + xmlNodePtr cur, prev; + + if (parent == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlNewTextChild : parent == NULL\n"); +#endif + return(NULL); + } + + if (name == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlNewTextChild : name == NULL\n"); +#endif + return(NULL); + } + + /* + * Allocate a new node + */ + if (parent->type == XML_ELEMENT_NODE) { + if (ns == NULL) + cur = xmlNewDocRawNode(parent->doc, parent->ns, name, content); + else + cur = xmlNewDocRawNode(parent->doc, ns, name, content); + } else if ((parent->type == XML_DOCUMENT_NODE) || + (parent->type == XML_HTML_DOCUMENT_NODE)) { + if (ns == NULL) + cur = xmlNewDocRawNode((xmlDocPtr) parent, NULL, name, content); + else + cur = xmlNewDocRawNode((xmlDocPtr) parent, ns, name, content); + } else if (parent->type == XML_DOCUMENT_FRAG_NODE) { + cur = xmlNewDocRawNode( parent->doc, ns, name, content); + } else { + return(NULL); + } + if (cur == NULL) return(NULL); + + /* + * add the new element at the end of the children list. + */ + cur->type = XML_ELEMENT_NODE; + cur->parent = parent; + cur->doc = parent->doc; + if (parent->children == NULL) { + parent->children = cur; + parent->last = cur; + } else { + prev = parent->last; + prev->next = cur; + cur->prev = prev; + parent->last = cur; + } + + return(cur); +} +#endif /* LIBXML_TREE_ENABLED */ + +/** + * xmlNewCharRef: + * @doc: the document + * @name: the char ref string, starting with # or "&# ... ;" + * + * Creation of a new character reference node. + * Returns a pointer to the new node object. + */ +xmlNodePtr +xmlNewCharRef(xmlDocPtr doc, const xmlChar *name) { + xmlNodePtr cur; + + if (name == NULL) + return(NULL); + + /* + * Allocate a new node and fill the fields. + */ + cur = (xmlNodePtr) xmlMalloc(sizeof(xmlNode)); + if (cur == NULL) { + xmlTreeErrMemory("building character reference"); + return(NULL); + } + memset(cur, 0, sizeof(xmlNode)); + cur->type = XML_ENTITY_REF_NODE; + + cur->doc = doc; + if (name[0] == '&') { + int len; + name++; + len = xmlStrlen(name); + if (name[len - 1] == ';') + cur->name = xmlStrndup(name, len - 1); + else + cur->name = xmlStrndup(name, len); + } else + cur->name = xmlStrdup(name); + + if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue)) + xmlRegisterNodeDefaultValue(cur); + return(cur); +} + +/** + * xmlNewReference: + * @doc: the document + * @name: the reference name, or the reference string with & and ; + * + * Creation of a new reference node. + * Returns a pointer to the new node object. + */ +xmlNodePtr +xmlNewReference(const xmlDoc *doc, const xmlChar *name) { + xmlNodePtr cur; + xmlEntityPtr ent; + + if (name == NULL) + return(NULL); + + /* + * Allocate a new node and fill the fields. + */ + cur = (xmlNodePtr) xmlMalloc(sizeof(xmlNode)); + if (cur == NULL) { + xmlTreeErrMemory("building reference"); + return(NULL); + } + memset(cur, 0, sizeof(xmlNode)); + cur->type = XML_ENTITY_REF_NODE; + + cur->doc = (xmlDoc *)doc; + if (name[0] == '&') { + int len; + name++; + len = xmlStrlen(name); + if (name[len - 1] == ';') + cur->name = xmlStrndup(name, len - 1); + else + cur->name = xmlStrndup(name, len); + } else + cur->name = xmlStrdup(name); + + ent = xmlGetDocEntity(doc, cur->name); + if (ent != NULL) { + cur->content = ent->content; + /* + * The parent pointer in entity is a DTD pointer and thus is NOT + * updated. Not sure if this is 100% correct. + * -George + */ + cur->children = (xmlNodePtr) ent; + cur->last = (xmlNodePtr) ent; + } + + if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue)) + xmlRegisterNodeDefaultValue(cur); + return(cur); +} + +/** + * xmlNewDocText: + * @doc: the document + * @content: the text content + * + * Creation of a new text node within a document. + * Returns a pointer to the new node object. + */ +xmlNodePtr +xmlNewDocText(const xmlDoc *doc, const xmlChar *content) { + xmlNodePtr cur; + + cur = xmlNewText(content); + if (cur != NULL) cur->doc = (xmlDoc *)doc; + return(cur); +} + +/** + * xmlNewTextLen: + * @content: the text content + * @len: the text len. + * + * Creation of a new text node with an extra parameter for the content's length + * Returns a pointer to the new node object. + */ +xmlNodePtr +xmlNewTextLen(const xmlChar *content, int len) { + xmlNodePtr cur; + + /* + * Allocate a new node and fill the fields. + */ + cur = (xmlNodePtr) xmlMalloc(sizeof(xmlNode)); + if (cur == NULL) { + xmlTreeErrMemory("building text"); + return(NULL); + } + memset(cur, 0, sizeof(xmlNode)); + cur->type = XML_TEXT_NODE; + + cur->name = xmlStringText; + if (content != NULL) { + cur->content = xmlStrndup(content, len); + } + + if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue)) + xmlRegisterNodeDefaultValue(cur); + return(cur); +} + +/** + * xmlNewDocTextLen: + * @doc: the document + * @content: the text content + * @len: the text len. + * + * Creation of a new text node with an extra content length parameter. The + * text node pertain to a given document. + * Returns a pointer to the new node object. + */ +xmlNodePtr +xmlNewDocTextLen(xmlDocPtr doc, const xmlChar *content, int len) { + xmlNodePtr cur; + + cur = xmlNewTextLen(content, len); + if (cur != NULL) cur->doc = doc; + return(cur); +} + +/** + * xmlNewComment: + * @content: the comment content + * + * Creation of a new node containing a comment. + * Returns a pointer to the new node object. + */ +xmlNodePtr +xmlNewComment(const xmlChar *content) { + xmlNodePtr cur; + + /* + * Allocate a new node and fill the fields. + */ + cur = (xmlNodePtr) xmlMalloc(sizeof(xmlNode)); + if (cur == NULL) { + xmlTreeErrMemory("building comment"); + return(NULL); + } + memset(cur, 0, sizeof(xmlNode)); + cur->type = XML_COMMENT_NODE; + + cur->name = xmlStringComment; + if (content != NULL) { + cur->content = xmlStrdup(content); + } + + if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue)) + xmlRegisterNodeDefaultValue(cur); + return(cur); +} + +/** + * xmlNewCDataBlock: + * @doc: the document + * @content: the CDATA block content content + * @len: the length of the block + * + * Creation of a new node containing a CDATA block. + * Returns a pointer to the new node object. + */ +xmlNodePtr +xmlNewCDataBlock(xmlDocPtr doc, const xmlChar *content, int len) { + xmlNodePtr cur; + + /* + * Allocate a new node and fill the fields. + */ + cur = (xmlNodePtr) xmlMalloc(sizeof(xmlNode)); + if (cur == NULL) { + xmlTreeErrMemory("building CDATA"); + return(NULL); + } + memset(cur, 0, sizeof(xmlNode)); + cur->type = XML_CDATA_SECTION_NODE; + cur->doc = doc; + + if (content != NULL) { + cur->content = xmlStrndup(content, len); + } + + if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue)) + xmlRegisterNodeDefaultValue(cur); + return(cur); +} + +/** + * xmlNewDocComment: + * @doc: the document + * @content: the comment content + * + * Creation of a new node containing a comment within a document. + * Returns a pointer to the new node object. + */ +xmlNodePtr +xmlNewDocComment(xmlDocPtr doc, const xmlChar *content) { + xmlNodePtr cur; + + cur = xmlNewComment(content); + if (cur != NULL) cur->doc = doc; + return(cur); +} + +/** + * xmlSetTreeDoc: + * @tree: the top element + * @doc: the document + * + * update all nodes under the tree to point to the right document + */ +void +xmlSetTreeDoc(xmlNodePtr tree, xmlDocPtr doc) { + xmlAttrPtr prop; + + if ((tree == NULL) || (tree->type == XML_NAMESPACE_DECL)) + return; + if (tree->doc != doc) { + if(tree->type == XML_ELEMENT_NODE) { + prop = tree->properties; + while (prop != NULL) { + if (prop->atype == XML_ATTRIBUTE_ID) { + xmlRemoveID(tree->doc, prop); + } + + prop->doc = doc; + xmlSetListDoc(prop->children, doc); + + /* + * TODO: ID attributes should be also added to the new + * document, but this breaks things like xmlReplaceNode. + * The underlying problem is that xmlRemoveID is only called + * if a node is destroyed, not if it's unlinked. + */ +#if 0 + if (xmlIsID(doc, tree, prop)) { + xmlChar *idVal = xmlNodeListGetString(doc, prop->children, + 1); + xmlAddID(NULL, doc, idVal, prop); + } +#endif + + prop = prop->next; + } + } + if (tree->children != NULL) + xmlSetListDoc(tree->children, doc); + tree->doc = doc; + } +} + +/** + * xmlSetListDoc: + * @list: the first element + * @doc: the document + * + * update all nodes in the list to point to the right document + */ +void +xmlSetListDoc(xmlNodePtr list, xmlDocPtr doc) { + xmlNodePtr cur; + + if ((list == NULL) || (list->type == XML_NAMESPACE_DECL)) + return; + cur = list; + while (cur != NULL) { + if (cur->doc != doc) + xmlSetTreeDoc(cur, doc); + cur = cur->next; + } +} + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +/** + * xmlNewChild: + * @parent: the parent node + * @ns: a namespace if any + * @name: the name of the child + * @content: the XML content of the child if any. + * + * Creation of a new child element, added at the end of @parent children list. + * @ns and @content parameters are optional (NULL). If @ns is NULL, the newly + * created element inherits the namespace of @parent. If @content is non NULL, + * a child list containing the TEXTs and ENTITY_REFs node will be created. + * NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity + * references. XML special chars must be escaped first by using + * xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should be used. + * + * Returns a pointer to the new node object. + */ +xmlNodePtr +xmlNewChild(xmlNodePtr parent, xmlNsPtr ns, + const xmlChar *name, const xmlChar *content) { + xmlNodePtr cur, prev; + + if (parent == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlNewChild : parent == NULL\n"); +#endif + return(NULL); + } + + if (name == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlNewChild : name == NULL\n"); +#endif + return(NULL); + } + + /* + * Allocate a new node + */ + if (parent->type == XML_ELEMENT_NODE) { + if (ns == NULL) + cur = xmlNewDocNode(parent->doc, parent->ns, name, content); + else + cur = xmlNewDocNode(parent->doc, ns, name, content); + } else if ((parent->type == XML_DOCUMENT_NODE) || + (parent->type == XML_HTML_DOCUMENT_NODE)) { + if (ns == NULL) + cur = xmlNewDocNode((xmlDocPtr) parent, NULL, name, content); + else + cur = xmlNewDocNode((xmlDocPtr) parent, ns, name, content); + } else if (parent->type == XML_DOCUMENT_FRAG_NODE) { + cur = xmlNewDocNode( parent->doc, ns, name, content); + } else { + return(NULL); + } + if (cur == NULL) return(NULL); + + /* + * add the new element at the end of the children list. + */ + cur->type = XML_ELEMENT_NODE; + cur->parent = parent; + cur->doc = parent->doc; + if (parent->children == NULL) { + parent->children = cur; + parent->last = cur; + } else { + prev = parent->last; + prev->next = cur; + cur->prev = prev; + parent->last = cur; + } + + return(cur); +} +#endif /* LIBXML_TREE_ENABLED */ + +/** + * xmlAddPropSibling: + * @prev: the attribute to which @prop is added after + * @cur: the base attribute passed to calling function + * @prop: the new attribute + * + * Add a new attribute after @prev using @cur as base attribute. + * When inserting before @cur, @prev is passed as @cur->prev. + * When inserting after @cur, @prev is passed as @cur. + * If an existing attribute is found it is destroyed prior to adding @prop. + * + * Returns the attribute being inserted or NULL in case of error. + */ +static xmlNodePtr +xmlAddPropSibling(xmlNodePtr prev, xmlNodePtr cur, xmlNodePtr prop) { + xmlAttrPtr attr; + + if ((cur == NULL) || (cur->type != XML_ATTRIBUTE_NODE) || + (prop == NULL) || (prop->type != XML_ATTRIBUTE_NODE) || + ((prev != NULL) && (prev->type != XML_ATTRIBUTE_NODE))) + return(NULL); + + /* check if an attribute with the same name exists */ + if (prop->ns == NULL) + attr = xmlHasNsProp(cur->parent, prop->name, NULL); + else + attr = xmlHasNsProp(cur->parent, prop->name, prop->ns->href); + + if (prop->doc != cur->doc) { + xmlSetTreeDoc(prop, cur->doc); + } + prop->parent = cur->parent; + prop->prev = prev; + if (prev != NULL) { + prop->next = prev->next; + prev->next = prop; + if (prop->next) + prop->next->prev = prop; + } else { + prop->next = cur; + cur->prev = prop; + } + if (prop->prev == NULL && prop->parent != NULL) + prop->parent->properties = (xmlAttrPtr) prop; + if ((attr != NULL) && (attr->type != XML_ATTRIBUTE_DECL)) { + /* different instance, destroy it (attributes must be unique) */ + xmlRemoveProp((xmlAttrPtr) attr); + } + return prop; +} + +/** + * xmlAddNextSibling: + * @cur: the child node + * @elem: the new node + * + * Add a new node @elem as the next sibling of @cur + * If the new node was already inserted in a document it is + * first unlinked from its existing context. + * As a result of text merging @elem may be freed. + * If the new node is ATTRIBUTE, it is added into properties instead of children. + * If there is an attribute with equal name, it is first destroyed. + * + * Returns the new node or NULL in case of error. + */ +xmlNodePtr +xmlAddNextSibling(xmlNodePtr cur, xmlNodePtr elem) { + if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlAddNextSibling : cur == NULL\n"); +#endif + return(NULL); + } + if ((elem == NULL) || (elem->type == XML_NAMESPACE_DECL)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlAddNextSibling : elem == NULL\n"); +#endif + return(NULL); + } + + if (cur == elem) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlAddNextSibling : cur == elem\n"); +#endif + return(NULL); + } + + xmlUnlinkNode(elem); + + if (elem->type == XML_TEXT_NODE) { + if (cur->type == XML_TEXT_NODE) { + xmlNodeAddContent(cur, elem->content); + xmlFreeNode(elem); + return(cur); + } + if ((cur->next != NULL) && (cur->next->type == XML_TEXT_NODE) && + (cur->name == cur->next->name)) { + xmlChar *tmp; + + tmp = xmlStrdup(elem->content); + tmp = xmlStrcat(tmp, cur->next->content); + xmlNodeSetContent(cur->next, tmp); + xmlFree(tmp); + xmlFreeNode(elem); + return(cur->next); + } + } else if (elem->type == XML_ATTRIBUTE_NODE) { + return xmlAddPropSibling(cur, cur, elem); + } + + if (elem->doc != cur->doc) { + xmlSetTreeDoc(elem, cur->doc); + } + elem->parent = cur->parent; + elem->prev = cur; + elem->next = cur->next; + cur->next = elem; + if (elem->next != NULL) + elem->next->prev = elem; + if ((elem->parent != NULL) && (elem->parent->last == cur)) + elem->parent->last = elem; + return(elem); +} + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \ + defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) +/** + * xmlAddPrevSibling: + * @cur: the child node + * @elem: the new node + * + * Add a new node @elem as the previous sibling of @cur + * merging adjacent TEXT nodes (@elem may be freed) + * If the new node was already inserted in a document it is + * first unlinked from its existing context. + * If the new node is ATTRIBUTE, it is added into properties instead of children. + * If there is an attribute with equal name, it is first destroyed. + * + * Returns the new node or NULL in case of error. + */ +xmlNodePtr +xmlAddPrevSibling(xmlNodePtr cur, xmlNodePtr elem) { + if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlAddPrevSibling : cur == NULL\n"); +#endif + return(NULL); + } + if ((elem == NULL) || (elem->type == XML_NAMESPACE_DECL)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlAddPrevSibling : elem == NULL\n"); +#endif + return(NULL); + } + + if (cur == elem) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlAddPrevSibling : cur == elem\n"); +#endif + return(NULL); + } + + xmlUnlinkNode(elem); + + if (elem->type == XML_TEXT_NODE) { + if (cur->type == XML_TEXT_NODE) { + xmlChar *tmp; + + tmp = xmlStrdup(elem->content); + tmp = xmlStrcat(tmp, cur->content); + xmlNodeSetContent(cur, tmp); + xmlFree(tmp); + xmlFreeNode(elem); + return(cur); + } + if ((cur->prev != NULL) && (cur->prev->type == XML_TEXT_NODE) && + (cur->name == cur->prev->name)) { + xmlNodeAddContent(cur->prev, elem->content); + xmlFreeNode(elem); + return(cur->prev); + } + } else if (elem->type == XML_ATTRIBUTE_NODE) { + return xmlAddPropSibling(cur->prev, cur, elem); + } + + if (elem->doc != cur->doc) { + xmlSetTreeDoc(elem, cur->doc); + } + elem->parent = cur->parent; + elem->next = cur; + elem->prev = cur->prev; + cur->prev = elem; + if (elem->prev != NULL) + elem->prev->next = elem; + if ((elem->parent != NULL) && (elem->parent->children == cur)) { + elem->parent->children = elem; + } + return(elem); +} +#endif /* LIBXML_TREE_ENABLED */ + +/** + * xmlAddSibling: + * @cur: the child node + * @elem: the new node + * + * Add a new element @elem to the list of siblings of @cur + * merging adjacent TEXT nodes (@elem may be freed) + * If the new element was already inserted in a document it is + * first unlinked from its existing context. + * + * Returns the new element or NULL in case of error. + */ +xmlNodePtr +xmlAddSibling(xmlNodePtr cur, xmlNodePtr elem) { + xmlNodePtr parent; + + if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlAddSibling : cur == NULL\n"); +#endif + return(NULL); + } + + if ((elem == NULL) || (elem->type == XML_NAMESPACE_DECL)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlAddSibling : elem == NULL\n"); +#endif + return(NULL); + } + + if (cur == elem) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlAddSibling : cur == elem\n"); +#endif + return(NULL); + } + + /* + * Constant time is we can rely on the ->parent->last to find + * the last sibling. + */ + if ((cur->type != XML_ATTRIBUTE_NODE) && (cur->parent != NULL) && + (cur->parent->children != NULL) && + (cur->parent->last != NULL) && + (cur->parent->last->next == NULL)) { + cur = cur->parent->last; + } else { + while (cur->next != NULL) cur = cur->next; + } + + xmlUnlinkNode(elem); + + if ((cur->type == XML_TEXT_NODE) && (elem->type == XML_TEXT_NODE) && + (cur->name == elem->name)) { + xmlNodeAddContent(cur, elem->content); + xmlFreeNode(elem); + return(cur); + } else if (elem->type == XML_ATTRIBUTE_NODE) { + return xmlAddPropSibling(cur, cur, elem); + } + + if (elem->doc != cur->doc) { + xmlSetTreeDoc(elem, cur->doc); + } + parent = cur->parent; + elem->prev = cur; + elem->next = NULL; + elem->parent = parent; + cur->next = elem; + if (parent != NULL) + parent->last = elem; + + return(elem); +} + +/** + * xmlAddChildList: + * @parent: the parent node + * @cur: the first node in the list + * + * Add a list of node at the end of the child list of the parent + * merging adjacent TEXT nodes (@cur may be freed) + * + * Returns the last child or NULL in case of error. + */ +xmlNodePtr +xmlAddChildList(xmlNodePtr parent, xmlNodePtr cur) { + xmlNodePtr prev; + + if ((parent == NULL) || (parent->type == XML_NAMESPACE_DECL)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlAddChildList : parent == NULL\n"); +#endif + return(NULL); + } + + if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlAddChildList : child == NULL\n"); +#endif + return(NULL); + } + + if ((cur->doc != NULL) && (parent->doc != NULL) && + (cur->doc != parent->doc)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "Elements moved to a different document\n"); +#endif + } + + /* + * add the first element at the end of the children list. + */ + + if (parent->children == NULL) { + parent->children = cur; + } else { + /* + * If cur and parent->last both are TEXT nodes, then merge them. + */ + if ((cur->type == XML_TEXT_NODE) && + (parent->last->type == XML_TEXT_NODE) && + (cur->name == parent->last->name)) { + xmlNodeAddContent(parent->last, cur->content); + /* + * if it's the only child, nothing more to be done. + */ + if (cur->next == NULL) { + xmlFreeNode(cur); + return(parent->last); + } + prev = cur; + cur = cur->next; + xmlFreeNode(prev); + } + prev = parent->last; + prev->next = cur; + cur->prev = prev; + } + while (cur->next != NULL) { + cur->parent = parent; + if (cur->doc != parent->doc) { + xmlSetTreeDoc(cur, parent->doc); + } + cur = cur->next; + } + cur->parent = parent; + /* the parent may not be linked to a doc ! */ + if (cur->doc != parent->doc) { + xmlSetTreeDoc(cur, parent->doc); + } + parent->last = cur; + + return(cur); +} + +/** + * xmlAddChild: + * @parent: the parent node + * @cur: the child node + * + * Add a new node to @parent, at the end of the child (or property) list + * merging adjacent TEXT nodes (in which case @cur is freed) + * If the new node is ATTRIBUTE, it is added into properties instead of children. + * If there is an attribute with equal name, it is first destroyed. + * + * Returns the child or NULL in case of error. + */ +xmlNodePtr +xmlAddChild(xmlNodePtr parent, xmlNodePtr cur) { + xmlNodePtr prev; + + if ((parent == NULL) || (parent->type == XML_NAMESPACE_DECL)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlAddChild : parent == NULL\n"); +#endif + return(NULL); + } + + if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlAddChild : child == NULL\n"); +#endif + return(NULL); + } + + if (parent == cur) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlAddChild : parent == cur\n"); +#endif + return(NULL); + } + /* + * If cur is a TEXT node, merge its content with adjacent TEXT nodes + * cur is then freed. + */ + if (cur->type == XML_TEXT_NODE) { + if ((parent->type == XML_TEXT_NODE) && + (parent->content != NULL) && + (parent->name == cur->name)) { + xmlNodeAddContent(parent, cur->content); + xmlFreeNode(cur); + return(parent); + } + if ((parent->last != NULL) && (parent->last->type == XML_TEXT_NODE) && + (parent->last->name == cur->name) && + (parent->last != cur)) { + xmlNodeAddContent(parent->last, cur->content); + xmlFreeNode(cur); + return(parent->last); + } + } + + /* + * add the new element at the end of the children list. + */ + prev = cur->parent; + cur->parent = parent; + if (cur->doc != parent->doc) { + xmlSetTreeDoc(cur, parent->doc); + } + /* this check prevents a loop on tree-traversions if a developer + * tries to add a node to its parent multiple times + */ + if (prev == parent) + return(cur); + + /* + * Coalescing + */ + if ((parent->type == XML_TEXT_NODE) && + (parent->content != NULL) && + (parent != cur)) { + xmlNodeAddContent(parent, cur->content); + xmlFreeNode(cur); + return(parent); + } + if (cur->type == XML_ATTRIBUTE_NODE) { + if (parent->type != XML_ELEMENT_NODE) + return(NULL); + if (parent->properties != NULL) { + /* check if an attribute with the same name exists */ + xmlAttrPtr lastattr; + + if (cur->ns == NULL) + lastattr = xmlHasNsProp(parent, cur->name, NULL); + else + lastattr = xmlHasNsProp(parent, cur->name, cur->ns->href); + if ((lastattr != NULL) && (lastattr != (xmlAttrPtr) cur) && (lastattr->type != XML_ATTRIBUTE_DECL)) { + /* different instance, destroy it (attributes must be unique) */ + xmlUnlinkNode((xmlNodePtr) lastattr); + xmlFreeProp(lastattr); + } + if (lastattr == (xmlAttrPtr) cur) + return(cur); + + } + if (parent->properties == NULL) { + parent->properties = (xmlAttrPtr) cur; + } else { + /* find the end */ + xmlAttrPtr lastattr = parent->properties; + while (lastattr->next != NULL) { + lastattr = lastattr->next; + } + lastattr->next = (xmlAttrPtr) cur; + ((xmlAttrPtr) cur)->prev = lastattr; + } + } else { + if (parent->children == NULL) { + parent->children = cur; + parent->last = cur; + } else { + prev = parent->last; + prev->next = cur; + cur->prev = prev; + parent->last = cur; + } + } + return(cur); +} + +/** + * xmlGetLastChild: + * @parent: the parent node + * + * Search the last child of a node. + * Returns the last child or NULL if none. + */ +xmlNodePtr +xmlGetLastChild(const xmlNode *parent) { + if ((parent == NULL) || (parent->type == XML_NAMESPACE_DECL)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlGetLastChild : parent == NULL\n"); +#endif + return(NULL); + } + return(parent->last); +} + +#ifdef LIBXML_TREE_ENABLED +/* + * 5 interfaces from DOM ElementTraversal + */ + +/** + * xmlChildElementCount: + * @parent: the parent node + * + * Finds the current number of child nodes of that element which are + * element nodes. + * Note the handling of entities references is different than in + * the W3C DOM element traversal spec since we don't have back reference + * from entities content to entities references. + * + * Returns the count of element child or 0 if not available + */ +unsigned long +xmlChildElementCount(xmlNodePtr parent) { + unsigned long ret = 0; + xmlNodePtr cur = NULL; + + if (parent == NULL) + return(0); + switch (parent->type) { + case XML_ELEMENT_NODE: + case XML_ENTITY_NODE: + case XML_DOCUMENT_NODE: + case XML_DOCUMENT_FRAG_NODE: + case XML_HTML_DOCUMENT_NODE: + cur = parent->children; + break; + default: + return(0); + } + while (cur != NULL) { + if (cur->type == XML_ELEMENT_NODE) + ret++; + cur = cur->next; + } + return(ret); +} + +/** + * xmlFirstElementChild: + * @parent: the parent node + * + * Finds the first child node of that element which is a Element node + * Note the handling of entities references is different than in + * the W3C DOM element traversal spec since we don't have back reference + * from entities content to entities references. + * + * Returns the first element child or NULL if not available + */ +xmlNodePtr +xmlFirstElementChild(xmlNodePtr parent) { + xmlNodePtr cur = NULL; + + if (parent == NULL) + return(NULL); + switch (parent->type) { + case XML_ELEMENT_NODE: + case XML_ENTITY_NODE: + case XML_DOCUMENT_NODE: + case XML_DOCUMENT_FRAG_NODE: + case XML_HTML_DOCUMENT_NODE: + cur = parent->children; + break; + default: + return(NULL); + } + while (cur != NULL) { + if (cur->type == XML_ELEMENT_NODE) + return(cur); + cur = cur->next; + } + return(NULL); +} + +/** + * xmlLastElementChild: + * @parent: the parent node + * + * Finds the last child node of that element which is a Element node + * Note the handling of entities references is different than in + * the W3C DOM element traversal spec since we don't have back reference + * from entities content to entities references. + * + * Returns the last element child or NULL if not available + */ +xmlNodePtr +xmlLastElementChild(xmlNodePtr parent) { + xmlNodePtr cur = NULL; + + if (parent == NULL) + return(NULL); + switch (parent->type) { + case XML_ELEMENT_NODE: + case XML_ENTITY_NODE: + case XML_DOCUMENT_NODE: + case XML_DOCUMENT_FRAG_NODE: + case XML_HTML_DOCUMENT_NODE: + cur = parent->last; + break; + default: + return(NULL); + } + while (cur != NULL) { + if (cur->type == XML_ELEMENT_NODE) + return(cur); + cur = cur->prev; + } + return(NULL); +} + +/** + * xmlPreviousElementSibling: + * @node: the current node + * + * Finds the first closest previous sibling of the node which is an + * element node. + * Note the handling of entities references is different than in + * the W3C DOM element traversal spec since we don't have back reference + * from entities content to entities references. + * + * Returns the previous element sibling or NULL if not available + */ +xmlNodePtr +xmlPreviousElementSibling(xmlNodePtr node) { + if (node == NULL) + return(NULL); + switch (node->type) { + case XML_ELEMENT_NODE: + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + case XML_ENTITY_REF_NODE: + case XML_ENTITY_NODE: + case XML_PI_NODE: + case XML_COMMENT_NODE: + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: + node = node->prev; + break; + default: + return(NULL); + } + while (node != NULL) { + if (node->type == XML_ELEMENT_NODE) + return(node); + node = node->prev; + } + return(NULL); +} + +/** + * xmlNextElementSibling: + * @node: the current node + * + * Finds the first closest next sibling of the node which is an + * element node. + * Note the handling of entities references is different than in + * the W3C DOM element traversal spec since we don't have back reference + * from entities content to entities references. + * + * Returns the next element sibling or NULL if not available + */ +xmlNodePtr +xmlNextElementSibling(xmlNodePtr node) { + if (node == NULL) + return(NULL); + switch (node->type) { + case XML_ELEMENT_NODE: + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + case XML_ENTITY_REF_NODE: + case XML_ENTITY_NODE: + case XML_PI_NODE: + case XML_COMMENT_NODE: + case XML_DTD_NODE: + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: + node = node->next; + break; + default: + return(NULL); + } + while (node != NULL) { + if (node->type == XML_ELEMENT_NODE) + return(node); + node = node->next; + } + return(NULL); +} + +#endif /* LIBXML_TREE_ENABLED */ + +/** + * xmlFreeNodeList: + * @cur: the first node in the list + * + * Free a node and all its siblings, this is a recursive behaviour, all + * the children are freed too. + */ +void +xmlFreeNodeList(xmlNodePtr cur) { + xmlNodePtr next; + xmlNodePtr parent; + xmlDictPtr dict = NULL; + size_t depth = 0; + + if (cur == NULL) return; + if (cur->type == XML_NAMESPACE_DECL) { + xmlFreeNsList((xmlNsPtr) cur); + return; + } + if ((cur->type == XML_DOCUMENT_NODE) || +#ifdef LIBXML_DOCB_ENABLED + (cur->type == XML_DOCB_DOCUMENT_NODE) || +#endif + (cur->type == XML_HTML_DOCUMENT_NODE)) { + xmlFreeDoc((xmlDocPtr) cur); + return; + } + if (cur->doc != NULL) dict = cur->doc->dict; + while (1) { + while ((cur->children != NULL) && + (cur->type != XML_DTD_NODE) && + (cur->type != XML_ENTITY_REF_NODE)) { + cur = cur->children; + depth += 1; + } + + next = cur->next; + parent = cur->parent; + if (cur->type != XML_DTD_NODE) { + + if ((__xmlRegisterCallbacks) && (xmlDeregisterNodeDefaultValue)) + xmlDeregisterNodeDefaultValue(cur); + + if (((cur->type == XML_ELEMENT_NODE) || + (cur->type == XML_XINCLUDE_START) || + (cur->type == XML_XINCLUDE_END)) && + (cur->properties != NULL)) + xmlFreePropList(cur->properties); + if ((cur->type != XML_ELEMENT_NODE) && + (cur->type != XML_XINCLUDE_START) && + (cur->type != XML_XINCLUDE_END) && + (cur->type != XML_ENTITY_REF_NODE) && + (cur->content != (xmlChar *) &(cur->properties))) { + DICT_FREE(cur->content) + } + if (((cur->type == XML_ELEMENT_NODE) || + (cur->type == XML_XINCLUDE_START) || + (cur->type == XML_XINCLUDE_END)) && + (cur->nsDef != NULL)) + xmlFreeNsList(cur->nsDef); + + /* + * When a node is a text node or a comment, it uses a global static + * variable for the name of the node. + * Otherwise the node name might come from the document's + * dictionary + */ + if ((cur->name != NULL) && + (cur->type != XML_TEXT_NODE) && + (cur->type != XML_COMMENT_NODE)) + DICT_FREE(cur->name) + xmlFree(cur); + } + + if (next != NULL) { + cur = next; + } else { + if ((depth == 0) || (parent == NULL)) + break; + depth -= 1; + cur = parent; + cur->children = NULL; + } + } +} + +/** + * xmlFreeNode: + * @cur: the node + * + * Free a node, this is a recursive behaviour, all the children are freed too. + * This doesn't unlink the child from the list, use xmlUnlinkNode() first. + */ +void +xmlFreeNode(xmlNodePtr cur) { + xmlDictPtr dict = NULL; + + if (cur == NULL) return; + + /* use xmlFreeDtd for DTD nodes */ + if (cur->type == XML_DTD_NODE) { + xmlFreeDtd((xmlDtdPtr) cur); + return; + } + if (cur->type == XML_NAMESPACE_DECL) { + xmlFreeNs((xmlNsPtr) cur); + return; + } + if (cur->type == XML_ATTRIBUTE_NODE) { + xmlFreeProp((xmlAttrPtr) cur); + return; + } + + if ((__xmlRegisterCallbacks) && (xmlDeregisterNodeDefaultValue)) + xmlDeregisterNodeDefaultValue(cur); + + if (cur->doc != NULL) dict = cur->doc->dict; + + if (cur->type == XML_ENTITY_DECL) { + xmlEntityPtr ent = (xmlEntityPtr) cur; + DICT_FREE(ent->SystemID); + DICT_FREE(ent->ExternalID); + } + if ((cur->children != NULL) && + (cur->type != XML_ENTITY_REF_NODE)) + xmlFreeNodeList(cur->children); + if (((cur->type == XML_ELEMENT_NODE) || + (cur->type == XML_XINCLUDE_START) || + (cur->type == XML_XINCLUDE_END)) && + (cur->properties != NULL)) + xmlFreePropList(cur->properties); + if ((cur->type != XML_ELEMENT_NODE) && + (cur->content != NULL) && + (cur->type != XML_ENTITY_REF_NODE) && + (cur->type != XML_XINCLUDE_END) && + (cur->type != XML_XINCLUDE_START) && + (cur->content != (xmlChar *) &(cur->properties))) { + DICT_FREE(cur->content) + } + + /* + * When a node is a text node or a comment, it uses a global static + * variable for the name of the node. + * Otherwise the node name might come from the document's dictionary + */ + if ((cur->name != NULL) && + (cur->type != XML_TEXT_NODE) && + (cur->type != XML_COMMENT_NODE)) + DICT_FREE(cur->name) + + if (((cur->type == XML_ELEMENT_NODE) || + (cur->type == XML_XINCLUDE_START) || + (cur->type == XML_XINCLUDE_END)) && + (cur->nsDef != NULL)) + xmlFreeNsList(cur->nsDef); + xmlFree(cur); +} + +/** + * xmlUnlinkNode: + * @cur: the node + * + * Unlink a node from it's current context, the node is not freed + * If one need to free the node, use xmlFreeNode() routine after the + * unlink to discard it. + * Note that namespace nodes can't be unlinked as they do not have + * pointer to their parent. + */ +void +xmlUnlinkNode(xmlNodePtr cur) { + if (cur == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlUnlinkNode : node == NULL\n"); +#endif + return; + } + if (cur->type == XML_NAMESPACE_DECL) + return; + if (cur->type == XML_DTD_NODE) { + xmlDocPtr doc; + doc = cur->doc; + if (doc != NULL) { + if (doc->intSubset == (xmlDtdPtr) cur) + doc->intSubset = NULL; + if (doc->extSubset == (xmlDtdPtr) cur) + doc->extSubset = NULL; + } + } + if (cur->type == XML_ENTITY_DECL) { + xmlDocPtr doc; + doc = cur->doc; + if (doc != NULL) { + if (doc->intSubset != NULL) { + if (xmlHashLookup(doc->intSubset->entities, cur->name) == cur) + xmlHashRemoveEntry(doc->intSubset->entities, cur->name, + NULL); + if (xmlHashLookup(doc->intSubset->pentities, cur->name) == cur) + xmlHashRemoveEntry(doc->intSubset->pentities, cur->name, + NULL); + } + if (doc->extSubset != NULL) { + if (xmlHashLookup(doc->extSubset->entities, cur->name) == cur) + xmlHashRemoveEntry(doc->extSubset->entities, cur->name, + NULL); + if (xmlHashLookup(doc->extSubset->pentities, cur->name) == cur) + xmlHashRemoveEntry(doc->extSubset->pentities, cur->name, + NULL); + } + } + } + if (cur->parent != NULL) { + xmlNodePtr parent; + parent = cur->parent; + if (cur->type == XML_ATTRIBUTE_NODE) { + if (parent->properties == (xmlAttrPtr) cur) + parent->properties = ((xmlAttrPtr) cur)->next; + } else { + if (parent->children == cur) + parent->children = cur->next; + if (parent->last == cur) + parent->last = cur->prev; + } + cur->parent = NULL; + } + if (cur->next != NULL) + cur->next->prev = cur->prev; + if (cur->prev != NULL) + cur->prev->next = cur->next; + cur->next = cur->prev = NULL; +} + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) +/** + * xmlReplaceNode: + * @old: the old node + * @cur: the node + * + * Unlink the old node from its current context, prune the new one + * at the same place. If @cur was already inserted in a document it is + * first unlinked from its existing context. + * + * Returns the @old node + */ +xmlNodePtr +xmlReplaceNode(xmlNodePtr old, xmlNodePtr cur) { + if (old == cur) return(NULL); + if ((old == NULL) || (old->type == XML_NAMESPACE_DECL) || + (old->parent == NULL)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlReplaceNode : old == NULL or without parent\n"); +#endif + return(NULL); + } + if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL)) { + xmlUnlinkNode(old); + return(old); + } + if (cur == old) { + return(old); + } + if ((old->type==XML_ATTRIBUTE_NODE) && (cur->type!=XML_ATTRIBUTE_NODE)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlReplaceNode : Trying to replace attribute node with other node type\n"); +#endif + return(old); + } + if ((cur->type==XML_ATTRIBUTE_NODE) && (old->type!=XML_ATTRIBUTE_NODE)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlReplaceNode : Trying to replace a non-attribute node with attribute node\n"); +#endif + return(old); + } + xmlUnlinkNode(cur); + xmlSetTreeDoc(cur, old->doc); + cur->parent = old->parent; + cur->next = old->next; + if (cur->next != NULL) + cur->next->prev = cur; + cur->prev = old->prev; + if (cur->prev != NULL) + cur->prev->next = cur; + if (cur->parent != NULL) { + if (cur->type == XML_ATTRIBUTE_NODE) { + if (cur->parent->properties == (xmlAttrPtr)old) + cur->parent->properties = ((xmlAttrPtr) cur); + } else { + if (cur->parent->children == old) + cur->parent->children = cur; + if (cur->parent->last == old) + cur->parent->last = cur; + } + } + old->next = old->prev = NULL; + old->parent = NULL; + return(old); +} +#endif /* LIBXML_TREE_ENABLED */ + +/************************************************************************ + * * + * Copy operations * + * * + ************************************************************************/ + +/** + * xmlCopyNamespace: + * @cur: the namespace + * + * Do a copy of the namespace. + * + * Returns: a new #xmlNsPtr, or NULL in case of error. + */ +xmlNsPtr +xmlCopyNamespace(xmlNsPtr cur) { + xmlNsPtr ret; + + if (cur == NULL) return(NULL); + switch (cur->type) { + case XML_LOCAL_NAMESPACE: + ret = xmlNewNs(NULL, cur->href, cur->prefix); + break; + default: +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlCopyNamespace: invalid type %d\n", cur->type); +#endif + return(NULL); + } + return(ret); +} + +/** + * xmlCopyNamespaceList: + * @cur: the first namespace + * + * Do a copy of an namespace list. + * + * Returns: a new #xmlNsPtr, or NULL in case of error. + */ +xmlNsPtr +xmlCopyNamespaceList(xmlNsPtr cur) { + xmlNsPtr ret = NULL; + xmlNsPtr p = NULL,q; + + while (cur != NULL) { + q = xmlCopyNamespace(cur); + if (p == NULL) { + ret = p = q; + } else { + p->next = q; + p = q; + } + cur = cur->next; + } + return(ret); +} + +static xmlNodePtr +xmlStaticCopyNodeList(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent); + +static xmlAttrPtr +xmlCopyPropInternal(xmlDocPtr doc, xmlNodePtr target, xmlAttrPtr cur) { + xmlAttrPtr ret; + + if (cur == NULL) return(NULL); + if ((target != NULL) && (target->type != XML_ELEMENT_NODE)) + return(NULL); + if (target != NULL) + ret = xmlNewDocProp(target->doc, cur->name, NULL); + else if (doc != NULL) + ret = xmlNewDocProp(doc, cur->name, NULL); + else if (cur->parent != NULL) + ret = xmlNewDocProp(cur->parent->doc, cur->name, NULL); + else if (cur->children != NULL) + ret = xmlNewDocProp(cur->children->doc, cur->name, NULL); + else + ret = xmlNewDocProp(NULL, cur->name, NULL); + if (ret == NULL) return(NULL); + ret->parent = target; + + if ((cur->ns != NULL) && (target != NULL)) { + xmlNsPtr ns; + + ns = xmlSearchNs(target->doc, target, cur->ns->prefix); + if (ns == NULL) { + /* + * Humm, we are copying an element whose namespace is defined + * out of the new tree scope. Search it in the original tree + * and add it at the top of the new tree + */ + ns = xmlSearchNs(cur->doc, cur->parent, cur->ns->prefix); + if (ns != NULL) { + xmlNodePtr root = target; + xmlNodePtr pred = NULL; + + while (root->parent != NULL) { + pred = root; + root = root->parent; + } + if (root == (xmlNodePtr) target->doc) { + /* correct possibly cycling above the document elt */ + root = pred; + } + ret->ns = xmlNewNs(root, ns->href, ns->prefix); + } + } else { + /* + * we have to find something appropriate here since + * we cant be sure, that the namespace we found is identified + * by the prefix + */ + if (xmlStrEqual(ns->href, cur->ns->href)) { + /* this is the nice case */ + ret->ns = ns; + } else { + /* + * we are in trouble: we need a new reconciled namespace. + * This is expensive + */ + ret->ns = xmlNewReconciledNs(target->doc, target, cur->ns); + } + } + + } else + ret->ns = NULL; + + if (cur->children != NULL) { + xmlNodePtr tmp; + + ret->children = xmlStaticCopyNodeList(cur->children, ret->doc, (xmlNodePtr) ret); + ret->last = NULL; + tmp = ret->children; + while (tmp != NULL) { + /* tmp->parent = (xmlNodePtr)ret; */ + if (tmp->next == NULL) + ret->last = tmp; + tmp = tmp->next; + } + } + /* + * Try to handle IDs + */ + if ((target!= NULL) && (cur!= NULL) && + (target->doc != NULL) && (cur->doc != NULL) && + (cur->doc->ids != NULL) && (cur->parent != NULL)) { + if (xmlIsID(cur->doc, cur->parent, cur)) { + xmlChar *id; + + id = xmlNodeListGetString(cur->doc, cur->children, 1); + if (id != NULL) { + xmlAddID(NULL, target->doc, id, ret); + xmlFree(id); + } + } + } + return(ret); +} + +/** + * xmlCopyProp: + * @target: the element where the attribute will be grafted + * @cur: the attribute + * + * Do a copy of the attribute. + * + * Returns: a new #xmlAttrPtr, or NULL in case of error. + */ +xmlAttrPtr +xmlCopyProp(xmlNodePtr target, xmlAttrPtr cur) { + return xmlCopyPropInternal(NULL, target, cur); +} + +/** + * xmlCopyPropList: + * @target: the element where the attributes will be grafted + * @cur: the first attribute + * + * Do a copy of an attribute list. + * + * Returns: a new #xmlAttrPtr, or NULL in case of error. + */ +xmlAttrPtr +xmlCopyPropList(xmlNodePtr target, xmlAttrPtr cur) { + xmlAttrPtr ret = NULL; + xmlAttrPtr p = NULL,q; + + if ((target != NULL) && (target->type != XML_ELEMENT_NODE)) + return(NULL); + while (cur != NULL) { + q = xmlCopyProp(target, cur); + if (q == NULL) + return(NULL); + if (p == NULL) { + ret = p = q; + } else { + p->next = q; + q->prev = p; + p = q; + } + cur = cur->next; + } + return(ret); +} + +/* + * NOTE about the CopyNode operations ! + * + * They are split into external and internal parts for one + * tricky reason: namespaces. Doing a direct copy of a node + * say RPM:Copyright without changing the namespace pointer to + * something else can produce stale links. One way to do it is + * to keep a reference counter but this doesn't work as soon + * as one moves the element or the subtree out of the scope of + * the existing namespace. The actual solution seems to be to add + * a copy of the namespace at the top of the copied tree if + * not available in the subtree. + * Hence two functions, the public front-end call the inner ones + * The argument "recursive" normally indicates a recursive copy + * of the node with values 0 (no) and 1 (yes). For XInclude, + * however, we allow a value of 2 to indicate copy properties and + * namespace info, but don't recurse on children. + */ + +static xmlNodePtr +xmlStaticCopyNode(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent, + int extended) { + xmlNodePtr ret; + + if (node == NULL) return(NULL); + switch (node->type) { + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + case XML_ELEMENT_NODE: + case XML_DOCUMENT_FRAG_NODE: + case XML_ENTITY_REF_NODE: + case XML_ENTITY_NODE: + case XML_PI_NODE: + case XML_COMMENT_NODE: + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: + break; + case XML_ATTRIBUTE_NODE: + return((xmlNodePtr) xmlCopyPropInternal(doc, parent, (xmlAttrPtr) node)); + case XML_NAMESPACE_DECL: + return((xmlNodePtr) xmlCopyNamespaceList((xmlNsPtr) node)); + + case XML_DOCUMENT_NODE: + case XML_HTML_DOCUMENT_NODE: +#ifdef LIBXML_DOCB_ENABLED + case XML_DOCB_DOCUMENT_NODE: +#endif +#ifdef LIBXML_TREE_ENABLED + return((xmlNodePtr) xmlCopyDoc((xmlDocPtr) node, extended)); +#endif /* LIBXML_TREE_ENABLED */ + case XML_DOCUMENT_TYPE_NODE: + case XML_NOTATION_NODE: + case XML_DTD_NODE: + case XML_ELEMENT_DECL: + case XML_ATTRIBUTE_DECL: + case XML_ENTITY_DECL: + return(NULL); + } + + /* + * Allocate a new node and fill the fields. + */ + ret = (xmlNodePtr) xmlMalloc(sizeof(xmlNode)); + if (ret == NULL) { + xmlTreeErrMemory("copying node"); + return(NULL); + } + memset(ret, 0, sizeof(xmlNode)); + ret->type = node->type; + + ret->doc = doc; + ret->parent = parent; + if (node->name == xmlStringText) + ret->name = xmlStringText; + else if (node->name == xmlStringTextNoenc) + ret->name = xmlStringTextNoenc; + else if (node->name == xmlStringComment) + ret->name = xmlStringComment; + else if (node->name != NULL) { + if ((doc != NULL) && (doc->dict != NULL)) + ret->name = xmlDictLookup(doc->dict, node->name, -1); + else + ret->name = xmlStrdup(node->name); + } + if ((node->type != XML_ELEMENT_NODE) && + (node->content != NULL) && + (node->type != XML_ENTITY_REF_NODE) && + (node->type != XML_XINCLUDE_END) && + (node->type != XML_XINCLUDE_START)) { + ret->content = xmlStrdup(node->content); + }else{ + if (node->type == XML_ELEMENT_NODE) + ret->line = node->line; + } + if (parent != NULL) { + xmlNodePtr tmp; + + /* + * this is a tricky part for the node register thing: + * in case ret does get coalesced in xmlAddChild + * the deregister-node callback is called; so we register ret now already + */ + if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue)) + xmlRegisterNodeDefaultValue((xmlNodePtr)ret); + + tmp = xmlAddChild(parent, ret); + /* node could have coalesced */ + if (tmp != ret) + return(tmp); + } + + if (!extended) + goto out; + if (((node->type == XML_ELEMENT_NODE) || + (node->type == XML_XINCLUDE_START)) && (node->nsDef != NULL)) + ret->nsDef = xmlCopyNamespaceList(node->nsDef); + + if (node->ns != NULL) { + xmlNsPtr ns; + + ns = xmlSearchNs(doc, ret, node->ns->prefix); + if (ns == NULL) { + /* + * Humm, we are copying an element whose namespace is defined + * out of the new tree scope. Search it in the original tree + * and add it at the top of the new tree + */ + ns = xmlSearchNs(node->doc, node, node->ns->prefix); + if (ns != NULL) { + xmlNodePtr root = ret; + + while (root->parent != NULL) root = root->parent; + ret->ns = xmlNewNs(root, ns->href, ns->prefix); + } else { + ret->ns = xmlNewReconciledNs(doc, ret, node->ns); + } + } else { + /* + * reference the existing namespace definition in our own tree. + */ + ret->ns = ns; + } + } + if (((node->type == XML_ELEMENT_NODE) || + (node->type == XML_XINCLUDE_START)) && (node->properties != NULL)) + ret->properties = xmlCopyPropList(ret, node->properties); + if (node->type == XML_ENTITY_REF_NODE) { + if ((doc == NULL) || (node->doc != doc)) { + /* + * The copied node will go into a separate document, so + * to avoid dangling references to the ENTITY_DECL node + * we cannot keep the reference. Try to find it in the + * target document. + */ + ret->children = (xmlNodePtr) xmlGetDocEntity(doc, ret->name); + } else { + ret->children = node->children; + } + ret->last = ret->children; + } else if ((node->children != NULL) && (extended != 2)) { + ret->children = xmlStaticCopyNodeList(node->children, doc, ret); + UPDATE_LAST_CHILD_AND_PARENT(ret) + } + +out: + /* if parent != NULL we already registered the node above */ + if ((parent == NULL) && + ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue))) + xmlRegisterNodeDefaultValue((xmlNodePtr)ret); + return(ret); +} + +static xmlNodePtr +xmlStaticCopyNodeList(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent) { + xmlNodePtr ret = NULL; + xmlNodePtr p = NULL,q; + + while (node != NULL) { +#ifdef LIBXML_TREE_ENABLED + if (node->type == XML_DTD_NODE ) { + if (doc == NULL) { + node = node->next; + continue; + } + if (doc->intSubset == NULL) { + q = (xmlNodePtr) xmlCopyDtd( (xmlDtdPtr) node ); + if (q == NULL) return(NULL); + q->doc = doc; + q->parent = parent; + doc->intSubset = (xmlDtdPtr) q; + xmlAddChild(parent, q); + } else { + q = (xmlNodePtr) doc->intSubset; + xmlAddChild(parent, q); + } + } else +#endif /* LIBXML_TREE_ENABLED */ + q = xmlStaticCopyNode(node, doc, parent, 1); + if (q == NULL) return(NULL); + if (ret == NULL) { + q->prev = NULL; + ret = p = q; + } else if (p != q) { + /* the test is required if xmlStaticCopyNode coalesced 2 text nodes */ + p->next = q; + q->prev = p; + p = q; + } + node = node->next; + } + return(ret); +} + +/** + * xmlCopyNode: + * @node: the node + * @extended: if 1 do a recursive copy (properties, namespaces and children + * when applicable) + * if 2 copy properties and namespaces (when applicable) + * + * Do a copy of the node. + * + * Returns: a new #xmlNodePtr, or NULL in case of error. + */ +xmlNodePtr +xmlCopyNode(xmlNodePtr node, int extended) { + xmlNodePtr ret; + + ret = xmlStaticCopyNode(node, NULL, NULL, extended); + return(ret); +} + +/** + * xmlDocCopyNode: + * @node: the node + * @doc: the document + * @extended: if 1 do a recursive copy (properties, namespaces and children + * when applicable) + * if 2 copy properties and namespaces (when applicable) + * + * Do a copy of the node to a given document. + * + * Returns: a new #xmlNodePtr, or NULL in case of error. + */ +xmlNodePtr +xmlDocCopyNode(xmlNodePtr node, xmlDocPtr doc, int extended) { + xmlNodePtr ret; + + ret = xmlStaticCopyNode(node, doc, NULL, extended); + return(ret); +} + +/** + * xmlDocCopyNodeList: + * @doc: the target document + * @node: the first node in the list. + * + * Do a recursive copy of the node list. + * + * Returns: a new #xmlNodePtr, or NULL in case of error. + */ +xmlNodePtr xmlDocCopyNodeList(xmlDocPtr doc, xmlNodePtr node) { + xmlNodePtr ret = xmlStaticCopyNodeList(node, doc, NULL); + return(ret); +} + +/** + * xmlCopyNodeList: + * @node: the first node in the list. + * + * Do a recursive copy of the node list. + * Use xmlDocCopyNodeList() if possible to ensure string interning. + * + * Returns: a new #xmlNodePtr, or NULL in case of error. + */ +xmlNodePtr xmlCopyNodeList(xmlNodePtr node) { + xmlNodePtr ret = xmlStaticCopyNodeList(node, NULL, NULL); + return(ret); +} + +#if defined(LIBXML_TREE_ENABLED) +/** + * xmlCopyDtd: + * @dtd: the dtd + * + * Do a copy of the dtd. + * + * Returns: a new #xmlDtdPtr, or NULL in case of error. + */ +xmlDtdPtr +xmlCopyDtd(xmlDtdPtr dtd) { + xmlDtdPtr ret; + xmlNodePtr cur, p = NULL, q; + + if (dtd == NULL) return(NULL); + ret = xmlNewDtd(NULL, dtd->name, dtd->ExternalID, dtd->SystemID); + if (ret == NULL) return(NULL); + if (dtd->entities != NULL) + ret->entities = (void *) xmlCopyEntitiesTable( + (xmlEntitiesTablePtr) dtd->entities); + if (dtd->notations != NULL) + ret->notations = (void *) xmlCopyNotationTable( + (xmlNotationTablePtr) dtd->notations); + if (dtd->elements != NULL) + ret->elements = (void *) xmlCopyElementTable( + (xmlElementTablePtr) dtd->elements); + if (dtd->attributes != NULL) + ret->attributes = (void *) xmlCopyAttributeTable( + (xmlAttributeTablePtr) dtd->attributes); + if (dtd->pentities != NULL) + ret->pentities = (void *) xmlCopyEntitiesTable( + (xmlEntitiesTablePtr) dtd->pentities); + + cur = dtd->children; + while (cur != NULL) { + q = NULL; + + if (cur->type == XML_ENTITY_DECL) { + xmlEntityPtr tmp = (xmlEntityPtr) cur; + switch (tmp->etype) { + case XML_INTERNAL_GENERAL_ENTITY: + case XML_EXTERNAL_GENERAL_PARSED_ENTITY: + case XML_EXTERNAL_GENERAL_UNPARSED_ENTITY: + q = (xmlNodePtr) xmlGetEntityFromDtd(ret, tmp->name); + break; + case XML_INTERNAL_PARAMETER_ENTITY: + case XML_EXTERNAL_PARAMETER_ENTITY: + q = (xmlNodePtr) + xmlGetParameterEntityFromDtd(ret, tmp->name); + break; + case XML_INTERNAL_PREDEFINED_ENTITY: + break; + } + } else if (cur->type == XML_ELEMENT_DECL) { + xmlElementPtr tmp = (xmlElementPtr) cur; + q = (xmlNodePtr) + xmlGetDtdQElementDesc(ret, tmp->name, tmp->prefix); + } else if (cur->type == XML_ATTRIBUTE_DECL) { + xmlAttributePtr tmp = (xmlAttributePtr) cur; + q = (xmlNodePtr) + xmlGetDtdQAttrDesc(ret, tmp->elem, tmp->name, tmp->prefix); + } else if (cur->type == XML_COMMENT_NODE) { + q = xmlCopyNode(cur, 0); + } + + if (q == NULL) { + cur = cur->next; + continue; + } + + if (p == NULL) + ret->children = q; + else + p->next = q; + + q->prev = p; + q->parent = (xmlNodePtr) ret; + q->next = NULL; + ret->last = q; + p = q; + cur = cur->next; + } + + return(ret); +} +#endif + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +/** + * xmlCopyDoc: + * @doc: the document + * @recursive: if not zero do a recursive copy. + * + * Do a copy of the document info. If recursive, the content tree will + * be copied too as well as DTD, namespaces and entities. + * + * Returns: a new #xmlDocPtr, or NULL in case of error. + */ +xmlDocPtr +xmlCopyDoc(xmlDocPtr doc, int recursive) { + xmlDocPtr ret; + + if (doc == NULL) return(NULL); + ret = xmlNewDoc(doc->version); + if (ret == NULL) return(NULL); + if (doc->name != NULL) + ret->name = xmlMemStrdup(doc->name); + if (doc->encoding != NULL) + ret->encoding = xmlStrdup(doc->encoding); + if (doc->URL != NULL) + ret->URL = xmlStrdup(doc->URL); + ret->charset = doc->charset; + ret->compression = doc->compression; + ret->standalone = doc->standalone; + if (!recursive) return(ret); + + ret->last = NULL; + ret->children = NULL; +#ifdef LIBXML_TREE_ENABLED + if (doc->intSubset != NULL) { + ret->intSubset = xmlCopyDtd(doc->intSubset); + if (ret->intSubset == NULL) { + xmlFreeDoc(ret); + return(NULL); + } + xmlSetTreeDoc((xmlNodePtr)ret->intSubset, ret); + ret->intSubset->parent = ret; + } +#endif + if (doc->oldNs != NULL) + ret->oldNs = xmlCopyNamespaceList(doc->oldNs); + if (doc->children != NULL) { + xmlNodePtr tmp; + + ret->children = xmlStaticCopyNodeList(doc->children, ret, + (xmlNodePtr)ret); + ret->last = NULL; + tmp = ret->children; + while (tmp != NULL) { + if (tmp->next == NULL) + ret->last = tmp; + tmp = tmp->next; + } + } + return(ret); +} +#endif /* LIBXML_TREE_ENABLED */ + +/************************************************************************ + * * + * Content access functions * + * * + ************************************************************************/ + +/** + * xmlGetLineNoInternal: + * @node: valid node + * @depth: used to limit any risk of recursion + * + * Get line number of @node. + * Try to override the limitation of lines being store in 16 bits ints + * + * Returns the line number if successful, -1 otherwise + */ +static long +xmlGetLineNoInternal(const xmlNode *node, int depth) +{ + long result = -1; + + if (depth >= 5) + return(-1); + + if (!node) + return result; + if ((node->type == XML_ELEMENT_NODE) || + (node->type == XML_TEXT_NODE) || + (node->type == XML_COMMENT_NODE) || + (node->type == XML_PI_NODE)) { + if (node->line == 65535) { + if ((node->type == XML_TEXT_NODE) && (node->psvi != NULL)) + result = (long) (ptrdiff_t) node->psvi; + else if ((node->type == XML_ELEMENT_NODE) && + (node->children != NULL)) + result = xmlGetLineNoInternal(node->children, depth + 1); + else if (node->next != NULL) + result = xmlGetLineNoInternal(node->next, depth + 1); + else if (node->prev != NULL) + result = xmlGetLineNoInternal(node->prev, depth + 1); + } + if ((result == -1) || (result == 65535)) + result = (long) node->line; + } else if ((node->prev != NULL) && + ((node->prev->type == XML_ELEMENT_NODE) || + (node->prev->type == XML_TEXT_NODE) || + (node->prev->type == XML_COMMENT_NODE) || + (node->prev->type == XML_PI_NODE))) + result = xmlGetLineNoInternal(node->prev, depth + 1); + else if ((node->parent != NULL) && + (node->parent->type == XML_ELEMENT_NODE)) + result = xmlGetLineNoInternal(node->parent, depth + 1); + + return result; +} + +/** + * xmlGetLineNo: + * @node: valid node + * + * Get line number of @node. + * Try to override the limitation of lines being store in 16 bits ints + * if XML_PARSE_BIG_LINES parser option was used + * + * Returns the line number if successful, -1 otherwise + */ +long +xmlGetLineNo(const xmlNode *node) +{ + return(xmlGetLineNoInternal(node, 0)); +} + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) +/** + * xmlGetNodePath: + * @node: a node + * + * Build a structure based Path for the given node + * + * Returns the new path or NULL in case of error. The caller must free + * the returned string + */ +xmlChar * +xmlGetNodePath(const xmlNode *node) +{ + const xmlNode *cur, *tmp, *next; + xmlChar *buffer = NULL, *temp; + size_t buf_len; + xmlChar *buf; + const char *sep; + const char *name; + char nametemp[100]; + int occur = 0, generic; + + if ((node == NULL) || (node->type == XML_NAMESPACE_DECL)) + return (NULL); + + buf_len = 500; + buffer = (xmlChar *) xmlMallocAtomic(buf_len * sizeof(xmlChar)); + if (buffer == NULL) { + xmlTreeErrMemory("getting node path"); + return (NULL); + } + buf = (xmlChar *) xmlMallocAtomic(buf_len * sizeof(xmlChar)); + if (buf == NULL) { + xmlTreeErrMemory("getting node path"); + xmlFree(buffer); + return (NULL); + } + + buffer[0] = 0; + cur = node; + do { + name = ""; + sep = "?"; + occur = 0; + if ((cur->type == XML_DOCUMENT_NODE) || + (cur->type == XML_HTML_DOCUMENT_NODE)) { + if (buffer[0] == '/') + break; + sep = "/"; + next = NULL; + } else if (cur->type == XML_ELEMENT_NODE) { + generic = 0; + sep = "/"; + name = (const char *) cur->name; + if (cur->ns) { + if (cur->ns->prefix != NULL) { + snprintf(nametemp, sizeof(nametemp) - 1, "%s:%s", + (char *)cur->ns->prefix, (char *)cur->name); + nametemp[sizeof(nametemp) - 1] = 0; + name = nametemp; + } else { + /* + * We cannot express named elements in the default + * namespace, so use "*". + */ + generic = 1; + name = "*"; + } + } + next = cur->parent; + + /* + * Thumbler index computation + * TODO: the occurrence test seems bogus for namespaced names + */ + tmp = cur->prev; + while (tmp != NULL) { + if ((tmp->type == XML_ELEMENT_NODE) && + (generic || + (xmlStrEqual(cur->name, tmp->name) && + ((tmp->ns == cur->ns) || + ((tmp->ns != NULL) && (cur->ns != NULL) && + (xmlStrEqual(cur->ns->prefix, tmp->ns->prefix))))))) + occur++; + tmp = tmp->prev; + } + if (occur == 0) { + tmp = cur->next; + while (tmp != NULL && occur == 0) { + if ((tmp->type == XML_ELEMENT_NODE) && + (generic || + (xmlStrEqual(cur->name, tmp->name) && + ((tmp->ns == cur->ns) || + ((tmp->ns != NULL) && (cur->ns != NULL) && + (xmlStrEqual(cur->ns->prefix, tmp->ns->prefix))))))) + occur++; + tmp = tmp->next; + } + if (occur != 0) + occur = 1; + } else + occur++; + } else if (cur->type == XML_COMMENT_NODE) { + sep = "/"; + name = "comment()"; + next = cur->parent; + + /* + * Thumbler index computation + */ + tmp = cur->prev; + while (tmp != NULL) { + if (tmp->type == XML_COMMENT_NODE) + occur++; + tmp = tmp->prev; + } + if (occur == 0) { + tmp = cur->next; + while (tmp != NULL && occur == 0) { + if (tmp->type == XML_COMMENT_NODE) + occur++; + tmp = tmp->next; + } + if (occur != 0) + occur = 1; + } else + occur++; + } else if ((cur->type == XML_TEXT_NODE) || + (cur->type == XML_CDATA_SECTION_NODE)) { + sep = "/"; + name = "text()"; + next = cur->parent; + + /* + * Thumbler index computation + */ + tmp = cur->prev; + while (tmp != NULL) { + if ((tmp->type == XML_TEXT_NODE) || + (tmp->type == XML_CDATA_SECTION_NODE)) + occur++; + tmp = tmp->prev; + } + /* + * Evaluate if this is the only text- or CDATA-section-node; + * if yes, then we'll get "text()", otherwise "text()[1]". + */ + if (occur == 0) { + tmp = cur->next; + while (tmp != NULL) { + if ((tmp->type == XML_TEXT_NODE) || + (tmp->type == XML_CDATA_SECTION_NODE)) + { + occur = 1; + break; + } + tmp = tmp->next; + } + } else + occur++; + } else if (cur->type == XML_PI_NODE) { + sep = "/"; + snprintf(nametemp, sizeof(nametemp) - 1, + "processing-instruction('%s')", (char *)cur->name); + nametemp[sizeof(nametemp) - 1] = 0; + name = nametemp; + + next = cur->parent; + + /* + * Thumbler index computation + */ + tmp = cur->prev; + while (tmp != NULL) { + if ((tmp->type == XML_PI_NODE) && + (xmlStrEqual(cur->name, tmp->name))) + occur++; + tmp = tmp->prev; + } + if (occur == 0) { + tmp = cur->next; + while (tmp != NULL && occur == 0) { + if ((tmp->type == XML_PI_NODE) && + (xmlStrEqual(cur->name, tmp->name))) + occur++; + tmp = tmp->next; + } + if (occur != 0) + occur = 1; + } else + occur++; + + } else if (cur->type == XML_ATTRIBUTE_NODE) { + sep = "/@"; + name = (const char *) (((xmlAttrPtr) cur)->name); + if (cur->ns) { + if (cur->ns->prefix != NULL) + snprintf(nametemp, sizeof(nametemp) - 1, "%s:%s", + (char *)cur->ns->prefix, (char *)cur->name); + else + snprintf(nametemp, sizeof(nametemp) - 1, "%s", + (char *)cur->name); + nametemp[sizeof(nametemp) - 1] = 0; + name = nametemp; + } + next = ((xmlAttrPtr) cur)->parent; + } else { + next = cur->parent; + } + + /* + * Make sure there is enough room + */ + if (xmlStrlen(buffer) + sizeof(nametemp) + 20 > buf_len) { + buf_len = + 2 * buf_len + xmlStrlen(buffer) + sizeof(nametemp) + 20; + temp = (xmlChar *) xmlRealloc(buffer, buf_len); + if (temp == NULL) { + xmlTreeErrMemory("getting node path"); + xmlFree(buf); + xmlFree(buffer); + return (NULL); + } + buffer = temp; + temp = (xmlChar *) xmlRealloc(buf, buf_len); + if (temp == NULL) { + xmlTreeErrMemory("getting node path"); + xmlFree(buf); + xmlFree(buffer); + return (NULL); + } + buf = temp; + } + if (occur == 0) + snprintf((char *) buf, buf_len, "%s%s%s", + sep, name, (char *) buffer); + else + snprintf((char *) buf, buf_len, "%s%s[%d]%s", + sep, name, occur, (char *) buffer); + snprintf((char *) buffer, buf_len, "%s", (char *)buf); + cur = next; + } while (cur != NULL); + xmlFree(buf); + return (buffer); +} +#endif /* LIBXML_TREE_ENABLED */ + +/** + * xmlDocGetRootElement: + * @doc: the document + * + * Get the root element of the document (doc->children is a list + * containing possibly comments, PIs, etc ...). + * + * Returns the #xmlNodePtr for the root or NULL + */ +xmlNodePtr +xmlDocGetRootElement(const xmlDoc *doc) { + xmlNodePtr ret; + + if (doc == NULL) return(NULL); + ret = doc->children; + while (ret != NULL) { + if (ret->type == XML_ELEMENT_NODE) + return(ret); + ret = ret->next; + } + return(ret); +} + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) +/** + * xmlDocSetRootElement: + * @doc: the document + * @root: the new document root element, if root is NULL no action is taken, + * to remove a node from a document use xmlUnlinkNode(root) instead. + * + * Set the root element of the document (doc->children is a list + * containing possibly comments, PIs, etc ...). + * + * Returns the old root element if any was found, NULL if root was NULL + */ +xmlNodePtr +xmlDocSetRootElement(xmlDocPtr doc, xmlNodePtr root) { + xmlNodePtr old = NULL; + + if (doc == NULL) return(NULL); + if ((root == NULL) || (root->type == XML_NAMESPACE_DECL)) + return(NULL); + xmlUnlinkNode(root); + xmlSetTreeDoc(root, doc); + root->parent = (xmlNodePtr) doc; + old = doc->children; + while (old != NULL) { + if (old->type == XML_ELEMENT_NODE) + break; + old = old->next; + } + if (old == NULL) { + if (doc->children == NULL) { + doc->children = root; + doc->last = root; + } else { + xmlAddSibling(doc->children, root); + } + } else { + xmlReplaceNode(old, root); + } + return(old); +} +#endif + +#if defined(LIBXML_TREE_ENABLED) +/** + * xmlNodeSetLang: + * @cur: the node being changed + * @lang: the language description + * + * Set the language of a node, i.e. the values of the xml:lang + * attribute. + */ +void +xmlNodeSetLang(xmlNodePtr cur, const xmlChar *lang) { + xmlNsPtr ns; + + if (cur == NULL) return; + switch(cur->type) { + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + case XML_COMMENT_NODE: + case XML_DOCUMENT_NODE: + case XML_DOCUMENT_TYPE_NODE: + case XML_DOCUMENT_FRAG_NODE: + case XML_NOTATION_NODE: + case XML_HTML_DOCUMENT_NODE: + case XML_DTD_NODE: + case XML_ELEMENT_DECL: + case XML_ATTRIBUTE_DECL: + case XML_ENTITY_DECL: + case XML_PI_NODE: + case XML_ENTITY_REF_NODE: + case XML_ENTITY_NODE: + case XML_NAMESPACE_DECL: +#ifdef LIBXML_DOCB_ENABLED + case XML_DOCB_DOCUMENT_NODE: +#endif + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: + return; + case XML_ELEMENT_NODE: + case XML_ATTRIBUTE_NODE: + break; + } + ns = xmlSearchNsByHref(cur->doc, cur, XML_XML_NAMESPACE); + if (ns == NULL) + return; + xmlSetNsProp(cur, ns, BAD_CAST "lang", lang); +} +#endif /* LIBXML_TREE_ENABLED */ + +/** + * xmlNodeGetLang: + * @cur: the node being checked + * + * Searches the language of a node, i.e. the values of the xml:lang + * attribute or the one carried by the nearest ancestor. + * + * Returns a pointer to the lang value, or NULL if not found + * It's up to the caller to free the memory with xmlFree(). + */ +xmlChar * +xmlNodeGetLang(const xmlNode *cur) { + xmlChar *lang; + + if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL)) + return(NULL); + while (cur != NULL) { + lang = xmlGetNsProp(cur, BAD_CAST "lang", XML_XML_NAMESPACE); + if (lang != NULL) + return(lang); + cur = cur->parent; + } + return(NULL); +} + + +#ifdef LIBXML_TREE_ENABLED +/** + * xmlNodeSetSpacePreserve: + * @cur: the node being changed + * @val: the xml:space value ("0": default, 1: "preserve") + * + * Set (or reset) the space preserving behaviour of a node, i.e. the + * value of the xml:space attribute. + */ +void +xmlNodeSetSpacePreserve(xmlNodePtr cur, int val) { + xmlNsPtr ns; + + if (cur == NULL) return; + switch(cur->type) { + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + case XML_COMMENT_NODE: + case XML_DOCUMENT_NODE: + case XML_DOCUMENT_TYPE_NODE: + case XML_DOCUMENT_FRAG_NODE: + case XML_NOTATION_NODE: + case XML_HTML_DOCUMENT_NODE: + case XML_DTD_NODE: + case XML_ELEMENT_DECL: + case XML_ATTRIBUTE_DECL: + case XML_ENTITY_DECL: + case XML_PI_NODE: + case XML_ENTITY_REF_NODE: + case XML_ENTITY_NODE: + case XML_NAMESPACE_DECL: + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: +#ifdef LIBXML_DOCB_ENABLED + case XML_DOCB_DOCUMENT_NODE: +#endif + return; + case XML_ELEMENT_NODE: + case XML_ATTRIBUTE_NODE: + break; + } + ns = xmlSearchNsByHref(cur->doc, cur, XML_XML_NAMESPACE); + if (ns == NULL) + return; + switch (val) { + case 0: + xmlSetNsProp(cur, ns, BAD_CAST "space", BAD_CAST "default"); + break; + case 1: + xmlSetNsProp(cur, ns, BAD_CAST "space", BAD_CAST "preserve"); + break; + } +} +#endif /* LIBXML_TREE_ENABLED */ + +/** + * xmlNodeGetSpacePreserve: + * @cur: the node being checked + * + * Searches the space preserving behaviour of a node, i.e. the values + * of the xml:space attribute or the one carried by the nearest + * ancestor. + * + * Returns -1 if xml:space is not inherited, 0 if "default", 1 if "preserve" + */ +int +xmlNodeGetSpacePreserve(const xmlNode *cur) { + xmlChar *space; + + if ((cur == NULL) || (cur->type != XML_ELEMENT_NODE)) + return(-1); + while (cur != NULL) { + space = xmlGetNsProp(cur, BAD_CAST "space", XML_XML_NAMESPACE); + if (space != NULL) { + if (xmlStrEqual(space, BAD_CAST "preserve")) { + xmlFree(space); + return(1); + } + if (xmlStrEqual(space, BAD_CAST "default")) { + xmlFree(space); + return(0); + } + xmlFree(space); + } + cur = cur->parent; + } + return(-1); +} + +#ifdef LIBXML_TREE_ENABLED +/** + * xmlNodeSetName: + * @cur: the node being changed + * @name: the new tag name + * + * Set (or reset) the name of a node. + */ +void +xmlNodeSetName(xmlNodePtr cur, const xmlChar *name) { + xmlDocPtr doc; + xmlDictPtr dict; + const xmlChar *freeme = NULL; + + if (cur == NULL) return; + if (name == NULL) return; + switch(cur->type) { + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + case XML_COMMENT_NODE: + case XML_DOCUMENT_TYPE_NODE: + case XML_DOCUMENT_FRAG_NODE: + case XML_NOTATION_NODE: + case XML_HTML_DOCUMENT_NODE: + case XML_NAMESPACE_DECL: + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: +#ifdef LIBXML_DOCB_ENABLED + case XML_DOCB_DOCUMENT_NODE: +#endif + return; + case XML_ELEMENT_NODE: + case XML_ATTRIBUTE_NODE: + case XML_PI_NODE: + case XML_ENTITY_REF_NODE: + case XML_ENTITY_NODE: + case XML_DTD_NODE: + case XML_DOCUMENT_NODE: + case XML_ELEMENT_DECL: + case XML_ATTRIBUTE_DECL: + case XML_ENTITY_DECL: + break; + } + doc = cur->doc; + if (doc != NULL) + dict = doc->dict; + else + dict = NULL; + if (dict != NULL) { + if ((cur->name != NULL) && (!xmlDictOwns(dict, cur->name))) + freeme = cur->name; + cur->name = xmlDictLookup(dict, name, -1); + } else { + if (cur->name != NULL) + freeme = cur->name; + cur->name = xmlStrdup(name); + } + + if (freeme) + xmlFree((xmlChar *) freeme); +} +#endif + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) +/** + * xmlNodeSetBase: + * @cur: the node being changed + * @uri: the new base URI + * + * Set (or reset) the base URI of a node, i.e. the value of the + * xml:base attribute. + */ +void +xmlNodeSetBase(xmlNodePtr cur, const xmlChar* uri) { + xmlNsPtr ns; + xmlChar* fixed; + + if (cur == NULL) return; + switch(cur->type) { + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + case XML_COMMENT_NODE: + case XML_DOCUMENT_TYPE_NODE: + case XML_DOCUMENT_FRAG_NODE: + case XML_NOTATION_NODE: + case XML_DTD_NODE: + case XML_ELEMENT_DECL: + case XML_ATTRIBUTE_DECL: + case XML_ENTITY_DECL: + case XML_PI_NODE: + case XML_ENTITY_REF_NODE: + case XML_ENTITY_NODE: + case XML_NAMESPACE_DECL: + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: + return; + case XML_ELEMENT_NODE: + case XML_ATTRIBUTE_NODE: + break; + case XML_DOCUMENT_NODE: +#ifdef LIBXML_DOCB_ENABLED + case XML_DOCB_DOCUMENT_NODE: +#endif + case XML_HTML_DOCUMENT_NODE: { + xmlDocPtr doc = (xmlDocPtr) cur; + + if (doc->URL != NULL) + xmlFree((xmlChar *) doc->URL); + if (uri == NULL) + doc->URL = NULL; + else + doc->URL = xmlPathToURI(uri); + return; + } + } + + ns = xmlSearchNsByHref(cur->doc, cur, XML_XML_NAMESPACE); + if (ns == NULL) + return; + fixed = xmlPathToURI(uri); + if (fixed != NULL) { + xmlSetNsProp(cur, ns, BAD_CAST "base", fixed); + xmlFree(fixed); + } else { + xmlSetNsProp(cur, ns, BAD_CAST "base", uri); + } +} +#endif /* LIBXML_TREE_ENABLED */ + +/** + * xmlNodeGetBase: + * @doc: the document the node pertains to + * @cur: the node being checked + * + * Searches for the BASE URL. The code should work on both XML + * and HTML document even if base mechanisms are completely different. + * It returns the base as defined in RFC 2396 sections + * 5.1.1. Base URI within Document Content + * and + * 5.1.2. Base URI from the Encapsulating Entity + * However it does not return the document base (5.1.3), use + * doc->URL in this case + * + * Returns a pointer to the base URL, or NULL if not found + * It's up to the caller to free the memory with xmlFree(). + */ +xmlChar * +xmlNodeGetBase(const xmlDoc *doc, const xmlNode *cur) { + xmlChar *oldbase = NULL; + xmlChar *base, *newbase; + + if ((cur == NULL) && (doc == NULL)) + return(NULL); + if ((cur != NULL) && (cur->type == XML_NAMESPACE_DECL)) + return(NULL); + if (doc == NULL) doc = cur->doc; + if ((doc != NULL) && (doc->type == XML_HTML_DOCUMENT_NODE)) { + cur = doc->children; + while ((cur != NULL) && (cur->name != NULL)) { + if (cur->type != XML_ELEMENT_NODE) { + cur = cur->next; + continue; + } + if (!xmlStrcasecmp(cur->name, BAD_CAST "html")) { + cur = cur->children; + continue; + } + if (!xmlStrcasecmp(cur->name, BAD_CAST "head")) { + cur = cur->children; + continue; + } + if (!xmlStrcasecmp(cur->name, BAD_CAST "base")) { + return(xmlGetProp(cur, BAD_CAST "href")); + } + cur = cur->next; + } + return(NULL); + } + while (cur != NULL) { + if (cur->type == XML_ENTITY_DECL) { + xmlEntityPtr ent = (xmlEntityPtr) cur; + return(xmlStrdup(ent->URI)); + } + if (cur->type == XML_ELEMENT_NODE) { + base = xmlGetNsProp(cur, BAD_CAST "base", XML_XML_NAMESPACE); + if (base != NULL) { + if (oldbase != NULL) { + newbase = xmlBuildURI(oldbase, base); + if (newbase != NULL) { + xmlFree(oldbase); + xmlFree(base); + oldbase = newbase; + } else { + xmlFree(oldbase); + xmlFree(base); + return(NULL); + } + } else { + oldbase = base; + } + if ((!xmlStrncmp(oldbase, BAD_CAST "http://", 7)) || + (!xmlStrncmp(oldbase, BAD_CAST "ftp://", 6)) || + (!xmlStrncmp(oldbase, BAD_CAST "urn:", 4))) + return(oldbase); + } + } + cur = cur->parent; + } + if ((doc != NULL) && (doc->URL != NULL)) { + if (oldbase == NULL) + return(xmlStrdup(doc->URL)); + newbase = xmlBuildURI(oldbase, doc->URL); + xmlFree(oldbase); + return(newbase); + } + return(oldbase); +} + +/** + * xmlNodeBufGetContent: + * @buffer: a buffer + * @cur: the node being read + * + * Read the value of a node @cur, this can be either the text carried + * directly by this node if it's a TEXT node or the aggregate string + * of the values carried by this node child's (TEXT and ENTITY_REF). + * Entity references are substituted. + * Fills up the buffer @buffer with this value + * + * Returns 0 in case of success and -1 in case of error. + */ +int +xmlNodeBufGetContent(xmlBufferPtr buffer, const xmlNode *cur) +{ + xmlBufPtr buf; + int ret; + + if ((cur == NULL) || (buffer == NULL)) return(-1); + buf = xmlBufFromBuffer(buffer); + ret = xmlBufGetNodeContent(buf, cur); + buffer = xmlBufBackToBuffer(buf); + if ((ret < 0) || (buffer == NULL)) + return(-1); + return(0); +} + +/** + * xmlBufGetNodeContent: + * @buf: a buffer xmlBufPtr + * @cur: the node being read + * + * Read the value of a node @cur, this can be either the text carried + * directly by this node if it's a TEXT node or the aggregate string + * of the values carried by this node child's (TEXT and ENTITY_REF). + * Entity references are substituted. + * Fills up the buffer @buf with this value + * + * Returns 0 in case of success and -1 in case of error. + */ +int +xmlBufGetNodeContent(xmlBufPtr buf, const xmlNode *cur) +{ + if ((cur == NULL) || (buf == NULL)) return(-1); + switch (cur->type) { + case XML_CDATA_SECTION_NODE: + case XML_TEXT_NODE: + xmlBufCat(buf, cur->content); + break; + case XML_DOCUMENT_FRAG_NODE: + case XML_ELEMENT_NODE:{ + const xmlNode *tmp = cur; + + while (tmp != NULL) { + switch (tmp->type) { + case XML_CDATA_SECTION_NODE: + case XML_TEXT_NODE: + if (tmp->content != NULL) + xmlBufCat(buf, tmp->content); + break; + case XML_ENTITY_REF_NODE: + xmlBufGetNodeContent(buf, tmp); + break; + default: + break; + } + /* + * Skip to next node + */ + if (tmp->children != NULL) { + if (tmp->children->type != XML_ENTITY_DECL) { + tmp = tmp->children; + continue; + } + } + if (tmp == cur) + break; + + if (tmp->next != NULL) { + tmp = tmp->next; + continue; + } + + do { + tmp = tmp->parent; + if (tmp == NULL) + break; + if (tmp == cur) { + tmp = NULL; + break; + } + if (tmp->next != NULL) { + tmp = tmp->next; + break; + } + } while (tmp != NULL); + } + break; + } + case XML_ATTRIBUTE_NODE:{ + xmlAttrPtr attr = (xmlAttrPtr) cur; + xmlNodePtr tmp = attr->children; + + while (tmp != NULL) { + if (tmp->type == XML_TEXT_NODE) + xmlBufCat(buf, tmp->content); + else + xmlBufGetNodeContent(buf, tmp); + tmp = tmp->next; + } + break; + } + case XML_COMMENT_NODE: + case XML_PI_NODE: + xmlBufCat(buf, cur->content); + break; + case XML_ENTITY_REF_NODE:{ + xmlEntityPtr ent; + xmlNodePtr tmp; + + /* lookup entity declaration */ + ent = xmlGetDocEntity(cur->doc, cur->name); + if (ent == NULL) + return(-1); + + /* an entity content can be any "well balanced chunk", + * i.e. the result of the content [43] production: + * http://www.w3.org/TR/REC-xml#NT-content + * -> we iterate through child nodes and recursive call + * xmlNodeGetContent() which handles all possible node types */ + tmp = ent->children; + while (tmp) { + xmlBufGetNodeContent(buf, tmp); + tmp = tmp->next; + } + break; + } + case XML_ENTITY_NODE: + case XML_DOCUMENT_TYPE_NODE: + case XML_NOTATION_NODE: + case XML_DTD_NODE: + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: + break; + case XML_DOCUMENT_NODE: +#ifdef LIBXML_DOCB_ENABLED + case XML_DOCB_DOCUMENT_NODE: +#endif + case XML_HTML_DOCUMENT_NODE: + cur = cur->children; + while (cur!= NULL) { + if ((cur->type == XML_ELEMENT_NODE) || + (cur->type == XML_TEXT_NODE) || + (cur->type == XML_CDATA_SECTION_NODE)) { + xmlBufGetNodeContent(buf, cur); + } + cur = cur->next; + } + break; + case XML_NAMESPACE_DECL: + xmlBufCat(buf, ((xmlNsPtr) cur)->href); + break; + case XML_ELEMENT_DECL: + case XML_ATTRIBUTE_DECL: + case XML_ENTITY_DECL: + break; + } + return(0); +} + +/** + * xmlNodeGetContent: + * @cur: the node being read + * + * Read the value of a node, this can be either the text carried + * directly by this node if it's a TEXT node or the aggregate string + * of the values carried by this node child's (TEXT and ENTITY_REF). + * Entity references are substituted. + * Returns a new #xmlChar * or NULL if no content is available. + * It's up to the caller to free the memory with xmlFree(). + */ +xmlChar * +xmlNodeGetContent(const xmlNode *cur) +{ + if (cur == NULL) + return (NULL); + switch (cur->type) { + case XML_DOCUMENT_FRAG_NODE: + case XML_ELEMENT_NODE:{ + xmlBufPtr buf; + xmlChar *ret; + + buf = xmlBufCreateSize(64); + if (buf == NULL) + return (NULL); + xmlBufGetNodeContent(buf, cur); + ret = xmlBufDetach(buf); + xmlBufFree(buf); + return (ret); + } + case XML_ATTRIBUTE_NODE: + return(xmlGetPropNodeValueInternal((xmlAttrPtr) cur)); + case XML_COMMENT_NODE: + case XML_PI_NODE: + if (cur->content != NULL) + return (xmlStrdup(cur->content)); + return (NULL); + case XML_ENTITY_REF_NODE:{ + xmlEntityPtr ent; + xmlBufPtr buf; + xmlChar *ret; + + /* lookup entity declaration */ + ent = xmlGetDocEntity(cur->doc, cur->name); + if (ent == NULL) + return (NULL); + + buf = xmlBufCreate(); + if (buf == NULL) + return (NULL); + + xmlBufGetNodeContent(buf, cur); + + ret = xmlBufDetach(buf); + xmlBufFree(buf); + return (ret); + } + case XML_ENTITY_NODE: + case XML_DOCUMENT_TYPE_NODE: + case XML_NOTATION_NODE: + case XML_DTD_NODE: + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: + return (NULL); + case XML_DOCUMENT_NODE: +#ifdef LIBXML_DOCB_ENABLED + case XML_DOCB_DOCUMENT_NODE: +#endif + case XML_HTML_DOCUMENT_NODE: { + xmlBufPtr buf; + xmlChar *ret; + + buf = xmlBufCreate(); + if (buf == NULL) + return (NULL); + + xmlBufGetNodeContent(buf, (xmlNodePtr) cur); + + ret = xmlBufDetach(buf); + xmlBufFree(buf); + return (ret); + } + case XML_NAMESPACE_DECL: { + xmlChar *tmp; + + tmp = xmlStrdup(((xmlNsPtr) cur)->href); + return (tmp); + } + case XML_ELEMENT_DECL: + /* TODO !!! */ + return (NULL); + case XML_ATTRIBUTE_DECL: + /* TODO !!! */ + return (NULL); + case XML_ENTITY_DECL: + /* TODO !!! */ + return (NULL); + case XML_CDATA_SECTION_NODE: + case XML_TEXT_NODE: + if (cur->content != NULL) + return (xmlStrdup(cur->content)); + return (NULL); + } + return (NULL); +} + +/** + * xmlNodeSetContent: + * @cur: the node being modified + * @content: the new value of the content + * + * Replace the content of a node. + * NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity + * references, but XML special chars need to be escaped first by using + * xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars(). + */ +void +xmlNodeSetContent(xmlNodePtr cur, const xmlChar *content) { + if (cur == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlNodeSetContent : node == NULL\n"); +#endif + return; + } + switch (cur->type) { + case XML_DOCUMENT_FRAG_NODE: + case XML_ELEMENT_NODE: + case XML_ATTRIBUTE_NODE: + if (cur->children != NULL) xmlFreeNodeList(cur->children); + cur->children = xmlStringGetNodeList(cur->doc, content); + UPDATE_LAST_CHILD_AND_PARENT(cur) + break; + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + case XML_ENTITY_REF_NODE: + case XML_ENTITY_NODE: + case XML_PI_NODE: + case XML_COMMENT_NODE: + if ((cur->content != NULL) && + (cur->content != (xmlChar *) &(cur->properties))) { + if (!((cur->doc != NULL) && (cur->doc->dict != NULL) && + (xmlDictOwns(cur->doc->dict, cur->content)))) + xmlFree(cur->content); + } + if (cur->children != NULL) xmlFreeNodeList(cur->children); + cur->last = cur->children = NULL; + if (content != NULL) { + cur->content = xmlStrdup(content); + } else + cur->content = NULL; + cur->properties = NULL; + cur->nsDef = NULL; + break; + case XML_DOCUMENT_NODE: + case XML_HTML_DOCUMENT_NODE: + case XML_DOCUMENT_TYPE_NODE: + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: +#ifdef LIBXML_DOCB_ENABLED + case XML_DOCB_DOCUMENT_NODE: +#endif + break; + case XML_NOTATION_NODE: + break; + case XML_DTD_NODE: + break; + case XML_NAMESPACE_DECL: + break; + case XML_ELEMENT_DECL: + /* TODO !!! */ + break; + case XML_ATTRIBUTE_DECL: + /* TODO !!! */ + break; + case XML_ENTITY_DECL: + /* TODO !!! */ + break; + } +} + +#ifdef LIBXML_TREE_ENABLED +/** + * xmlNodeSetContentLen: + * @cur: the node being modified + * @content: the new value of the content + * @len: the size of @content + * + * Replace the content of a node. + * NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity + * references, but XML special chars need to be escaped first by using + * xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars(). + */ +void +xmlNodeSetContentLen(xmlNodePtr cur, const xmlChar *content, int len) { + if (cur == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlNodeSetContentLen : node == NULL\n"); +#endif + return; + } + switch (cur->type) { + case XML_DOCUMENT_FRAG_NODE: + case XML_ELEMENT_NODE: + case XML_ATTRIBUTE_NODE: + if (cur->children != NULL) xmlFreeNodeList(cur->children); + cur->children = xmlStringLenGetNodeList(cur->doc, content, len); + UPDATE_LAST_CHILD_AND_PARENT(cur) + break; + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + case XML_ENTITY_REF_NODE: + case XML_ENTITY_NODE: + case XML_PI_NODE: + case XML_COMMENT_NODE: + case XML_NOTATION_NODE: + if ((cur->content != NULL) && + (cur->content != (xmlChar *) &(cur->properties))) { + if (!((cur->doc != NULL) && (cur->doc->dict != NULL) && + (xmlDictOwns(cur->doc->dict, cur->content)))) + xmlFree(cur->content); + } + if (cur->children != NULL) xmlFreeNodeList(cur->children); + cur->children = cur->last = NULL; + if (content != NULL) { + cur->content = xmlStrndup(content, len); + } else + cur->content = NULL; + cur->properties = NULL; + cur->nsDef = NULL; + break; + case XML_DOCUMENT_NODE: + case XML_DTD_NODE: + case XML_HTML_DOCUMENT_NODE: + case XML_DOCUMENT_TYPE_NODE: + case XML_NAMESPACE_DECL: + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: +#ifdef LIBXML_DOCB_ENABLED + case XML_DOCB_DOCUMENT_NODE: +#endif + break; + case XML_ELEMENT_DECL: + /* TODO !!! */ + break; + case XML_ATTRIBUTE_DECL: + /* TODO !!! */ + break; + case XML_ENTITY_DECL: + /* TODO !!! */ + break; + } +} +#endif /* LIBXML_TREE_ENABLED */ + +/** + * xmlNodeAddContentLen: + * @cur: the node being modified + * @content: extra content + * @len: the size of @content + * + * Append the extra substring to the node content. + * NOTE: In contrast to xmlNodeSetContentLen(), @content is supposed to be + * raw text, so unescaped XML special chars are allowed, entity + * references are not supported. + */ +void +xmlNodeAddContentLen(xmlNodePtr cur, const xmlChar *content, int len) { + if (cur == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlNodeAddContentLen : node == NULL\n"); +#endif + return; + } + if (len <= 0) return; + switch (cur->type) { + case XML_DOCUMENT_FRAG_NODE: + case XML_ELEMENT_NODE: { + xmlNodePtr last, newNode, tmp; + + last = cur->last; + newNode = xmlNewTextLen(content, len); + if (newNode != NULL) { + tmp = xmlAddChild(cur, newNode); + if (tmp != newNode) + return; + if ((last != NULL) && (last->next == newNode)) { + xmlTextMerge(last, newNode); + } + } + break; + } + case XML_ATTRIBUTE_NODE: + break; + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + case XML_ENTITY_REF_NODE: + case XML_ENTITY_NODE: + case XML_PI_NODE: + case XML_COMMENT_NODE: + case XML_NOTATION_NODE: + if (content != NULL) { + if ((cur->content == (xmlChar *) &(cur->properties)) || + ((cur->doc != NULL) && (cur->doc->dict != NULL) && + xmlDictOwns(cur->doc->dict, cur->content))) { + cur->content = xmlStrncatNew(cur->content, content, len); + cur->properties = NULL; + cur->nsDef = NULL; + break; + } + cur->content = xmlStrncat(cur->content, content, len); + } + case XML_DOCUMENT_NODE: + case XML_DTD_NODE: + case XML_HTML_DOCUMENT_NODE: + case XML_DOCUMENT_TYPE_NODE: + case XML_NAMESPACE_DECL: + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: +#ifdef LIBXML_DOCB_ENABLED + case XML_DOCB_DOCUMENT_NODE: +#endif + break; + case XML_ELEMENT_DECL: + case XML_ATTRIBUTE_DECL: + case XML_ENTITY_DECL: + break; + } +} + +/** + * xmlNodeAddContent: + * @cur: the node being modified + * @content: extra content + * + * Append the extra substring to the node content. + * NOTE: In contrast to xmlNodeSetContent(), @content is supposed to be + * raw text, so unescaped XML special chars are allowed, entity + * references are not supported. + */ +void +xmlNodeAddContent(xmlNodePtr cur, const xmlChar *content) { + int len; + + if (cur == NULL) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlNodeAddContent : node == NULL\n"); +#endif + return; + } + if (content == NULL) return; + len = xmlStrlen(content); + xmlNodeAddContentLen(cur, content, len); +} + +/** + * xmlTextMerge: + * @first: the first text node + * @second: the second text node being merged + * + * Merge two text nodes into one + * Returns the first text node augmented + */ +xmlNodePtr +xmlTextMerge(xmlNodePtr first, xmlNodePtr second) { + if (first == NULL) return(second); + if (second == NULL) return(first); + if (first->type != XML_TEXT_NODE) return(first); + if (second->type != XML_TEXT_NODE) return(first); + if (second->name != first->name) + return(first); + xmlNodeAddContent(first, second->content); + xmlUnlinkNode(second); + xmlFreeNode(second); + return(first); +} + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +/** + * xmlGetNsList: + * @doc: the document + * @node: the current node + * + * Search all the namespace applying to a given element. + * Returns an NULL terminated array of all the #xmlNsPtr found + * that need to be freed by the caller or NULL if no + * namespace if defined + */ +xmlNsPtr * +xmlGetNsList(const xmlDoc *doc ATTRIBUTE_UNUSED, const xmlNode *node) +{ + xmlNsPtr cur; + xmlNsPtr *ret = NULL; + int nbns = 0; + int maxns = 10; + int i; + + if ((node == NULL) || (node->type == XML_NAMESPACE_DECL)) + return(NULL); + + while (node != NULL) { + if (node->type == XML_ELEMENT_NODE) { + cur = node->nsDef; + while (cur != NULL) { + if (ret == NULL) { + ret = + (xmlNsPtr *) xmlMalloc((maxns + 1) * + sizeof(xmlNsPtr)); + if (ret == NULL) { + xmlTreeErrMemory("getting namespace list"); + return (NULL); + } + ret[nbns] = NULL; + } + for (i = 0; i < nbns; i++) { + if ((cur->prefix == ret[i]->prefix) || + (xmlStrEqual(cur->prefix, ret[i]->prefix))) + break; + } + if (i >= nbns) { + if (nbns >= maxns) { + maxns *= 2; + ret = (xmlNsPtr *) xmlRealloc(ret, + (maxns + + 1) * + sizeof(xmlNsPtr)); + if (ret == NULL) { + xmlTreeErrMemory("getting namespace list"); + return (NULL); + } + } + ret[nbns++] = cur; + ret[nbns] = NULL; + } + + cur = cur->next; + } + } + node = node->parent; + } + return (ret); +} +#endif /* LIBXML_TREE_ENABLED */ + +/* +* xmlTreeEnsureXMLDecl: +* @doc: the doc +* +* Ensures that there is an XML namespace declaration on the doc. +* +* Returns the XML ns-struct or NULL on API and internal errors. +*/ +static xmlNsPtr +xmlTreeEnsureXMLDecl(xmlDocPtr doc) +{ + if (doc == NULL) + return (NULL); + if (doc->oldNs != NULL) + return (doc->oldNs); + { + xmlNsPtr ns; + ns = (xmlNsPtr) xmlMalloc(sizeof(xmlNs)); + if (ns == NULL) { + xmlTreeErrMemory( + "allocating the XML namespace"); + return (NULL); + } + memset(ns, 0, sizeof(xmlNs)); + ns->type = XML_LOCAL_NAMESPACE; + ns->href = xmlStrdup(XML_XML_NAMESPACE); + ns->prefix = xmlStrdup((const xmlChar *)"xml"); + doc->oldNs = ns; + return (ns); + } +} + +/** + * xmlSearchNs: + * @doc: the document + * @node: the current node + * @nameSpace: the namespace prefix + * + * Search a Ns registered under a given name space for a document. + * recurse on the parents until it finds the defined namespace + * or return NULL otherwise. + * @nameSpace can be NULL, this is a search for the default namespace. + * We don't allow to cross entities boundaries. If you don't declare + * the namespace within those you will be in troubles !!! A warning + * is generated to cover this case. + * + * Returns the namespace pointer or NULL. + */ +xmlNsPtr +xmlSearchNs(xmlDocPtr doc, xmlNodePtr node, const xmlChar *nameSpace) { + + xmlNsPtr cur; + const xmlNode *orig = node; + + if ((node == NULL) || (node->type == XML_NAMESPACE_DECL)) return(NULL); + if ((nameSpace != NULL) && + (xmlStrEqual(nameSpace, (const xmlChar *)"xml"))) { + if ((doc == NULL) && (node->type == XML_ELEMENT_NODE)) { + /* + * The XML-1.0 namespace is normally held on the root + * element. In this case exceptionally create it on the + * node element. + */ + cur = (xmlNsPtr) xmlMalloc(sizeof(xmlNs)); + if (cur == NULL) { + xmlTreeErrMemory("searching namespace"); + return(NULL); + } + memset(cur, 0, sizeof(xmlNs)); + cur->type = XML_LOCAL_NAMESPACE; + cur->href = xmlStrdup(XML_XML_NAMESPACE); + cur->prefix = xmlStrdup((const xmlChar *)"xml"); + cur->next = node->nsDef; + node->nsDef = cur; + return(cur); + } + if (doc == NULL) { + doc = node->doc; + if (doc == NULL) + return(NULL); + } + /* + * Return the XML namespace declaration held by the doc. + */ + if (doc->oldNs == NULL) + return(xmlTreeEnsureXMLDecl(doc)); + else + return(doc->oldNs); + } + while (node != NULL) { + if ((node->type == XML_ENTITY_REF_NODE) || + (node->type == XML_ENTITY_NODE) || + (node->type == XML_ENTITY_DECL)) + return(NULL); + if (node->type == XML_ELEMENT_NODE) { + cur = node->nsDef; + while (cur != NULL) { + if ((cur->prefix == NULL) && (nameSpace == NULL) && + (cur->href != NULL)) + return(cur); + if ((cur->prefix != NULL) && (nameSpace != NULL) && + (cur->href != NULL) && + (xmlStrEqual(cur->prefix, nameSpace))) + return(cur); + cur = cur->next; + } + if (orig != node) { + cur = node->ns; + if (cur != NULL) { + if ((cur->prefix == NULL) && (nameSpace == NULL) && + (cur->href != NULL)) + return(cur); + if ((cur->prefix != NULL) && (nameSpace != NULL) && + (cur->href != NULL) && + (xmlStrEqual(cur->prefix, nameSpace))) + return(cur); + } + } + } + node = node->parent; + } + return(NULL); +} + +/** + * xmlNsInScope: + * @doc: the document + * @node: the current node + * @ancestor: the ancestor carrying the namespace + * @prefix: the namespace prefix + * + * Verify that the given namespace held on @ancestor is still in scope + * on node. + * + * Returns 1 if true, 0 if false and -1 in case of error. + */ +static int +xmlNsInScope(xmlDocPtr doc ATTRIBUTE_UNUSED, xmlNodePtr node, + xmlNodePtr ancestor, const xmlChar * prefix) +{ + xmlNsPtr tst; + + while ((node != NULL) && (node != ancestor)) { + if ((node->type == XML_ENTITY_REF_NODE) || + (node->type == XML_ENTITY_NODE) || + (node->type == XML_ENTITY_DECL)) + return (-1); + if (node->type == XML_ELEMENT_NODE) { + tst = node->nsDef; + while (tst != NULL) { + if ((tst->prefix == NULL) + && (prefix == NULL)) + return (0); + if ((tst->prefix != NULL) + && (prefix != NULL) + && (xmlStrEqual(tst->prefix, prefix))) + return (0); + tst = tst->next; + } + } + node = node->parent; + } + if (node != ancestor) + return (-1); + return (1); +} + +/** + * xmlSearchNsByHref: + * @doc: the document + * @node: the current node + * @href: the namespace value + * + * Search a Ns aliasing a given URI. Recurse on the parents until it finds + * the defined namespace or return NULL otherwise. + * Returns the namespace pointer or NULL. + */ +xmlNsPtr +xmlSearchNsByHref(xmlDocPtr doc, xmlNodePtr node, const xmlChar * href) +{ + xmlNsPtr cur; + xmlNodePtr orig = node; + int is_attr; + + if ((node == NULL) || (node->type == XML_NAMESPACE_DECL) || (href == NULL)) + return (NULL); + if (xmlStrEqual(href, XML_XML_NAMESPACE)) { + /* + * Only the document can hold the XML spec namespace. + */ + if ((doc == NULL) && (node->type == XML_ELEMENT_NODE)) { + /* + * The XML-1.0 namespace is normally held on the root + * element. In this case exceptionally create it on the + * node element. + */ + cur = (xmlNsPtr) xmlMalloc(sizeof(xmlNs)); + if (cur == NULL) { + xmlTreeErrMemory("searching namespace"); + return (NULL); + } + memset(cur, 0, sizeof(xmlNs)); + cur->type = XML_LOCAL_NAMESPACE; + cur->href = xmlStrdup(XML_XML_NAMESPACE); + cur->prefix = xmlStrdup((const xmlChar *) "xml"); + cur->next = node->nsDef; + node->nsDef = cur; + return (cur); + } + if (doc == NULL) { + doc = node->doc; + if (doc == NULL) + return(NULL); + } + /* + * Return the XML namespace declaration held by the doc. + */ + if (doc->oldNs == NULL) + return(xmlTreeEnsureXMLDecl(doc)); + else + return(doc->oldNs); + } + is_attr = (node->type == XML_ATTRIBUTE_NODE); + while (node != NULL) { + if ((node->type == XML_ENTITY_REF_NODE) || + (node->type == XML_ENTITY_NODE) || + (node->type == XML_ENTITY_DECL)) + return (NULL); + if (node->type == XML_ELEMENT_NODE) { + cur = node->nsDef; + while (cur != NULL) { + if ((cur->href != NULL) && (href != NULL) && + (xmlStrEqual(cur->href, href))) { + if (((!is_attr) || (cur->prefix != NULL)) && + (xmlNsInScope(doc, orig, node, cur->prefix) == 1)) + return (cur); + } + cur = cur->next; + } + if (orig != node) { + cur = node->ns; + if (cur != NULL) { + if ((cur->href != NULL) && (href != NULL) && + (xmlStrEqual(cur->href, href))) { + if (((!is_attr) || (cur->prefix != NULL)) && + (xmlNsInScope(doc, orig, node, cur->prefix) == 1)) + return (cur); + } + } + } + } + node = node->parent; + } + return (NULL); +} + +/** + * xmlNewReconciledNs: + * @doc: the document + * @tree: a node expected to hold the new namespace + * @ns: the original namespace + * + * This function tries to locate a namespace definition in a tree + * ancestors, or create a new namespace definition node similar to + * @ns trying to reuse the same prefix. However if the given prefix is + * null (default namespace) or reused within the subtree defined by + * @tree or on one of its ancestors then a new prefix is generated. + * Returns the (new) namespace definition or NULL in case of error + */ +static xmlNsPtr +xmlNewReconciledNs(xmlDocPtr doc, xmlNodePtr tree, xmlNsPtr ns) { + xmlNsPtr def; + xmlChar prefix[50]; + int counter = 1; + + if ((tree == NULL) || (tree->type != XML_ELEMENT_NODE)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlNewReconciledNs : tree == NULL\n"); +#endif + return(NULL); + } + if ((ns == NULL) || (ns->type != XML_NAMESPACE_DECL)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlNewReconciledNs : ns == NULL\n"); +#endif + return(NULL); + } + /* + * Search an existing namespace definition inherited. + */ + def = xmlSearchNsByHref(doc, tree, ns->href); + if (def != NULL) + return(def); + + /* + * Find a close prefix which is not already in use. + * Let's strip namespace prefixes longer than 20 chars ! + */ + if (ns->prefix == NULL) + snprintf((char *) prefix, sizeof(prefix), "default"); + else + snprintf((char *) prefix, sizeof(prefix), "%.20s", (char *)ns->prefix); + + def = xmlSearchNs(doc, tree, prefix); + while (def != NULL) { + if (counter > 1000) return(NULL); + if (ns->prefix == NULL) + snprintf((char *) prefix, sizeof(prefix), "default%d", counter++); + else + snprintf((char *) prefix, sizeof(prefix), "%.20s%d", + (char *)ns->prefix, counter++); + def = xmlSearchNs(doc, tree, prefix); + } + + /* + * OK, now we are ready to create a new one. + */ + def = xmlNewNs(tree, ns->href, prefix); + return(def); +} + +#ifdef LIBXML_TREE_ENABLED +/** + * xmlReconciliateNs: + * @doc: the document + * @tree: a node defining the subtree to reconciliate + * + * This function checks that all the namespaces declared within the given + * tree are properly declared. This is needed for example after Copy or Cut + * and then paste operations. The subtree may still hold pointers to + * namespace declarations outside the subtree or invalid/masked. As much + * as possible the function try to reuse the existing namespaces found in + * the new environment. If not possible the new namespaces are redeclared + * on @tree at the top of the given subtree. + * Returns the number of namespace declarations created or -1 in case of error. + */ +int +xmlReconciliateNs(xmlDocPtr doc, xmlNodePtr tree) { + xmlNsPtr *oldNs = NULL; + xmlNsPtr *newNs = NULL; + int sizeCache = 0; + int nbCache = 0; + + xmlNsPtr n; + xmlNodePtr node = tree; + xmlAttrPtr attr; + int ret = 0, i; + + if ((node == NULL) || (node->type != XML_ELEMENT_NODE)) return(-1); + if ((doc == NULL) || (doc->type != XML_DOCUMENT_NODE)) return(-1); + if (node->doc != doc) return(-1); + while (node != NULL) { + /* + * Reconciliate the node namespace + */ + if (node->ns != NULL) { + /* + * initialize the cache if needed + */ + if (sizeCache == 0) { + sizeCache = 10; + oldNs = (xmlNsPtr *) xmlMalloc(sizeCache * + sizeof(xmlNsPtr)); + if (oldNs == NULL) { + xmlTreeErrMemory("fixing namespaces"); + return(-1); + } + newNs = (xmlNsPtr *) xmlMalloc(sizeCache * + sizeof(xmlNsPtr)); + if (newNs == NULL) { + xmlTreeErrMemory("fixing namespaces"); + xmlFree(oldNs); + return(-1); + } + } + for (i = 0;i < nbCache;i++) { + if (oldNs[i] == node->ns) { + node->ns = newNs[i]; + break; + } + } + if (i == nbCache) { + /* + * OK we need to recreate a new namespace definition + */ + n = xmlNewReconciledNs(doc, tree, node->ns); + if (n != NULL) { /* :-( what if else ??? */ + /* + * check if we need to grow the cache buffers. + */ + if (sizeCache <= nbCache) { + sizeCache *= 2; + oldNs = (xmlNsPtr *) xmlRealloc(oldNs, sizeCache * + sizeof(xmlNsPtr)); + if (oldNs == NULL) { + xmlTreeErrMemory("fixing namespaces"); + xmlFree(newNs); + return(-1); + } + newNs = (xmlNsPtr *) xmlRealloc(newNs, sizeCache * + sizeof(xmlNsPtr)); + if (newNs == NULL) { + xmlTreeErrMemory("fixing namespaces"); + xmlFree(oldNs); + return(-1); + } + } + newNs[nbCache] = n; + oldNs[nbCache++] = node->ns; + node->ns = n; + } + } + } + /* + * now check for namespace held by attributes on the node. + */ + if (node->type == XML_ELEMENT_NODE) { + attr = node->properties; + while (attr != NULL) { + if (attr->ns != NULL) { + /* + * initialize the cache if needed + */ + if (sizeCache == 0) { + sizeCache = 10; + oldNs = (xmlNsPtr *) xmlMalloc(sizeCache * + sizeof(xmlNsPtr)); + if (oldNs == NULL) { + xmlTreeErrMemory("fixing namespaces"); + return(-1); + } + newNs = (xmlNsPtr *) xmlMalloc(sizeCache * + sizeof(xmlNsPtr)); + if (newNs == NULL) { + xmlTreeErrMemory("fixing namespaces"); + xmlFree(oldNs); + return(-1); + } + } + for (i = 0;i < nbCache;i++) { + if (oldNs[i] == attr->ns) { + attr->ns = newNs[i]; + break; + } + } + if (i == nbCache) { + /* + * OK we need to recreate a new namespace definition + */ + n = xmlNewReconciledNs(doc, tree, attr->ns); + if (n != NULL) { /* :-( what if else ??? */ + /* + * check if we need to grow the cache buffers. + */ + if (sizeCache <= nbCache) { + sizeCache *= 2; + oldNs = (xmlNsPtr *) xmlRealloc(oldNs, + sizeCache * sizeof(xmlNsPtr)); + if (oldNs == NULL) { + xmlTreeErrMemory("fixing namespaces"); + xmlFree(newNs); + return(-1); + } + newNs = (xmlNsPtr *) xmlRealloc(newNs, + sizeCache * sizeof(xmlNsPtr)); + if (newNs == NULL) { + xmlTreeErrMemory("fixing namespaces"); + xmlFree(oldNs); + return(-1); + } + } + newNs[nbCache] = n; + oldNs[nbCache++] = attr->ns; + attr->ns = n; + } + } + } + attr = attr->next; + } + } + + /* + * Browse the full subtree, deep first + */ + if ((node->children != NULL) && (node->type != XML_ENTITY_REF_NODE)) { + /* deep first */ + node = node->children; + } else if ((node != tree) && (node->next != NULL)) { + /* then siblings */ + node = node->next; + } else if (node != tree) { + /* go up to parents->next if needed */ + while (node != tree) { + if (node->parent != NULL) + node = node->parent; + if ((node != tree) && (node->next != NULL)) { + node = node->next; + break; + } + if (node->parent == NULL) { + node = NULL; + break; + } + } + /* exit condition */ + if (node == tree) + node = NULL; + } else + break; + } + if (oldNs != NULL) + xmlFree(oldNs); + if (newNs != NULL) + xmlFree(newNs); + return(ret); +} +#endif /* LIBXML_TREE_ENABLED */ + +static xmlAttrPtr +xmlGetPropNodeInternal(const xmlNode *node, const xmlChar *name, + const xmlChar *nsName, int useDTD) +{ + xmlAttrPtr prop; + + if ((node == NULL) || (node->type != XML_ELEMENT_NODE) || (name == NULL)) + return(NULL); + + if (node->properties != NULL) { + prop = node->properties; + if (nsName == NULL) { + /* + * We want the attr to be in no namespace. + */ + do { + if ((prop->ns == NULL) && xmlStrEqual(prop->name, name)) { + return(prop); + } + prop = prop->next; + } while (prop != NULL); + } else { + /* + * We want the attr to be in the specified namespace. + */ + do { + if ((prop->ns != NULL) && xmlStrEqual(prop->name, name) && + ((prop->ns->href == nsName) || + xmlStrEqual(prop->ns->href, nsName))) + { + return(prop); + } + prop = prop->next; + } while (prop != NULL); + } + } + +#ifdef LIBXML_TREE_ENABLED + if (! useDTD) + return(NULL); + /* + * Check if there is a default/fixed attribute declaration in + * the internal or external subset. + */ + if ((node->doc != NULL) && (node->doc->intSubset != NULL)) { + xmlDocPtr doc = node->doc; + xmlAttributePtr attrDecl = NULL; + xmlChar *elemQName, *tmpstr = NULL; + + /* + * We need the QName of the element for the DTD-lookup. + */ + if ((node->ns != NULL) && (node->ns->prefix != NULL)) { + tmpstr = xmlStrdup(node->ns->prefix); + tmpstr = xmlStrcat(tmpstr, BAD_CAST ":"); + tmpstr = xmlStrcat(tmpstr, node->name); + if (tmpstr == NULL) + return(NULL); + elemQName = tmpstr; + } else + elemQName = (xmlChar *) node->name; + if (nsName == NULL) { + /* + * The common and nice case: Attr in no namespace. + */ + attrDecl = xmlGetDtdQAttrDesc(doc->intSubset, + elemQName, name, NULL); + if ((attrDecl == NULL) && (doc->extSubset != NULL)) { + attrDecl = xmlGetDtdQAttrDesc(doc->extSubset, + elemQName, name, NULL); + } + } else { + xmlNsPtr *nsList, *cur; + + /* + * The ugly case: Search using the prefixes of in-scope + * ns-decls corresponding to @nsName. + */ + nsList = xmlGetNsList(node->doc, node); + if (nsList == NULL) { + if (tmpstr != NULL) + xmlFree(tmpstr); + return(NULL); + } + cur = nsList; + while (*cur != NULL) { + if (xmlStrEqual((*cur)->href, nsName)) { + attrDecl = xmlGetDtdQAttrDesc(doc->intSubset, elemQName, + name, (*cur)->prefix); + if (attrDecl) + break; + if (doc->extSubset != NULL) { + attrDecl = xmlGetDtdQAttrDesc(doc->extSubset, elemQName, + name, (*cur)->prefix); + if (attrDecl) + break; + } + } + cur++; + } + xmlFree(nsList); + } + if (tmpstr != NULL) + xmlFree(tmpstr); + /* + * Only default/fixed attrs are relevant. + */ + if ((attrDecl != NULL) && (attrDecl->defaultValue != NULL)) + return((xmlAttrPtr) attrDecl); + } +#endif /* LIBXML_TREE_ENABLED */ + return(NULL); +} + +static xmlChar* +xmlGetPropNodeValueInternal(const xmlAttr *prop) +{ + if (prop == NULL) + return(NULL); + if (prop->type == XML_ATTRIBUTE_NODE) { + /* + * Note that we return at least the empty string. + * TODO: Do we really always want that? + */ + if (prop->children != NULL) { + if ((prop->children->next == NULL) && + ((prop->children->type == XML_TEXT_NODE) || + (prop->children->type == XML_CDATA_SECTION_NODE))) + { + /* + * Optimization for the common case: only 1 text node. + */ + return(xmlStrdup(prop->children->content)); + } else { + xmlChar *ret; + + ret = xmlNodeListGetString(prop->doc, prop->children, 1); + if (ret != NULL) + return(ret); + } + } + return(xmlStrdup((xmlChar *)"")); + } else if (prop->type == XML_ATTRIBUTE_DECL) { + return(xmlStrdup(((xmlAttributePtr)prop)->defaultValue)); + } + return(NULL); +} + +/** + * xmlHasProp: + * @node: the node + * @name: the attribute name + * + * Search an attribute associated to a node + * This function also looks in DTD attribute declaration for #FIXED or + * default declaration values unless DTD use has been turned off. + * + * Returns the attribute or the attribute declaration or NULL if + * neither was found. + */ +xmlAttrPtr +xmlHasProp(const xmlNode *node, const xmlChar *name) { + xmlAttrPtr prop; + xmlDocPtr doc; + + if ((node == NULL) || (node->type != XML_ELEMENT_NODE) || (name == NULL)) + return(NULL); + /* + * Check on the properties attached to the node + */ + prop = node->properties; + while (prop != NULL) { + if (xmlStrEqual(prop->name, name)) { + return(prop); + } + prop = prop->next; + } + if (!xmlCheckDTD) return(NULL); + + /* + * Check if there is a default declaration in the internal + * or external subsets + */ + doc = node->doc; + if (doc != NULL) { + xmlAttributePtr attrDecl; + if (doc->intSubset != NULL) { + attrDecl = xmlGetDtdAttrDesc(doc->intSubset, node->name, name); + if ((attrDecl == NULL) && (doc->extSubset != NULL)) + attrDecl = xmlGetDtdAttrDesc(doc->extSubset, node->name, name); + if ((attrDecl != NULL) && (attrDecl->defaultValue != NULL)) + /* return attribute declaration only if a default value is given + (that includes #FIXED declarations) */ + return((xmlAttrPtr) attrDecl); + } + } + return(NULL); +} + +/** + * xmlHasNsProp: + * @node: the node + * @name: the attribute name + * @nameSpace: the URI of the namespace + * + * Search for an attribute associated to a node + * This attribute has to be anchored in the namespace specified. + * This does the entity substitution. + * This function looks in DTD attribute declaration for #FIXED or + * default declaration values unless DTD use has been turned off. + * Note that a namespace of NULL indicates to use the default namespace. + * + * Returns the attribute or the attribute declaration or NULL + * if neither was found. + */ +xmlAttrPtr +xmlHasNsProp(const xmlNode *node, const xmlChar *name, const xmlChar *nameSpace) { + + return(xmlGetPropNodeInternal(node, name, nameSpace, xmlCheckDTD)); +} + +/** + * xmlGetProp: + * @node: the node + * @name: the attribute name + * + * Search and get the value of an attribute associated to a node + * This does the entity substitution. + * This function looks in DTD attribute declaration for #FIXED or + * default declaration values unless DTD use has been turned off. + * NOTE: this function acts independently of namespaces associated + * to the attribute. Use xmlGetNsProp() or xmlGetNoNsProp() + * for namespace aware processing. + * + * Returns the attribute value or NULL if not found. + * It's up to the caller to free the memory with xmlFree(). + */ +xmlChar * +xmlGetProp(const xmlNode *node, const xmlChar *name) { + xmlAttrPtr prop; + + prop = xmlHasProp(node, name); + if (prop == NULL) + return(NULL); + return(xmlGetPropNodeValueInternal(prop)); +} + +/** + * xmlGetNoNsProp: + * @node: the node + * @name: the attribute name + * + * Search and get the value of an attribute associated to a node + * This does the entity substitution. + * This function looks in DTD attribute declaration for #FIXED or + * default declaration values unless DTD use has been turned off. + * This function is similar to xmlGetProp except it will accept only + * an attribute in no namespace. + * + * Returns the attribute value or NULL if not found. + * It's up to the caller to free the memory with xmlFree(). + */ +xmlChar * +xmlGetNoNsProp(const xmlNode *node, const xmlChar *name) { + xmlAttrPtr prop; + + prop = xmlGetPropNodeInternal(node, name, NULL, xmlCheckDTD); + if (prop == NULL) + return(NULL); + return(xmlGetPropNodeValueInternal(prop)); +} + +/** + * xmlGetNsProp: + * @node: the node + * @name: the attribute name + * @nameSpace: the URI of the namespace + * + * Search and get the value of an attribute associated to a node + * This attribute has to be anchored in the namespace specified. + * This does the entity substitution. + * This function looks in DTD attribute declaration for #FIXED or + * default declaration values unless DTD use has been turned off. + * + * Returns the attribute value or NULL if not found. + * It's up to the caller to free the memory with xmlFree(). + */ +xmlChar * +xmlGetNsProp(const xmlNode *node, const xmlChar *name, const xmlChar *nameSpace) { + xmlAttrPtr prop; + + prop = xmlGetPropNodeInternal(node, name, nameSpace, xmlCheckDTD); + if (prop == NULL) + return(NULL); + return(xmlGetPropNodeValueInternal(prop)); +} + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +/** + * xmlUnsetProp: + * @node: the node + * @name: the attribute name + * + * Remove an attribute carried by a node. + * This handles only attributes in no namespace. + * Returns 0 if successful, -1 if not found + */ +int +xmlUnsetProp(xmlNodePtr node, const xmlChar *name) { + xmlAttrPtr prop; + + prop = xmlGetPropNodeInternal(node, name, NULL, 0); + if (prop == NULL) + return(-1); + xmlUnlinkNode((xmlNodePtr) prop); + xmlFreeProp(prop); + return(0); +} + +/** + * xmlUnsetNsProp: + * @node: the node + * @ns: the namespace definition + * @name: the attribute name + * + * Remove an attribute carried by a node. + * Returns 0 if successful, -1 if not found + */ +int +xmlUnsetNsProp(xmlNodePtr node, xmlNsPtr ns, const xmlChar *name) { + xmlAttrPtr prop; + + prop = xmlGetPropNodeInternal(node, name, (ns != NULL) ? ns->href : NULL, 0); + if (prop == NULL) + return(-1); + xmlUnlinkNode((xmlNodePtr) prop); + xmlFreeProp(prop); + return(0); +} +#endif + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) +/** + * xmlSetProp: + * @node: the node + * @name: the attribute name (a QName) + * @value: the attribute value + * + * Set (or reset) an attribute carried by a node. + * If @name has a prefix, then the corresponding + * namespace-binding will be used, if in scope; it is an + * error it there's no such ns-binding for the prefix in + * scope. + * Returns the attribute pointer. + * + */ +xmlAttrPtr +xmlSetProp(xmlNodePtr node, const xmlChar *name, const xmlChar *value) { + int len; + const xmlChar *nqname; + + if ((node == NULL) || (name == NULL) || (node->type != XML_ELEMENT_NODE)) + return(NULL); + + /* + * handle QNames + */ + nqname = xmlSplitQName3(name, &len); + if (nqname != NULL) { + xmlNsPtr ns; + xmlChar *prefix = xmlStrndup(name, len); + ns = xmlSearchNs(node->doc, node, prefix); + if (prefix != NULL) + xmlFree(prefix); + if (ns != NULL) + return(xmlSetNsProp(node, ns, nqname, value)); + } + return(xmlSetNsProp(node, NULL, name, value)); +} + +/** + * xmlSetNsProp: + * @node: the node + * @ns: the namespace definition + * @name: the attribute name + * @value: the attribute value + * + * Set (or reset) an attribute carried by a node. + * The ns structure must be in scope, this is not checked + * + * Returns the attribute pointer. + */ +xmlAttrPtr +xmlSetNsProp(xmlNodePtr node, xmlNsPtr ns, const xmlChar *name, + const xmlChar *value) +{ + xmlAttrPtr prop; + + if (ns && (ns->href == NULL)) + return(NULL); + prop = xmlGetPropNodeInternal(node, name, (ns != NULL) ? ns->href : NULL, 0); + if (prop != NULL) { + /* + * Modify the attribute's value. + */ + if (prop->atype == XML_ATTRIBUTE_ID) { + xmlRemoveID(node->doc, prop); + prop->atype = XML_ATTRIBUTE_ID; + } + if (prop->children != NULL) + xmlFreeNodeList(prop->children); + prop->children = NULL; + prop->last = NULL; + prop->ns = ns; + if (value != NULL) { + xmlNodePtr tmp; + + if(!xmlCheckUTF8(value)) { + xmlTreeErr(XML_TREE_NOT_UTF8, (xmlNodePtr) node->doc, + NULL); + if (node->doc != NULL) + node->doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1"); + } + prop->children = xmlNewDocText(node->doc, value); + prop->last = NULL; + tmp = prop->children; + while (tmp != NULL) { + tmp->parent = (xmlNodePtr) prop; + if (tmp->next == NULL) + prop->last = tmp; + tmp = tmp->next; + } + } + if (prop->atype == XML_ATTRIBUTE_ID) + xmlAddID(NULL, node->doc, value, prop); + return(prop); + } + /* + * No equal attr found; create a new one. + */ + return(xmlNewPropInternal(node, ns, name, value, 0)); +} + +#endif /* LIBXML_TREE_ENABLED */ + +/** + * xmlNodeIsText: + * @node: the node + * + * Is this node a Text node ? + * Returns 1 yes, 0 no + */ +int +xmlNodeIsText(const xmlNode *node) { + if (node == NULL) return(0); + + if (node->type == XML_TEXT_NODE) return(1); + return(0); +} + +/** + * xmlIsBlankNode: + * @node: the node + * + * Checks whether this node is an empty or whitespace only + * (and possibly ignorable) text-node. + * + * Returns 1 yes, 0 no + */ +int +xmlIsBlankNode(const xmlNode *node) { + const xmlChar *cur; + if (node == NULL) return(0); + + if ((node->type != XML_TEXT_NODE) && + (node->type != XML_CDATA_SECTION_NODE)) + return(0); + if (node->content == NULL) return(1); + cur = node->content; + while (*cur != 0) { + if (!IS_BLANK_CH(*cur)) return(0); + cur++; + } + + return(1); +} + +/** + * xmlTextConcat: + * @node: the node + * @content: the content + * @len: @content length + * + * Concat the given string at the end of the existing node content + * + * Returns -1 in case of error, 0 otherwise + */ + +int +xmlTextConcat(xmlNodePtr node, const xmlChar *content, int len) { + if (node == NULL) return(-1); + + if ((node->type != XML_TEXT_NODE) && + (node->type != XML_CDATA_SECTION_NODE) && + (node->type != XML_COMMENT_NODE) && + (node->type != XML_PI_NODE)) { +#ifdef DEBUG_TREE + xmlGenericError(xmlGenericErrorContext, + "xmlTextConcat: node is not text nor CDATA\n"); +#endif + return(-1); + } + /* need to check if content is currently in the dictionary */ + if ((node->content == (xmlChar *) &(node->properties)) || + ((node->doc != NULL) && (node->doc->dict != NULL) && + xmlDictOwns(node->doc->dict, node->content))) { + node->content = xmlStrncatNew(node->content, content, len); + } else { + node->content = xmlStrncat(node->content, content, len); + } + node->properties = NULL; + if (node->content == NULL) + return(-1); + return(0); +} + +/************************************************************************ + * * + * Output : to a FILE or in memory * + * * + ************************************************************************/ + +/** + * xmlBufferCreate: + * + * routine to create an XML buffer. + * returns the new structure. + */ +xmlBufferPtr +xmlBufferCreate(void) { + xmlBufferPtr ret; + + ret = (xmlBufferPtr) xmlMalloc(sizeof(xmlBuffer)); + if (ret == NULL) { + xmlTreeErrMemory("creating buffer"); + return(NULL); + } + ret->use = 0; + ret->size = xmlDefaultBufferSize; + ret->alloc = xmlBufferAllocScheme; + ret->content = (xmlChar *) xmlMallocAtomic(ret->size * sizeof(xmlChar)); + if (ret->content == NULL) { + xmlTreeErrMemory("creating buffer"); + xmlFree(ret); + return(NULL); + } + ret->content[0] = 0; + ret->contentIO = NULL; + return(ret); +} + +/** + * xmlBufferCreateSize: + * @size: initial size of buffer + * + * routine to create an XML buffer. + * returns the new structure. + */ +xmlBufferPtr +xmlBufferCreateSize(size_t size) { + xmlBufferPtr ret; + + ret = (xmlBufferPtr) xmlMalloc(sizeof(xmlBuffer)); + if (ret == NULL) { + xmlTreeErrMemory("creating buffer"); + return(NULL); + } + ret->use = 0; + ret->alloc = xmlBufferAllocScheme; + ret->size = (size ? size+2 : 0); /* +1 for ending null */ + if (ret->size){ + ret->content = (xmlChar *) xmlMallocAtomic(ret->size * sizeof(xmlChar)); + if (ret->content == NULL) { + xmlTreeErrMemory("creating buffer"); + xmlFree(ret); + return(NULL); + } + ret->content[0] = 0; + } else + ret->content = NULL; + ret->contentIO = NULL; + return(ret); +} + +/** + * xmlBufferDetach: + * @buf: the buffer + * + * Remove the string contained in a buffer and gie it back to the + * caller. The buffer is reset to an empty content. + * This doesn't work with immutable buffers as they can't be reset. + * + * Returns the previous string contained by the buffer. + */ +xmlChar * +xmlBufferDetach(xmlBufferPtr buf) { + xmlChar *ret; + + if (buf == NULL) + return(NULL); + if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) + return(NULL); + + ret = buf->content; + buf->content = NULL; + buf->size = 0; + buf->use = 0; + + return ret; +} + + +/** + * xmlBufferCreateStatic: + * @mem: the memory area + * @size: the size in byte + * + * routine to create an XML buffer from an immutable memory area. + * The area won't be modified nor copied, and is expected to be + * present until the end of the buffer lifetime. + * + * returns the new structure. + */ +xmlBufferPtr +xmlBufferCreateStatic(void *mem, size_t size) { + xmlBufferPtr ret; + + if ((mem == NULL) || (size == 0)) + return(NULL); + + ret = (xmlBufferPtr) xmlMalloc(sizeof(xmlBuffer)); + if (ret == NULL) { + xmlTreeErrMemory("creating buffer"); + return(NULL); + } + ret->use = size; + ret->size = size; + ret->alloc = XML_BUFFER_ALLOC_IMMUTABLE; + ret->content = (xmlChar *) mem; + return(ret); +} + +/** + * xmlBufferSetAllocationScheme: + * @buf: the buffer to tune + * @scheme: allocation scheme to use + * + * Sets the allocation scheme for this buffer + */ +void +xmlBufferSetAllocationScheme(xmlBufferPtr buf, + xmlBufferAllocationScheme scheme) { + if (buf == NULL) { +#ifdef DEBUG_BUFFER + xmlGenericError(xmlGenericErrorContext, + "xmlBufferSetAllocationScheme: buf == NULL\n"); +#endif + return; + } + if ((buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) || + (buf->alloc == XML_BUFFER_ALLOC_IO)) return; + if ((scheme == XML_BUFFER_ALLOC_DOUBLEIT) || + (scheme == XML_BUFFER_ALLOC_EXACT) || + (scheme == XML_BUFFER_ALLOC_HYBRID) || + (scheme == XML_BUFFER_ALLOC_IMMUTABLE)) + buf->alloc = scheme; +} + +/** + * xmlBufferFree: + * @buf: the buffer to free + * + * Frees an XML buffer. It frees both the content and the structure which + * encapsulate it. + */ +void +xmlBufferFree(xmlBufferPtr buf) { + if (buf == NULL) { +#ifdef DEBUG_BUFFER + xmlGenericError(xmlGenericErrorContext, + "xmlBufferFree: buf == NULL\n"); +#endif + return; + } + + if ((buf->alloc == XML_BUFFER_ALLOC_IO) && + (buf->contentIO != NULL)) { + xmlFree(buf->contentIO); + } else if ((buf->content != NULL) && + (buf->alloc != XML_BUFFER_ALLOC_IMMUTABLE)) { + xmlFree(buf->content); + } + xmlFree(buf); +} + +/** + * xmlBufferEmpty: + * @buf: the buffer + * + * empty a buffer. + */ +void +xmlBufferEmpty(xmlBufferPtr buf) { + if (buf == NULL) return; + if (buf->content == NULL) return; + buf->use = 0; + if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) { + buf->content = BAD_CAST ""; + } else if ((buf->alloc == XML_BUFFER_ALLOC_IO) && + (buf->contentIO != NULL)) { + size_t start_buf = buf->content - buf->contentIO; + + buf->size += start_buf; + buf->content = buf->contentIO; + buf->content[0] = 0; + } else { + buf->content[0] = 0; + } +} + +/** + * xmlBufferShrink: + * @buf: the buffer to dump + * @len: the number of xmlChar to remove + * + * Remove the beginning of an XML buffer. + * + * Returns the number of #xmlChar removed, or -1 in case of failure. + */ +int +xmlBufferShrink(xmlBufferPtr buf, unsigned int len) { + if (buf == NULL) return(-1); + if (len == 0) return(0); + if (len > buf->use) return(-1); + + buf->use -= len; + if ((buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) || + ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL))) { + /* + * we just move the content pointer, but also make sure + * the perceived buffer size has shrinked accordingly + */ + buf->content += len; + buf->size -= len; + + /* + * sometimes though it maybe be better to really shrink + * on IO buffers + */ + if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) { + size_t start_buf = buf->content - buf->contentIO; + if (start_buf >= buf->size) { + memmove(buf->contentIO, &buf->content[0], buf->use); + buf->content = buf->contentIO; + buf->content[buf->use] = 0; + buf->size += start_buf; + } + } + } else { + memmove(buf->content, &buf->content[len], buf->use); + buf->content[buf->use] = 0; + } + return(len); +} + +/** + * xmlBufferGrow: + * @buf: the buffer + * @len: the minimum free size to allocate + * + * Grow the available space of an XML buffer. + * + * Returns the new available space or -1 in case of error + */ +int +xmlBufferGrow(xmlBufferPtr buf, unsigned int len) { + int size; + xmlChar *newbuf; + + if (buf == NULL) return(-1); + + if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return(0); + if (len + buf->use < buf->size) return(0); + + /* + * Windows has a BIG problem on realloc timing, so we try to double + * the buffer size (if that's enough) (bug 146697) + * Apparently BSD too, and it's probably best for linux too + * On an embedded system this may be something to change + */ +#if 1 + if (buf->size > len) + size = buf->size * 2; + else + size = buf->use + len + 100; +#else + size = buf->use + len + 100; +#endif + + if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) { + size_t start_buf = buf->content - buf->contentIO; + + newbuf = (xmlChar *) xmlRealloc(buf->contentIO, start_buf + size); + if (newbuf == NULL) { + xmlTreeErrMemory("growing buffer"); + return(-1); + } + buf->contentIO = newbuf; + buf->content = newbuf + start_buf; + } else { + newbuf = (xmlChar *) xmlRealloc(buf->content, size); + if (newbuf == NULL) { + xmlTreeErrMemory("growing buffer"); + return(-1); + } + buf->content = newbuf; + } + buf->size = size; + return(buf->size - buf->use); +} + +/** + * xmlBufferDump: + * @file: the file output + * @buf: the buffer to dump + * + * Dumps an XML buffer to a FILE *. + * Returns the number of #xmlChar written + */ +int +xmlBufferDump(FILE *file, xmlBufferPtr buf) { + int ret; + + if (buf == NULL) { +#ifdef DEBUG_BUFFER + xmlGenericError(xmlGenericErrorContext, + "xmlBufferDump: buf == NULL\n"); +#endif + return(0); + } + if (buf->content == NULL) { +#ifdef DEBUG_BUFFER + xmlGenericError(xmlGenericErrorContext, + "xmlBufferDump: buf->content == NULL\n"); +#endif + return(0); + } + if (file == NULL) + file = stdout; + ret = fwrite(buf->content, sizeof(xmlChar), buf->use, file); + return(ret); +} + +/** + * xmlBufferContent: + * @buf: the buffer + * + * Function to extract the content of a buffer + * + * Returns the internal content + */ + +const xmlChar * +xmlBufferContent(const xmlBuffer *buf) +{ + if(!buf) + return NULL; + + return buf->content; +} + +/** + * xmlBufferLength: + * @buf: the buffer + * + * Function to get the length of a buffer + * + * Returns the length of data in the internal content + */ + +int +xmlBufferLength(const xmlBuffer *buf) +{ + if(!buf) + return 0; + + return buf->use; +} + +/** + * xmlBufferResize: + * @buf: the buffer to resize + * @size: the desired size + * + * Resize a buffer to accommodate minimum size of @size. + * + * Returns 0 in case of problems, 1 otherwise + */ +int +xmlBufferResize(xmlBufferPtr buf, unsigned int size) +{ + unsigned int newSize; + xmlChar* rebuf = NULL; + size_t start_buf; + + if (buf == NULL) + return(0); + + if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return(0); + + /* Don't resize if we don't have to */ + if (size < buf->size) + return 1; + + /* figure out new size */ + switch (buf->alloc){ + case XML_BUFFER_ALLOC_IO: + case XML_BUFFER_ALLOC_DOUBLEIT: + /*take care of empty case*/ + newSize = (buf->size ? buf->size*2 : size + 10); + while (size > newSize) { + if (newSize > UINT_MAX / 2) { + xmlTreeErrMemory("growing buffer"); + return 0; + } + newSize *= 2; + } + break; + case XML_BUFFER_ALLOC_EXACT: + newSize = size+10; + break; + case XML_BUFFER_ALLOC_HYBRID: + if (buf->use < BASE_BUFFER_SIZE) + newSize = size; + else { + newSize = buf->size * 2; + while (size > newSize) { + if (newSize > UINT_MAX / 2) { + xmlTreeErrMemory("growing buffer"); + return 0; + } + newSize *= 2; + } + } + break; + + default: + newSize = size+10; + break; + } + + if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) { + start_buf = buf->content - buf->contentIO; + + if (start_buf > newSize) { + /* move data back to start */ + memmove(buf->contentIO, buf->content, buf->use); + buf->content = buf->contentIO; + buf->content[buf->use] = 0; + buf->size += start_buf; + } else { + rebuf = (xmlChar *) xmlRealloc(buf->contentIO, start_buf + newSize); + if (rebuf == NULL) { + xmlTreeErrMemory("growing buffer"); + return 0; + } + buf->contentIO = rebuf; + buf->content = rebuf + start_buf; + } + } else { + if (buf->content == NULL) { + rebuf = (xmlChar *) xmlMallocAtomic(newSize); + } else if (buf->size - buf->use < 100) { + rebuf = (xmlChar *) xmlRealloc(buf->content, newSize); + } else { + /* + * if we are reallocating a buffer far from being full, it's + * better to make a new allocation and copy only the used range + * and free the old one. + */ + rebuf = (xmlChar *) xmlMallocAtomic(newSize); + if (rebuf != NULL) { + memcpy(rebuf, buf->content, buf->use); + xmlFree(buf->content); + rebuf[buf->use] = 0; + } + } + if (rebuf == NULL) { + xmlTreeErrMemory("growing buffer"); + return 0; + } + buf->content = rebuf; + } + buf->size = newSize; + + return 1; +} + +/** + * xmlBufferAdd: + * @buf: the buffer to dump + * @str: the #xmlChar string + * @len: the number of #xmlChar to add + * + * Add a string range to an XML buffer. if len == -1, the length of + * str is recomputed. + * + * Returns 0 successful, a positive error code number otherwise + * and -1 in case of internal or API error. + */ +int +xmlBufferAdd(xmlBufferPtr buf, const xmlChar *str, int len) { + unsigned int needSize; + + if ((str == NULL) || (buf == NULL)) { + return -1; + } + if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1; + if (len < -1) { +#ifdef DEBUG_BUFFER + xmlGenericError(xmlGenericErrorContext, + "xmlBufferAdd: len < 0\n"); +#endif + return -1; + } + if (len == 0) return 0; + + if (len < 0) + len = xmlStrlen(str); + + if (len < 0) return -1; + if (len == 0) return 0; + + needSize = buf->use + len + 2; + if (needSize > buf->size){ + if (!xmlBufferResize(buf, needSize)){ + xmlTreeErrMemory("growing buffer"); + return XML_ERR_NO_MEMORY; + } + } + + memmove(&buf->content[buf->use], str, len*sizeof(xmlChar)); + buf->use += len; + buf->content[buf->use] = 0; + return 0; +} + +/** + * xmlBufferAddHead: + * @buf: the buffer + * @str: the #xmlChar string + * @len: the number of #xmlChar to add + * + * Add a string range to the beginning of an XML buffer. + * if len == -1, the length of @str is recomputed. + * + * Returns 0 successful, a positive error code number otherwise + * and -1 in case of internal or API error. + */ +int +xmlBufferAddHead(xmlBufferPtr buf, const xmlChar *str, int len) { + unsigned int needSize; + + if (buf == NULL) + return(-1); + if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1; + if (str == NULL) { +#ifdef DEBUG_BUFFER + xmlGenericError(xmlGenericErrorContext, + "xmlBufferAddHead: str == NULL\n"); +#endif + return -1; + } + if (len < -1) { +#ifdef DEBUG_BUFFER + xmlGenericError(xmlGenericErrorContext, + "xmlBufferAddHead: len < 0\n"); +#endif + return -1; + } + if (len == 0) return 0; + + if (len < 0) + len = xmlStrlen(str); + + if (len <= 0) return -1; + + if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) { + size_t start_buf = buf->content - buf->contentIO; + + if (start_buf > (unsigned int) len) { + /* + * We can add it in the space previously shrinked + */ + buf->content -= len; + memmove(&buf->content[0], str, len); + buf->use += len; + buf->size += len; + return(0); + } + } + needSize = buf->use + len + 2; + if (needSize > buf->size){ + if (!xmlBufferResize(buf, needSize)){ + xmlTreeErrMemory("growing buffer"); + return XML_ERR_NO_MEMORY; + } + } + + memmove(&buf->content[len], &buf->content[0], buf->use); + memmove(&buf->content[0], str, len); + buf->use += len; + buf->content[buf->use] = 0; + return 0; +} + +/** + * xmlBufferCat: + * @buf: the buffer to add to + * @str: the #xmlChar string + * + * Append a zero terminated string to an XML buffer. + * + * Returns 0 successful, a positive error code number otherwise + * and -1 in case of internal or API error. + */ +int +xmlBufferCat(xmlBufferPtr buf, const xmlChar *str) { + if (buf == NULL) + return(-1); + if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1; + if (str == NULL) return -1; + return xmlBufferAdd(buf, str, -1); +} + +/** + * xmlBufferCCat: + * @buf: the buffer to dump + * @str: the C char string + * + * Append a zero terminated C string to an XML buffer. + * + * Returns 0 successful, a positive error code number otherwise + * and -1 in case of internal or API error. + */ +int +xmlBufferCCat(xmlBufferPtr buf, const char *str) { + const char *cur; + + if (buf == NULL) + return(-1); + if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1; + if (str == NULL) { +#ifdef DEBUG_BUFFER + xmlGenericError(xmlGenericErrorContext, + "xmlBufferCCat: str == NULL\n"); +#endif + return -1; + } + for (cur = str;*cur != 0;cur++) { + if (buf->use + 10 >= buf->size) { + if (!xmlBufferResize(buf, buf->use+10)){ + xmlTreeErrMemory("growing buffer"); + return XML_ERR_NO_MEMORY; + } + } + buf->content[buf->use++] = *cur; + } + buf->content[buf->use] = 0; + return 0; +} + +/** + * xmlBufferWriteCHAR: + * @buf: the XML buffer + * @string: the string to add + * + * routine which manages and grows an output buffer. This one adds + * xmlChars at the end of the buffer. + */ +void +xmlBufferWriteCHAR(xmlBufferPtr buf, const xmlChar *string) { + if (buf == NULL) + return; + if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return; + xmlBufferCat(buf, string); +} + +/** + * xmlBufferWriteChar: + * @buf: the XML buffer output + * @string: the string to add + * + * routine which manage and grows an output buffer. This one add + * C chars at the end of the array. + */ +void +xmlBufferWriteChar(xmlBufferPtr buf, const char *string) { + if (buf == NULL) + return; + if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return; + xmlBufferCCat(buf, string); +} + + +/** + * xmlBufferWriteQuotedString: + * @buf: the XML buffer output + * @string: the string to add + * + * routine which manage and grows an output buffer. This one writes + * a quoted or double quoted #xmlChar string, checking first if it holds + * quote or double-quotes internally + */ +void +xmlBufferWriteQuotedString(xmlBufferPtr buf, const xmlChar *string) { + const xmlChar *cur, *base; + if (buf == NULL) + return; + if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return; + if (xmlStrchr(string, '\"')) { + if (xmlStrchr(string, '\'')) { +#ifdef DEBUG_BUFFER + xmlGenericError(xmlGenericErrorContext, + "xmlBufferWriteQuotedString: string contains quote and double-quotes !\n"); +#endif + xmlBufferCCat(buf, "\""); + base = cur = string; + while(*cur != 0){ + if(*cur == '"'){ + if (base != cur) + xmlBufferAdd(buf, base, cur - base); + xmlBufferAdd(buf, BAD_CAST """, 6); + cur++; + base = cur; + } + else { + cur++; + } + } + if (base != cur) + xmlBufferAdd(buf, base, cur - base); + xmlBufferCCat(buf, "\""); + } + else{ + xmlBufferCCat(buf, "\'"); + xmlBufferCat(buf, string); + xmlBufferCCat(buf, "\'"); + } + } else { + xmlBufferCCat(buf, "\""); + xmlBufferCat(buf, string); + xmlBufferCCat(buf, "\""); + } +} + + +/** + * xmlGetDocCompressMode: + * @doc: the document + * + * get the compression ratio for a document, ZLIB based + * Returns 0 (uncompressed) to 9 (max compression) + */ +int +xmlGetDocCompressMode (const xmlDoc *doc) { + if (doc == NULL) return(-1); + return(doc->compression); +} + +/** + * xmlSetDocCompressMode: + * @doc: the document + * @mode: the compression ratio + * + * set the compression ratio for a document, ZLIB based + * Correct values: 0 (uncompressed) to 9 (max compression) + */ +void +xmlSetDocCompressMode (xmlDocPtr doc, int mode) { + if (doc == NULL) return; + if (mode < 0) doc->compression = 0; + else if (mode > 9) doc->compression = 9; + else doc->compression = mode; +} + +/** + * xmlGetCompressMode: + * + * get the default compression mode used, ZLIB based. + * Returns 0 (uncompressed) to 9 (max compression) + */ +int +xmlGetCompressMode(void) +{ + return (xmlCompressMode); +} + +/** + * xmlSetCompressMode: + * @mode: the compression ratio + * + * set the default compression mode used, ZLIB based + * Correct values: 0 (uncompressed) to 9 (max compression) + */ +void +xmlSetCompressMode(int mode) { + if (mode < 0) xmlCompressMode = 0; + else if (mode > 9) xmlCompressMode = 9; + else xmlCompressMode = mode; +} + +#define XML_TREE_NSMAP_PARENT -1 +#define XML_TREE_NSMAP_XML -2 +#define XML_TREE_NSMAP_DOC -3 +#define XML_TREE_NSMAP_CUSTOM -4 + +typedef struct xmlNsMapItem *xmlNsMapItemPtr; +struct xmlNsMapItem { + xmlNsMapItemPtr next; + xmlNsMapItemPtr prev; + xmlNsPtr oldNs; /* old ns decl reference */ + xmlNsPtr newNs; /* new ns decl reference */ + int shadowDepth; /* Shadowed at this depth */ + /* + * depth: + * >= 0 == @node's ns-decls + * -1 == @parent's ns-decls + * -2 == the doc->oldNs XML ns-decl + * -3 == the doc->oldNs storage ns-decls + * -4 == ns-decls provided via custom ns-handling + */ + int depth; +}; + +typedef struct xmlNsMap *xmlNsMapPtr; +struct xmlNsMap { + xmlNsMapItemPtr first; + xmlNsMapItemPtr last; + xmlNsMapItemPtr pool; +}; + +#define XML_NSMAP_NOTEMPTY(m) (((m) != NULL) && ((m)->first != NULL)) +#define XML_NSMAP_FOREACH(m, i) for (i = (m)->first; i != NULL; i = (i)->next) +#define XML_NSMAP_POP(m, i) \ + i = (m)->last; \ + (m)->last = (i)->prev; \ + if ((m)->last == NULL) \ + (m)->first = NULL; \ + else \ + (m)->last->next = NULL; \ + (i)->next = (m)->pool; \ + (m)->pool = i; + +/* +* xmlDOMWrapNsMapFree: +* @map: the ns-map +* +* Frees the ns-map +*/ +static void +xmlDOMWrapNsMapFree(xmlNsMapPtr nsmap) +{ + xmlNsMapItemPtr cur, tmp; + + if (nsmap == NULL) + return; + cur = nsmap->pool; + while (cur != NULL) { + tmp = cur; + cur = cur->next; + xmlFree(tmp); + } + cur = nsmap->first; + while (cur != NULL) { + tmp = cur; + cur = cur->next; + xmlFree(tmp); + } + xmlFree(nsmap); +} + +/* +* xmlDOMWrapNsMapAddItem: +* @map: the ns-map +* @oldNs: the old ns-struct +* @newNs: the new ns-struct +* @depth: depth and ns-kind information +* +* Adds an ns-mapping item. +*/ +static xmlNsMapItemPtr +xmlDOMWrapNsMapAddItem(xmlNsMapPtr *nsmap, int position, + xmlNsPtr oldNs, xmlNsPtr newNs, int depth) +{ + xmlNsMapItemPtr ret; + xmlNsMapPtr map; + + if (nsmap == NULL) + return(NULL); + if ((position != -1) && (position != 0)) + return(NULL); + map = *nsmap; + + if (map == NULL) { + /* + * Create the ns-map. + */ + map = (xmlNsMapPtr) xmlMalloc(sizeof(struct xmlNsMap)); + if (map == NULL) { + xmlTreeErrMemory("allocating namespace map"); + return (NULL); + } + memset(map, 0, sizeof(struct xmlNsMap)); + *nsmap = map; + } + + if (map->pool != NULL) { + /* + * Reuse an item from the pool. + */ + ret = map->pool; + map->pool = ret->next; + memset(ret, 0, sizeof(struct xmlNsMapItem)); + } else { + /* + * Create a new item. + */ + ret = (xmlNsMapItemPtr) xmlMalloc(sizeof(struct xmlNsMapItem)); + if (ret == NULL) { + xmlTreeErrMemory("allocating namespace map item"); + return (NULL); + } + memset(ret, 0, sizeof(struct xmlNsMapItem)); + } + + if (map->first == NULL) { + /* + * First ever. + */ + map->first = ret; + map->last = ret; + } else if (position == -1) { + /* + * Append. + */ + ret->prev = map->last; + map->last->next = ret; + map->last = ret; + } else if (position == 0) { + /* + * Set on first position. + */ + map->first->prev = ret; + ret->next = map->first; + map->first = ret; + } + + ret->oldNs = oldNs; + ret->newNs = newNs; + ret->shadowDepth = -1; + ret->depth = depth; + return (ret); +} + +/* +* xmlDOMWrapStoreNs: +* @doc: the doc +* @nsName: the namespace name +* @prefix: the prefix +* +* Creates or reuses an xmlNs struct on doc->oldNs with +* the given prefix and namespace name. +* +* Returns the acquired ns struct or NULL in case of an API +* or internal error. +*/ +static xmlNsPtr +xmlDOMWrapStoreNs(xmlDocPtr doc, + const xmlChar *nsName, + const xmlChar *prefix) +{ + xmlNsPtr ns; + + if (doc == NULL) + return (NULL); + ns = xmlTreeEnsureXMLDecl(doc); + if (ns == NULL) + return (NULL); + if (ns->next != NULL) { + /* Reuse. */ + ns = ns->next; + while (ns != NULL) { + if (((ns->prefix == prefix) || + xmlStrEqual(ns->prefix, prefix)) && + xmlStrEqual(ns->href, nsName)) { + return (ns); + } + if (ns->next == NULL) + break; + ns = ns->next; + } + } + /* Create. */ + if (ns != NULL) { + ns->next = xmlNewNs(NULL, nsName, prefix); + return (ns->next); + } + return(NULL); +} + +/* +* xmlDOMWrapNewCtxt: +* +* Allocates and initializes a new DOM-wrapper context. +* +* Returns the xmlDOMWrapCtxtPtr or NULL in case of an internal error. +*/ +xmlDOMWrapCtxtPtr +xmlDOMWrapNewCtxt(void) +{ + xmlDOMWrapCtxtPtr ret; + + ret = xmlMalloc(sizeof(xmlDOMWrapCtxt)); + if (ret == NULL) { + xmlTreeErrMemory("allocating DOM-wrapper context"); + return (NULL); + } + memset(ret, 0, sizeof(xmlDOMWrapCtxt)); + return (ret); +} + +/* +* xmlDOMWrapFreeCtxt: +* @ctxt: the DOM-wrapper context +* +* Frees the DOM-wrapper context. +*/ +void +xmlDOMWrapFreeCtxt(xmlDOMWrapCtxtPtr ctxt) +{ + if (ctxt == NULL) + return; + if (ctxt->namespaceMap != NULL) + xmlDOMWrapNsMapFree((xmlNsMapPtr) ctxt->namespaceMap); + /* + * TODO: Store the namespace map in the context. + */ + xmlFree(ctxt); +} + +/* +* xmlTreeLookupNsListByPrefix: +* @nsList: a list of ns-structs +* @prefix: the searched prefix +* +* Searches for a ns-decl with the given prefix in @nsList. +* +* Returns the ns-decl if found, NULL if not found and on +* API errors. +*/ +static xmlNsPtr +xmlTreeNSListLookupByPrefix(xmlNsPtr nsList, const xmlChar *prefix) +{ + if (nsList == NULL) + return (NULL); + { + xmlNsPtr ns; + ns = nsList; + do { + if ((prefix == ns->prefix) || + xmlStrEqual(prefix, ns->prefix)) { + return (ns); + } + ns = ns->next; + } while (ns != NULL); + } + return (NULL); +} + +/* +* +* xmlDOMWrapNSNormGatherInScopeNs: +* @map: the namespace map +* @node: the node to start with +* +* Puts in-scope namespaces into the ns-map. +* +* Returns 0 on success, -1 on API or internal errors. +*/ +static int +xmlDOMWrapNSNormGatherInScopeNs(xmlNsMapPtr *map, + xmlNodePtr node) +{ + xmlNodePtr cur; + xmlNsPtr ns; + xmlNsMapItemPtr mi; + int shadowed; + + if ((map == NULL) || (*map != NULL)) + return (-1); + if ((node == NULL) || (node->type == XML_NAMESPACE_DECL)) + return (-1); + /* + * Get in-scope ns-decls of @parent. + */ + cur = node; + while ((cur != NULL) && (cur != (xmlNodePtr) cur->doc)) { + if (cur->type == XML_ELEMENT_NODE) { + if (cur->nsDef != NULL) { + ns = cur->nsDef; + do { + shadowed = 0; + if (XML_NSMAP_NOTEMPTY(*map)) { + /* + * Skip shadowed prefixes. + */ + XML_NSMAP_FOREACH(*map, mi) { + if ((ns->prefix == mi->newNs->prefix) || + xmlStrEqual(ns->prefix, mi->newNs->prefix)) { + shadowed = 1; + break; + } + } + } + /* + * Insert mapping. + */ + mi = xmlDOMWrapNsMapAddItem(map, 0, NULL, + ns, XML_TREE_NSMAP_PARENT); + if (mi == NULL) + return (-1); + if (shadowed) + mi->shadowDepth = 0; + ns = ns->next; + } while (ns != NULL); + } + } + cur = cur->parent; + } + return (0); +} + +/* +* XML_TREE_ADOPT_STR: If we have a dest-dict, put @str in the dict; +* otherwise copy it, when it was in the source-dict. +*/ +#define XML_TREE_ADOPT_STR(str) \ + if (adoptStr && (str != NULL)) { \ + if (destDoc->dict) { \ + const xmlChar *old = str; \ + str = xmlDictLookup(destDoc->dict, str, -1); \ + if ((sourceDoc == NULL) || (sourceDoc->dict == NULL) || \ + (!xmlDictOwns(sourceDoc->dict, old))) \ + xmlFree((char *)old); \ + } else if ((sourceDoc) && (sourceDoc->dict) && \ + xmlDictOwns(sourceDoc->dict, str)) { \ + str = BAD_CAST xmlStrdup(str); \ + } \ + } + +/* +* XML_TREE_ADOPT_STR_2: If @str was in the source-dict, then +* put it in dest-dict or copy it. +*/ +#define XML_TREE_ADOPT_STR_2(str) \ + if (adoptStr && (str != NULL) && (sourceDoc != NULL) && \ + (sourceDoc->dict != NULL) && \ + xmlDictOwns(sourceDoc->dict, cur->content)) { \ + if (destDoc->dict) \ + cur->content = (xmlChar *) \ + xmlDictLookup(destDoc->dict, cur->content, -1); \ + else \ + cur->content = xmlStrdup(BAD_CAST cur->content); \ + } + +/* +* xmlDOMWrapNSNormAddNsMapItem2: +* +* For internal use. Adds a ns-decl mapping. +* +* Returns 0 on success, -1 on internal errors. +*/ +static int +xmlDOMWrapNSNormAddNsMapItem2(xmlNsPtr **list, int *size, int *number, + xmlNsPtr oldNs, xmlNsPtr newNs) +{ + if (*list == NULL) { + *list = (xmlNsPtr *) xmlMalloc(6 * sizeof(xmlNsPtr)); + if (*list == NULL) { + xmlTreeErrMemory("alloc ns map item"); + return(-1); + } + *size = 3; + *number = 0; + } else if ((*number) >= (*size)) { + *size *= 2; + *list = (xmlNsPtr *) xmlRealloc(*list, + (*size) * 2 * sizeof(xmlNsPtr)); + if (*list == NULL) { + xmlTreeErrMemory("realloc ns map item"); + return(-1); + } + } + (*list)[2 * (*number)] = oldNs; + (*list)[2 * (*number) +1] = newNs; + (*number)++; + return (0); +} + +/* +* xmlDOMWrapRemoveNode: +* @ctxt: a DOM wrapper context +* @doc: the doc +* @node: the node to be removed. +* @options: set of options, unused at the moment +* +* Unlinks the given node from its owner. +* This will substitute ns-references to node->nsDef for +* ns-references to doc->oldNs, thus ensuring the removed +* branch to be autark wrt ns-references. +* +* NOTE: This function was not intensively tested. +* +* Returns 0 on success, 1 if the node is not supported, +* -1 on API and internal errors. +*/ +int +xmlDOMWrapRemoveNode(xmlDOMWrapCtxtPtr ctxt, xmlDocPtr doc, + xmlNodePtr node, int options ATTRIBUTE_UNUSED) +{ + xmlNsPtr *list = NULL; + int sizeList, nbList, i, j; + xmlNsPtr ns; + + if ((node == NULL) || (doc == NULL) || (node->doc != doc)) + return (-1); + + /* TODO: 0 or -1 ? */ + if (node->parent == NULL) + return (0); + + switch (node->type) { + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + case XML_ENTITY_REF_NODE: + case XML_PI_NODE: + case XML_COMMENT_NODE: + xmlUnlinkNode(node); + return (0); + case XML_ELEMENT_NODE: + case XML_ATTRIBUTE_NODE: + break; + default: + return (1); + } + xmlUnlinkNode(node); + /* + * Save out-of-scope ns-references in doc->oldNs. + */ + do { + switch (node->type) { + case XML_ELEMENT_NODE: + if ((ctxt == NULL) && (node->nsDef != NULL)) { + ns = node->nsDef; + do { + if (xmlDOMWrapNSNormAddNsMapItem2(&list, &sizeList, + &nbList, ns, ns) == -1) + goto internal_error; + ns = ns->next; + } while (ns != NULL); + } + /* Falls through. */ + case XML_ATTRIBUTE_NODE: + if (node->ns != NULL) { + /* + * Find a mapping. + */ + if (list != NULL) { + for (i = 0, j = 0; i < nbList; i++, j += 2) { + if (node->ns == list[j]) { + node->ns = list[++j]; + goto next_node; + } + } + } + ns = NULL; + if (ctxt != NULL) { + /* + * User defined. + */ + } else { + /* + * Add to doc's oldNs. + */ + ns = xmlDOMWrapStoreNs(doc, node->ns->href, + node->ns->prefix); + if (ns == NULL) + goto internal_error; + } + if (ns != NULL) { + /* + * Add mapping. + */ + if (xmlDOMWrapNSNormAddNsMapItem2(&list, &sizeList, + &nbList, node->ns, ns) == -1) + goto internal_error; + } + node->ns = ns; + } + if ((node->type == XML_ELEMENT_NODE) && + (node->properties != NULL)) { + node = (xmlNodePtr) node->properties; + continue; + } + break; + default: + goto next_sibling; + } +next_node: + if ((node->type == XML_ELEMENT_NODE) && + (node->children != NULL)) { + node = node->children; + continue; + } +next_sibling: + if (node == NULL) + break; + if (node->next != NULL) + node = node->next; + else { + node = node->parent; + goto next_sibling; + } + } while (node != NULL); + + if (list != NULL) + xmlFree(list); + return (0); + +internal_error: + if (list != NULL) + xmlFree(list); + return (-1); +} + +/* +* xmlSearchNsByNamespaceStrict: +* @doc: the document +* @node: the start node +* @nsName: the searched namespace name +* @retNs: the resulting ns-decl +* @prefixed: if the found ns-decl must have a prefix (for attributes) +* +* Dynamically searches for a ns-declaration which matches +* the given @nsName in the ancestor-or-self axis of @node. +* +* Returns 1 if a ns-decl was found, 0 if not and -1 on API +* and internal errors. +*/ +static int +xmlSearchNsByNamespaceStrict(xmlDocPtr doc, xmlNodePtr node, + const xmlChar* nsName, + xmlNsPtr *retNs, int prefixed) +{ + xmlNodePtr cur, prev = NULL, out = NULL; + xmlNsPtr ns, prevns; + + if ((doc == NULL) || (nsName == NULL) || (retNs == NULL)) + return (-1); + if ((node == NULL) || (node->type == XML_NAMESPACE_DECL)) + return(-1); + + *retNs = NULL; + if (xmlStrEqual(nsName, XML_XML_NAMESPACE)) { + *retNs = xmlTreeEnsureXMLDecl(doc); + if (*retNs == NULL) + return (-1); + return (1); + } + cur = node; + do { + if (cur->type == XML_ELEMENT_NODE) { + if (cur->nsDef != NULL) { + for (ns = cur->nsDef; ns != NULL; ns = ns->next) { + if (prefixed && (ns->prefix == NULL)) + continue; + if (prev != NULL) { + /* + * Check the last level of ns-decls for a + * shadowing prefix. + */ + prevns = prev->nsDef; + do { + if ((prevns->prefix == ns->prefix) || + ((prevns->prefix != NULL) && + (ns->prefix != NULL) && + xmlStrEqual(prevns->prefix, ns->prefix))) { + /* + * Shadowed. + */ + break; + } + prevns = prevns->next; + } while (prevns != NULL); + if (prevns != NULL) + continue; + } + /* + * Ns-name comparison. + */ + if ((nsName == ns->href) || + xmlStrEqual(nsName, ns->href)) { + /* + * At this point the prefix can only be shadowed, + * if we are the the (at least) 3rd level of + * ns-decls. + */ + if (out) { + int ret; + + ret = xmlNsInScope(doc, node, prev, ns->prefix); + if (ret < 0) + return (-1); + /* + * TODO: Should we try to find a matching ns-name + * only once? This here keeps on searching. + * I think we should try further since, there might + * be an other matching ns-decl with an unshadowed + * prefix. + */ + if (! ret) + continue; + } + *retNs = ns; + return (1); + } + } + out = prev; + prev = cur; + } + } else if ((cur->type == XML_ENTITY_NODE) || + (cur->type == XML_ENTITY_DECL)) + return (0); + cur = cur->parent; + } while ((cur != NULL) && (cur->doc != (xmlDocPtr) cur)); + return (0); +} + +/* +* xmlSearchNsByPrefixStrict: +* @doc: the document +* @node: the start node +* @prefix: the searched namespace prefix +* @retNs: the resulting ns-decl +* +* Dynamically searches for a ns-declaration which matches +* the given @nsName in the ancestor-or-self axis of @node. +* +* Returns 1 if a ns-decl was found, 0 if not and -1 on API +* and internal errors. +*/ +static int +xmlSearchNsByPrefixStrict(xmlDocPtr doc, xmlNodePtr node, + const xmlChar* prefix, + xmlNsPtr *retNs) +{ + xmlNodePtr cur; + xmlNsPtr ns; + + if ((doc == NULL) || (node == NULL) || (node->type == XML_NAMESPACE_DECL)) + return(-1); + + if (retNs) + *retNs = NULL; + if (IS_STR_XML(prefix)) { + if (retNs) { + *retNs = xmlTreeEnsureXMLDecl(doc); + if (*retNs == NULL) + return (-1); + } + return (1); + } + cur = node; + do { + if (cur->type == XML_ELEMENT_NODE) { + if (cur->nsDef != NULL) { + ns = cur->nsDef; + do { + if ((prefix == ns->prefix) || + xmlStrEqual(prefix, ns->prefix)) + { + /* + * Disabled namespaces, e.g. xmlns:abc="". + */ + if (ns->href == NULL) + return(0); + if (retNs) + *retNs = ns; + return (1); + } + ns = ns->next; + } while (ns != NULL); + } + } else if ((cur->type == XML_ENTITY_NODE) || + (cur->type == XML_ENTITY_DECL)) + return (0); + cur = cur->parent; + } while ((cur != NULL) && (cur->doc != (xmlDocPtr) cur)); + return (0); +} + +/* +* xmlDOMWrapNSNormDeclareNsForced: +* @doc: the doc +* @elem: the element-node to declare on +* @nsName: the namespace-name of the ns-decl +* @prefix: the preferred prefix of the ns-decl +* @checkShadow: ensure that the new ns-decl doesn't shadow ancestor ns-decls +* +* Declares a new namespace on @elem. It tries to use the +* given @prefix; if a ns-decl with the given prefix is already existent +* on @elem, it will generate an other prefix. +* +* Returns 1 if a ns-decl was found, 0 if not and -1 on API +* and internal errors. +*/ +static xmlNsPtr +xmlDOMWrapNSNormDeclareNsForced(xmlDocPtr doc, + xmlNodePtr elem, + const xmlChar *nsName, + const xmlChar *prefix, + int checkShadow) +{ + + xmlNsPtr ret; + char buf[50]; + const xmlChar *pref; + int counter = 0; + + if ((doc == NULL) || (elem == NULL) || (elem->type != XML_ELEMENT_NODE)) + return(NULL); + /* + * Create a ns-decl on @anchor. + */ + pref = prefix; + while (1) { + /* + * Lookup whether the prefix is unused in elem's ns-decls. + */ + if ((elem->nsDef != NULL) && + (xmlTreeNSListLookupByPrefix(elem->nsDef, pref) != NULL)) + goto ns_next_prefix; + if (checkShadow && elem->parent && + ((xmlNodePtr) elem->parent->doc != elem->parent)) { + /* + * Does it shadow ancestor ns-decls? + */ + if (xmlSearchNsByPrefixStrict(doc, elem->parent, pref, NULL) == 1) + goto ns_next_prefix; + } + ret = xmlNewNs(NULL, nsName, pref); + if (ret == NULL) + return (NULL); + if (elem->nsDef == NULL) + elem->nsDef = ret; + else { + xmlNsPtr ns2 = elem->nsDef; + while (ns2->next != NULL) + ns2 = ns2->next; + ns2->next = ret; + } + return (ret); +ns_next_prefix: + counter++; + if (counter > 1000) + return (NULL); + if (prefix == NULL) { + snprintf((char *) buf, sizeof(buf), + "ns_%d", counter); + } else + snprintf((char *) buf, sizeof(buf), + "%.30s_%d", (char *)prefix, counter); + pref = BAD_CAST buf; + } +} + +/* +* xmlDOMWrapNSNormAcquireNormalizedNs: +* @doc: the doc +* @elem: the element-node to declare namespaces on +* @ns: the ns-struct to use for the search +* @retNs: the found/created ns-struct +* @nsMap: the ns-map +* @depth: the current tree depth +* @ancestorsOnly: search in ancestor ns-decls only +* @prefixed: if the searched ns-decl must have a prefix (for attributes) +* +* Searches for a matching ns-name in the ns-decls of @nsMap, if not +* found it will either declare it on @elem, or store it in doc->oldNs. +* If a new ns-decl needs to be declared on @elem, it tries to use the +* @ns->prefix for it, if this prefix is already in use on @elem, it will +* change the prefix or the new ns-decl. +* +* Returns 0 if succeeded, -1 otherwise and on API/internal errors. +*/ +static int +xmlDOMWrapNSNormAcquireNormalizedNs(xmlDocPtr doc, + xmlNodePtr elem, + xmlNsPtr ns, + xmlNsPtr *retNs, + xmlNsMapPtr *nsMap, + + int depth, + int ancestorsOnly, + int prefixed) +{ + xmlNsMapItemPtr mi; + + if ((doc == NULL) || (ns == NULL) || (retNs == NULL) || + (nsMap == NULL)) + return (-1); + + *retNs = NULL; + /* + * Handle XML namespace. + */ + if (IS_STR_XML(ns->prefix)) { + /* + * Insert XML namespace mapping. + */ + *retNs = xmlTreeEnsureXMLDecl(doc); + if (*retNs == NULL) + return (-1); + return (0); + } + /* + * If the search should be done in ancestors only and no + * @elem (the first ancestor) was specified, then skip the search. + */ + if ((XML_NSMAP_NOTEMPTY(*nsMap)) && + (! (ancestorsOnly && (elem == NULL)))) + { + /* + * Try to find an equal ns-name in in-scope ns-decls. + */ + XML_NSMAP_FOREACH(*nsMap, mi) { + if ((mi->depth >= XML_TREE_NSMAP_PARENT) && + /* + * ancestorsOnly: This should be turned on to gain speed, + * if one knows that the branch itself was already + * ns-wellformed and no stale references existed. + * I.e. it searches in the ancestor axis only. + */ + ((! ancestorsOnly) || (mi->depth == XML_TREE_NSMAP_PARENT)) && + /* Skip shadowed prefixes. */ + (mi->shadowDepth == -1) && + /* Skip xmlns="" or xmlns:foo="". */ + ((mi->newNs->href != NULL) && + (mi->newNs->href[0] != 0)) && + /* Ensure a prefix if wanted. */ + ((! prefixed) || (mi->newNs->prefix != NULL)) && + /* Equal ns name */ + ((mi->newNs->href == ns->href) || + xmlStrEqual(mi->newNs->href, ns->href))) { + /* Set the mapping. */ + mi->oldNs = ns; + *retNs = mi->newNs; + return (0); + } + } + } + /* + * No luck, the namespace is out of scope or shadowed. + */ + if (elem == NULL) { + xmlNsPtr tmpns; + + /* + * Store ns-decls in "oldNs" of the document-node. + */ + tmpns = xmlDOMWrapStoreNs(doc, ns->href, ns->prefix); + if (tmpns == NULL) + return (-1); + /* + * Insert mapping. + */ + if (xmlDOMWrapNsMapAddItem(nsMap, -1, ns, + tmpns, XML_TREE_NSMAP_DOC) == NULL) { + xmlFreeNs(tmpns); + return (-1); + } + *retNs = tmpns; + } else { + xmlNsPtr tmpns; + + tmpns = xmlDOMWrapNSNormDeclareNsForced(doc, elem, ns->href, + ns->prefix, 0); + if (tmpns == NULL) + return (-1); + + if (*nsMap != NULL) { + /* + * Does it shadow ancestor ns-decls? + */ + XML_NSMAP_FOREACH(*nsMap, mi) { + if ((mi->depth < depth) && + (mi->shadowDepth == -1) && + ((ns->prefix == mi->newNs->prefix) || + xmlStrEqual(ns->prefix, mi->newNs->prefix))) { + /* + * Shadows. + */ + mi->shadowDepth = depth; + break; + } + } + } + if (xmlDOMWrapNsMapAddItem(nsMap, -1, ns, tmpns, depth) == NULL) { + xmlFreeNs(tmpns); + return (-1); + } + *retNs = tmpns; + } + return (0); +} + +typedef enum { + XML_DOM_RECONNS_REMOVEREDUND = 1<<0 +} xmlDOMReconcileNSOptions; + +/* +* xmlDOMWrapReconcileNamespaces: +* @ctxt: DOM wrapper context, unused at the moment +* @elem: the element-node +* @options: option flags +* +* Ensures that ns-references point to ns-decls hold on element-nodes. +* Ensures that the tree is namespace wellformed by creating additional +* ns-decls where needed. Note that, since prefixes of already existent +* ns-decls can be shadowed by this process, it could break QNames in +* attribute values or element content. +* +* NOTE: This function was not intensively tested. +* +* Returns 0 if succeeded, -1 otherwise and on API/internal errors. +*/ + +int +xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt ATTRIBUTE_UNUSED, + xmlNodePtr elem, + int options) +{ + int depth = -1, adoptns = 0, parnsdone = 0; + xmlNsPtr ns, prevns; + xmlDocPtr doc; + xmlNodePtr cur, curElem = NULL; + xmlNsMapPtr nsMap = NULL; + xmlNsMapItemPtr /* topmi = NULL, */ mi; + /* @ancestorsOnly should be set by an option flag. */ + int ancestorsOnly = 0; + int optRemoveRedundantNS = + ((xmlDOMReconcileNSOptions) options & XML_DOM_RECONNS_REMOVEREDUND) ? 1 : 0; + xmlNsPtr *listRedund = NULL; + int sizeRedund = 0, nbRedund = 0, ret, i, j; + + if ((elem == NULL) || (elem->doc == NULL) || + (elem->type != XML_ELEMENT_NODE)) + return (-1); + + doc = elem->doc; + cur = elem; + do { + switch (cur->type) { + case XML_ELEMENT_NODE: + adoptns = 1; + curElem = cur; + depth++; + /* + * Namespace declarations. + */ + if (cur->nsDef != NULL) { + prevns = NULL; + ns = cur->nsDef; + while (ns != NULL) { + if (! parnsdone) { + if ((elem->parent) && + ((xmlNodePtr) elem->parent->doc != elem->parent)) { + /* + * Gather ancestor in-scope ns-decls. + */ + if (xmlDOMWrapNSNormGatherInScopeNs(&nsMap, + elem->parent) == -1) + goto internal_error; + } + parnsdone = 1; + } + + /* + * Lookup the ns ancestor-axis for equal ns-decls in scope. + */ + if (optRemoveRedundantNS && XML_NSMAP_NOTEMPTY(nsMap)) { + XML_NSMAP_FOREACH(nsMap, mi) { + if ((mi->depth >= XML_TREE_NSMAP_PARENT) && + (mi->shadowDepth == -1) && + ((ns->prefix == mi->newNs->prefix) || + xmlStrEqual(ns->prefix, mi->newNs->prefix)) && + ((ns->href == mi->newNs->href) || + xmlStrEqual(ns->href, mi->newNs->href))) + { + /* + * A redundant ns-decl was found. + * Add it to the list of redundant ns-decls. + */ + if (xmlDOMWrapNSNormAddNsMapItem2(&listRedund, + &sizeRedund, &nbRedund, ns, mi->newNs) == -1) + goto internal_error; + /* + * Remove the ns-decl from the element-node. + */ + if (prevns) + prevns->next = ns->next; + else + cur->nsDef = ns->next; + goto next_ns_decl; + } + } + } + + /* + * Skip ns-references handling if the referenced + * ns-decl is declared on the same element. + */ + if ((cur->ns != NULL) && adoptns && (cur->ns == ns)) + adoptns = 0; + /* + * Does it shadow any ns-decl? + */ + if (XML_NSMAP_NOTEMPTY(nsMap)) { + XML_NSMAP_FOREACH(nsMap, mi) { + if ((mi->depth >= XML_TREE_NSMAP_PARENT) && + (mi->shadowDepth == -1) && + ((ns->prefix == mi->newNs->prefix) || + xmlStrEqual(ns->prefix, mi->newNs->prefix))) { + + mi->shadowDepth = depth; + } + } + } + /* + * Push mapping. + */ + if (xmlDOMWrapNsMapAddItem(&nsMap, -1, ns, ns, + depth) == NULL) + goto internal_error; + + prevns = ns; +next_ns_decl: + ns = ns->next; + } + } + if (! adoptns) + goto ns_end; + /* Falls through. */ + case XML_ATTRIBUTE_NODE: + /* No ns, no fun. */ + if (cur->ns == NULL) + goto ns_end; + + if (! parnsdone) { + if ((elem->parent) && + ((xmlNodePtr) elem->parent->doc != elem->parent)) { + if (xmlDOMWrapNSNormGatherInScopeNs(&nsMap, + elem->parent) == -1) + goto internal_error; + } + parnsdone = 1; + } + /* + * Adjust the reference if this was a redundant ns-decl. + */ + if (listRedund) { + for (i = 0, j = 0; i < nbRedund; i++, j += 2) { + if (cur->ns == listRedund[j]) { + cur->ns = listRedund[++j]; + break; + } + } + } + /* + * Adopt ns-references. + */ + if (XML_NSMAP_NOTEMPTY(nsMap)) { + /* + * Search for a mapping. + */ + XML_NSMAP_FOREACH(nsMap, mi) { + if ((mi->shadowDepth == -1) && + (cur->ns == mi->oldNs)) { + + cur->ns = mi->newNs; + goto ns_end; + } + } + } + /* + * Acquire a normalized ns-decl and add it to the map. + */ + if (xmlDOMWrapNSNormAcquireNormalizedNs(doc, curElem, + cur->ns, &ns, + &nsMap, depth, + ancestorsOnly, + (cur->type == XML_ATTRIBUTE_NODE) ? 1 : 0) == -1) + goto internal_error; + cur->ns = ns; + +ns_end: + if ((cur->type == XML_ELEMENT_NODE) && + (cur->properties != NULL)) { + /* + * Process attributes. + */ + cur = (xmlNodePtr) cur->properties; + continue; + } + break; + default: + goto next_sibling; + } +into_content: + if ((cur->type == XML_ELEMENT_NODE) && + (cur->children != NULL)) { + /* + * Process content of element-nodes only. + */ + cur = cur->children; + continue; + } +next_sibling: + if (cur == elem) + break; + if (cur->type == XML_ELEMENT_NODE) { + if (XML_NSMAP_NOTEMPTY(nsMap)) { + /* + * Pop mappings. + */ + while ((nsMap->last != NULL) && + (nsMap->last->depth >= depth)) + { + XML_NSMAP_POP(nsMap, mi) + } + /* + * Unshadow. + */ + XML_NSMAP_FOREACH(nsMap, mi) { + if (mi->shadowDepth >= depth) + mi->shadowDepth = -1; + } + } + depth--; + } + if (cur->next != NULL) + cur = cur->next; + else { + if (cur->type == XML_ATTRIBUTE_NODE) { + cur = cur->parent; + goto into_content; + } + cur = cur->parent; + goto next_sibling; + } + } while (cur != NULL); + + ret = 0; + goto exit; +internal_error: + ret = -1; +exit: + if (listRedund) { + for (i = 0, j = 0; i < nbRedund; i++, j += 2) { + xmlFreeNs(listRedund[j]); + } + xmlFree(listRedund); + } + if (nsMap != NULL) + xmlDOMWrapNsMapFree(nsMap); + return (ret); +} + +/* +* xmlDOMWrapAdoptBranch: +* @ctxt: the optional context for custom processing +* @sourceDoc: the optional sourceDoc +* @node: the element-node to start with +* @destDoc: the destination doc for adoption +* @destParent: the optional new parent of @node in @destDoc +* @options: option flags +* +* Ensures that ns-references point to @destDoc: either to +* elements->nsDef entries if @destParent is given, or to +* @destDoc->oldNs otherwise. +* If @destParent is given, it ensures that the tree is namespace +* wellformed by creating additional ns-decls where needed. +* Note that, since prefixes of already existent ns-decls can be +* shadowed by this process, it could break QNames in attribute +* values or element content. +* +* NOTE: This function was not intensively tested. +* +* Returns 0 if succeeded, -1 otherwise and on API/internal errors. +*/ +static int +xmlDOMWrapAdoptBranch(xmlDOMWrapCtxtPtr ctxt, + xmlDocPtr sourceDoc, + xmlNodePtr node, + xmlDocPtr destDoc, + xmlNodePtr destParent, + int options ATTRIBUTE_UNUSED) +{ + int ret = 0; + xmlNodePtr cur, curElem = NULL; + xmlNsMapPtr nsMap = NULL; + xmlNsMapItemPtr mi; + xmlNsPtr ns = NULL; + int depth = -1, adoptStr = 1; + /* gather @parent's ns-decls. */ + int parnsdone; + /* @ancestorsOnly should be set per option. */ + int ancestorsOnly = 0; + + /* + * Optimize string adoption for equal or none dicts. + */ + if ((sourceDoc != NULL) && + (sourceDoc->dict == destDoc->dict)) + adoptStr = 0; + else + adoptStr = 1; + + /* + * Get the ns-map from the context if available. + */ + if (ctxt) + nsMap = (xmlNsMapPtr) ctxt->namespaceMap; + /* + * Disable search for ns-decls in the parent-axis of the + * destination element, if: + * 1) there's no destination parent + * 2) custom ns-reference handling is used + */ + if ((destParent == NULL) || + (ctxt && ctxt->getNsForNodeFunc)) + { + parnsdone = 1; + } else + parnsdone = 0; + + cur = node; + if ((cur != NULL) && (cur->type == XML_NAMESPACE_DECL)) + goto internal_error; + + while (cur != NULL) { + /* + * Paranoid source-doc sanity check. + */ + if (cur->doc != sourceDoc) { + /* + * We'll assume XIncluded nodes if the doc differs. + * TODO: Do we need to reconciliate XIncluded nodes? + * This here skips XIncluded nodes and tries to handle + * broken sequences. + */ + if (cur->next == NULL) + goto leave_node; + do { + cur = cur->next; + if ((cur->type == XML_XINCLUDE_END) || + (cur->doc == node->doc)) + break; + } while (cur->next != NULL); + + if (cur->doc != node->doc) + goto leave_node; + } + cur->doc = destDoc; + switch (cur->type) { + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: + /* + * TODO + */ + return (-1); + case XML_ELEMENT_NODE: + curElem = cur; + depth++; + /* + * Namespace declarations. + * - ns->href and ns->prefix are never in the dict, so + * we need not move the values over to the destination dict. + * - Note that for custom handling of ns-references, + * the ns-decls need not be stored in the ns-map, + * since they won't be referenced by node->ns. + */ + if ((cur->nsDef) && + ((ctxt == NULL) || (ctxt->getNsForNodeFunc == NULL))) + { + if (! parnsdone) { + /* + * Gather @parent's in-scope ns-decls. + */ + if (xmlDOMWrapNSNormGatherInScopeNs(&nsMap, + destParent) == -1) + goto internal_error; + parnsdone = 1; + } + for (ns = cur->nsDef; ns != NULL; ns = ns->next) { + /* + * NOTE: ns->prefix and ns->href are never in the dict. + * XML_TREE_ADOPT_STR(ns->prefix) + * XML_TREE_ADOPT_STR(ns->href) + */ + /* + * Does it shadow any ns-decl? + */ + if (XML_NSMAP_NOTEMPTY(nsMap)) { + XML_NSMAP_FOREACH(nsMap, mi) { + if ((mi->depth >= XML_TREE_NSMAP_PARENT) && + (mi->shadowDepth == -1) && + ((ns->prefix == mi->newNs->prefix) || + xmlStrEqual(ns->prefix, + mi->newNs->prefix))) { + + mi->shadowDepth = depth; + } + } + } + /* + * Push mapping. + */ + if (xmlDOMWrapNsMapAddItem(&nsMap, -1, + ns, ns, depth) == NULL) + goto internal_error; + } + } + /* Falls through. */ + case XML_ATTRIBUTE_NODE: + /* No namespace, no fun. */ + if (cur->ns == NULL) + goto ns_end; + + if (! parnsdone) { + if (xmlDOMWrapNSNormGatherInScopeNs(&nsMap, + destParent) == -1) + goto internal_error; + parnsdone = 1; + } + /* + * Adopt ns-references. + */ + if (XML_NSMAP_NOTEMPTY(nsMap)) { + /* + * Search for a mapping. + */ + XML_NSMAP_FOREACH(nsMap, mi) { + if ((mi->shadowDepth == -1) && + (cur->ns == mi->oldNs)) { + + cur->ns = mi->newNs; + goto ns_end; + } + } + } + /* + * No matching namespace in scope. We need a new one. + */ + if ((ctxt) && (ctxt->getNsForNodeFunc)) { + /* + * User-defined behaviour. + */ + ns = ctxt->getNsForNodeFunc(ctxt, cur, + cur->ns->href, cur->ns->prefix); + /* + * Insert mapping if ns is available; it's the users fault + * if not. + */ + if (xmlDOMWrapNsMapAddItem(&nsMap, -1, + cur->ns, ns, XML_TREE_NSMAP_CUSTOM) == NULL) + goto internal_error; + cur->ns = ns; + } else { + /* + * Acquire a normalized ns-decl and add it to the map. + */ + if (xmlDOMWrapNSNormAcquireNormalizedNs(destDoc, + /* ns-decls on curElem or on destDoc->oldNs */ + destParent ? curElem : NULL, + cur->ns, &ns, + &nsMap, depth, + ancestorsOnly, + /* ns-decls must be prefixed for attributes. */ + (cur->type == XML_ATTRIBUTE_NODE) ? 1 : 0) == -1) + goto internal_error; + cur->ns = ns; + } +ns_end: + /* + * Further node properties. + * TODO: Is this all? + */ + XML_TREE_ADOPT_STR(cur->name) + if (cur->type == XML_ELEMENT_NODE) { + cur->psvi = NULL; + cur->line = 0; + cur->extra = 0; + /* + * Walk attributes. + */ + if (cur->properties != NULL) { + /* + * Process first attribute node. + */ + cur = (xmlNodePtr) cur->properties; + continue; + } + } else { + /* + * Attributes. + */ + if ((sourceDoc != NULL) && + (((xmlAttrPtr) cur)->atype == XML_ATTRIBUTE_ID)) + { + xmlRemoveID(sourceDoc, (xmlAttrPtr) cur); + } + ((xmlAttrPtr) cur)->atype = 0; + ((xmlAttrPtr) cur)->psvi = NULL; + } + break; + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + /* + * This puts the content in the dest dict, only if + * it was previously in the source dict. + */ + XML_TREE_ADOPT_STR_2(cur->content) + goto leave_node; + case XML_ENTITY_REF_NODE: + /* + * Remove reference to the entity-node. + */ + cur->content = NULL; + cur->children = NULL; + cur->last = NULL; + if ((destDoc->intSubset) || (destDoc->extSubset)) { + xmlEntityPtr ent; + /* + * Assign new entity-node if available. + */ + ent = xmlGetDocEntity(destDoc, cur->name); + if (ent != NULL) { + cur->content = ent->content; + cur->children = (xmlNodePtr) ent; + cur->last = (xmlNodePtr) ent; + } + } + goto leave_node; + case XML_PI_NODE: + XML_TREE_ADOPT_STR(cur->name) + XML_TREE_ADOPT_STR_2(cur->content) + break; + case XML_COMMENT_NODE: + break; + default: + goto internal_error; + } + /* + * Walk the tree. + */ + if (cur->children != NULL) { + cur = cur->children; + continue; + } + +leave_node: + if (cur == node) + break; + if ((cur->type == XML_ELEMENT_NODE) || + (cur->type == XML_XINCLUDE_START) || + (cur->type == XML_XINCLUDE_END)) + { + /* + * TODO: Do we expect nsDefs on XML_XINCLUDE_START? + */ + if (XML_NSMAP_NOTEMPTY(nsMap)) { + /* + * Pop mappings. + */ + while ((nsMap->last != NULL) && + (nsMap->last->depth >= depth)) + { + XML_NSMAP_POP(nsMap, mi) + } + /* + * Unshadow. + */ + XML_NSMAP_FOREACH(nsMap, mi) { + if (mi->shadowDepth >= depth) + mi->shadowDepth = -1; + } + } + depth--; + } + if (cur->next != NULL) + cur = cur->next; + else if ((cur->type == XML_ATTRIBUTE_NODE) && + (cur->parent->children != NULL)) + { + cur = cur->parent->children; + } else { + cur = cur->parent; + goto leave_node; + } + } + + goto exit; + +internal_error: + ret = -1; + +exit: + /* + * Cleanup. + */ + if (nsMap != NULL) { + if ((ctxt) && (ctxt->namespaceMap == nsMap)) { + /* + * Just cleanup the map but don't free. + */ + if (nsMap->first) { + if (nsMap->pool) + nsMap->last->next = nsMap->pool; + nsMap->pool = nsMap->first; + nsMap->first = NULL; + } + } else + xmlDOMWrapNsMapFree(nsMap); + } + return(ret); +} + +/* +* xmlDOMWrapCloneNode: +* @ctxt: the optional context for custom processing +* @sourceDoc: the optional sourceDoc +* @node: the node to start with +* @resNode: the clone of the given @node +* @destDoc: the destination doc +* @destParent: the optional new parent of @node in @destDoc +* @deep: descend into child if set +* @options: option flags +* +* References of out-of scope ns-decls are remapped to point to @destDoc: +* 1) If @destParent is given, then nsDef entries on element-nodes are used +* 2) If *no* @destParent is given, then @destDoc->oldNs entries are used. +* This is the case when you don't know already where the cloned branch +* will be added to. +* +* If @destParent is given, it ensures that the tree is namespace +* wellformed by creating additional ns-decls where needed. +* Note that, since prefixes of already existent ns-decls can be +* shadowed by this process, it could break QNames in attribute +* values or element content. +* TODO: +* 1) What to do with XInclude? Currently this returns an error for XInclude. +* +* Returns 0 if the operation succeeded, +* 1 if a node of unsupported (or not yet supported) type was given, +* -1 on API/internal errors. +*/ + +int +xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt, + xmlDocPtr sourceDoc, + xmlNodePtr node, + xmlNodePtr *resNode, + xmlDocPtr destDoc, + xmlNodePtr destParent, + int deep, + int options ATTRIBUTE_UNUSED) +{ + int ret = 0; + xmlNodePtr cur, curElem = NULL; + xmlNsMapPtr nsMap = NULL; + xmlNsMapItemPtr mi; + xmlNsPtr ns; + int depth = -1; + /* int adoptStr = 1; */ + /* gather @parent's ns-decls. */ + int parnsdone = 0; + /* + * @ancestorsOnly: + * TODO: @ancestorsOnly should be set per option. + * + */ + int ancestorsOnly = 0; + xmlNodePtr resultClone = NULL, clone = NULL, parentClone = NULL, prevClone = NULL; + xmlNsPtr cloneNs = NULL, *cloneNsDefSlot = NULL; + xmlDictPtr dict; /* The destination dict */ + + if ((node == NULL) || (resNode == NULL) || (destDoc == NULL)) + return(-1); + /* + * TODO: Initially we support only element-nodes. + */ + if (node->type != XML_ELEMENT_NODE) + return(1); + /* + * Check node->doc sanity. + */ + if ((node->doc != NULL) && (sourceDoc != NULL) && + (node->doc != sourceDoc)) { + /* + * Might be an XIncluded node. + */ + return (-1); + } + if (sourceDoc == NULL) + sourceDoc = node->doc; + if (sourceDoc == NULL) + return (-1); + + dict = destDoc->dict; + /* + * Reuse the namespace map of the context. + */ + if (ctxt) + nsMap = (xmlNsMapPtr) ctxt->namespaceMap; + + *resNode = NULL; + + cur = node; + if ((cur != NULL) && (cur->type == XML_NAMESPACE_DECL)) + return(-1); + + while (cur != NULL) { + if (cur->doc != sourceDoc) { + /* + * We'll assume XIncluded nodes if the doc differs. + * TODO: Do we need to reconciliate XIncluded nodes? + * TODO: This here returns -1 in this case. + */ + goto internal_error; + } + /* + * Create a new node. + */ + switch (cur->type) { + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: + /* + * TODO: What to do with XInclude? + */ + goto internal_error; + break; + case XML_ELEMENT_NODE: + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + case XML_COMMENT_NODE: + case XML_PI_NODE: + case XML_DOCUMENT_FRAG_NODE: + case XML_ENTITY_REF_NODE: + case XML_ENTITY_NODE: + /* + * Nodes of xmlNode structure. + */ + clone = (xmlNodePtr) xmlMalloc(sizeof(xmlNode)); + if (clone == NULL) { + xmlTreeErrMemory("xmlDOMWrapCloneNode(): allocating a node"); + goto internal_error; + } + memset(clone, 0, sizeof(xmlNode)); + /* + * Set hierarchical links. + */ + if (resultClone != NULL) { + clone->parent = parentClone; + if (prevClone) { + prevClone->next = clone; + clone->prev = prevClone; + } else + parentClone->children = clone; + } else + resultClone = clone; + + break; + case XML_ATTRIBUTE_NODE: + /* + * Attributes (xmlAttr). + */ + clone = (xmlNodePtr) xmlMalloc(sizeof(xmlAttr)); + if (clone == NULL) { + xmlTreeErrMemory("xmlDOMWrapCloneNode(): allocating an attr-node"); + goto internal_error; + } + memset(clone, 0, sizeof(xmlAttr)); + /* + * Set hierarchical links. + * TODO: Change this to add to the end of attributes. + */ + if (resultClone != NULL) { + clone->parent = parentClone; + if (prevClone) { + prevClone->next = clone; + clone->prev = prevClone; + } else + parentClone->properties = (xmlAttrPtr) clone; + } else + resultClone = clone; + break; + default: + /* + * TODO QUESTION: Any other nodes expected? + */ + goto internal_error; + } + + clone->type = cur->type; + clone->doc = destDoc; + + /* + * Clone the name of the node if any. + */ + if (cur->name == xmlStringText) + clone->name = xmlStringText; + else if (cur->name == xmlStringTextNoenc) + /* + * NOTE: Although xmlStringTextNoenc is never assigned to a node + * in tree.c, it might be set in Libxslt via + * "xsl:disable-output-escaping". + */ + clone->name = xmlStringTextNoenc; + else if (cur->name == xmlStringComment) + clone->name = xmlStringComment; + else if (cur->name != NULL) { + DICT_CONST_COPY(cur->name, clone->name); + } + + switch (cur->type) { + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: + /* + * TODO + */ + return (-1); + case XML_ELEMENT_NODE: + curElem = cur; + depth++; + /* + * Namespace declarations. + */ + if (cur->nsDef != NULL) { + if (! parnsdone) { + if (destParent && (ctxt == NULL)) { + /* + * Gather @parent's in-scope ns-decls. + */ + if (xmlDOMWrapNSNormGatherInScopeNs(&nsMap, + destParent) == -1) + goto internal_error; + } + parnsdone = 1; + } + /* + * Clone namespace declarations. + */ + cloneNsDefSlot = &(clone->nsDef); + for (ns = cur->nsDef; ns != NULL; ns = ns->next) { + /* + * Create a new xmlNs. + */ + cloneNs = (xmlNsPtr) xmlMalloc(sizeof(xmlNs)); + if (cloneNs == NULL) { + xmlTreeErrMemory("xmlDOMWrapCloneNode(): " + "allocating namespace"); + return(-1); + } + memset(cloneNs, 0, sizeof(xmlNs)); + cloneNs->type = XML_LOCAL_NAMESPACE; + + if (ns->href != NULL) + cloneNs->href = xmlStrdup(ns->href); + if (ns->prefix != NULL) + cloneNs->prefix = xmlStrdup(ns->prefix); + + *cloneNsDefSlot = cloneNs; + cloneNsDefSlot = &(cloneNs->next); + + /* + * Note that for custom handling of ns-references, + * the ns-decls need not be stored in the ns-map, + * since they won't be referenced by node->ns. + */ + if ((ctxt == NULL) || + (ctxt->getNsForNodeFunc == NULL)) + { + /* + * Does it shadow any ns-decl? + */ + if (XML_NSMAP_NOTEMPTY(nsMap)) { + XML_NSMAP_FOREACH(nsMap, mi) { + if ((mi->depth >= XML_TREE_NSMAP_PARENT) && + (mi->shadowDepth == -1) && + ((ns->prefix == mi->newNs->prefix) || + xmlStrEqual(ns->prefix, + mi->newNs->prefix))) { + /* + * Mark as shadowed at the current + * depth. + */ + mi->shadowDepth = depth; + } + } + } + /* + * Push mapping. + */ + if (xmlDOMWrapNsMapAddItem(&nsMap, -1, + ns, cloneNs, depth) == NULL) + goto internal_error; + } + } + } + /* cur->ns will be processed further down. */ + break; + case XML_ATTRIBUTE_NODE: + /* IDs will be processed further down. */ + /* cur->ns will be processed further down. */ + break; + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + /* + * Note that this will also cover the values of attributes. + */ + DICT_COPY(cur->content, clone->content); + goto leave_node; + case XML_ENTITY_NODE: + /* TODO: What to do here? */ + goto leave_node; + case XML_ENTITY_REF_NODE: + if (sourceDoc != destDoc) { + if ((destDoc->intSubset) || (destDoc->extSubset)) { + xmlEntityPtr ent; + /* + * Different doc: Assign new entity-node if available. + */ + ent = xmlGetDocEntity(destDoc, cur->name); + if (ent != NULL) { + clone->content = ent->content; + clone->children = (xmlNodePtr) ent; + clone->last = (xmlNodePtr) ent; + } + } + } else { + /* + * Same doc: Use the current node's entity declaration + * and value. + */ + clone->content = cur->content; + clone->children = cur->children; + clone->last = cur->last; + } + goto leave_node; + case XML_PI_NODE: + DICT_COPY(cur->content, clone->content); + goto leave_node; + case XML_COMMENT_NODE: + DICT_COPY(cur->content, clone->content); + goto leave_node; + default: + goto internal_error; + } + + if (cur->ns == NULL) + goto end_ns_reference; + +/* handle_ns_reference: */ + /* + ** The following will take care of references to ns-decls ******** + ** and is intended only for element- and attribute-nodes. + ** + */ + if (! parnsdone) { + if (destParent && (ctxt == NULL)) { + if (xmlDOMWrapNSNormGatherInScopeNs(&nsMap, destParent) == -1) + goto internal_error; + } + parnsdone = 1; + } + /* + * Adopt ns-references. + */ + if (XML_NSMAP_NOTEMPTY(nsMap)) { + /* + * Search for a mapping. + */ + XML_NSMAP_FOREACH(nsMap, mi) { + if ((mi->shadowDepth == -1) && + (cur->ns == mi->oldNs)) { + /* + * This is the nice case: a mapping was found. + */ + clone->ns = mi->newNs; + goto end_ns_reference; + } + } + } + /* + * No matching namespace in scope. We need a new one. + */ + if ((ctxt != NULL) && (ctxt->getNsForNodeFunc != NULL)) { + /* + * User-defined behaviour. + */ + ns = ctxt->getNsForNodeFunc(ctxt, cur, + cur->ns->href, cur->ns->prefix); + /* + * Add user's mapping. + */ + if (xmlDOMWrapNsMapAddItem(&nsMap, -1, + cur->ns, ns, XML_TREE_NSMAP_CUSTOM) == NULL) + goto internal_error; + clone->ns = ns; + } else { + /* + * Acquire a normalized ns-decl and add it to the map. + */ + if (xmlDOMWrapNSNormAcquireNormalizedNs(destDoc, + /* ns-decls on curElem or on destDoc->oldNs */ + destParent ? curElem : NULL, + cur->ns, &ns, + &nsMap, depth, + /* if we need to search only in the ancestor-axis */ + ancestorsOnly, + /* ns-decls must be prefixed for attributes. */ + (cur->type == XML_ATTRIBUTE_NODE) ? 1 : 0) == -1) + goto internal_error; + clone->ns = ns; + } + +end_ns_reference: + + /* + * Some post-processing. + * + * Handle ID attributes. + */ + if ((clone->type == XML_ATTRIBUTE_NODE) && + (clone->parent != NULL)) + { + if (xmlIsID(destDoc, clone->parent, (xmlAttrPtr) clone)) { + + xmlChar *idVal; + + idVal = xmlNodeListGetString(cur->doc, cur->children, 1); + if (idVal != NULL) { + if (xmlAddID(NULL, destDoc, idVal, (xmlAttrPtr) cur) == NULL) { + /* TODO: error message. */ + xmlFree(idVal); + goto internal_error; + } + xmlFree(idVal); + } + } + } + /* + ** + ** The following will traverse the tree ************************** + ** + * + * Walk the element's attributes before descending into child-nodes. + */ + if ((cur->type == XML_ELEMENT_NODE) && (cur->properties != NULL)) { + prevClone = NULL; + parentClone = clone; + cur = (xmlNodePtr) cur->properties; + continue; + } +into_content: + /* + * Descend into child-nodes. + */ + if (cur->children != NULL) { + if (deep || (cur->type == XML_ATTRIBUTE_NODE)) { + prevClone = NULL; + parentClone = clone; + cur = cur->children; + continue; + } + } + +leave_node: + /* + * At this point we are done with the node, its content + * and an element-nodes's attribute-nodes. + */ + if (cur == node) + break; + if ((cur->type == XML_ELEMENT_NODE) || + (cur->type == XML_XINCLUDE_START) || + (cur->type == XML_XINCLUDE_END)) { + /* + * TODO: Do we expect nsDefs on XML_XINCLUDE_START? + */ + if (XML_NSMAP_NOTEMPTY(nsMap)) { + /* + * Pop mappings. + */ + while ((nsMap->last != NULL) && + (nsMap->last->depth >= depth)) + { + XML_NSMAP_POP(nsMap, mi) + } + /* + * Unshadow. + */ + XML_NSMAP_FOREACH(nsMap, mi) { + if (mi->shadowDepth >= depth) + mi->shadowDepth = -1; + } + } + depth--; + } + if (cur->next != NULL) { + prevClone = clone; + cur = cur->next; + } else if (cur->type != XML_ATTRIBUTE_NODE) { + /* + * Set clone->last. + */ + if (clone->parent != NULL) + clone->parent->last = clone; + clone = clone->parent; + if (clone != NULL) + parentClone = clone->parent; + /* + * Process parent --> next; + */ + cur = cur->parent; + goto leave_node; + } else { + /* This is for attributes only. */ + clone = clone->parent; + parentClone = clone->parent; + /* + * Process parent-element --> children. + */ + cur = cur->parent; + goto into_content; + } + } + goto exit; + +internal_error: + ret = -1; + +exit: + /* + * Cleanup. + */ + if (nsMap != NULL) { + if ((ctxt) && (ctxt->namespaceMap == nsMap)) { + /* + * Just cleanup the map but don't free. + */ + if (nsMap->first) { + if (nsMap->pool) + nsMap->last->next = nsMap->pool; + nsMap->pool = nsMap->first; + nsMap->first = NULL; + } + } else + xmlDOMWrapNsMapFree(nsMap); + } + /* + * TODO: Should we try a cleanup of the cloned node in case of a + * fatal error? + */ + *resNode = resultClone; + return (ret); +} + +/* +* xmlDOMWrapAdoptAttr: +* @ctxt: the optional context for custom processing +* @sourceDoc: the optional source document of attr +* @attr: the attribute-node to be adopted +* @destDoc: the destination doc for adoption +* @destParent: the optional new parent of @attr in @destDoc +* @options: option flags +* +* @attr is adopted by @destDoc. +* Ensures that ns-references point to @destDoc: either to +* elements->nsDef entries if @destParent is given, or to +* @destDoc->oldNs otherwise. +* +* Returns 0 if succeeded, -1 otherwise and on API/internal errors. +*/ +static int +xmlDOMWrapAdoptAttr(xmlDOMWrapCtxtPtr ctxt, + xmlDocPtr sourceDoc, + xmlAttrPtr attr, + xmlDocPtr destDoc, + xmlNodePtr destParent, + int options ATTRIBUTE_UNUSED) +{ + xmlNodePtr cur; + int adoptStr = 1; + + if ((attr == NULL) || (destDoc == NULL)) + return (-1); + + attr->doc = destDoc; + if (attr->ns != NULL) { + xmlNsPtr ns = NULL; + + if (ctxt != NULL) { + /* TODO: User defined. */ + } + /* XML Namespace. */ + if (IS_STR_XML(attr->ns->prefix)) { + ns = xmlTreeEnsureXMLDecl(destDoc); + } else if (destParent == NULL) { + /* + * Store in @destDoc->oldNs. + */ + ns = xmlDOMWrapStoreNs(destDoc, attr->ns->href, attr->ns->prefix); + } else { + /* + * Declare on @destParent. + */ + if (xmlSearchNsByNamespaceStrict(destDoc, destParent, attr->ns->href, + &ns, 1) == -1) + goto internal_error; + if (ns == NULL) { + ns = xmlDOMWrapNSNormDeclareNsForced(destDoc, destParent, + attr->ns->href, attr->ns->prefix, 1); + } + } + if (ns == NULL) + goto internal_error; + attr->ns = ns; + } + + XML_TREE_ADOPT_STR(attr->name); + attr->atype = 0; + attr->psvi = NULL; + /* + * Walk content. + */ + if (attr->children == NULL) + return (0); + cur = attr->children; + if ((cur != NULL) && (cur->type == XML_NAMESPACE_DECL)) + goto internal_error; + while (cur != NULL) { + cur->doc = destDoc; + switch (cur->type) { + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + XML_TREE_ADOPT_STR_2(cur->content) + break; + case XML_ENTITY_REF_NODE: + /* + * Remove reference to the entity-node. + */ + cur->content = NULL; + cur->children = NULL; + cur->last = NULL; + if ((destDoc->intSubset) || (destDoc->extSubset)) { + xmlEntityPtr ent; + /* + * Assign new entity-node if available. + */ + ent = xmlGetDocEntity(destDoc, cur->name); + if (ent != NULL) { + cur->content = ent->content; + cur->children = (xmlNodePtr) ent; + cur->last = (xmlNodePtr) ent; + } + } + break; + default: + break; + } + if (cur->children != NULL) { + cur = cur->children; + continue; + } +next_sibling: + if (cur == (xmlNodePtr) attr) + break; + if (cur->next != NULL) + cur = cur->next; + else { + cur = cur->parent; + goto next_sibling; + } + } + return (0); +internal_error: + return (-1); +} + +/* +* xmlDOMWrapAdoptNode: +* @ctxt: the optional context for custom processing +* @sourceDoc: the optional sourceDoc +* @node: the node to start with +* @destDoc: the destination doc +* @destParent: the optional new parent of @node in @destDoc +* @options: option flags +* +* References of out-of scope ns-decls are remapped to point to @destDoc: +* 1) If @destParent is given, then nsDef entries on element-nodes are used +* 2) If *no* @destParent is given, then @destDoc->oldNs entries are used +* This is the case when you have an unlinked node and just want to move it +* to the context of +* +* If @destParent is given, it ensures that the tree is namespace +* wellformed by creating additional ns-decls where needed. +* Note that, since prefixes of already existent ns-decls can be +* shadowed by this process, it could break QNames in attribute +* values or element content. +* NOTE: This function was not intensively tested. +* +* Returns 0 if the operation succeeded, +* 1 if a node of unsupported type was given, +* 2 if a node of not yet supported type was given and +* -1 on API/internal errors. +*/ +int +xmlDOMWrapAdoptNode(xmlDOMWrapCtxtPtr ctxt, + xmlDocPtr sourceDoc, + xmlNodePtr node, + xmlDocPtr destDoc, + xmlNodePtr destParent, + int options) +{ + if ((node == NULL) || (node->type == XML_NAMESPACE_DECL) || + (destDoc == NULL) || + ((destParent != NULL) && (destParent->doc != destDoc))) + return(-1); + /* + * Check node->doc sanity. + */ + if ((node->doc != NULL) && (sourceDoc != NULL) && + (node->doc != sourceDoc)) { + /* + * Might be an XIncluded node. + */ + return (-1); + } + if (sourceDoc == NULL) + sourceDoc = node->doc; + if (sourceDoc == destDoc) + return (-1); + switch (node->type) { + case XML_ELEMENT_NODE: + case XML_ATTRIBUTE_NODE: + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + case XML_ENTITY_REF_NODE: + case XML_PI_NODE: + case XML_COMMENT_NODE: + break; + case XML_DOCUMENT_FRAG_NODE: + /* TODO: Support document-fragment-nodes. */ + return (2); + default: + return (1); + } + /* + * Unlink only if @node was not already added to @destParent. + */ + if ((node->parent != NULL) && (destParent != node->parent)) + xmlUnlinkNode(node); + + if (node->type == XML_ELEMENT_NODE) { + return (xmlDOMWrapAdoptBranch(ctxt, sourceDoc, node, + destDoc, destParent, options)); + } else if (node->type == XML_ATTRIBUTE_NODE) { + return (xmlDOMWrapAdoptAttr(ctxt, sourceDoc, + (xmlAttrPtr) node, destDoc, destParent, options)); + } else { + xmlNodePtr cur = node; + int adoptStr = 1; + + cur->doc = destDoc; + /* + * Optimize string adoption. + */ + if ((sourceDoc != NULL) && + (sourceDoc->dict == destDoc->dict)) + adoptStr = 0; + switch (node->type) { + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + XML_TREE_ADOPT_STR_2(node->content) + break; + case XML_ENTITY_REF_NODE: + /* + * Remove reference to the entity-node. + */ + node->content = NULL; + node->children = NULL; + node->last = NULL; + if ((destDoc->intSubset) || (destDoc->extSubset)) { + xmlEntityPtr ent; + /* + * Assign new entity-node if available. + */ + ent = xmlGetDocEntity(destDoc, node->name); + if (ent != NULL) { + node->content = ent->content; + node->children = (xmlNodePtr) ent; + node->last = (xmlNodePtr) ent; + } + } + XML_TREE_ADOPT_STR(node->name) + break; + case XML_PI_NODE: { + XML_TREE_ADOPT_STR(node->name) + XML_TREE_ADOPT_STR_2(node->content) + break; + } + default: + break; + } + } + return (0); +} + +#define bottom_tree +#include "elfgcchack.h" diff --git a/trio.c b/trio.c new file mode 100644 index 0000000..f7a0da6 --- /dev/null +++ b/trio.c @@ -0,0 +1,6895 @@ +/************************************************************************* + * + * $Id$ + * + * Copyright (C) 1998 Bjorn Reese and Daniel Stenberg. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF + * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. + * + ************************************************************************* + * + * A note to trio contributors: + * + * Avoid heap allocation at all costs to ensure that the trio functions + * are async-safe. The exceptions are the printf/fprintf functions, which + * uses fputc, and the asprintf functions and the modifier, which + * by design are required to allocate form the heap. + * + ************************************************************************/ + +/* + * TODO: + * - Scan is probably too permissive about its modifiers. + * - C escapes in %#[] ? + * - Multibyte characters (done for format parsing, except scan groups) + * - Complex numbers? (C99 _Complex) + * - Boolean values? (C99 _Bool) + * - C99 NaN(n-char-sequence) missing. The n-char-sequence can be used + * to print the mantissa, e.g. NaN(0xc000000000000000) + * - Should we support the GNU %a alloc modifier? GNU has an ugly hack + * for %a, because C99 used %a for other purposes. If specified as + * %as or %a[ it is interpreted as the alloc modifier, otherwise as + * the C99 hex-float. This means that you cannot scan %as as a hex-float + * immediately followed by an 's'. + * - Scanning of collating symbols. + */ + +/************************************************************************* + * Trio include files + */ +#include "triodef.h" +#include "trio.h" +#include "triop.h" +#include "trionan.h" +#if !defined(TRIO_MINIMAL) +# include "triostr.h" +#endif + +/************************************************************************** + * + * Definitions + * + *************************************************************************/ + +#include +#include +#include + +#if (defined(__STDC_ISO_10646__) || defined(MB_LEN_MAX) \ + || defined(USE_MULTIBYTE) || TRIO_WIDECHAR) \ + && !defined(_WIN32_WCE) +# define TRIO_COMPILER_SUPPORTS_MULTIBYTE +# if !defined(MB_LEN_MAX) +# define MB_LEN_MAX 6 +# endif +#endif + +#if (defined(TRIO_COMPILER_MSVC) && (_MSC_VER >= 1100)) || defined(TRIO_COMPILER_BCB) +# define TRIO_COMPILER_SUPPORTS_MSVC_INT +#endif + +#if defined(_WIN32_WCE) +#include +#endif + +/************************************************************************* + * Generic definitions + */ + +#if !(defined(DEBUG) || defined(NDEBUG)) +# define NDEBUG +#endif + +#include +#include +#if !defined(TRIO_COMPILER_SUPPORTS_C99) +# define isblank(x) (((x)==32) || ((x)==9)) +#endif +#if defined(TRIO_COMPILER_ANCIENT) +# include +#else +# include +#endif +#include + +#if defined( HAVE_ERRNO_H ) || defined( __VMS ) +#include +#endif + +#ifndef NULL +# define NULL 0 +#endif +#define NIL ((char)0) +#ifndef FALSE +# define FALSE (1 == 0) +# define TRUE (! FALSE) +#endif +#define BOOLEAN_T int + +/* mincore() can be used for debugging purposes */ +#define VALID(x) (NULL != (x)) + +#if TRIO_ERRORS + /* + * Encode the error code and the position. This is decoded + * with TRIO_ERROR_CODE and TRIO_ERROR_POSITION. + */ +# define TRIO_ERROR_RETURN(x,y) (- ((x) + ((y) << 8))) +#else +# define TRIO_ERROR_RETURN(x,y) (-1) +#endif + +#ifndef VA_LIST_IS_ARRAY +#define TRIO_VA_LIST_PTR va_list * +#define TRIO_VA_LIST_ADDR(l) (&(l)) +#define TRIO_VA_LIST_DEREF(l) (*(l)) +#else +#define TRIO_VA_LIST_PTR va_list +#define TRIO_VA_LIST_ADDR(l) (l) +#define TRIO_VA_LIST_DEREF(l) (l) +#endif + +typedef unsigned long trio_flags_t; + + +/************************************************************************* + * Platform specific definitions + */ +#if defined(TRIO_PLATFORM_UNIX) || defined(TRIO_PLATFORM_OS400) +# include +# include +# include +# define USE_LOCALE +#endif /* TRIO_PLATFORM_UNIX */ +#if defined(TRIO_PLATFORM_VMS) +# include +#endif +#if defined(TRIO_PLATFORM_WIN32) +# if defined(_WIN32_WCE) +# include +# else +# include +# define read _read +# define write _write +# endif +#endif /* TRIO_PLATFORM_WIN32 */ + +#if TRIO_WIDECHAR +# if defined(TRIO_COMPILER_SUPPORTS_ISO94) +# include +# include +typedef wchar_t trio_wchar_t; +typedef wint_t trio_wint_t; +# else +typedef char trio_wchar_t; +typedef int trio_wint_t; +# define WCONST(x) L ## x +# define WEOF EOF +# define iswalnum(x) isalnum(x) +# define iswalpha(x) isalpha(x) +# define iswblank(x) isblank(x) +# define iswcntrl(x) iscntrl(x) +# define iswdigit(x) isdigit(x) +# define iswgraph(x) isgraph(x) +# define iswlower(x) islower(x) +# define iswprint(x) isprint(x) +# define iswpunct(x) ispunct(x) +# define iswspace(x) isspace(x) +# define iswupper(x) isupper(x) +# define iswxdigit(x) isxdigit(x) +# endif +#endif + + +/************************************************************************* + * Compiler dependent definitions + */ + +/* Support for long long */ +#ifndef __cplusplus +# if !defined(USE_LONGLONG) +# if defined(TRIO_COMPILER_GCC) && !defined(__STRICT_ANSI__) +# define USE_LONGLONG +# elif defined(TRIO_COMPILER_SUNPRO) +# define USE_LONGLONG +# elif defined(_LONG_LONG) || defined(_LONGLONG) +# define USE_LONGLONG +# endif +# endif +#endif + +/* The extra long numbers */ +#if defined(USE_LONGLONG) +typedef signed long long int trio_longlong_t; +typedef unsigned long long int trio_ulonglong_t; +#elif defined(TRIO_COMPILER_SUPPORTS_MSVC_INT) +typedef signed __int64 trio_longlong_t; +typedef unsigned __int64 trio_ulonglong_t; +#else +typedef TRIO_SIGNED long int trio_longlong_t; +typedef unsigned long int trio_ulonglong_t; +#endif + +/* Maximal and fixed integer types */ +#if defined(TRIO_COMPILER_SUPPORTS_C99) && !defined( __VMS ) +# include +typedef intmax_t trio_intmax_t; +typedef uintmax_t trio_uintmax_t; +typedef int8_t trio_int8_t; +typedef int16_t trio_int16_t; +typedef int32_t trio_int32_t; +typedef int64_t trio_int64_t; +#elif defined(TRIO_COMPILER_SUPPORTS_UNIX98) || defined( __VMS ) +# include +#ifdef __VMS +typedef long long int intmax_t; +typedef unsigned long long int uintmax_t; +#endif +typedef intmax_t trio_intmax_t; +typedef uintmax_t trio_uintmax_t; +typedef int8_t trio_int8_t; +typedef int16_t trio_int16_t; +typedef int32_t trio_int32_t; +typedef int64_t trio_int64_t; +#elif defined(TRIO_COMPILER_SUPPORTS_MSVC_INT) +typedef trio_longlong_t trio_intmax_t; +typedef trio_ulonglong_t trio_uintmax_t; +typedef __int8 trio_int8_t; +typedef __int16 trio_int16_t; +typedef __int32 trio_int32_t; +typedef __int64 trio_int64_t; +#else +typedef trio_longlong_t trio_intmax_t; +typedef trio_ulonglong_t trio_uintmax_t; +# if defined(TRIO_INT8_T) +typedef TRIO_INT8_T trio_int8_t; +# else +typedef TRIO_SIGNED char trio_int8_t; +# endif +# if defined(TRIO_INT16_T) +typedef TRIO_INT16_T trio_int16_t; +# else +typedef TRIO_SIGNED short trio_int16_t; +# endif +# if defined(TRIO_INT32_T) +typedef TRIO_INT32_T trio_int32_t; +# else +typedef TRIO_SIGNED int trio_int32_t; +# endif +# if defined(TRIO_INT64_T) +typedef TRIO_INT64_T trio_int64_t; +# else +typedef trio_longlong_t trio_int64_t; +# endif +#endif + +#if (!(defined(TRIO_COMPILER_SUPPORTS_C99) \ + || defined(TRIO_COMPILER_SUPPORTS_UNIX01))) \ + && !defined(_WIN32_WCE) +# define floorl(x) floor((double)(x)) +# define fmodl(x,y) fmod((double)(x),(double)(y)) +# define powl(x,y) pow((double)(x),(double)(y)) +#endif + +#define TRIO_FABS(x) (((x) < 0.0) ? -(x) : (x)) + +/************************************************************************* + * Internal Definitions + */ + +#ifndef DECIMAL_DIG +# define DECIMAL_DIG DBL_DIG +#endif + +/* Long double sizes */ +#ifdef LDBL_DIG +# define MAX_MANTISSA_DIGITS LDBL_DIG +# define MAX_EXPONENT_DIGITS 4 +# define MAX_DOUBLE_DIGITS LDBL_MAX_10_EXP +#else +# define MAX_MANTISSA_DIGITS DECIMAL_DIG +# define MAX_EXPONENT_DIGITS 3 +# define MAX_DOUBLE_DIGITS DBL_MAX_10_EXP +#endif + +#if defined(TRIO_COMPILER_ANCIENT) || !defined(LDBL_DIG) +# undef LDBL_DIG +# undef LDBL_MANT_DIG +# undef LDBL_EPSILON +# define LDBL_DIG DBL_DIG +# define LDBL_MANT_DIG DBL_MANT_DIG +# define LDBL_EPSILON DBL_EPSILON +#endif + +/* The maximal number of digits is for base 2 */ +#define MAX_CHARS_IN(x) (sizeof(x) * CHAR_BIT) +/* The width of a pointer. The number of bits in a hex digit is 4 */ +#define POINTER_WIDTH ((sizeof("0x") - 1) + sizeof(trio_pointer_t) * CHAR_BIT / 4) + +/* Infinite and Not-A-Number for floating-point */ +#define INFINITE_LOWER "inf" +#define INFINITE_UPPER "INF" +#define LONG_INFINITE_LOWER "infinite" +#define LONG_INFINITE_UPPER "INFINITE" +#define NAN_LOWER "nan" +#define NAN_UPPER "NAN" + +#if !defined(HAVE_ISASCII) && !defined(isascii) +#ifndef __VMS +# define isascii(x) ((unsigned int)(x) < 128) +#endif +#endif + +/* Various constants */ +enum { + TYPE_PRINT = 1, + TYPE_SCAN = 2, + + /* Flags. FLAGS_LAST must be less than ULONG_MAX */ + FLAGS_NEW = 0, + FLAGS_STICKY = 1, + FLAGS_SPACE = 2 * FLAGS_STICKY, + FLAGS_SHOWSIGN = 2 * FLAGS_SPACE, + FLAGS_LEFTADJUST = 2 * FLAGS_SHOWSIGN, + FLAGS_ALTERNATIVE = 2 * FLAGS_LEFTADJUST, + FLAGS_SHORT = 2 * FLAGS_ALTERNATIVE, + FLAGS_SHORTSHORT = 2 * FLAGS_SHORT, + FLAGS_LONG = 2 * FLAGS_SHORTSHORT, + FLAGS_QUAD = 2 * FLAGS_LONG, + FLAGS_LONGDOUBLE = 2 * FLAGS_QUAD, + FLAGS_SIZE_T = 2 * FLAGS_LONGDOUBLE, + FLAGS_PTRDIFF_T = 2 * FLAGS_SIZE_T, + FLAGS_INTMAX_T = 2 * FLAGS_PTRDIFF_T, + FLAGS_NILPADDING = 2 * FLAGS_INTMAX_T, + FLAGS_UNSIGNED = 2 * FLAGS_NILPADDING, + FLAGS_UPPER = 2 * FLAGS_UNSIGNED, + FLAGS_WIDTH = 2 * FLAGS_UPPER, + FLAGS_WIDTH_PARAMETER = 2 * FLAGS_WIDTH, + FLAGS_PRECISION = 2 * FLAGS_WIDTH_PARAMETER, + FLAGS_PRECISION_PARAMETER = 2 * FLAGS_PRECISION, + FLAGS_BASE = 2 * FLAGS_PRECISION_PARAMETER, + FLAGS_BASE_PARAMETER = 2 * FLAGS_BASE, + FLAGS_FLOAT_E = 2 * FLAGS_BASE_PARAMETER, + FLAGS_FLOAT_G = 2 * FLAGS_FLOAT_E, + FLAGS_QUOTE = 2 * FLAGS_FLOAT_G, + FLAGS_WIDECHAR = 2 * FLAGS_QUOTE, + FLAGS_ALLOC = 2 * FLAGS_WIDECHAR, + FLAGS_IGNORE = 2 * FLAGS_ALLOC, + FLAGS_IGNORE_PARAMETER = 2 * FLAGS_IGNORE, + FLAGS_VARSIZE_PARAMETER = 2 * FLAGS_IGNORE_PARAMETER, + FLAGS_FIXED_SIZE = 2 * FLAGS_VARSIZE_PARAMETER, + FLAGS_LAST = FLAGS_FIXED_SIZE, + /* Reused flags */ + FLAGS_EXCLUDE = FLAGS_SHORT, + FLAGS_USER_DEFINED = FLAGS_IGNORE, + FLAGS_ROUNDING = FLAGS_INTMAX_T, + /* Compounded flags */ + FLAGS_ALL_VARSIZES = FLAGS_LONG | FLAGS_QUAD | FLAGS_INTMAX_T | FLAGS_PTRDIFF_T | FLAGS_SIZE_T, + FLAGS_ALL_SIZES = FLAGS_ALL_VARSIZES | FLAGS_SHORTSHORT | FLAGS_SHORT, + + NO_POSITION = -1, + NO_WIDTH = 0, + NO_PRECISION = -1, + NO_SIZE = -1, + + /* Do not change these */ + NO_BASE = -1, + MIN_BASE = 2, + MAX_BASE = 36, + BASE_BINARY = 2, + BASE_OCTAL = 8, + BASE_DECIMAL = 10, + BASE_HEX = 16, + + /* Maximal number of allowed parameters */ + MAX_PARAMETERS = 64, + /* Maximal number of characters in class */ + MAX_CHARACTER_CLASS = UCHAR_MAX + 1, + + /* Maximal string lengths for user-defined specifiers */ + MAX_USER_NAME = 64, + MAX_USER_DATA = 256, + + /* Maximal length of locale separator strings */ + MAX_LOCALE_SEPARATOR_LENGTH = MB_LEN_MAX, + /* Maximal number of integers in grouping */ + MAX_LOCALE_GROUPS = 64, + + /* Initial size of asprintf buffer */ + DYNAMIC_START_SIZE = 32 +}; + +#define NO_GROUPING ((int)CHAR_MAX) + +/* Fundamental formatting parameter types */ +#define FORMAT_UNKNOWN 0 +#define FORMAT_INT 1 +#define FORMAT_DOUBLE 2 +#define FORMAT_CHAR 3 +#define FORMAT_STRING 4 +#define FORMAT_POINTER 5 +#define FORMAT_COUNT 6 +#define FORMAT_PARAMETER 7 +#define FORMAT_GROUP 8 +#if TRIO_GNU +# define FORMAT_ERRNO 9 +#endif +#if TRIO_EXTENSION +# define FORMAT_USER_DEFINED 10 +#endif + +/* Character constants */ +#define CHAR_IDENTIFIER '%' +#define CHAR_BACKSLASH '\\' +#define CHAR_QUOTE '\"' +#define CHAR_ADJUST ' ' + +/* Character class expressions */ +#define CLASS_ALNUM "[:alnum:]" +#define CLASS_ALPHA "[:alpha:]" +#define CLASS_BLANK "[:blank:]" +#define CLASS_CNTRL "[:cntrl:]" +#define CLASS_DIGIT "[:digit:]" +#define CLASS_GRAPH "[:graph:]" +#define CLASS_LOWER "[:lower:]" +#define CLASS_PRINT "[:print:]" +#define CLASS_PUNCT "[:punct:]" +#define CLASS_SPACE "[:space:]" +#define CLASS_UPPER "[:upper:]" +#define CLASS_XDIGIT "[:xdigit:]" + +/* + * SPECIFIERS: + * + * + * a Hex-float + * A Hex-float + * c Character + * C Widechar character (wint_t) + * d Decimal + * e Float + * E Float + * F Float + * F Float + * g Float + * G Float + * i Integer + * m Error message + * n Count + * o Octal + * p Pointer + * s String + * S Widechar string (wchar_t *) + * u Unsigned + * x Hex + * X Hex + * [] Group + * <> User-defined + * + * Reserved: + * + * D Binary Coded Decimal %D(length,precision) (OS/390) + */ +#define SPECIFIER_CHAR 'c' +#define SPECIFIER_STRING 's' +#define SPECIFIER_DECIMAL 'd' +#define SPECIFIER_INTEGER 'i' +#define SPECIFIER_UNSIGNED 'u' +#define SPECIFIER_OCTAL 'o' +#define SPECIFIER_HEX 'x' +#define SPECIFIER_HEX_UPPER 'X' +#define SPECIFIER_FLOAT_E 'e' +#define SPECIFIER_FLOAT_E_UPPER 'E' +#define SPECIFIER_FLOAT_F 'f' +#define SPECIFIER_FLOAT_F_UPPER 'F' +#define SPECIFIER_FLOAT_G 'g' +#define SPECIFIER_FLOAT_G_UPPER 'G' +#define SPECIFIER_POINTER 'p' +#define SPECIFIER_GROUP '[' +#define SPECIFIER_UNGROUP ']' +#define SPECIFIER_COUNT 'n' +#if TRIO_UNIX98 +# define SPECIFIER_CHAR_UPPER 'C' +# define SPECIFIER_STRING_UPPER 'S' +#endif +#if TRIO_C99 +# define SPECIFIER_HEXFLOAT 'a' +# define SPECIFIER_HEXFLOAT_UPPER 'A' +#endif +#if TRIO_GNU +# define SPECIFIER_ERRNO 'm' +#endif +#if TRIO_EXTENSION +# define SPECIFIER_BINARY 'b' +# define SPECIFIER_BINARY_UPPER 'B' +# define SPECIFIER_USER_DEFINED_BEGIN '<' +# define SPECIFIER_USER_DEFINED_END '>' +# define SPECIFIER_USER_DEFINED_SEPARATOR ':' +#endif + +/* + * QUALIFIERS: + * + * + * Numbers = d,i,o,u,x,X + * Float = a,A,e,E,f,F,g,G + * String = s + * Char = c + * + * + * 9$ Position + * Use the 9th parameter. 9 can be any number between 1 and + * the maximal argument + * + * 9 Width + * Set width to 9. 9 can be any number, but must not be postfixed + * by '$' + * + * h Short + * Numbers: + * (unsigned) short int + * + * hh Short short + * Numbers: + * (unsigned) char + * + * l Long + * Numbers: + * (unsigned) long int + * String: + * as the S specifier + * Char: + * as the C specifier + * + * ll Long Long + * Numbers: + * (unsigned) long long int + * + * L Long Double + * Float + * long double + * + * # Alternative + * Float: + * Decimal-point is always present + * String: + * non-printable characters are handled as \number + * + * Spacing + * + * + Sign + * + * - Alignment + * + * . Precision + * + * * Parameter + * print: use parameter + * scan: no parameter (ignore) + * + * q Quad + * + * Z size_t + * + * w Widechar + * + * ' Thousands/quote + * Numbers: + * Integer part grouped in thousands + * Binary numbers: + * Number grouped in nibbles (4 bits) + * String: + * Quoted string + * + * j intmax_t + * t prtdiff_t + * z size_t + * + * ! Sticky + * @ Parameter (for both print and scan) + * + * I n-bit Integer + * Numbers: + * The following options exists + * I8 = 8-bit integer + * I16 = 16-bit integer + * I32 = 32-bit integer + * I64 = 64-bit integer + */ +#define QUALIFIER_POSITION '$' +#define QUALIFIER_SHORT 'h' +#define QUALIFIER_LONG 'l' +#define QUALIFIER_LONG_UPPER 'L' +#define QUALIFIER_ALTERNATIVE '#' +#define QUALIFIER_SPACE ' ' +#define QUALIFIER_PLUS '+' +#define QUALIFIER_MINUS '-' +#define QUALIFIER_DOT '.' +#define QUALIFIER_STAR '*' +#define QUALIFIER_CIRCUMFLEX '^' /* For scanlists */ +#if TRIO_C99 +# define QUALIFIER_SIZE_T 'z' +# define QUALIFIER_PTRDIFF_T 't' +# define QUALIFIER_INTMAX_T 'j' +#endif +#if TRIO_BSD || TRIO_GNU +# define QUALIFIER_QUAD 'q' +#endif +#if TRIO_GNU +# define QUALIFIER_SIZE_T_UPPER 'Z' +#endif +#if TRIO_MISC +# define QUALIFIER_WIDECHAR 'w' +#endif +#if TRIO_MICROSOFT +# define QUALIFIER_FIXED_SIZE 'I' +#endif +#if TRIO_EXTENSION +# define QUALIFIER_QUOTE '\'' +# define QUALIFIER_STICKY '!' +# define QUALIFIER_VARSIZE '&' /* This should remain undocumented */ +# define QUALIFIER_PARAM '@' /* Experimental */ +# define QUALIFIER_COLON ':' /* For scanlists */ +# define QUALIFIER_EQUAL '=' /* For scanlists */ +# define QUALIFIER_ROUNDING_UPPER 'R' +#endif + + +/************************************************************************* + * + * Internal Structures + * + *************************************************************************/ + +/* Parameters */ +typedef struct { + /* An indication of which entry in the data union is used */ + int type; + /* The flags */ + trio_flags_t flags; + /* The width qualifier */ + int width; + /* The precision qualifier */ + int precision; + /* The base qualifier */ + int base; + /* The size for the variable size qualifier */ + int varsize; + /* The marker of the end of the specifier */ + int indexAfterSpecifier; + /* The data from the argument list */ + union { + char *string; +#if TRIO_WIDECHAR + trio_wchar_t *wstring; +#endif + trio_pointer_t pointer; + union { + trio_intmax_t as_signed; + trio_uintmax_t as_unsigned; + } number; + double doubleNumber; + double *doublePointer; + trio_long_double_t longdoubleNumber; + trio_long_double_t *longdoublePointer; + int errorNumber; + } data; + /* For the user-defined specifier */ + char user_name[MAX_USER_NAME]; + char user_data[MAX_USER_DATA]; +} trio_parameter_t; + +/* Container for customized functions */ +typedef struct { + union { + trio_outstream_t out; + trio_instream_t in; + } stream; + trio_pointer_t closure; +} trio_custom_t; + +/* General trio "class" */ +typedef struct _trio_class_t { + /* + * The function to write characters to a stream. + */ + void (*OutStream) TRIO_PROTO((struct _trio_class_t *, int)); + /* + * The function to read characters from a stream. + */ + void (*InStream) TRIO_PROTO((struct _trio_class_t *, int *)); + /* + * The current location in the stream. + */ + trio_pointer_t location; + /* + * The character currently being processed. + */ + int current; + /* + * The number of characters that would have been written/read + * if there had been sufficient space. + */ + int processed; + /* + * The number of characters that are actually written/read. + * Processed and committed will only differ for the *nprintf + * and *nscanf functions. + */ + int committed; + /* + * The upper limit of characters that may be written/read. + */ + int max; + /* + * The last output error that was detected. + */ + int error; +} trio_class_t; + +/* References (for user-defined callbacks) */ +typedef struct _trio_reference_t { + trio_class_t *data; + trio_parameter_t *parameter; +} trio_reference_t; + +/* Registered entries (for user-defined callbacks) */ +typedef struct _trio_userdef_t { + struct _trio_userdef_t *next; + trio_callback_t callback; + char *name; +} trio_userdef_t; + +/************************************************************************* + * + * Internal Variables + * + *************************************************************************/ + +static TRIO_CONST char rcsid[] = "@(#)$Id$"; + +/* + * Need this to workaround a parser bug in HP C/iX compiler that fails + * to resolves macro definitions that includes type 'long double', + * e.g: va_arg(arg_ptr, long double) + */ +#if defined(TRIO_PLATFORM_MPEIX) +static TRIO_CONST trio_long_double_t ___dummy_long_double = 0; +#endif + +static TRIO_CONST char internalNullString[] = "(nil)"; + +#if defined(USE_LOCALE) +static struct lconv *internalLocaleValues = NULL; +#endif + +/* + * UNIX98 says "in a locale where the radix character is not defined, + * the radix character defaults to a period (.)" + */ +static int internalDecimalPointLength = 1; +static int internalThousandSeparatorLength = 1; +static char internalDecimalPoint = '.'; +static char internalDecimalPointString[MAX_LOCALE_SEPARATOR_LENGTH + 1] = "."; +static char internalThousandSeparator[MAX_LOCALE_SEPARATOR_LENGTH + 1] = ","; +static char internalGrouping[MAX_LOCALE_GROUPS] = { (char)NO_GROUPING }; + +static TRIO_CONST char internalDigitsLower[] = "0123456789abcdefghijklmnopqrstuvwxyz"; +static TRIO_CONST char internalDigitsUpper[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; +static BOOLEAN_T internalDigitsUnconverted = TRUE; +static int internalDigitArray[128]; +#if TRIO_EXTENSION +static BOOLEAN_T internalCollationUnconverted = TRUE; +static char internalCollationArray[MAX_CHARACTER_CLASS][MAX_CHARACTER_CLASS]; +#endif + +#if TRIO_EXTENSION +static TRIO_VOLATILE trio_callback_t internalEnterCriticalRegion = NULL; +static TRIO_VOLATILE trio_callback_t internalLeaveCriticalRegion = NULL; +static trio_userdef_t *internalUserDef = NULL; +#endif + + +/************************************************************************* + * + * Internal Functions + * + ************************************************************************/ + +#if defined(TRIO_MINIMAL) +# define TRIO_STRING_PUBLIC static +# include "triostr.c" +#endif /* defined(TRIO_MINIMAL) */ + +/************************************************************************* + * TrioIsQualifier + * + * Description: + * Remember to add all new qualifiers to this function. + * QUALIFIER_POSITION must not be added. + */ +TRIO_PRIVATE BOOLEAN_T +TrioIsQualifier +TRIO_ARGS1((character), + TRIO_CONST char character) +{ + /* QUALIFIER_POSITION is not included */ + switch (character) + { + case '0': case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': + case QUALIFIER_PLUS: + case QUALIFIER_MINUS: + case QUALIFIER_SPACE: + case QUALIFIER_DOT: + case QUALIFIER_STAR: + case QUALIFIER_ALTERNATIVE: + case QUALIFIER_SHORT: + case QUALIFIER_LONG: + case QUALIFIER_LONG_UPPER: + case QUALIFIER_CIRCUMFLEX: +#if defined(QUALIFIER_SIZE_T) + case QUALIFIER_SIZE_T: +#endif +#if defined(QUALIFIER_PTRDIFF_T) + case QUALIFIER_PTRDIFF_T: +#endif +#if defined(QUALIFIER_INTMAX_T) + case QUALIFIER_INTMAX_T: +#endif +#if defined(QUALIFIER_QUAD) + case QUALIFIER_QUAD: +#endif +#if defined(QUALIFIER_SIZE_T_UPPER) + case QUALIFIER_SIZE_T_UPPER: +#endif +#if defined(QUALIFIER_WIDECHAR) + case QUALIFIER_WIDECHAR: +#endif +#if defined(QUALIFIER_QUOTE) + case QUALIFIER_QUOTE: +#endif +#if defined(QUALIFIER_STICKY) + case QUALIFIER_STICKY: +#endif +#if defined(QUALIFIER_VARSIZE) + case QUALIFIER_VARSIZE: +#endif +#if defined(QUALIFIER_PARAM) + case QUALIFIER_PARAM: +#endif +#if defined(QUALIFIER_FIXED_SIZE) + case QUALIFIER_FIXED_SIZE: +#endif +#if defined(QUALIFIER_ROUNDING_UPPER) + case QUALIFIER_ROUNDING_UPPER: +#endif + return TRUE; + default: + return FALSE; + } +} + +/************************************************************************* + * TrioSetLocale + */ +#if defined(USE_LOCALE) +TRIO_PRIVATE void +TrioSetLocale(TRIO_NOARGS) +{ + internalLocaleValues = (struct lconv *)localeconv(); + if (internalLocaleValues) + { + if ((internalLocaleValues->decimal_point) && + (internalLocaleValues->decimal_point[0] != NIL)) + { + internalDecimalPointLength = trio_length(internalLocaleValues->decimal_point); + if (internalDecimalPointLength == 1) + { + internalDecimalPoint = internalLocaleValues->decimal_point[0]; + } + else + { + internalDecimalPoint = NIL; + trio_copy_max(internalDecimalPointString, + sizeof(internalDecimalPointString), + internalLocaleValues->decimal_point); + } + } + if ((internalLocaleValues->thousands_sep) && + (internalLocaleValues->thousands_sep[0] != NIL)) + { + trio_copy_max(internalThousandSeparator, + sizeof(internalThousandSeparator), + internalLocaleValues->thousands_sep); + internalThousandSeparatorLength = trio_length(internalThousandSeparator); + } + if ((internalLocaleValues->grouping) && + (internalLocaleValues->grouping[0] != NIL)) + { + trio_copy_max(internalGrouping, + sizeof(internalGrouping), + internalLocaleValues->grouping); + } + } +} +#endif /* defined(USE_LOCALE) */ + +TRIO_PRIVATE int +TrioCalcThousandSeparatorLength +TRIO_ARGS1((digits), + int digits) +{ +#if TRIO_EXTENSION + int count = 0; + int step = NO_GROUPING; + char *groupingPointer = internalGrouping; + + while (digits > 0) + { + if (*groupingPointer == CHAR_MAX) + { + /* Disable grouping */ + break; /* while */ + } + else if (*groupingPointer == 0) + { + /* Repeat last group */ + if (step == NO_GROUPING) + { + /* Error in locale */ + break; /* while */ + } + } + else + { + step = *groupingPointer++; + } + if (digits > step) + count += internalThousandSeparatorLength; + digits -= step; + } + return count; +#else + return 0; +#endif +} + +TRIO_PRIVATE BOOLEAN_T +TrioFollowedBySeparator +TRIO_ARGS1((position), + int position) +{ +#if TRIO_EXTENSION + int step = 0; + char *groupingPointer = internalGrouping; + + position--; + if (position == 0) + return FALSE; + while (position > 0) + { + if (*groupingPointer == CHAR_MAX) + { + /* Disable grouping */ + break; /* while */ + } + else if (*groupingPointer != 0) + { + step = *groupingPointer++; + } + if (step == 0) + break; + position -= step; + } + return (position == 0); +#else + return FALSE; +#endif +} + +/************************************************************************* + * TrioGetPosition + * + * Get the %n$ position. + */ +TRIO_PRIVATE int +TrioGetPosition +TRIO_ARGS2((format, indexPointer), + TRIO_CONST char *format, + int *indexPointer) +{ +#if TRIO_UNIX98 + char *tmpformat; + int number = 0; + int index = *indexPointer; + + number = (int)trio_to_long(&format[index], &tmpformat, BASE_DECIMAL); + index = (int)(tmpformat - format); + if ((number != 0) && (QUALIFIER_POSITION == format[index++])) + { + *indexPointer = index; + /* + * number is decreased by 1, because n$ starts from 1, whereas + * the array it is indexing starts from 0. + */ + return number - 1; + } +#endif + return NO_POSITION; +} + +#if TRIO_EXTENSION +/************************************************************************* + * TrioFindNamespace + * + * Find registered user-defined specifier. + * The prev argument is used for optimization only. + */ +TRIO_PRIVATE trio_userdef_t * +TrioFindNamespace +TRIO_ARGS2((name, prev), + TRIO_CONST char *name, + trio_userdef_t **prev) +{ + trio_userdef_t *def; + + if (internalEnterCriticalRegion) + (void)internalEnterCriticalRegion(NULL); + + for (def = internalUserDef; def; def = def->next) + { + /* Case-sensitive string comparison */ + if (trio_equal_case(def->name, name)) + break; + + if (prev) + *prev = def; + } + + if (internalLeaveCriticalRegion) + (void)internalLeaveCriticalRegion(NULL); + + return def; +} +#endif + +/************************************************************************* + * TrioPower + * + * Description: + * Calculate pow(base, exponent), where number and exponent are integers. + */ +TRIO_PRIVATE trio_long_double_t +TrioPower +TRIO_ARGS2((number, exponent), + int number, + int exponent) +{ + trio_long_double_t result; + + if (number == 10) + { + switch (exponent) + { + /* Speed up calculation of common cases */ + case 0: + result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E-1); + break; + case 1: + result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E+0); + break; + case 2: + result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E+1); + break; + case 3: + result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E+2); + break; + case 4: + result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E+3); + break; + case 5: + result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E+4); + break; + case 6: + result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E+5); + break; + case 7: + result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E+6); + break; + case 8: + result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E+7); + break; + case 9: + result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E+8); + break; + default: + result = powl((trio_long_double_t)number, + (trio_long_double_t)exponent); + break; + } + } + else + { + return powl((trio_long_double_t)number, (trio_long_double_t)exponent); + } + return result; +} + +/************************************************************************* + * TrioLogarithm + */ +TRIO_PRIVATE double +TrioLogarithm +TRIO_ARGS2((number, base), + double number, + int base) +{ + double result; + + if (number <= 0.0) + { + /* xlC crashes on log(0) */ + result = (number == 0.0) ? trio_ninf() : trio_nan(); + } + else + { + if (base == 10) + { + result = log10(number); + } + else + { + result = log10(number) / log10((double)base); + } + } + return result; +} + +/************************************************************************* + * TrioLogarithmBase + */ +TRIO_PRIVATE double +TrioLogarithmBase +TRIO_ARGS1((base), + int base) +{ + switch (base) + { + case BASE_BINARY : return 1.0; + case BASE_OCTAL : return 3.0; + case BASE_DECIMAL: return 3.321928094887362345; + case BASE_HEX : return 4.0; + default : return TrioLogarithm((double)base, 2); + } +} + +/************************************************************************* + * TrioParse + * + * Description: + * Parse the format string + */ +TRIO_PRIVATE int +TrioParse +TRIO_ARGS5((type, format, parameters, arglist, argarray), + int type, + TRIO_CONST char *format, + trio_parameter_t *parameters, + TRIO_VA_LIST_PTR arglist, + trio_pointer_t *argarray) +{ + /* Count the number of times a parameter is referenced */ + unsigned short usedEntries[MAX_PARAMETERS]; + /* Parameter counters */ + int parameterPosition; + int currentParam; + int maxParam = -1; + /* Utility variables */ + trio_flags_t flags; + int width; + int precision; + int varsize; + int base; + int index; /* Index into formatting string */ + int dots; /* Count number of dots in modifier part */ + BOOLEAN_T positional; /* Does the specifier have a positional? */ + BOOLEAN_T gotSticky = FALSE; /* Are there any sticky modifiers at all? */ + /* + * indices specifies the order in which the parameters must be + * read from the va_args (this is necessary to handle positionals) + */ + int indices[MAX_PARAMETERS]; + int pos = 0; + /* Various variables */ + char ch; +#if defined(TRIO_COMPILER_SUPPORTS_MULTIBYTE) + int charlen; +#endif + int save_errno; + int i = -1; + int num; + char *tmpformat; + + /* One and only one of arglist and argarray must be used */ + assert((arglist != NULL) ^ (argarray != NULL)); + + /* + * The 'parameters' array is not initialized, but we need to + * know which entries we have used. + */ + memset(usedEntries, 0, sizeof(usedEntries)); + + save_errno = errno; + index = 0; + parameterPosition = 0; +#if defined(TRIO_COMPILER_SUPPORTS_MULTIBYTE) + (void)mblen(NULL, 0); +#endif + + while (format[index]) + { +#if defined(TRIO_COMPILER_SUPPORTS_MULTIBYTE) + if (! isascii(format[index])) + { + /* + * Multibyte characters cannot be legal specifiers or + * modifiers, so we skip over them. + */ + charlen = mblen(&format[index], MB_LEN_MAX); + index += (charlen > 0) ? charlen : 1; + continue; /* while */ + } +#endif /* TRIO_COMPILER_SUPPORTS_MULTIBYTE */ + if (CHAR_IDENTIFIER == format[index++]) + { + if (CHAR_IDENTIFIER == format[index]) + { + index++; + continue; /* while */ + } + + flags = FLAGS_NEW; + dots = 0; + currentParam = TrioGetPosition(format, &index); + positional = (NO_POSITION != currentParam); + if (!positional) + { + /* We have no positional, get the next counter */ + currentParam = parameterPosition; + } + if(currentParam >= MAX_PARAMETERS) + { + /* Bail out completely to make the error more obvious */ + return TRIO_ERROR_RETURN(TRIO_ETOOMANY, index); + } + + if (currentParam > maxParam) + maxParam = currentParam; + + /* Default values */ + width = NO_WIDTH; + precision = NO_PRECISION; + base = NO_BASE; + varsize = NO_SIZE; + + while (TrioIsQualifier(format[index])) + { + ch = format[index++]; + + switch (ch) + { + case QUALIFIER_SPACE: + flags |= FLAGS_SPACE; + break; + + case QUALIFIER_PLUS: + flags |= FLAGS_SHOWSIGN; + break; + + case QUALIFIER_MINUS: + flags |= FLAGS_LEFTADJUST; + flags &= ~FLAGS_NILPADDING; + break; + + case QUALIFIER_ALTERNATIVE: + flags |= FLAGS_ALTERNATIVE; + break; + + case QUALIFIER_DOT: + if (dots == 0) /* Precision */ + { + dots++; + + /* Skip if no precision */ + if (QUALIFIER_DOT == format[index]) + break; + + /* After the first dot we have the precision */ + flags |= FLAGS_PRECISION; + if ((QUALIFIER_STAR == format[index]) +#if defined(QUALIFIER_PARAM) + || (QUALIFIER_PARAM == format[index]) +#endif + ) + { + index++; + flags |= FLAGS_PRECISION_PARAMETER; + + precision = TrioGetPosition(format, &index); + if (precision == NO_POSITION) + { + parameterPosition++; + if (positional) + precision = parameterPosition; + else + { + precision = currentParam; + currentParam = precision + 1; + } + } + else + { + if (! positional) + currentParam = precision + 1; + if (width > maxParam) + maxParam = precision; + } + if (currentParam > maxParam) + maxParam = currentParam; + } + else + { + precision = trio_to_long(&format[index], + &tmpformat, + BASE_DECIMAL); + index = (int)(tmpformat - format); + } + } + else if (dots == 1) /* Base */ + { + dots++; + + /* After the second dot we have the base */ + flags |= FLAGS_BASE; + if ((QUALIFIER_STAR == format[index]) +#if defined(QUALIFIER_PARAM) + || (QUALIFIER_PARAM == format[index]) +#endif + ) + { + index++; + flags |= FLAGS_BASE_PARAMETER; + base = TrioGetPosition(format, &index); + if (base == NO_POSITION) + { + parameterPosition++; + if (positional) + base = parameterPosition; + else + { + base = currentParam; + currentParam = base + 1; + } + } + else + { + if (! positional) + currentParam = base + 1; + if (base > maxParam) + maxParam = base; + } + if (currentParam > maxParam) + maxParam = currentParam; + } + else + { + base = trio_to_long(&format[index], + &tmpformat, + BASE_DECIMAL); + if (base > MAX_BASE) + return TRIO_ERROR_RETURN(TRIO_EINVAL, index); + index = (int)(tmpformat - format); + } + } + else + { + return TRIO_ERROR_RETURN(TRIO_EINVAL, index); + } + break; /* QUALIFIER_DOT */ + +#if defined(QUALIFIER_PARAM) + case QUALIFIER_PARAM: + type = TYPE_PRINT; + /* FALLTHROUGH */ +#endif + case QUALIFIER_STAR: + /* This has different meanings for print and scan */ + if (TYPE_PRINT == type) + { + /* Read with from parameter */ + flags |= (FLAGS_WIDTH | FLAGS_WIDTH_PARAMETER); + width = TrioGetPosition(format, &index); + if (width == NO_POSITION) + { + parameterPosition++; + if (positional) + width = parameterPosition; + else + { + width = currentParam; + currentParam = width + 1; + } + } + else + { + if (! positional) + currentParam = width + 1; + if (width > maxParam) + maxParam = width; + } + if (currentParam > maxParam) + maxParam = currentParam; + } + else + { + /* Scan, but do not store result */ + flags |= FLAGS_IGNORE; + } + + break; /* QUALIFIER_STAR */ + + case '0': + if (! (flags & FLAGS_LEFTADJUST)) + flags |= FLAGS_NILPADDING; + /* FALLTHROUGH */ + case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': + flags |= FLAGS_WIDTH; + /* &format[index - 1] is used to "rewind" the read + * character from format + */ + width = trio_to_long(&format[index - 1], + &tmpformat, + BASE_DECIMAL); + index = (int)(tmpformat - format); + break; + + case QUALIFIER_SHORT: + if (flags & FLAGS_SHORTSHORT) + return TRIO_ERROR_RETURN(TRIO_EINVAL, index); + else if (flags & FLAGS_SHORT) + flags |= FLAGS_SHORTSHORT; + else + flags |= FLAGS_SHORT; + break; + + case QUALIFIER_LONG: + if (flags & FLAGS_QUAD) + return TRIO_ERROR_RETURN(TRIO_EINVAL, index); + else if (flags & FLAGS_LONG) + flags |= FLAGS_QUAD; + else + flags |= FLAGS_LONG; + break; + + case QUALIFIER_LONG_UPPER: + flags |= FLAGS_LONGDOUBLE; + break; + +#if defined(QUALIFIER_SIZE_T) + case QUALIFIER_SIZE_T: + flags |= FLAGS_SIZE_T; + /* Modify flags for later truncation of number */ + if (sizeof(size_t) == sizeof(trio_ulonglong_t)) + flags |= FLAGS_QUAD; + else if (sizeof(size_t) == sizeof(long)) + flags |= FLAGS_LONG; + break; +#endif + +#if defined(QUALIFIER_PTRDIFF_T) + case QUALIFIER_PTRDIFF_T: + flags |= FLAGS_PTRDIFF_T; + if (sizeof(ptrdiff_t) == sizeof(trio_ulonglong_t)) + flags |= FLAGS_QUAD; + else if (sizeof(ptrdiff_t) == sizeof(long)) + flags |= FLAGS_LONG; + break; +#endif + +#if defined(QUALIFIER_INTMAX_T) + case QUALIFIER_INTMAX_T: + flags |= FLAGS_INTMAX_T; + if (sizeof(trio_intmax_t) == sizeof(trio_ulonglong_t)) + flags |= FLAGS_QUAD; + else if (sizeof(trio_intmax_t) == sizeof(long)) + flags |= FLAGS_LONG; + break; +#endif + +#if defined(QUALIFIER_QUAD) + case QUALIFIER_QUAD: + flags |= FLAGS_QUAD; + break; +#endif + +#if defined(QUALIFIER_FIXED_SIZE) + case QUALIFIER_FIXED_SIZE: + if (flags & FLAGS_FIXED_SIZE) + return TRIO_ERROR_RETURN(TRIO_EINVAL, index); + + if (flags & (FLAGS_ALL_SIZES | FLAGS_LONGDOUBLE | + FLAGS_WIDECHAR | FLAGS_VARSIZE_PARAMETER)) + return TRIO_ERROR_RETURN(TRIO_EINVAL, index); + + if ((format[index] == '6') && + (format[index + 1] == '4')) + { + varsize = sizeof(trio_int64_t); + index += 2; + } + else if ((format[index] == '3') && + (format[index + 1] == '2')) + { + varsize = sizeof(trio_int32_t); + index += 2; + } + else if ((format[index] == '1') && + (format[index + 1] == '6')) + { + varsize = sizeof(trio_int16_t); + index += 2; + } + else if (format[index] == '8') + { + varsize = sizeof(trio_int8_t); + index++; + } + else + return TRIO_ERROR_RETURN(TRIO_EINVAL, index); + + flags |= FLAGS_FIXED_SIZE; + break; +#endif + +#if defined(QUALIFIER_WIDECHAR) + case QUALIFIER_WIDECHAR: + flags |= FLAGS_WIDECHAR; + break; +#endif + +#if defined(QUALIFIER_SIZE_T_UPPER) + case QUALIFIER_SIZE_T_UPPER: + break; +#endif + +#if defined(QUALIFIER_QUOTE) + case QUALIFIER_QUOTE: + flags |= FLAGS_QUOTE; + break; +#endif + +#if defined(QUALIFIER_STICKY) + case QUALIFIER_STICKY: + flags |= FLAGS_STICKY; + gotSticky = TRUE; + break; +#endif + +#if defined(QUALIFIER_VARSIZE) + case QUALIFIER_VARSIZE: + flags |= FLAGS_VARSIZE_PARAMETER; + parameterPosition++; + if (positional) + varsize = parameterPosition; + else + { + varsize = currentParam; + currentParam = varsize + 1; + } + if (currentParam > maxParam) + maxParam = currentParam; + break; +#endif + +#if defined(QUALIFIER_ROUNDING_UPPER) + case QUALIFIER_ROUNDING_UPPER: + flags |= FLAGS_ROUNDING; + break; +#endif + + default: + /* Bail out completely to make the error more obvious */ + return TRIO_ERROR_RETURN(TRIO_EINVAL, index); + } + } /* while qualifier */ + + /* + * Parameters only need the type and value. The value is + * read later. + */ + if (flags & FLAGS_WIDTH_PARAMETER) + { + usedEntries[width] += 1; + parameters[pos].type = FORMAT_PARAMETER; + parameters[pos].flags = 0; + indices[width] = pos; + width = pos++; + } + if (flags & FLAGS_PRECISION_PARAMETER) + { + usedEntries[precision] += 1; + parameters[pos].type = FORMAT_PARAMETER; + parameters[pos].flags = 0; + indices[precision] = pos; + precision = pos++; + } + if (flags & FLAGS_BASE_PARAMETER) + { + usedEntries[base] += 1; + parameters[pos].type = FORMAT_PARAMETER; + parameters[pos].flags = 0; + indices[base] = pos; + base = pos++; + } + if (flags & FLAGS_VARSIZE_PARAMETER) + { + usedEntries[varsize] += 1; + parameters[pos].type = FORMAT_PARAMETER; + parameters[pos].flags = 0; + indices[varsize] = pos; + varsize = pos++; + } + + indices[currentParam] = pos; + + switch (format[index++]) + { +#if defined(SPECIFIER_CHAR_UPPER) + case SPECIFIER_CHAR_UPPER: + flags |= FLAGS_WIDECHAR; + /* FALLTHROUGH */ +#endif + case SPECIFIER_CHAR: + if (flags & FLAGS_LONG) + flags |= FLAGS_WIDECHAR; + else if (flags & FLAGS_SHORT) + flags &= ~FLAGS_WIDECHAR; + parameters[pos].type = FORMAT_CHAR; + break; + +#if defined(SPECIFIER_STRING_UPPER) + case SPECIFIER_STRING_UPPER: + flags |= FLAGS_WIDECHAR; + /* FALLTHROUGH */ +#endif + case SPECIFIER_STRING: + if (flags & FLAGS_LONG) + flags |= FLAGS_WIDECHAR; + else if (flags & FLAGS_SHORT) + flags &= ~FLAGS_WIDECHAR; + parameters[pos].type = FORMAT_STRING; + break; + + case SPECIFIER_GROUP: + if (TYPE_SCAN == type) + { + int depth = 1; + parameters[pos].type = FORMAT_GROUP; + if (format[index] == QUALIFIER_CIRCUMFLEX) + index++; + if (format[index] == SPECIFIER_UNGROUP) + index++; + if (format[index] == QUALIFIER_MINUS) + index++; + /* Skip nested brackets */ + while (format[index] != NIL) + { + if (format[index] == SPECIFIER_GROUP) + { + depth++; + } + else if (format[index] == SPECIFIER_UNGROUP) + { + if (--depth <= 0) + { + index++; + break; + } + } + index++; + } + } + break; + + case SPECIFIER_INTEGER: + parameters[pos].type = FORMAT_INT; + break; + + case SPECIFIER_UNSIGNED: + flags |= FLAGS_UNSIGNED; + parameters[pos].type = FORMAT_INT; + break; + + case SPECIFIER_DECIMAL: + /* Disable base modifier */ + flags &= ~FLAGS_BASE_PARAMETER; + base = BASE_DECIMAL; + parameters[pos].type = FORMAT_INT; + break; + + case SPECIFIER_OCTAL: + flags |= FLAGS_UNSIGNED; + flags &= ~FLAGS_BASE_PARAMETER; + base = BASE_OCTAL; + parameters[pos].type = FORMAT_INT; + break; + +#if defined(SPECIFIER_BINARY) + case SPECIFIER_BINARY_UPPER: + flags |= FLAGS_UPPER; + /* FALLTHROUGH */ + case SPECIFIER_BINARY: + flags |= FLAGS_NILPADDING; + flags &= ~FLAGS_BASE_PARAMETER; + base = BASE_BINARY; + parameters[pos].type = FORMAT_INT; + break; +#endif + + case SPECIFIER_HEX_UPPER: + flags |= FLAGS_UPPER; + /* FALLTHROUGH */ + case SPECIFIER_HEX: + flags |= FLAGS_UNSIGNED; + flags &= ~FLAGS_BASE_PARAMETER; + base = BASE_HEX; + parameters[pos].type = FORMAT_INT; + break; + + case SPECIFIER_FLOAT_E_UPPER: + flags |= FLAGS_UPPER; + /* FALLTHROUGH */ + case SPECIFIER_FLOAT_E: + flags |= FLAGS_FLOAT_E; + parameters[pos].type = FORMAT_DOUBLE; + break; + + case SPECIFIER_FLOAT_G_UPPER: + flags |= FLAGS_UPPER; + /* FALLTHROUGH */ + case SPECIFIER_FLOAT_G: + flags |= FLAGS_FLOAT_G; + parameters[pos].type = FORMAT_DOUBLE; + break; + + case SPECIFIER_FLOAT_F_UPPER: + flags |= FLAGS_UPPER; + /* FALLTHROUGH */ + case SPECIFIER_FLOAT_F: + parameters[pos].type = FORMAT_DOUBLE; + break; + + case SPECIFIER_POINTER: + if (sizeof(trio_pointer_t) == sizeof(trio_ulonglong_t)) + flags |= FLAGS_QUAD; + else if (sizeof(trio_pointer_t) == sizeof(long)) + flags |= FLAGS_LONG; + parameters[pos].type = FORMAT_POINTER; + break; + + case SPECIFIER_COUNT: + parameters[pos].type = FORMAT_COUNT; + break; + +#if defined(SPECIFIER_HEXFLOAT) +# if defined(SPECIFIER_HEXFLOAT_UPPER) + case SPECIFIER_HEXFLOAT_UPPER: + flags |= FLAGS_UPPER; + /* FALLTHROUGH */ +# endif + case SPECIFIER_HEXFLOAT: + base = BASE_HEX; + parameters[pos].type = FORMAT_DOUBLE; + break; +#endif + +#if defined(FORMAT_ERRNO) + case SPECIFIER_ERRNO: + parameters[pos].type = FORMAT_ERRNO; + break; +#endif + +#if defined(SPECIFIER_USER_DEFINED_BEGIN) + case SPECIFIER_USER_DEFINED_BEGIN: + { + unsigned int max; + int without_namespace = TRUE; + + parameters[pos].type = FORMAT_USER_DEFINED; + parameters[pos].user_name[0] = NIL; + tmpformat = (char *)&format[index]; + + while ((ch = format[index])) + { + index++; + if (ch == SPECIFIER_USER_DEFINED_END) + { + if (without_namespace) + { + /* We must get the handle first */ + parameters[pos].type = FORMAT_PARAMETER; + parameters[pos].indexAfterSpecifier = index; + parameters[pos].flags = FLAGS_USER_DEFINED; + /* Adjust parameters for insertion of new one */ + pos++; + usedEntries[currentParam] += 1; + parameters[pos].type = FORMAT_USER_DEFINED; + currentParam++; + indices[currentParam] = pos; + if (currentParam > maxParam) + maxParam = currentParam; + } + /* Copy the user data */ + max = (unsigned int)(&format[index] - tmpformat); + if (max > MAX_USER_DATA) + max = MAX_USER_DATA; + trio_copy_max(parameters[pos].user_data, + max, + tmpformat); + break; /* while */ + } + if (ch == SPECIFIER_USER_DEFINED_SEPARATOR) + { + without_namespace = FALSE; + /* Copy the namespace for later looking-up */ + max = (int)(&format[index] - tmpformat); + if (max > MAX_USER_NAME) + max = MAX_USER_NAME; + trio_copy_max(parameters[pos].user_name, + max, + tmpformat); + tmpformat = (char *)&format[index]; + } + } + if (ch != SPECIFIER_USER_DEFINED_END) + return TRIO_ERROR_RETURN(TRIO_EINVAL, index); + } + break; +#endif /* defined(SPECIFIER_USER_DEFINED_BEGIN) */ + + default: + /* Bail out completely to make the error more obvious */ + return TRIO_ERROR_RETURN(TRIO_EINVAL, index); + } + + /* Count the number of times this entry has been used */ + usedEntries[currentParam] += 1; + + /* Find last sticky parameters */ + if (gotSticky && !(flags & FLAGS_STICKY)) + { + for (i = pos - 1; i >= 0; i--) + { + if (parameters[i].type == FORMAT_PARAMETER) + continue; + if ((parameters[i].flags & FLAGS_STICKY) && + (parameters[i].type == parameters[pos].type)) + { + /* Do not overwrite current qualifiers */ + flags |= (parameters[i].flags & (unsigned long)~FLAGS_STICKY); + if (width == NO_WIDTH) + width = parameters[i].width; + if (precision == NO_PRECISION) + precision = parameters[i].precision; + if (base == NO_BASE) + base = parameters[i].base; + break; + } + } + } + + parameters[pos].indexAfterSpecifier = index; + parameters[pos].flags = flags; + parameters[pos].width = width; + parameters[pos].precision = precision; + parameters[pos].base = (base == NO_BASE) ? BASE_DECIMAL : base; + parameters[pos].varsize = varsize; + pos++; + + if (! positional) + parameterPosition++; + + } /* if identifier */ + + } /* while format characters left */ + + for (num = 0; num <= maxParam; num++) + { + if (usedEntries[num] != 1) + { + if (usedEntries[num] == 0) /* gap detected */ + return TRIO_ERROR_RETURN(TRIO_EGAP, num); + else /* double references detected */ + return TRIO_ERROR_RETURN(TRIO_EDBLREF, num); + } + + i = indices[num]; + + /* + * FORMAT_PARAMETERS are only present if they must be read, + * so it makes no sense to check the ignore flag (besides, + * the flags variable is not set for that particular type) + */ + if ((parameters[i].type != FORMAT_PARAMETER) && + (parameters[i].flags & FLAGS_IGNORE)) + continue; /* for all arguments */ + + /* + * The stack arguments are read according to ANSI C89 + * default argument promotions: + * + * char = int + * short = int + * unsigned char = unsigned int + * unsigned short = unsigned int + * float = double + * + * In addition to the ANSI C89 these types are read (the + * default argument promotions of C99 has not been + * considered yet) + * + * long long + * long double + * size_t + * ptrdiff_t + * intmax_t + */ + switch (parameters[i].type) + { + case FORMAT_GROUP: + case FORMAT_STRING: +#if TRIO_WIDECHAR + if (flags & FLAGS_WIDECHAR) + { + parameters[i].data.wstring = (argarray == NULL) + ? va_arg(TRIO_VA_LIST_DEREF(arglist), trio_wchar_t *) + : (trio_wchar_t *)(argarray[num]); + } + else +#endif + { + parameters[i].data.string = (argarray == NULL) + ? va_arg(TRIO_VA_LIST_DEREF(arglist), char *) + : (char *)(argarray[num]); + } + break; + +#if defined(FORMAT_USER_DEFINED) + case FORMAT_USER_DEFINED: +#endif + case FORMAT_POINTER: + case FORMAT_COUNT: + case FORMAT_UNKNOWN: + parameters[i].data.pointer = (argarray == NULL) + ? va_arg(TRIO_VA_LIST_DEREF(arglist), trio_pointer_t ) + : argarray[num]; + break; + + case FORMAT_CHAR: + case FORMAT_INT: + if (TYPE_SCAN == type) + { + if (argarray == NULL) + parameters[i].data.pointer = + (trio_pointer_t)va_arg(TRIO_VA_LIST_DEREF(arglist), trio_pointer_t); + else + { + if (parameters[i].type == FORMAT_CHAR) + parameters[i].data.pointer = + (trio_pointer_t)((char *)argarray[num]); + else if (parameters[i].flags & FLAGS_SHORT) + parameters[i].data.pointer = + (trio_pointer_t)((short *)argarray[num]); + else + parameters[i].data.pointer = + (trio_pointer_t)((int *)argarray[num]); + } + } + else + { +#if defined(QUALIFIER_VARSIZE) || defined(QUALIFIER_FIXED_SIZE) + if (parameters[i].flags + & (FLAGS_VARSIZE_PARAMETER | FLAGS_FIXED_SIZE)) + { + if (parameters[i].flags & FLAGS_VARSIZE_PARAMETER) + { + /* + * Variable sizes are mapped onto the fixed sizes, in + * accordance with integer promotion. + * + * Please note that this may not be portable, as we + * only guess the size, not the layout of the numbers. + * For example, if int is little-endian, and long is + * big-endian, then this will fail. + */ + varsize = (int)parameters[parameters[i].varsize].data.number.as_unsigned; + } + else + { + /* Used for the I modifiers */ + varsize = parameters[i].varsize; + } + parameters[i].flags &= ~FLAGS_ALL_VARSIZES; + + if (varsize <= (int)sizeof(int)) + ; + else if (varsize <= (int)sizeof(long)) + parameters[i].flags |= FLAGS_LONG; +#if defined(QUALIFIER_INTMAX_T) + else if (varsize <= (int)sizeof(trio_longlong_t)) + parameters[i].flags |= FLAGS_QUAD; + else + parameters[i].flags |= FLAGS_INTMAX_T; +#else + else + parameters[i].flags |= FLAGS_QUAD; +#endif + } +#endif /* defined(QUALIFIER_VARSIZE) */ +#if defined(QUALIFIER_SIZE_T) || defined(QUALIFIER_SIZE_T_UPPER) + if (parameters[i].flags & FLAGS_SIZE_T) + parameters[i].data.number.as_unsigned = (argarray == NULL) + ? (trio_uintmax_t)va_arg(TRIO_VA_LIST_DEREF(arglist), size_t) + : (trio_uintmax_t)(*((size_t *)argarray[num])); + else +#endif +#if defined(QUALIFIER_PTRDIFF_T) + if (parameters[i].flags & FLAGS_PTRDIFF_T) + parameters[i].data.number.as_unsigned = (argarray == NULL) + ? (trio_uintmax_t)va_arg(TRIO_VA_LIST_DEREF(arglist), ptrdiff_t) + : (trio_uintmax_t)(*((ptrdiff_t *)argarray[num])); + else +#endif +#if defined(QUALIFIER_INTMAX_T) + if (parameters[i].flags & FLAGS_INTMAX_T) + parameters[i].data.number.as_unsigned = (argarray == NULL) + ? (trio_uintmax_t)va_arg(TRIO_VA_LIST_DEREF(arglist), trio_intmax_t) + : (trio_uintmax_t)(*((trio_intmax_t *)argarray[num])); + else +#endif + if (parameters[i].flags & FLAGS_QUAD) + parameters[i].data.number.as_unsigned = (argarray == NULL) + ? (trio_uintmax_t)va_arg(TRIO_VA_LIST_DEREF(arglist), trio_ulonglong_t) + : (trio_uintmax_t)(*((trio_ulonglong_t *)argarray[num])); + else if (parameters[i].flags & FLAGS_LONG) + parameters[i].data.number.as_unsigned = (argarray == NULL) + ? (trio_uintmax_t)va_arg(TRIO_VA_LIST_DEREF(arglist), long) + : (trio_uintmax_t)(*((long *)argarray[num])); + else + { + if (argarray == NULL) + parameters[i].data.number.as_unsigned = (trio_uintmax_t)va_arg(TRIO_VA_LIST_DEREF(arglist), int); + else + { + if (parameters[i].type == FORMAT_CHAR) + parameters[i].data.number.as_unsigned = (trio_uintmax_t)(*((char *)argarray[num])); + else if (parameters[i].flags & FLAGS_SHORT) + parameters[i].data.number.as_unsigned = (trio_uintmax_t)(*((short *)argarray[num])); + else + parameters[i].data.number.as_unsigned = (trio_uintmax_t)(*((int *)argarray[num])); + } + } + } + break; + + case FORMAT_PARAMETER: + /* + * The parameter for the user-defined specifier is a pointer, + * whereas the rest (width, precision, base) uses an integer. + */ + if (parameters[i].flags & FLAGS_USER_DEFINED) + parameters[i].data.pointer = (argarray == NULL) + ? va_arg(TRIO_VA_LIST_DEREF(arglist), trio_pointer_t ) + : argarray[num]; + else + parameters[i].data.number.as_unsigned = (argarray == NULL) + ? (trio_uintmax_t)va_arg(TRIO_VA_LIST_DEREF(arglist), int) + : (trio_uintmax_t)(*((int *)argarray[num])); + break; + + case FORMAT_DOUBLE: + if (TYPE_SCAN == type) + { + if (parameters[i].flags & FLAGS_LONGDOUBLE) + parameters[i].data.longdoublePointer = (argarray == NULL) + ? va_arg(TRIO_VA_LIST_DEREF(arglist), trio_long_double_t *) + : (trio_long_double_t *)argarray[num]; + else + { + if (parameters[i].flags & FLAGS_LONG) + parameters[i].data.doublePointer = (argarray == NULL) + ? va_arg(TRIO_VA_LIST_DEREF(arglist), double *) + : (double *)argarray[num]; + else + parameters[i].data.doublePointer = (argarray == NULL) + ? (double *)va_arg(TRIO_VA_LIST_DEREF(arglist), float *) + : (double *)((float *)argarray[num]); + } + } + else + { + if (parameters[i].flags & FLAGS_LONGDOUBLE) + parameters[i].data.longdoubleNumber = (argarray == NULL) + ? va_arg(TRIO_VA_LIST_DEREF(arglist), trio_long_double_t) + : (trio_long_double_t)(*((trio_long_double_t *)argarray[num])); + else + { + if (argarray == NULL) + parameters[i].data.longdoubleNumber = + (trio_long_double_t)va_arg(TRIO_VA_LIST_DEREF(arglist), double); + else + { + if (parameters[i].flags & FLAGS_SHORT) + parameters[i].data.longdoubleNumber = + (trio_long_double_t)(*((float *)argarray[num])); + else + parameters[i].data.longdoubleNumber = + (trio_long_double_t)(*((double *)argarray[num])); + } + } + } + break; + +#if defined(FORMAT_ERRNO) + case FORMAT_ERRNO: + parameters[i].data.errorNumber = save_errno; + break; +#endif + + default: + break; + } + } /* for all specifiers */ + return num; +} + + +/************************************************************************* + * + * FORMATTING + * + ************************************************************************/ + + +/************************************************************************* + * TrioWriteNumber + * + * Description: + * Output a number. + * The complexity of this function is a result of the complexity + * of the dependencies of the flags. + */ +TRIO_PRIVATE void +TrioWriteNumber +TRIO_ARGS6((self, number, flags, width, precision, base), + trio_class_t *self, + trio_uintmax_t number, + trio_flags_t flags, + int width, + int precision, + int base) +{ + BOOLEAN_T isNegative; + BOOLEAN_T isNumberZero; + BOOLEAN_T isPrecisionZero; + BOOLEAN_T ignoreNumber; + char buffer[MAX_CHARS_IN(trio_uintmax_t) * (1 + MAX_LOCALE_SEPARATOR_LENGTH) + 1]; + char *bufferend; + char *pointer; + TRIO_CONST char *digits; + int i; + int length; + char *p; + int count; + + assert(VALID(self)); + assert(VALID(self->OutStream)); + assert(((base >= MIN_BASE) && (base <= MAX_BASE)) || (base == NO_BASE)); + + digits = (flags & FLAGS_UPPER) ? internalDigitsUpper : internalDigitsLower; + if (base == NO_BASE) + base = BASE_DECIMAL; + + isNumberZero = (number == 0); + isPrecisionZero = (precision == 0); + ignoreNumber = (isNumberZero + && isPrecisionZero + && !((flags & FLAGS_ALTERNATIVE) && (base == BASE_OCTAL))); + + if (flags & FLAGS_UNSIGNED) + { + isNegative = FALSE; + flags &= ~FLAGS_SHOWSIGN; + } + else + { + isNegative = ((trio_intmax_t)number < 0); + if (isNegative) + number = -((trio_intmax_t)number); + } + + if (flags & FLAGS_QUAD) + number &= (trio_ulonglong_t)-1; + else if (flags & FLAGS_LONG) + number &= (unsigned long)-1; + else + number &= (unsigned int)-1; + + /* Build number */ + pointer = bufferend = &buffer[sizeof(buffer) - 1]; + *pointer-- = NIL; + for (i = 1; i < (int)sizeof(buffer); i++) + { + *pointer-- = digits[number % base]; + number /= base; + if (number == 0) + break; + + if ((flags & FLAGS_QUOTE) && TrioFollowedBySeparator(i + 1)) + { + /* + * We are building the number from the least significant + * to the most significant digit, so we have to copy the + * thousand separator backwards + */ + length = internalThousandSeparatorLength; + if (((int)(pointer - buffer) - length) > 0) + { + p = &internalThousandSeparator[length - 1]; + while (length-- > 0) + *pointer-- = *p--; + } + } + } + + if (! ignoreNumber) + { + /* Adjust width */ + width -= (bufferend - pointer) - 1; + } + + /* Adjust precision */ + if (NO_PRECISION != precision) + { + precision -= (bufferend - pointer) - 1; + if (precision < 0) + precision = 0; + flags |= FLAGS_NILPADDING; + } + + /* Calculate padding */ + count = (! ((flags & FLAGS_LEFTADJUST) || (precision == NO_PRECISION))) + ? precision + : 0; + + /* Adjust width further */ + if (isNegative || (flags & FLAGS_SHOWSIGN) || (flags & FLAGS_SPACE)) + width--; + if ((flags & FLAGS_ALTERNATIVE) && !isNumberZero) + { + switch (base) + { + case BASE_BINARY: + case BASE_HEX: + width -= 2; + break; + case BASE_OCTAL: + if (!(flags & FLAGS_NILPADDING) || (count == 0)) + width--; + break; + default: + break; + } + } + + /* Output prefixes spaces if needed */ + if (! ((flags & FLAGS_LEFTADJUST) || + ((flags & FLAGS_NILPADDING) && (precision == NO_PRECISION)))) + { + while (width-- > count) + self->OutStream(self, CHAR_ADJUST); + } + + /* width has been adjusted for signs and alternatives */ + if (isNegative) + self->OutStream(self, '-'); + else if (flags & FLAGS_SHOWSIGN) + self->OutStream(self, '+'); + else if (flags & FLAGS_SPACE) + self->OutStream(self, ' '); + + /* Prefix is not written when the value is zero */ + if ((flags & FLAGS_ALTERNATIVE) && !isNumberZero) + { + switch (base) + { + case BASE_BINARY: + self->OutStream(self, '0'); + self->OutStream(self, (flags & FLAGS_UPPER) ? 'B' : 'b'); + break; + + case BASE_OCTAL: + if (!(flags & FLAGS_NILPADDING) || (count == 0)) + self->OutStream(self, '0'); + break; + + case BASE_HEX: + self->OutStream(self, '0'); + self->OutStream(self, (flags & FLAGS_UPPER) ? 'X' : 'x'); + break; + + default: + break; + } /* switch base */ + } + + /* Output prefixed zero padding if needed */ + if (flags & FLAGS_NILPADDING) + { + if (precision == NO_PRECISION) + precision = width; + while (precision-- > 0) + { + self->OutStream(self, '0'); + width--; + } + } + + if (! ignoreNumber) + { + /* Output the number itself */ + while (*(++pointer)) + { + self->OutStream(self, *pointer); + } + } + + /* Output trailing spaces if needed */ + if (flags & FLAGS_LEFTADJUST) + { + while (width-- > 0) + self->OutStream(self, CHAR_ADJUST); + } +} + +/************************************************************************* + * TrioWriteStringCharacter + * + * Description: + * Output a single character of a string + */ +TRIO_PRIVATE void +TrioWriteStringCharacter +TRIO_ARGS3((self, ch, flags), + trio_class_t *self, + int ch, + trio_flags_t flags) +{ + if (flags & FLAGS_ALTERNATIVE) + { + if (! isprint(ch)) + { + /* + * Non-printable characters are converted to C escapes or + * \number, if no C escape exists. + */ + self->OutStream(self, CHAR_BACKSLASH); + switch (ch) + { + case '\007': self->OutStream(self, 'a'); break; + case '\b': self->OutStream(self, 'b'); break; + case '\f': self->OutStream(self, 'f'); break; + case '\n': self->OutStream(self, 'n'); break; + case '\r': self->OutStream(self, 'r'); break; + case '\t': self->OutStream(self, 't'); break; + case '\v': self->OutStream(self, 'v'); break; + case '\\': self->OutStream(self, '\\'); break; + default: + self->OutStream(self, 'x'); + TrioWriteNumber(self, (trio_uintmax_t)ch, + FLAGS_UNSIGNED | FLAGS_NILPADDING, + 2, 2, BASE_HEX); + break; + } + } + else if (ch == CHAR_BACKSLASH) + { + self->OutStream(self, CHAR_BACKSLASH); + self->OutStream(self, CHAR_BACKSLASH); + } + else + { + self->OutStream(self, ch); + } + } + else + { + self->OutStream(self, ch); + } +} + +/************************************************************************* + * TrioWriteString + * + * Description: + * Output a string + */ +TRIO_PRIVATE void +TrioWriteString +TRIO_ARGS5((self, string, flags, width, precision), + trio_class_t *self, + TRIO_CONST char *string, + trio_flags_t flags, + int width, + int precision) +{ + int length; + int ch; + + assert(VALID(self)); + assert(VALID(self->OutStream)); + + if (string == NULL) + { + string = internalNullString; + length = sizeof(internalNullString) - 1; + /* Disable quoting for the null pointer */ + flags &= (~FLAGS_QUOTE); + width = 0; + } + else + { + length = trio_length(string); + } + if ((NO_PRECISION != precision) && + (precision < length)) + { + length = precision; + } + width -= length; + + if (flags & FLAGS_QUOTE) + self->OutStream(self, CHAR_QUOTE); + + if (! (flags & FLAGS_LEFTADJUST)) + { + while (width-- > 0) + self->OutStream(self, CHAR_ADJUST); + } + + while (length-- > 0) + { + /* The ctype parameters must be an unsigned char (or EOF) */ + ch = (int)((unsigned char)(*string++)); + TrioWriteStringCharacter(self, ch, flags); + } + + if (flags & FLAGS_LEFTADJUST) + { + while (width-- > 0) + self->OutStream(self, CHAR_ADJUST); + } + if (flags & FLAGS_QUOTE) + self->OutStream(self, CHAR_QUOTE); +} + +/************************************************************************* + * TrioWriteWideStringCharacter + * + * Description: + * Output a wide string as a multi-byte sequence + */ +#if TRIO_WIDECHAR +TRIO_PRIVATE int +TrioWriteWideStringCharacter +TRIO_ARGS4((self, wch, flags, width), + trio_class_t *self, + trio_wchar_t wch, + trio_flags_t flags, + int width) +{ + int size; + int i; + int ch; + char *string; + char buffer[MB_LEN_MAX + 1]; + + if (width == NO_WIDTH) + width = sizeof(buffer); + + size = wctomb(buffer, wch); + if ((size <= 0) || (size > width) || (buffer[0] == NIL)) + return 0; + + string = buffer; + i = size; + while ((width >= i) && (width-- > 0) && (i-- > 0)) + { + /* The ctype parameters must be an unsigned char (or EOF) */ + ch = (int)((unsigned char)(*string++)); + TrioWriteStringCharacter(self, ch, flags); + } + return size; +} +#endif /* TRIO_WIDECHAR */ + +/************************************************************************* + * TrioWriteWideString + * + * Description: + * Output a wide character string as a multi-byte string + */ +#if TRIO_WIDECHAR +TRIO_PRIVATE void +TrioWriteWideString +TRIO_ARGS5((self, wstring, flags, width, precision), + trio_class_t *self, + TRIO_CONST trio_wchar_t *wstring, + trio_flags_t flags, + int width, + int precision) +{ + int length; + int size; + + assert(VALID(self)); + assert(VALID(self->OutStream)); + +#if defined(TRIO_COMPILER_SUPPORTS_MULTIBYTE) + (void)mblen(NULL, 0); +#endif + + if (wstring == NULL) + { + TrioWriteString(self, NULL, flags, width, precision); + return; + } + + if (NO_PRECISION == precision) + { + length = INT_MAX; + } + else + { + length = precision; + width -= length; + } + + if (flags & FLAGS_QUOTE) + self->OutStream(self, CHAR_QUOTE); + + if (! (flags & FLAGS_LEFTADJUST)) + { + while (width-- > 0) + self->OutStream(self, CHAR_ADJUST); + } + + while (length > 0) + { + size = TrioWriteWideStringCharacter(self, *wstring++, flags, length); + if (size == 0) + break; /* while */ + length -= size; + } + + if (flags & FLAGS_LEFTADJUST) + { + while (width-- > 0) + self->OutStream(self, CHAR_ADJUST); + } + if (flags & FLAGS_QUOTE) + self->OutStream(self, CHAR_QUOTE); +} +#endif /* TRIO_WIDECHAR */ + +/************************************************************************* + * TrioWriteDouble + * + * http://wwwold.dkuug.dk/JTC1/SC22/WG14/www/docs/dr_211.htm + * + * "5.2.4.2.2 paragraph #4 + * + * The accuracy [...] is implementation defined, as is the accuracy + * of the conversion between floating-point internal representations + * and string representations performed by the library routine in + * " + */ +/* FIXME: handle all instances of constant long-double number (L) + * and *l() math functions. + */ +TRIO_PRIVATE void +TrioWriteDouble +TRIO_ARGS6((self, number, flags, width, precision, base), + trio_class_t *self, + trio_long_double_t number, + trio_flags_t flags, + int width, + int precision, + int base) +{ + trio_long_double_t integerNumber; + trio_long_double_t fractionNumber; + trio_long_double_t workNumber; + int integerDigits; + int fractionDigits; + int exponentDigits; + int baseDigits; + int integerThreshold; + int fractionThreshold; + int expectedWidth; + int exponent = 0; + unsigned int uExponent = 0; + int exponentBase; + trio_long_double_t dblBase; + trio_long_double_t dblIntegerBase; + trio_long_double_t dblFractionBase; + trio_long_double_t integerAdjust; + trio_long_double_t fractionAdjust; + BOOLEAN_T isNegative; + BOOLEAN_T isExponentNegative = FALSE; + BOOLEAN_T requireTwoDigitExponent; + BOOLEAN_T isHex; + TRIO_CONST char *digits; + char *groupingPointer; + int i; + int index; + BOOLEAN_T hasOnlyZeroes; + int zeroes = 0; + register int trailingZeroes; + BOOLEAN_T keepTrailingZeroes; + BOOLEAN_T keepDecimalPoint; + trio_long_double_t epsilon; + + assert(VALID(self)); + assert(VALID(self->OutStream)); + assert(((base >= MIN_BASE) && (base <= MAX_BASE)) || (base == NO_BASE)); + + /* Determine sign and look for special quantities */ + switch (trio_fpclassify_and_signbit(number, &isNegative)) + { + case TRIO_FP_NAN: + TrioWriteString(self, + (flags & FLAGS_UPPER) + ? NAN_UPPER + : NAN_LOWER, + flags, width, precision); + return; + + case TRIO_FP_INFINITE: + if (isNegative) + { + /* Negative infinity */ + TrioWriteString(self, + (flags & FLAGS_UPPER) + ? "-" INFINITE_UPPER + : "-" INFINITE_LOWER, + flags, width, precision); + return; + } + else + { + /* Positive infinity */ + TrioWriteString(self, + (flags & FLAGS_UPPER) + ? INFINITE_UPPER + : INFINITE_LOWER, + flags, width, precision); + return; + } + + default: + /* Finitude */ + break; + } + + /* Normal numbers */ + if (flags & FLAGS_LONGDOUBLE) + { + baseDigits = (base == 10) + ? LDBL_DIG + : (int)floor(LDBL_MANT_DIG / TrioLogarithmBase(base)); + epsilon = LDBL_EPSILON; + } + else if (flags & FLAGS_SHORT) + { + baseDigits = (base == BASE_DECIMAL) + ? FLT_DIG + : (int)floor(FLT_MANT_DIG / TrioLogarithmBase(base)); + epsilon = FLT_EPSILON; + } + else + { + baseDigits = (base == BASE_DECIMAL) + ? DBL_DIG + : (int)floor(DBL_MANT_DIG / TrioLogarithmBase(base)); + epsilon = DBL_EPSILON; + } + + digits = (flags & FLAGS_UPPER) ? internalDigitsUpper : internalDigitsLower; + isHex = (base == BASE_HEX); + if (base == NO_BASE) + base = BASE_DECIMAL; + dblBase = (trio_long_double_t)base; + keepTrailingZeroes = !( (flags & FLAGS_ROUNDING) || + ( (flags & FLAGS_FLOAT_G) && + !(flags & FLAGS_ALTERNATIVE) ) ); + + if (flags & FLAGS_ROUNDING) + precision = baseDigits; + + if (precision == NO_PRECISION) + { + if (isHex) + { + keepTrailingZeroes = FALSE; + precision = FLT_MANT_DIG; + } + else + { + precision = FLT_DIG; + } + } + + if (isNegative) + number = -number; + + if (isHex) + flags |= FLAGS_FLOAT_E; + + if (flags & FLAGS_FLOAT_G) + { + if (precision == 0) + precision = 1; + + if ((number < 1.0E-4) || (number > powl(base, + (trio_long_double_t)precision))) + { + /* Use scientific notation */ + flags |= FLAGS_FLOAT_E; + } + else if (number < 1.0) + { + /* + * Use normal notation. If the integer part of the number is + * zero, then adjust the precision to include leading fractional + * zeros. + */ + workNumber = TrioLogarithm(number, base); + workNumber = TRIO_FABS(workNumber); + if (workNumber - floorl(workNumber) < 0.001) + workNumber--; + zeroes = (int)floorl(workNumber); + } + } + + if (flags & FLAGS_FLOAT_E) + { + /* Scale the number */ + workNumber = TrioLogarithm(number, base); + if (trio_isinf(workNumber) == -1) + { + exponent = 0; + /* Undo setting */ + if (flags & FLAGS_FLOAT_G) + flags &= ~FLAGS_FLOAT_E; + } + else + { + exponent = (int)floorl(workNumber); + number /= powl(dblBase, (trio_long_double_t)exponent); + isExponentNegative = (exponent < 0); + uExponent = (isExponentNegative) ? -exponent : exponent; + if (isHex) + uExponent *= 4; /* log16(2) */ + /* No thousand separators */ + flags &= ~FLAGS_QUOTE; + } + } + + integerNumber = floorl(number); + fractionNumber = number - integerNumber; + + /* + * Truncated number. + * + * Precision is number of significant digits for FLOAT_G + * and number of fractional digits for others. + */ + integerDigits = (integerNumber > epsilon) + ? 1 + (int)TrioLogarithm(integerNumber, base) + : 1; + fractionDigits = ((flags & FLAGS_FLOAT_G) && (zeroes == 0)) + ? precision - integerDigits + : zeroes + precision; + + dblFractionBase = TrioPower(base, fractionDigits); + + workNumber = number + 0.5 / dblFractionBase; + if (floorl(number) != floorl(workNumber)) + { + if (flags & FLAGS_FLOAT_E) + { + /* Adjust if number was rounded up one digit (ie. 0.99 to 1.00) */ + exponent++; + isExponentNegative = (exponent < 0); + uExponent = (isExponentNegative) ? -exponent : exponent; + if (isHex) + uExponent *= 4; /* log16(2) */ + workNumber = (number + 0.5 / dblFractionBase) / dblBase; + integerNumber = floorl(workNumber); + fractionNumber = workNumber - integerNumber; + } + else + { + /* Adjust if number was rounded up one digit (ie. 99 to 100) */ + integerNumber = floorl(number + 0.5); + fractionNumber = 0.0; + integerDigits = (integerNumber > epsilon) + ? 1 + (int)TrioLogarithm(integerNumber, base) + : 1; + } + } + + /* Estimate accuracy */ + integerAdjust = fractionAdjust = 0.5; + if (flags & FLAGS_ROUNDING) + { + if (integerDigits > baseDigits) + { + integerThreshold = baseDigits; + fractionDigits = 0; + dblFractionBase = 1.0; + fractionThreshold = 0; + precision = 0; /* Disable decimal-point */ + integerAdjust = TrioPower(base, integerDigits - integerThreshold - 1); + fractionAdjust = 0.0; + } + else + { + integerThreshold = integerDigits; + fractionThreshold = fractionDigits - integerThreshold; + fractionAdjust = 1.0; + } + } + else + { + integerThreshold = INT_MAX; + fractionThreshold = INT_MAX; + } + + /* + * Calculate expected width. + * sign + integer part + thousands separators + decimal point + * + fraction + exponent + */ + fractionAdjust /= dblFractionBase; + hasOnlyZeroes = (floorl((fractionNumber + fractionAdjust) * dblFractionBase) < epsilon); + keepDecimalPoint = ( (flags & FLAGS_ALTERNATIVE) || + !((precision == 0) || + (!keepTrailingZeroes && hasOnlyZeroes)) ); + if (flags & FLAGS_FLOAT_E) + { + exponentDigits = (uExponent == 0) + ? 1 + : (int)ceil(TrioLogarithm((double)(uExponent + 1), + (isHex) ? 10.0 : base)); + } + else + exponentDigits = 0; + requireTwoDigitExponent = ((base == BASE_DECIMAL) && (exponentDigits == 1)); + + expectedWidth = integerDigits + fractionDigits + + (keepDecimalPoint + ? internalDecimalPointLength + : 0) + + ((flags & FLAGS_QUOTE) + ? TrioCalcThousandSeparatorLength(integerDigits) + : 0); + if (isNegative || (flags & FLAGS_SHOWSIGN) || (flags & FLAGS_SPACE)) + expectedWidth += sizeof("-") - 1; + if (exponentDigits > 0) + expectedWidth += exponentDigits + + ((requireTwoDigitExponent ? sizeof("E+0") : sizeof("E+")) - 1); + if (isHex) + expectedWidth += sizeof("0X") - 1; + + /* Output prefixing */ + if (flags & FLAGS_NILPADDING) + { + /* Leading zeros must be after sign */ + if (isNegative) + self->OutStream(self, '-'); + else if (flags & FLAGS_SHOWSIGN) + self->OutStream(self, '+'); + else if (flags & FLAGS_SPACE) + self->OutStream(self, ' '); + if (isHex) + { + self->OutStream(self, '0'); + self->OutStream(self, (flags & FLAGS_UPPER) ? 'X' : 'x'); + } + if (!(flags & FLAGS_LEFTADJUST)) + { + for (i = expectedWidth; i < width; i++) + { + self->OutStream(self, '0'); + } + } + } + else + { + /* Leading spaces must be before sign */ + if (!(flags & FLAGS_LEFTADJUST)) + { + for (i = expectedWidth; i < width; i++) + { + self->OutStream(self, CHAR_ADJUST); + } + } + if (isNegative) + self->OutStream(self, '-'); + else if (flags & FLAGS_SHOWSIGN) + self->OutStream(self, '+'); + else if (flags & FLAGS_SPACE) + self->OutStream(self, ' '); + if (isHex) + { + self->OutStream(self, '0'); + self->OutStream(self, (flags & FLAGS_UPPER) ? 'X' : 'x'); + } + } + + /* Output the integer part and thousand separators */ + dblIntegerBase = 1.0 / TrioPower(base, integerDigits - 1); + for (i = 0; i < integerDigits; i++) + { + workNumber = floorl(((integerNumber + integerAdjust) * dblIntegerBase)); + if (i > integerThreshold) + { + /* Beyond accuracy */ + self->OutStream(self, digits[0]); + } + else + { + self->OutStream(self, digits[(int)fmodl(workNumber, dblBase)]); + } + dblIntegerBase *= dblBase; + + if (((flags & (FLAGS_FLOAT_E | FLAGS_QUOTE)) == FLAGS_QUOTE) + && TrioFollowedBySeparator(integerDigits - i)) + { + for (groupingPointer = internalThousandSeparator; + *groupingPointer != NIL; + groupingPointer++) + { + self->OutStream(self, *groupingPointer); + } + } + } + + /* Insert decimal point and build the fraction part */ + trailingZeroes = 0; + + if (keepDecimalPoint) + { + if (internalDecimalPoint) + { + self->OutStream(self, internalDecimalPoint); + } + else + { + for (i = 0; i < internalDecimalPointLength; i++) + { + self->OutStream(self, internalDecimalPointString[i]); + } + } + } + + for (i = 0; i < fractionDigits; i++) + { + if ((integerDigits > integerThreshold) || (i > fractionThreshold)) + { + /* Beyond accuracy */ + trailingZeroes++; + } + else + { + fractionNumber *= dblBase; + fractionAdjust *= dblBase; + workNumber = floorl(fractionNumber + fractionAdjust); + fractionNumber -= workNumber; + index = (int)fmodl(workNumber, dblBase); + if (index == 0) + { + trailingZeroes++; + } + else + { + while (trailingZeroes > 0) + { + /* Not trailing zeroes after all */ + self->OutStream(self, digits[0]); + trailingZeroes--; + } + self->OutStream(self, digits[index]); + } + } + } + + if (keepTrailingZeroes) + { + while (trailingZeroes > 0) + { + self->OutStream(self, digits[0]); + trailingZeroes--; + } + } + + /* Output exponent */ + if (exponentDigits > 0) + { + self->OutStream(self, + isHex + ? ((flags & FLAGS_UPPER) ? 'P' : 'p') + : ((flags & FLAGS_UPPER) ? 'E' : 'e')); + self->OutStream(self, (isExponentNegative) ? '-' : '+'); + + /* The exponent must contain at least two digits */ + if (requireTwoDigitExponent) + self->OutStream(self, '0'); + + if (isHex) + base = 10.0; + exponentBase = (int)TrioPower(base, exponentDigits - 1); + for (i = 0; i < exponentDigits; i++) + { + self->OutStream(self, digits[(uExponent / exponentBase) % base]); + exponentBase /= base; + } + } + /* Output trailing spaces */ + if (flags & FLAGS_LEFTADJUST) + { + for (i = expectedWidth; i < width; i++) + { + self->OutStream(self, CHAR_ADJUST); + } + } +} + +/************************************************************************* + * TrioFormatProcess + * + * Description: + * This is the main engine for formatting output + */ +TRIO_PRIVATE int +TrioFormatProcess +TRIO_ARGS3((data, format, parameters), + trio_class_t *data, + TRIO_CONST char *format, + trio_parameter_t *parameters) +{ +#if defined(TRIO_COMPILER_SUPPORTS_MULTIBYTE) + int charlen; +#endif + int i; + TRIO_CONST char *string; + trio_pointer_t pointer; + trio_flags_t flags; + int width; + int precision; + int base; + int index; + + index = 0; + i = 0; +#if defined(TRIO_COMPILER_SUPPORTS_MULTIBYTE) + (void)mblen(NULL, 0); +#endif + + while (format[index]) + { +#if defined(TRIO_COMPILER_SUPPORTS_MULTIBYTE) + if (! isascii(format[index])) + { + charlen = mblen(&format[index], MB_LEN_MAX); + /* + * Only valid multibyte characters are handled here. Invalid + * multibyte characters (charlen == -1) are handled as normal + * characters. + */ + if (charlen != -1) + { + while (charlen-- > 0) + { + data->OutStream(data, format[index++]); + } + continue; /* while characters left in formatting string */ + } + } +#endif /* TRIO_COMPILER_SUPPORTS_MULTIBYTE */ + if (CHAR_IDENTIFIER == format[index]) + { + if (CHAR_IDENTIFIER == format[index + 1]) + { + data->OutStream(data, CHAR_IDENTIFIER); + index += 2; + } + else + { + /* Skip the parameter entries */ + while (parameters[i].type == FORMAT_PARAMETER) + i++; + + flags = parameters[i].flags; + + /* Find width */ + width = parameters[i].width; + if (flags & FLAGS_WIDTH_PARAMETER) + { + /* Get width from parameter list */ + width = (int)parameters[width].data.number.as_signed; + if (width < 0) + { + /* + * A negative width is the same as the - flag and + * a positive width. + */ + flags |= FLAGS_LEFTADJUST; + flags &= ~FLAGS_NILPADDING; + width = -width; + } + } + + /* Find precision */ + if (flags & FLAGS_PRECISION) + { + precision = parameters[i].precision; + if (flags & FLAGS_PRECISION_PARAMETER) + { + /* Get precision from parameter list */ + precision = (int)parameters[precision].data.number.as_signed; + if (precision < 0) + { + /* + * A negative precision is the same as no + * precision + */ + precision = NO_PRECISION; + } + } + } + else + { + precision = NO_PRECISION; + } + + /* Find base */ + base = parameters[i].base; + if (flags & FLAGS_BASE_PARAMETER) + { + /* Get base from parameter list */ + base = (int)parameters[base].data.number.as_signed; + } + + switch (parameters[i].type) + { + case FORMAT_CHAR: + if (flags & FLAGS_QUOTE) + data->OutStream(data, CHAR_QUOTE); + if (! (flags & FLAGS_LEFTADJUST)) + { + while (--width > 0) + data->OutStream(data, CHAR_ADJUST); + } +#if TRIO_WIDECHAR + if (flags & FLAGS_WIDECHAR) + { + TrioWriteWideStringCharacter(data, + (trio_wchar_t)parameters[i].data.number.as_signed, + flags, + NO_WIDTH); + } + else +#endif + { + TrioWriteStringCharacter(data, + (int)parameters[i].data.number.as_signed, + flags); + } + + if (flags & FLAGS_LEFTADJUST) + { + while(--width > 0) + data->OutStream(data, CHAR_ADJUST); + } + if (flags & FLAGS_QUOTE) + data->OutStream(data, CHAR_QUOTE); + + break; /* FORMAT_CHAR */ + + case FORMAT_INT: + TrioWriteNumber(data, + parameters[i].data.number.as_unsigned, + flags, + width, + precision, + base); + + break; /* FORMAT_INT */ + + case FORMAT_DOUBLE: + TrioWriteDouble(data, + parameters[i].data.longdoubleNumber, + flags, + width, + precision, + base); + break; /* FORMAT_DOUBLE */ + + case FORMAT_STRING: +#if TRIO_WIDECHAR + if (flags & FLAGS_WIDECHAR) + { + TrioWriteWideString(data, + parameters[i].data.wstring, + flags, + width, + precision); + } + else +#endif + { + TrioWriteString(data, + parameters[i].data.string, + flags, + width, + precision); + } + break; /* FORMAT_STRING */ + + case FORMAT_POINTER: + { + trio_reference_t reference; + + reference.data = data; + reference.parameter = ¶meters[i]; + trio_print_pointer(&reference, parameters[i].data.pointer); + } + break; /* FORMAT_POINTER */ + + case FORMAT_COUNT: + pointer = parameters[i].data.pointer; + if (NULL != pointer) + { + /* + * C99 paragraph 7.19.6.1.8 says "the number of + * characters written to the output stream so far by + * this call", which is data->committed + */ +#if defined(QUALIFIER_SIZE_T) || defined(QUALIFIER_SIZE_T_UPPER) + if (flags & FLAGS_SIZE_T) + *(size_t *)pointer = (size_t)data->committed; + else +#endif +#if defined(QUALIFIER_PTRDIFF_T) + if (flags & FLAGS_PTRDIFF_T) + *(ptrdiff_t *)pointer = (ptrdiff_t)data->committed; + else +#endif +#if defined(QUALIFIER_INTMAX_T) + if (flags & FLAGS_INTMAX_T) + *(trio_intmax_t *)pointer = (trio_intmax_t)data->committed; + else +#endif + if (flags & FLAGS_QUAD) + { + *(trio_ulonglong_t *)pointer = (trio_ulonglong_t)data->committed; + } + else if (flags & FLAGS_LONG) + { + *(long int *)pointer = (long int)data->committed; + } + else if (flags & FLAGS_SHORT) + { + *(short int *)pointer = (short int)data->committed; + } + else + { + *(int *)pointer = (int)data->committed; + } + } + break; /* FORMAT_COUNT */ + + case FORMAT_PARAMETER: + break; /* FORMAT_PARAMETER */ + +#if defined(FORMAT_ERRNO) + case FORMAT_ERRNO: + string = trio_error(parameters[i].data.errorNumber); + if (string) + { + TrioWriteString(data, + string, + flags, + width, + precision); + } + else + { + data->OutStream(data, '#'); + TrioWriteNumber(data, + (trio_uintmax_t)parameters[i].data.errorNumber, + flags, + width, + precision, + BASE_DECIMAL); + } + break; /* FORMAT_ERRNO */ +#endif /* defined(FORMAT_ERRNO) */ + +#if defined(FORMAT_USER_DEFINED) + case FORMAT_USER_DEFINED: + { + trio_reference_t reference; + trio_userdef_t *def = NULL; + + if (parameters[i].user_name[0] == NIL) + { + /* Use handle */ + if ((i > 0) || + (parameters[i - 1].type == FORMAT_PARAMETER)) + def = (trio_userdef_t *)parameters[i - 1].data.pointer; + } + else + { + /* Look up namespace */ + def = TrioFindNamespace(parameters[i].user_name, NULL); + } + if (def) { + reference.data = data; + reference.parameter = ¶meters[i]; + def->callback(&reference); + } + } + break; +#endif /* defined(FORMAT_USER_DEFINED) */ + + default: + break; + } /* switch parameter type */ + + /* Prepare for next */ + index = parameters[i].indexAfterSpecifier; + i++; + } + } + else /* not identifier */ + { + data->OutStream(data, format[index++]); + } + } + return data->processed; +} + +/************************************************************************* + * TrioFormatRef + */ +TRIO_PRIVATE int +TrioFormatRef +TRIO_ARGS4((reference, format, arglist, argarray), + trio_reference_t *reference, + TRIO_CONST char *format, + TRIO_VA_LIST_PTR arglist, + trio_pointer_t *argarray) +{ + int status; + trio_parameter_t parameters[MAX_PARAMETERS]; + + status = TrioParse(TYPE_PRINT, format, parameters, arglist, argarray); + if (status < 0) + return status; + + status = TrioFormatProcess(reference->data, format, parameters); + if (reference->data->error != 0) + { + status = reference->data->error; + } + return status; +} + +/************************************************************************* + * TrioFormat + */ +TRIO_PRIVATE int +TrioFormat +TRIO_ARGS6((destination, destinationSize, OutStream, format, arglist, argarray), + trio_pointer_t destination, + size_t destinationSize, + void (*OutStream) TRIO_PROTO((trio_class_t *, int)), + TRIO_CONST char *format, + TRIO_VA_LIST_PTR arglist, + trio_pointer_t *argarray) +{ + int status; + trio_class_t data; + trio_parameter_t parameters[MAX_PARAMETERS]; + + assert(VALID(OutStream)); + assert(VALID(format)); + + memset(&data, 0, sizeof(data)); + data.OutStream = OutStream; + data.location = destination; + data.max = destinationSize; + data.error = 0; + +#if defined(USE_LOCALE) + if (NULL == internalLocaleValues) + { + TrioSetLocale(); + } +#endif + + status = TrioParse(TYPE_PRINT, format, parameters, arglist, argarray); + if (status < 0) + return status; + + status = TrioFormatProcess(&data, format, parameters); + if (data.error != 0) + { + status = data.error; + } + return status; +} + +/************************************************************************* + * TrioOutStreamFile + */ +TRIO_PRIVATE void +TrioOutStreamFile +TRIO_ARGS2((self, output), + trio_class_t *self, + int output) +{ + FILE *file; + + assert(VALID(self)); + assert(VALID(self->location)); + + file = (FILE *)self->location; + self->processed++; + if (fputc(output, file) == EOF) + { + self->error = TRIO_ERROR_RETURN(TRIO_EOF, 0); + } + else + { + self->committed++; + } +} + +/************************************************************************* + * TrioOutStreamFileDescriptor + */ +TRIO_PRIVATE void +TrioOutStreamFileDescriptor +TRIO_ARGS2((self, output), + trio_class_t *self, + int output) +{ + int fd; + char ch; + + assert(VALID(self)); + + fd = *((int *)self->location); + ch = (char)output; + self->processed++; + if (write(fd, &ch, sizeof(char)) == -1) + { + self->error = TRIO_ERROR_RETURN(TRIO_ERRNO, 0); + } + else + { + self->committed++; + } +} + +/************************************************************************* + * TrioOutStreamCustom + */ +TRIO_PRIVATE void +TrioOutStreamCustom +TRIO_ARGS2((self, output), + trio_class_t *self, + int output) +{ + int status; + trio_custom_t *data; + + assert(VALID(self)); + assert(VALID(self->location)); + + data = (trio_custom_t *)self->location; + if (data->stream.out) + { + status = (data->stream.out)(data->closure, output); + if (status >= 0) + { + self->committed++; + } + else + { + if (self->error == 0) + { + self->error = TRIO_ERROR_RETURN(TRIO_ECUSTOM, -status); + } + } + } + self->processed++; +} + +/************************************************************************* + * TrioOutStreamString + */ +TRIO_PRIVATE void +TrioOutStreamString +TRIO_ARGS2((self, output), + trio_class_t *self, + int output) +{ + char **buffer; + + assert(VALID(self)); + assert(VALID(self->location)); + + buffer = (char **)self->location; + **buffer = (char)output; + (*buffer)++; + self->processed++; + self->committed++; +} + +/************************************************************************* + * TrioOutStreamStringMax + */ +TRIO_PRIVATE void +TrioOutStreamStringMax +TRIO_ARGS2((self, output), + trio_class_t *self, + int output) +{ + char **buffer; + + assert(VALID(self)); + assert(VALID(self->location)); + + buffer = (char **)self->location; + + if (self->processed < self->max) + { + **buffer = (char)output; + (*buffer)++; + self->committed++; + } + self->processed++; +} + +/************************************************************************* + * TrioOutStreamStringDynamic + */ +TRIO_PRIVATE void +TrioOutStreamStringDynamic +TRIO_ARGS2((self, output), + trio_class_t *self, + int output) +{ + assert(VALID(self)); + assert(VALID(self->location)); + + if (self->error == 0) + { + trio_xstring_append_char((trio_string_t *)self->location, + (char)output); + self->committed++; + } + /* The processed variable must always be increased */ + self->processed++; +} + +/************************************************************************* + * + * Formatted printing functions + * + ************************************************************************/ + +#if defined(TRIO_DOCUMENTATION) +# include "doc/doc_printf.h" +#endif +/** @addtogroup Printf + @{ +*/ + +/************************************************************************* + * printf + */ + +/** + Print to standard output stream. + + @param format Formatting string. + @param ... Arguments. + @return Number of printed characters. + */ +TRIO_PUBLIC int +trio_printf +TRIO_VARGS2((format, va_alist), + TRIO_CONST char *format, + TRIO_VA_DECL) +{ + int status; + va_list args; + + assert(VALID(format)); + + TRIO_VA_START(args, format); + status = TrioFormat(stdout, 0, TrioOutStreamFile, format, TRIO_VA_LIST_ADDR(args), NULL); + TRIO_VA_END(args); + return status; +} + +/** + Print to standard output stream. + + @param format Formatting string. + @param args Arguments. + @return Number of printed characters. + */ +TRIO_PUBLIC int +trio_vprintf +TRIO_ARGS2((format, args), + TRIO_CONST char *format, + va_list args) +{ + assert(VALID(format)); + + return TrioFormat(stdout, 0, TrioOutStreamFile, format, TRIO_VA_LIST_ADDR(args), NULL); +} + +/** + Print to standard output stream. + + @param format Formatting string. + @param args Arguments. + @return Number of printed characters. + */ +TRIO_PUBLIC int +trio_printfv +TRIO_ARGS2((format, args), + TRIO_CONST char *format, + trio_pointer_t * args) +{ + assert(VALID(format)); + + return TrioFormat(stdout, 0, TrioOutStreamFile, format, NULL, args); +} + +/************************************************************************* + * fprintf + */ + +/** + Print to file. + + @param file File pointer. + @param format Formatting string. + @param ... Arguments. + @return Number of printed characters. + */ +TRIO_PUBLIC int +trio_fprintf +TRIO_VARGS3((file, format, va_alist), + FILE *file, + TRIO_CONST char *format, + TRIO_VA_DECL) +{ + int status; + va_list args; + + assert(VALID(file)); + assert(VALID(format)); + + TRIO_VA_START(args, format); + status = TrioFormat(file, 0, TrioOutStreamFile, format, TRIO_VA_LIST_ADDR(args), NULL); + TRIO_VA_END(args); + return status; +} + +/** + Print to file. + + @param file File pointer. + @param format Formatting string. + @param args Arguments. + @return Number of printed characters. + */ +TRIO_PUBLIC int +trio_vfprintf +TRIO_ARGS3((file, format, args), + FILE *file, + TRIO_CONST char *format, + va_list args) +{ + assert(VALID(file)); + assert(VALID(format)); + + return TrioFormat(file, 0, TrioOutStreamFile, format, TRIO_VA_LIST_ADDR(args), NULL); +} + +/** + Print to file. + + @param file File pointer. + @param format Formatting string. + @param args Arguments. + @return Number of printed characters. + */ +TRIO_PUBLIC int +trio_fprintfv +TRIO_ARGS3((file, format, args), + FILE *file, + TRIO_CONST char *format, + trio_pointer_t * args) +{ + assert(VALID(file)); + assert(VALID(format)); + + return TrioFormat(file, 0, TrioOutStreamFile, format, NULL, args); +} + +/************************************************************************* + * dprintf + */ + +/** + Print to file descriptor. + + @param fd File descriptor. + @param format Formatting string. + @param ... Arguments. + @return Number of printed characters. + */ +TRIO_PUBLIC int +trio_dprintf +TRIO_VARGS3((fd, format, va_alist), + int fd, + TRIO_CONST char *format, + TRIO_VA_DECL) +{ + int status; + va_list args; + + assert(VALID(format)); + + TRIO_VA_START(args, format); + status = TrioFormat(&fd, 0, TrioOutStreamFileDescriptor, format, TRIO_VA_LIST_ADDR(args), NULL); + TRIO_VA_END(args); + return status; +} + +/** + Print to file descriptor. + + @param fd File descriptor. + @param format Formatting string. + @param args Arguments. + @return Number of printed characters. + */ +TRIO_PUBLIC int +trio_vdprintf +TRIO_ARGS3((fd, format, args), + int fd, + TRIO_CONST char *format, + va_list args) +{ + assert(VALID(format)); + + return TrioFormat(&fd, 0, TrioOutStreamFileDescriptor, format, TRIO_VA_LIST_ADDR(args), NULL); +} + +/** + Print to file descriptor. + + @param fd File descriptor. + @param format Formatting string. + @param args Arguments. + @return Number of printed characters. + */ +TRIO_PUBLIC int +trio_dprintfv +TRIO_ARGS3((fd, format, args), + int fd, + TRIO_CONST char *format, + trio_pointer_t *args) +{ + assert(VALID(format)); + + return TrioFormat(&fd, 0, TrioOutStreamFileDescriptor, format, NULL, args); +} + +/************************************************************************* + * cprintf + */ +TRIO_PUBLIC int +trio_cprintf +TRIO_VARGS4((stream, closure, format, va_alist), + trio_outstream_t stream, + trio_pointer_t closure, + TRIO_CONST char *format, + TRIO_VA_DECL) +{ + int status; + va_list args; + trio_custom_t data; + + assert(VALID(stream)); + assert(VALID(format)); + + TRIO_VA_START(args, format); + data.stream.out = stream; + data.closure = closure; + status = TrioFormat(&data, 0, TrioOutStreamCustom, format, TRIO_VA_LIST_ADDR(args), NULL); + TRIO_VA_END(args); + return status; +} + +TRIO_PUBLIC int +trio_vcprintf +TRIO_ARGS4((stream, closure, format, args), + trio_outstream_t stream, + trio_pointer_t closure, + TRIO_CONST char *format, + va_list args) +{ + trio_custom_t data; + + assert(VALID(stream)); + assert(VALID(format)); + + data.stream.out = stream; + data.closure = closure; + return TrioFormat(&data, 0, TrioOutStreamCustom, format, TRIO_VA_LIST_ADDR(args), NULL); +} + +TRIO_PUBLIC int +trio_cprintfv +TRIO_ARGS4((stream, closure, format, args), + trio_outstream_t stream, + trio_pointer_t closure, + TRIO_CONST char *format, + void **args) +{ + trio_custom_t data; + + assert(VALID(stream)); + assert(VALID(format)); + + data.stream.out = stream; + data.closure = closure; + return TrioFormat(&data, 0, TrioOutStreamCustom, format, NULL, args); +} + +/************************************************************************* + * sprintf + */ + +/** + Print to string. + + @param buffer Output string. + @param format Formatting string. + @param ... Arguments. + @return Number of printed characters. + */ +TRIO_PUBLIC int +trio_sprintf +TRIO_VARGS3((buffer, format, va_alist), + char *buffer, + TRIO_CONST char *format, + TRIO_VA_DECL) +{ + int status; + va_list args; + + assert(VALID(buffer)); + assert(VALID(format)); + + TRIO_VA_START(args, format); + status = TrioFormat(&buffer, 0, TrioOutStreamString, format, TRIO_VA_LIST_ADDR(args), NULL); + *buffer = NIL; /* Terminate with NIL character */ + TRIO_VA_END(args); + return status; +} + +/** + Print to string. + + @param buffer Output string. + @param format Formatting string. + @param args Arguments. + @return Number of printed characters. + */ +TRIO_PUBLIC int +trio_vsprintf +TRIO_ARGS3((buffer, format, args), + char *buffer, + TRIO_CONST char *format, + va_list args) +{ + int status; + + assert(VALID(buffer)); + assert(VALID(format)); + + status = TrioFormat(&buffer, 0, TrioOutStreamString, format, TRIO_VA_LIST_ADDR(args), NULL); + *buffer = NIL; + return status; +} + +/** + Print to string. + + @param buffer Output string. + @param format Formatting string. + @param args Arguments. + @return Number of printed characters. + */ +TRIO_PUBLIC int +trio_sprintfv +TRIO_ARGS3((buffer, format, args), + char *buffer, + TRIO_CONST char *format, + trio_pointer_t *args) +{ + int status; + + assert(VALID(buffer)); + assert(VALID(format)); + + status = TrioFormat(&buffer, 0, TrioOutStreamString, format, NULL, args); + *buffer = NIL; + return status; +} + +/************************************************************************* + * snprintf + */ + +/** + Print at most @p max characters to string. + + @param buffer Output string. + @param max Maximum number of characters to print. + @param format Formatting string. + @param ... Arguments. + @return Number of printed characters. + */ +TRIO_PUBLIC int +trio_snprintf +TRIO_VARGS4((buffer, max, format, va_alist), + char *buffer, + size_t max, + TRIO_CONST char *format, + TRIO_VA_DECL) +{ + int status; + va_list args; + + assert(VALID(buffer)); + assert(VALID(format)); + + TRIO_VA_START(args, format); + status = TrioFormat(&buffer, max > 0 ? max - 1 : 0, + TrioOutStreamStringMax, format, TRIO_VA_LIST_ADDR(args), NULL); + if (max > 0) + *buffer = NIL; + TRIO_VA_END(args); + return status; +} + +/** + Print at most @p max characters to string. + + @param buffer Output string. + @param max Maximum number of characters to print. + @param format Formatting string. + @param args Arguments. + @return Number of printed characters. + */ +TRIO_PUBLIC int +trio_vsnprintf +TRIO_ARGS4((buffer, max, format, args), + char *buffer, + size_t max, + TRIO_CONST char *format, + va_list args) +{ + int status; + + assert(VALID(buffer)); + assert(VALID(format)); + + status = TrioFormat(&buffer, max > 0 ? max - 1 : 0, + TrioOutStreamStringMax, format, TRIO_VA_LIST_ADDR(args), NULL); + if (max > 0) + *buffer = NIL; + return status; +} + +/** + Print at most @p max characters to string. + + @param buffer Output string. + @param max Maximum number of characters to print. + @param format Formatting string. + @param args Arguments. + @return Number of printed characters. + */ +TRIO_PUBLIC int +trio_snprintfv +TRIO_ARGS4((buffer, max, format, args), + char *buffer, + size_t max, + TRIO_CONST char *format, + trio_pointer_t *args) +{ + int status; + + assert(VALID(buffer)); + assert(VALID(format)); + + status = TrioFormat(&buffer, max > 0 ? max - 1 : 0, + TrioOutStreamStringMax, format, NULL, args); + if (max > 0) + *buffer = NIL; + return status; +} + +/************************************************************************* + * snprintfcat + * Appends the new string to the buffer string overwriting the '\0' + * character at the end of buffer. + */ +TRIO_PUBLIC int +trio_snprintfcat +TRIO_VARGS4((buffer, max, format, va_alist), + char *buffer, + size_t max, + TRIO_CONST char *format, + TRIO_VA_DECL) +{ + int status; + va_list args; + size_t buf_len; + + TRIO_VA_START(args, format); + + assert(VALID(buffer)); + assert(VALID(format)); + + buf_len = trio_length(buffer); + buffer = &buffer[buf_len]; + + status = TrioFormat(&buffer, max - 1 - buf_len, + TrioOutStreamStringMax, format, TRIO_VA_LIST_ADDR(args), NULL); + TRIO_VA_END(args); + *buffer = NIL; + return status; +} + +TRIO_PUBLIC int +trio_vsnprintfcat +TRIO_ARGS4((buffer, max, format, args), + char *buffer, + size_t max, + TRIO_CONST char *format, + va_list args) +{ + int status; + size_t buf_len; + + assert(VALID(buffer)); + assert(VALID(format)); + + buf_len = trio_length(buffer); + buffer = &buffer[buf_len]; + status = TrioFormat(&buffer, max - 1 - buf_len, + TrioOutStreamStringMax, format, TRIO_VA_LIST_ADDR(args), NULL); + *buffer = NIL; + return status; +} + +/************************************************************************* + * trio_aprintf + */ + +/* Deprecated */ +TRIO_PUBLIC char * +trio_aprintf +TRIO_VARGS2((format, va_alist), + TRIO_CONST char *format, + TRIO_VA_DECL) +{ + va_list args; + trio_string_t *info; + char *result = NULL; + + assert(VALID(format)); + + info = trio_xstring_duplicate(""); + if (info) + { + TRIO_VA_START(args, format); + (void)TrioFormat(info, 0, TrioOutStreamStringDynamic, + format, TRIO_VA_LIST_ADDR(args), NULL); + TRIO_VA_END(args); + + trio_string_terminate(info); + result = trio_string_extract(info); + trio_string_destroy(info); + } + return result; +} + +/* Deprecated */ +TRIO_PUBLIC char * +trio_vaprintf +TRIO_ARGS2((format, args), + TRIO_CONST char *format, + va_list args) +{ + trio_string_t *info; + char *result = NULL; + + assert(VALID(format)); + + info = trio_xstring_duplicate(""); + if (info) + { + (void)TrioFormat(info, 0, TrioOutStreamStringDynamic, + format, TRIO_VA_LIST_ADDR(args), NULL); + trio_string_terminate(info); + result = trio_string_extract(info); + trio_string_destroy(info); + } + return result; +} + +TRIO_PUBLIC int +trio_asprintf +TRIO_VARGS3((result, format, va_alist), + char **result, + TRIO_CONST char *format, + TRIO_VA_DECL) +{ + va_list args; + int status; + trio_string_t *info; + + assert(VALID(format)); + + *result = NULL; + + info = trio_xstring_duplicate(""); + if (info == NULL) + { + status = TRIO_ERROR_RETURN(TRIO_ENOMEM, 0); + } + else + { + TRIO_VA_START(args, format); + status = TrioFormat(info, 0, TrioOutStreamStringDynamic, + format, TRIO_VA_LIST_ADDR(args), NULL); + TRIO_VA_END(args); + if (status >= 0) + { + trio_string_terminate(info); + *result = trio_string_extract(info); + } + trio_string_destroy(info); + } + return status; +} + +TRIO_PUBLIC int +trio_vasprintf +TRIO_ARGS3((result, format, args), + char **result, + TRIO_CONST char *format, + va_list args) +{ + int status; + trio_string_t *info; + + assert(VALID(format)); + + *result = NULL; + + info = trio_xstring_duplicate(""); + if (info == NULL) + { + status = TRIO_ERROR_RETURN(TRIO_ENOMEM, 0); + } + else + { + status = TrioFormat(info, 0, TrioOutStreamStringDynamic, + format, TRIO_VA_LIST_ADDR(args), NULL); + if (status >= 0) + { + trio_string_terminate(info); + *result = trio_string_extract(info); + } + trio_string_destroy(info); + } + return status; +} + +/** @} End of Printf documentation module */ + +/************************************************************************* + * + * CALLBACK + * + ************************************************************************/ + +#if defined(TRIO_DOCUMENTATION) +# include "doc/doc_register.h" +#endif +/** + @addtogroup UserDefined + @{ +*/ + +#if TRIO_EXTENSION + +/************************************************************************* + * trio_register + */ + +/** + Register new user-defined specifier. + + @param callback + @param name + @return Handle. + */ +TRIO_PUBLIC trio_pointer_t +trio_register +TRIO_ARGS2((callback, name), + trio_callback_t callback, + TRIO_CONST char *name) +{ + trio_userdef_t *def; + trio_userdef_t *prev = NULL; + + if (callback == NULL) + return NULL; + + if (name) + { + /* Handle built-in namespaces */ + if (name[0] == ':') + { + if (trio_equal(name, ":enter")) + { + internalEnterCriticalRegion = callback; + } + else if (trio_equal(name, ":leave")) + { + internalLeaveCriticalRegion = callback; + } + return NULL; + } + + /* Bail out if namespace is too long */ + if (trio_length(name) >= MAX_USER_NAME) + return NULL; + + /* Bail out if namespace already is registered */ + def = TrioFindNamespace(name, &prev); + if (def) + return NULL; + } + + def = (trio_userdef_t *)TRIO_MALLOC(sizeof(trio_userdef_t)); + if (def) + { + if (internalEnterCriticalRegion) + (void)internalEnterCriticalRegion(NULL); + + if (name) + { + /* Link into internal list */ + if (prev == NULL) + internalUserDef = def; + else + prev->next = def; + } + /* Initialize */ + def->callback = callback; + def->name = (name == NULL) + ? NULL + : trio_duplicate(name); + def->next = NULL; + + if (internalLeaveCriticalRegion) + (void)internalLeaveCriticalRegion(NULL); + } + return (trio_pointer_t)def; +} + +/** + Unregister an existing user-defined specifier. + + @param handle + */ +void +trio_unregister +TRIO_ARGS1((handle), + trio_pointer_t handle) +{ + trio_userdef_t *self = (trio_userdef_t *)handle; + trio_userdef_t *def; + trio_userdef_t *prev = NULL; + + assert(VALID(self)); + + if (self->name) + { + def = TrioFindNamespace(self->name, &prev); + if (def) + { + if (internalEnterCriticalRegion) + (void)internalEnterCriticalRegion(NULL); + + if (prev == NULL) + internalUserDef = NULL; + else + prev->next = def->next; + + if (internalLeaveCriticalRegion) + (void)internalLeaveCriticalRegion(NULL); + } + trio_destroy(self->name); + } + TRIO_FREE(self); +} + +/************************************************************************* + * trio_get_format [public] + */ +TRIO_CONST char * +trio_get_format +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ +#if defined(FORMAT_USER_DEFINED) + assert(((trio_reference_t *)ref)->parameter->type == FORMAT_USER_DEFINED); +#endif + + return (((trio_reference_t *)ref)->parameter->user_data); +} + +/************************************************************************* + * trio_get_argument [public] + */ +trio_pointer_t +trio_get_argument +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ +#if defined(FORMAT_USER_DEFINED) + assert(((trio_reference_t *)ref)->parameter->type == FORMAT_USER_DEFINED); +#endif + + return ((trio_reference_t *)ref)->parameter->data.pointer; +} + +/************************************************************************* + * trio_get_width / trio_set_width [public] + */ +int +trio_get_width +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ + return ((trio_reference_t *)ref)->parameter->width; +} + +void +trio_set_width +TRIO_ARGS2((ref, width), + trio_pointer_t ref, + int width) +{ + ((trio_reference_t *)ref)->parameter->width = width; +} + +/************************************************************************* + * trio_get_precision / trio_set_precision [public] + */ +int +trio_get_precision +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ + return (((trio_reference_t *)ref)->parameter->precision); +} + +void +trio_set_precision +TRIO_ARGS2((ref, precision), + trio_pointer_t ref, + int precision) +{ + ((trio_reference_t *)ref)->parameter->precision = precision; +} + +/************************************************************************* + * trio_get_base / trio_set_base [public] + */ +int +trio_get_base +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ + return (((trio_reference_t *)ref)->parameter->base); +} + +void +trio_set_base +TRIO_ARGS2((ref, base), + trio_pointer_t ref, + int base) +{ + ((trio_reference_t *)ref)->parameter->base = base; +} + +/************************************************************************* + * trio_get_long / trio_set_long [public] + */ +int +trio_get_long +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ + return (((trio_reference_t *)ref)->parameter->flags & FLAGS_LONG) + ? TRUE + : FALSE; +} + +void +trio_set_long +TRIO_ARGS2((ref, is_long), + trio_pointer_t ref, + int is_long) +{ + if (is_long) + ((trio_reference_t *)ref)->parameter->flags |= FLAGS_LONG; + else + ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_LONG; +} + +/************************************************************************* + * trio_get_longlong / trio_set_longlong [public] + */ +int +trio_get_longlong +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ + return (((trio_reference_t *)ref)->parameter->flags & FLAGS_QUAD) + ? TRUE + : FALSE; +} + +void +trio_set_longlong +TRIO_ARGS2((ref, is_longlong), + trio_pointer_t ref, + int is_longlong) +{ + if (is_longlong) + ((trio_reference_t *)ref)->parameter->flags |= FLAGS_QUAD; + else + ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_QUAD; +} + +/************************************************************************* + * trio_get_longdouble / trio_set_longdouble [public] + */ +int +trio_get_longdouble +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ + return (((trio_reference_t *)ref)->parameter->flags & FLAGS_LONGDOUBLE) + ? TRUE + : FALSE; +} + +void +trio_set_longdouble +TRIO_ARGS2((ref, is_longdouble), + trio_pointer_t ref, + int is_longdouble) +{ + if (is_longdouble) + ((trio_reference_t *)ref)->parameter->flags |= FLAGS_LONGDOUBLE; + else + ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_LONGDOUBLE; +} + +/************************************************************************* + * trio_get_short / trio_set_short [public] + */ +int +trio_get_short +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ + return (((trio_reference_t *)ref)->parameter->flags & FLAGS_SHORT) + ? TRUE + : FALSE; +} + +void +trio_set_short +TRIO_ARGS2((ref, is_short), + trio_pointer_t ref, + int is_short) +{ + if (is_short) + ((trio_reference_t *)ref)->parameter->flags |= FLAGS_SHORT; + else + ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_SHORT; +} + +/************************************************************************* + * trio_get_shortshort / trio_set_shortshort [public] + */ +int +trio_get_shortshort +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ + return (((trio_reference_t *)ref)->parameter->flags & FLAGS_SHORTSHORT) + ? TRUE + : FALSE; +} + +void +trio_set_shortshort +TRIO_ARGS2((ref, is_shortshort), + trio_pointer_t ref, + int is_shortshort) +{ + if (is_shortshort) + ((trio_reference_t *)ref)->parameter->flags |= FLAGS_SHORTSHORT; + else + ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_SHORTSHORT; +} + +/************************************************************************* + * trio_get_alternative / trio_set_alternative [public] + */ +int +trio_get_alternative +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ + return (((trio_reference_t *)ref)->parameter->flags & FLAGS_ALTERNATIVE) + ? TRUE + : FALSE; +} + +void +trio_set_alternative +TRIO_ARGS2((ref, is_alternative), + trio_pointer_t ref, + int is_alternative) +{ + if (is_alternative) + ((trio_reference_t *)ref)->parameter->flags |= FLAGS_ALTERNATIVE; + else + ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_ALTERNATIVE; +} + +/************************************************************************* + * trio_get_alignment / trio_set_alignment [public] + */ +int +trio_get_alignment +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ + return (((trio_reference_t *)ref)->parameter->flags & FLAGS_LEFTADJUST) + ? TRUE + : FALSE; +} + +void +trio_set_alignment +TRIO_ARGS2((ref, is_leftaligned), + trio_pointer_t ref, + int is_leftaligned) +{ + if (is_leftaligned) + ((trio_reference_t *)ref)->parameter->flags |= FLAGS_LEFTADJUST; + else + ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_LEFTADJUST; +} + +/************************************************************************* + * trio_get_spacing /trio_set_spacing [public] + */ +int +trio_get_spacing +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ + return (((trio_reference_t *)ref)->parameter->flags & FLAGS_SPACE) + ? TRUE + : FALSE; +} + +void +trio_set_spacing +TRIO_ARGS2((ref, is_space), + trio_pointer_t ref, + int is_space) +{ + if (is_space) + ((trio_reference_t *)ref)->parameter->flags |= FLAGS_SPACE; + else + ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_SPACE; +} + +/************************************************************************* + * trio_get_sign / trio_set_sign [public] + */ +int +trio_get_sign +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ + return (((trio_reference_t *)ref)->parameter->flags & FLAGS_SHOWSIGN) + ? TRUE + : FALSE; +} + +void +trio_set_sign +TRIO_ARGS2((ref, is_sign), + trio_pointer_t ref, + int is_sign) +{ + if (is_sign) + ((trio_reference_t *)ref)->parameter->flags |= FLAGS_SHOWSIGN; + else + ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_SHOWSIGN; +} + +/************************************************************************* + * trio_get_padding / trio_set_padding [public] + */ +int +trio_get_padding +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ + return (((trio_reference_t *)ref)->parameter->flags & FLAGS_NILPADDING) + ? TRUE + : FALSE; +} + +void +trio_set_padding +TRIO_ARGS2((ref, is_padding), + trio_pointer_t ref, + int is_padding) +{ + if (is_padding) + ((trio_reference_t *)ref)->parameter->flags |= FLAGS_NILPADDING; + else + ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_NILPADDING; +} + +/************************************************************************* + * trio_get_quote / trio_set_quote [public] + */ +int +trio_get_quote +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ + return (((trio_reference_t *)ref)->parameter->flags & FLAGS_QUOTE) + ? TRUE + : FALSE; +} + +void +trio_set_quote +TRIO_ARGS2((ref, is_quote), + trio_pointer_t ref, + int is_quote) +{ + if (is_quote) + ((trio_reference_t *)ref)->parameter->flags |= FLAGS_QUOTE; + else + ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_QUOTE; +} + +/************************************************************************* + * trio_get_upper / trio_set_upper [public] + */ +int +trio_get_upper +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ + return (((trio_reference_t *)ref)->parameter->flags & FLAGS_UPPER) + ? TRUE + : FALSE; +} + +void +trio_set_upper +TRIO_ARGS2((ref, is_upper), + trio_pointer_t ref, + int is_upper) +{ + if (is_upper) + ((trio_reference_t *)ref)->parameter->flags |= FLAGS_UPPER; + else + ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_UPPER; +} + +/************************************************************************* + * trio_get_largest / trio_set_largest [public] + */ +#if TRIO_C99 +int +trio_get_largest +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ + return (((trio_reference_t *)ref)->parameter->flags & FLAGS_INTMAX_T) + ? TRUE + : FALSE; +} + +void +trio_set_largest +TRIO_ARGS2((ref, is_largest), + trio_pointer_t ref, + int is_largest) +{ + if (is_largest) + ((trio_reference_t *)ref)->parameter->flags |= FLAGS_INTMAX_T; + else + ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_INTMAX_T; +} +#endif + +/************************************************************************* + * trio_get_ptrdiff / trio_set_ptrdiff [public] + */ +int +trio_get_ptrdiff +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ + return (((trio_reference_t *)ref)->parameter->flags & FLAGS_PTRDIFF_T) + ? TRUE + : FALSE; +} + +void +trio_set_ptrdiff +TRIO_ARGS2((ref, is_ptrdiff), + trio_pointer_t ref, + int is_ptrdiff) +{ + if (is_ptrdiff) + ((trio_reference_t *)ref)->parameter->flags |= FLAGS_PTRDIFF_T; + else + ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_PTRDIFF_T; +} + +/************************************************************************* + * trio_get_size / trio_set_size [public] + */ +#if TRIO_C99 +int +trio_get_size +TRIO_ARGS1((ref), + trio_pointer_t ref) +{ + return (((trio_reference_t *)ref)->parameter->flags & FLAGS_SIZE_T) + ? TRUE + : FALSE; +} + +void +trio_set_size +TRIO_ARGS2((ref, is_size), + trio_pointer_t ref, + int is_size) +{ + if (is_size) + ((trio_reference_t *)ref)->parameter->flags |= FLAGS_SIZE_T; + else + ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_SIZE_T; +} +#endif + +/************************************************************************* + * trio_print_int [public] + */ +void +trio_print_int +TRIO_ARGS2((ref, number), + trio_pointer_t ref, + int number) +{ + trio_reference_t *self = (trio_reference_t *)ref; + + TrioWriteNumber(self->data, + (trio_uintmax_t)number, + self->parameter->flags, + self->parameter->width, + self->parameter->precision, + self->parameter->base); +} + +/************************************************************************* + * trio_print_uint [public] + */ +void +trio_print_uint +TRIO_ARGS2((ref, number), + trio_pointer_t ref, + unsigned int number) +{ + trio_reference_t *self = (trio_reference_t *)ref; + + TrioWriteNumber(self->data, + (trio_uintmax_t)number, + self->parameter->flags | FLAGS_UNSIGNED, + self->parameter->width, + self->parameter->precision, + self->parameter->base); +} + +/************************************************************************* + * trio_print_double [public] + */ +void +trio_print_double +TRIO_ARGS2((ref, number), + trio_pointer_t ref, + double number) +{ + trio_reference_t *self = (trio_reference_t *)ref; + + TrioWriteDouble(self->data, + number, + self->parameter->flags, + self->parameter->width, + self->parameter->precision, + self->parameter->base); +} + +/************************************************************************* + * trio_print_string [public] + */ +void +trio_print_string +TRIO_ARGS2((ref, string), + trio_pointer_t ref, + char *string) +{ + trio_reference_t *self = (trio_reference_t *)ref; + + TrioWriteString(self->data, + string, + self->parameter->flags, + self->parameter->width, + self->parameter->precision); +} + +/************************************************************************* + * trio_print_ref [public] + */ +int +trio_print_ref +TRIO_VARGS3((ref, format, va_alist), + trio_pointer_t ref, + TRIO_CONST char *format, + TRIO_VA_DECL) +{ + int status; + va_list arglist; + + assert(VALID(format)); + + TRIO_VA_START(arglist, format); + status = TrioFormatRef((trio_reference_t *)ref, format, TRIO_VA_LIST_ADDR(arglist), NULL); + TRIO_VA_END(arglist); + return status; +} + +/************************************************************************* + * trio_vprint_ref [public] + */ +int +trio_vprint_ref +TRIO_ARGS3((ref, format, arglist), + trio_pointer_t ref, + TRIO_CONST char *format, + va_list arglist) +{ + assert(VALID(format)); + + return TrioFormatRef((trio_reference_t *)ref, format, TRIO_VA_LIST_ADDR(arglist), NULL); +} + +/************************************************************************* + * trio_printv_ref [public] + */ +int +trio_printv_ref +TRIO_ARGS3((ref, format, argarray), + trio_pointer_t ref, + TRIO_CONST char *format, + trio_pointer_t *argarray) +{ + assert(VALID(format)); + + return TrioFormatRef((trio_reference_t *)ref, format, NULL, argarray); +} + +#endif /* TRIO_EXTENSION */ + +/************************************************************************* + * trio_print_pointer [public] + */ +void +trio_print_pointer +TRIO_ARGS2((ref, pointer), + trio_pointer_t ref, + trio_pointer_t pointer) +{ + trio_reference_t *self = (trio_reference_t *)ref; + trio_flags_t flags; + trio_uintmax_t number; + + if (NULL == pointer) + { + TRIO_CONST char *string = internalNullString; + while (*string) + self->data->OutStream(self->data, *string++); + } + else + { + /* + * The subtraction of the null pointer is a workaround + * to avoid a compiler warning. The performance overhead + * is negligible (and likely to be removed by an + * optimizing compiler). The (char *) casting is done + * to please ANSI C++. + */ + number = (trio_uintmax_t)((char *)pointer - (char *)0); + /* Shrink to size of pointer */ + number &= (trio_uintmax_t)-1; + flags = self->parameter->flags; + flags |= (FLAGS_UNSIGNED | FLAGS_ALTERNATIVE | + FLAGS_NILPADDING); + TrioWriteNumber(self->data, + number, + flags, + POINTER_WIDTH, + NO_PRECISION, + BASE_HEX); + } +} + +/** @} End of UserDefined documentation module */ + +/************************************************************************* + * + * LOCALES + * + ************************************************************************/ + +/************************************************************************* + * trio_locale_set_decimal_point + * + * Decimal point can only be one character. The input argument is a + * string to enable multibyte characters. At most MB_LEN_MAX characters + * will be used. + */ +TRIO_PUBLIC void +trio_locale_set_decimal_point +TRIO_ARGS1((decimalPoint), + char *decimalPoint) +{ +#if defined(USE_LOCALE) + if (NULL == internalLocaleValues) + { + TrioSetLocale(); + } +#endif + internalDecimalPointLength = trio_length(decimalPoint); + if (internalDecimalPointLength == 1) + { + internalDecimalPoint = *decimalPoint; + } + else + { + internalDecimalPoint = NIL; + trio_copy_max(internalDecimalPointString, + sizeof(internalDecimalPointString), + decimalPoint); + } +} + +/************************************************************************* + * trio_locale_set_thousand_separator + * + * See trio_locale_set_decimal_point + */ +TRIO_PUBLIC void +trio_locale_set_thousand_separator +TRIO_ARGS1((thousandSeparator), + char *thousandSeparator) +{ +#if defined(USE_LOCALE) + if (NULL == internalLocaleValues) + { + TrioSetLocale(); + } +#endif + trio_copy_max(internalThousandSeparator, + sizeof(internalThousandSeparator), + thousandSeparator); + internalThousandSeparatorLength = trio_length(internalThousandSeparator); +} + +/************************************************************************* + * trio_locale_set_grouping + * + * Array of bytes. Reversed order. + * + * CHAR_MAX : No further grouping + * 0 : Repeat last group for the remaining digits (not necessary + * as C strings are zero-terminated) + * n : Set current group to n + * + * Same order as the grouping attribute in LC_NUMERIC. + */ +TRIO_PUBLIC void +trio_locale_set_grouping +TRIO_ARGS1((grouping), + char *grouping) +{ +#if defined(USE_LOCALE) + if (NULL == internalLocaleValues) + { + TrioSetLocale(); + } +#endif + trio_copy_max(internalGrouping, + sizeof(internalGrouping), + grouping); +} + + +/************************************************************************* + * + * SCANNING + * + ************************************************************************/ + +/************************************************************************* + * TrioSkipWhitespaces + */ +TRIO_PRIVATE int +TrioSkipWhitespaces +TRIO_ARGS1((self), + trio_class_t *self) +{ + int ch; + + ch = self->current; + while (isspace(ch)) + { + self->InStream(self, &ch); + } + return ch; +} + +/************************************************************************* + * TrioGetCollation + */ +#if TRIO_EXTENSION +TRIO_PRIVATE void +TrioGetCollation(TRIO_NOARGS) +{ + int i; + int j; + int k; + char first[2]; + char second[2]; + + /* This is computationally expensive */ + first[1] = NIL; + second[1] = NIL; + for (i = 0; i < MAX_CHARACTER_CLASS; i++) + { + k = 0; + first[0] = (char)i; + for (j = 0; j < MAX_CHARACTER_CLASS; j++) + { + second[0] = (char)j; + if (trio_equal_locale(first, second)) + internalCollationArray[i][k++] = (char)j; + } + internalCollationArray[i][k] = NIL; + } +} +#endif + +/************************************************************************* + * TrioGetCharacterClass + * + * FIXME: + * multibyte + */ +TRIO_PRIVATE int +TrioGetCharacterClass +TRIO_ARGS4((format, indexPointer, flagsPointer, characterclass), + TRIO_CONST char *format, + int *indexPointer, + trio_flags_t *flagsPointer, + int *characterclass) +{ + int index = *indexPointer; + int i; + char ch; + char range_begin; + char range_end; + + *flagsPointer &= ~FLAGS_EXCLUDE; + + if (format[index] == QUALIFIER_CIRCUMFLEX) + { + *flagsPointer |= FLAGS_EXCLUDE; + index++; + } + /* + * If the ungroup character is at the beginning of the scanlist, + * it will be part of the class, and a second ungroup character + * must follow to end the group. + */ + if (format[index] == SPECIFIER_UNGROUP) + { + characterclass[(int)SPECIFIER_UNGROUP]++; + index++; + } + /* + * Minus is used to specify ranges. To include minus in the class, + * it must be at the beginning of the list + */ + if (format[index] == QUALIFIER_MINUS) + { + characterclass[(int)QUALIFIER_MINUS]++; + index++; + } + /* Collect characters */ + for (ch = format[index]; + (ch != SPECIFIER_UNGROUP) && (ch != NIL); + ch = format[++index]) + { + switch (ch) + { + case QUALIFIER_MINUS: /* Scanlist ranges */ + + /* + * Both C99 and UNIX98 describes ranges as implementation- + * defined. + * + * We support the following behaviour (although this may + * change as we become wiser) + * - only increasing ranges, ie. [a-b] but not [b-a] + * - transitive ranges, ie. [a-b-c] == [a-c] + * - trailing minus, ie. [a-] is interpreted as an 'a' + * and a '-' + * - duplicates (although we can easily convert these + * into errors) + */ + range_begin = format[index - 1]; + range_end = format[++index]; + if (range_end == SPECIFIER_UNGROUP) + { + /* Trailing minus is included */ + characterclass[(int)ch]++; + ch = range_end; + break; /* for */ + } + if (range_end == NIL) + return TRIO_ERROR_RETURN(TRIO_EINVAL, index); + if (range_begin > range_end) + return TRIO_ERROR_RETURN(TRIO_ERANGE, index); + + for (i = (int)range_begin; i <= (int)range_end; i++) + characterclass[i]++; + + ch = range_end; + break; + +#if TRIO_EXTENSION + + case SPECIFIER_GROUP: + + switch (format[index + 1]) + { + case QUALIFIER_DOT: /* Collating symbol */ + /* + * FIXME: This will be easier to implement when multibyte + * characters have been implemented. Until now, we ignore + * this feature. + */ + for (i = index + 2; ; i++) + { + if (format[i] == NIL) + /* Error in syntax */ + return -1; + else if (format[i] == QUALIFIER_DOT) + break; /* for */ + } + if (format[++i] != SPECIFIER_UNGROUP) + return -1; + + index = i; + break; + + case QUALIFIER_EQUAL: /* Equivalence class expressions */ + { + unsigned int j; + unsigned int k; + + if (internalCollationUnconverted) + { + /* Lazy evaluation of collation array */ + TrioGetCollation(); + internalCollationUnconverted = FALSE; + } + for (i = index + 2; ; i++) + { + if (format[i] == NIL) + /* Error in syntax */ + return -1; + else if (format[i] == QUALIFIER_EQUAL) + break; /* for */ + else + { + /* Mark any equivalent character */ + k = (unsigned int)format[i]; + for (j = 0; internalCollationArray[k][j] != NIL; j++) + characterclass[(int)internalCollationArray[k][j]]++; + } + } + if (format[++i] != SPECIFIER_UNGROUP) + return -1; + + index = i; + } + break; + + case QUALIFIER_COLON: /* Character class expressions */ + + if (trio_equal_max(CLASS_ALNUM, sizeof(CLASS_ALNUM) - 1, + &format[index])) + { + for (i = 0; i < MAX_CHARACTER_CLASS; i++) + if (isalnum(i)) + characterclass[i]++; + index += sizeof(CLASS_ALNUM) - 1; + } + else if (trio_equal_max(CLASS_ALPHA, sizeof(CLASS_ALPHA) - 1, + &format[index])) + { + for (i = 0; i < MAX_CHARACTER_CLASS; i++) + if (isalpha(i)) + characterclass[i]++; + index += sizeof(CLASS_ALPHA) - 1; + } + else if (trio_equal_max(CLASS_CNTRL, sizeof(CLASS_CNTRL) - 1, + &format[index])) + { + for (i = 0; i < MAX_CHARACTER_CLASS; i++) + if (iscntrl(i)) + characterclass[i]++; + index += sizeof(CLASS_CNTRL) - 1; + } + else if (trio_equal_max(CLASS_DIGIT, sizeof(CLASS_DIGIT) - 1, + &format[index])) + { + for (i = 0; i < MAX_CHARACTER_CLASS; i++) + if (isdigit(i)) + characterclass[i]++; + index += sizeof(CLASS_DIGIT) - 1; + } + else if (trio_equal_max(CLASS_GRAPH, sizeof(CLASS_GRAPH) - 1, + &format[index])) + { + for (i = 0; i < MAX_CHARACTER_CLASS; i++) + if (isgraph(i)) + characterclass[i]++; + index += sizeof(CLASS_GRAPH) - 1; + } + else if (trio_equal_max(CLASS_LOWER, sizeof(CLASS_LOWER) - 1, + &format[index])) + { + for (i = 0; i < MAX_CHARACTER_CLASS; i++) + if (islower(i)) + characterclass[i]++; + index += sizeof(CLASS_LOWER) - 1; + } + else if (trio_equal_max(CLASS_PRINT, sizeof(CLASS_PRINT) - 1, + &format[index])) + { + for (i = 0; i < MAX_CHARACTER_CLASS; i++) + if (isprint(i)) + characterclass[i]++; + index += sizeof(CLASS_PRINT) - 1; + } + else if (trio_equal_max(CLASS_PUNCT, sizeof(CLASS_PUNCT) - 1, + &format[index])) + { + for (i = 0; i < MAX_CHARACTER_CLASS; i++) + if (ispunct(i)) + characterclass[i]++; + index += sizeof(CLASS_PUNCT) - 1; + } + else if (trio_equal_max(CLASS_SPACE, sizeof(CLASS_SPACE) - 1, + &format[index])) + { + for (i = 0; i < MAX_CHARACTER_CLASS; i++) + if (isspace(i)) + characterclass[i]++; + index += sizeof(CLASS_SPACE) - 1; + } + else if (trio_equal_max(CLASS_UPPER, sizeof(CLASS_UPPER) - 1, + &format[index])) + { + for (i = 0; i < MAX_CHARACTER_CLASS; i++) + if (isupper(i)) + characterclass[i]++; + index += sizeof(CLASS_UPPER) - 1; + } + else if (trio_equal_max(CLASS_XDIGIT, sizeof(CLASS_XDIGIT) - 1, + &format[index])) + { + for (i = 0; i < MAX_CHARACTER_CLASS; i++) + if (isxdigit(i)) + characterclass[i]++; + index += sizeof(CLASS_XDIGIT) - 1; + } + else + { + characterclass[(int)ch]++; + } + break; + + default: + characterclass[(int)ch]++; + break; + } + break; + +#endif /* TRIO_EXTENSION */ + + default: + characterclass[(int)ch]++; + break; + } + } + return 0; +} + +/************************************************************************* + * TrioReadNumber + * + * We implement our own number conversion in preference of strtol and + * strtoul, because we must handle 'long long' and thousand separators. + */ +TRIO_PRIVATE BOOLEAN_T +TrioReadNumber +TRIO_ARGS5((self, target, flags, width, base), + trio_class_t *self, + trio_uintmax_t *target, + trio_flags_t flags, + int width, + int base) +{ + trio_uintmax_t number = 0; + int digit; + int count; + BOOLEAN_T isNegative = FALSE; + BOOLEAN_T gotNumber = FALSE; + int j; + + assert(VALID(self)); + assert(VALID(self->InStream)); + assert((base >= MIN_BASE && base <= MAX_BASE) || (base == NO_BASE)); + + if (internalDigitsUnconverted) + { + /* Lazy evaluation of digits array */ + memset(internalDigitArray, -1, sizeof(internalDigitArray)); + for (j = 0; j < (int)sizeof(internalDigitsLower) - 1; j++) + { + internalDigitArray[(int)internalDigitsLower[j]] = j; + internalDigitArray[(int)internalDigitsUpper[j]] = j; + } + internalDigitsUnconverted = FALSE; + } + + TrioSkipWhitespaces(self); + + if (!(flags & FLAGS_UNSIGNED)) + { + /* Leading sign */ + if (self->current == '+') + { + self->InStream(self, NULL); + } + else if (self->current == '-') + { + self->InStream(self, NULL); + isNegative = TRUE; + } + } + + count = self->processed; + + if (flags & FLAGS_ALTERNATIVE) + { + switch (base) + { + case NO_BASE: + case BASE_OCTAL: + case BASE_HEX: + case BASE_BINARY: + if (self->current == '0') + { + self->InStream(self, NULL); + if (self->current) + { + if ((base == BASE_HEX) && + (trio_to_upper(self->current) == 'X')) + { + self->InStream(self, NULL); + } + else if ((base == BASE_BINARY) && + (trio_to_upper(self->current) == 'B')) + { + self->InStream(self, NULL); + } + } + } + else + return FALSE; + break; + default: + break; + } + } + + while (((width == NO_WIDTH) || (self->processed - count < width)) && + (! ((self->current == EOF) || isspace(self->current)))) + { + if (isascii(self->current)) + { + digit = internalDigitArray[self->current]; + /* Abort if digit is not allowed in the specified base */ + if ((digit == -1) || (digit >= base)) + break; + } + else if (flags & FLAGS_QUOTE) + { + /* Compare with thousands separator */ + for (j = 0; internalThousandSeparator[j] && self->current; j++) + { + if (internalThousandSeparator[j] != self->current) + break; + + self->InStream(self, NULL); + } + if (internalThousandSeparator[j]) + break; /* Mismatch */ + else + continue; /* Match */ + } + else + break; + + number *= base; + number += digit; + gotNumber = TRUE; /* we need at least one digit */ + + self->InStream(self, NULL); + } + + /* Was anything read at all? */ + if (!gotNumber) + return FALSE; + + if (target) + *target = (isNegative) ? -((trio_intmax_t)number) : number; + return TRUE; +} + +/************************************************************************* + * TrioReadChar + */ +TRIO_PRIVATE int +TrioReadChar +TRIO_ARGS4((self, target, flags, width), + trio_class_t *self, + char *target, + trio_flags_t flags, + int width) +{ + int i; + char ch; + trio_uintmax_t number; + + assert(VALID(self)); + assert(VALID(self->InStream)); + + for (i = 0; + (self->current != EOF) && (i < width); + i++) + { + ch = (char)self->current; + self->InStream(self, NULL); + if ((flags & FLAGS_ALTERNATIVE) && (ch == CHAR_BACKSLASH)) + { + switch (self->current) + { + case '\\': ch = '\\'; break; + case 'a': ch = '\007'; break; + case 'b': ch = '\b'; break; + case 'f': ch = '\f'; break; + case 'n': ch = '\n'; break; + case 'r': ch = '\r'; break; + case 't': ch = '\t'; break; + case 'v': ch = '\v'; break; + default: + if (isdigit(self->current)) + { + /* Read octal number */ + if (!TrioReadNumber(self, &number, 0, 3, BASE_OCTAL)) + return 0; + ch = (char)number; + } + else if (trio_to_upper(self->current) == 'X') + { + /* Read hexadecimal number */ + self->InStream(self, NULL); + if (!TrioReadNumber(self, &number, 0, 2, BASE_HEX)) + return 0; + ch = (char)number; + } + else + { + ch = (char)self->current; + } + break; + } + } + + if (target) + target[i] = ch; + } + return i + 1; +} + +/************************************************************************* + * TrioReadString + */ +TRIO_PRIVATE BOOLEAN_T +TrioReadString +TRIO_ARGS4((self, target, flags, width), + trio_class_t *self, + char *target, + trio_flags_t flags, + int width) +{ + int i; + + assert(VALID(self)); + assert(VALID(self->InStream)); + + TrioSkipWhitespaces(self); + + /* + * Continue until end of string is reached, a whitespace is encountered, + * or width is exceeded + */ + for (i = 0; + ((width == NO_WIDTH) || (i < width)) && + (! ((self->current == EOF) || isspace(self->current))); + i++) + { + if (TrioReadChar(self, (target ? &target[i] : 0), flags, 1) == 0) + break; /* for */ + } + if (target) + target[i] = NIL; + return TRUE; +} + +/************************************************************************* + * TrioReadWideChar + */ +#if TRIO_WIDECHAR +TRIO_PRIVATE int +TrioReadWideChar +TRIO_ARGS4((self, target, flags, width), + trio_class_t *self, + trio_wchar_t *target, + trio_flags_t flags, + int width) +{ + int i; + int j; + int size; + int amount = 0; + trio_wchar_t wch; + char buffer[MB_LEN_MAX + 1]; + + assert(VALID(self)); + assert(VALID(self->InStream)); + + for (i = 0; + (self->current != EOF) && (i < width); + i++) + { + if (isascii(self->current)) + { + if (TrioReadChar(self, buffer, flags, 1) == 0) + return 0; + buffer[1] = NIL; + } + else + { + /* + * Collect a multibyte character, by enlarging buffer until + * it contains a fully legal multibyte character, or the + * buffer is full. + */ + j = 0; + do + { + buffer[j++] = (char)self->current; + buffer[j] = NIL; + self->InStream(self, NULL); + } + while ((j < (int)sizeof(buffer)) && (mblen(buffer, (size_t)j) != j)); + } + if (target) + { + size = mbtowc(&wch, buffer, sizeof(buffer)); + if (size > 0) + target[i] = wch; + } + amount += size; + self->InStream(self, NULL); + } + return amount; +} +#endif /* TRIO_WIDECHAR */ + +/************************************************************************* + * TrioReadWideString + */ +#if TRIO_WIDECHAR +TRIO_PRIVATE BOOLEAN_T +TrioReadWideString +TRIO_ARGS4((self, target, flags, width), + trio_class_t *self, + trio_wchar_t *target, + trio_flags_t flags, + int width) +{ + int i; + int size; + + assert(VALID(self)); + assert(VALID(self->InStream)); + + TrioSkipWhitespaces(self); + +#if defined(TRIO_COMPILER_SUPPORTS_MULTIBYTE) + (void)mblen(NULL, 0); +#endif + + /* + * Continue until end of string is reached, a whitespace is encountered, + * or width is exceeded + */ + for (i = 0; + ((width == NO_WIDTH) || (i < width)) && + (! ((self->current == EOF) || isspace(self->current))); + ) + { + size = TrioReadWideChar(self, &target[i], flags, 1); + if (size == 0) + break; /* for */ + + i += size; + } + if (target) + target[i] = WCONST('\0'); + return TRUE; +} +#endif /* TRIO_WIDECHAR */ + +/************************************************************************* + * TrioReadGroup + * + * FIXME: characterclass does not work with multibyte characters + */ +TRIO_PRIVATE BOOLEAN_T +TrioReadGroup +TRIO_ARGS5((self, target, characterclass, flags, width), + trio_class_t *self, + char *target, + int *characterclass, + trio_flags_t flags, + int width) +{ + int ch; + int i; + + assert(VALID(self)); + assert(VALID(self->InStream)); + + ch = self->current; + for (i = 0; + ((width == NO_WIDTH) || (i < width)) && + (! ((ch == EOF) || + (((flags & FLAGS_EXCLUDE) != 0) ^ (characterclass[ch] == 0)))); + i++) + { + if (target) + target[i] = (char)ch; + self->InStream(self, &ch); + } + + if (target) + target[i] = NIL; + return TRUE; +} + +/************************************************************************* + * TrioReadDouble + * + * FIXME: + * add long double + * handle base + */ +TRIO_PRIVATE BOOLEAN_T +TrioReadDouble +TRIO_ARGS4((self, target, flags, width), + trio_class_t *self, + trio_pointer_t target, + trio_flags_t flags, + int width) +{ + int ch; + char doubleString[512]; + int index = 0; + int start; + int j; + BOOLEAN_T isHex = FALSE; + + doubleString[0] = 0; + + if ((width == NO_WIDTH) || (width > (int)sizeof(doubleString) - 1)) + width = sizeof(doubleString) - 1; + + TrioSkipWhitespaces(self); + + /* + * Read entire double number from stream. trio_to_double requires + * a string as input, but InStream can be anything, so we have to + * collect all characters. + */ + ch = self->current; + if ((ch == '+') || (ch == '-')) + { + doubleString[index++] = (char)ch; + self->InStream(self, &ch); + width--; + } + + start = index; + switch (ch) + { + case 'n': + case 'N': + /* Not-a-number */ + if (index != 0) + break; + /* FALLTHROUGH */ + case 'i': + case 'I': + /* Infinity */ + while (isalpha(ch) && (index - start < width)) + { + doubleString[index++] = (char)ch; + self->InStream(self, &ch); + } + doubleString[index] = NIL; + + /* Case insensitive string comparison */ + if (trio_equal(&doubleString[start], INFINITE_UPPER) || + trio_equal(&doubleString[start], LONG_INFINITE_UPPER)) + { + if (flags & FLAGS_LONGDOUBLE) + { + if ((start == 1) && (doubleString[0] == '-')) + { + *((trio_long_double_t *)target) = trio_ninf(); + } + else + { + *((trio_long_double_t *)target) = trio_pinf(); + } + } + else + { + if ((start == 1) && (doubleString[0] == '-')) + { + *((double *)target) = trio_ninf(); + } + else + { + *((double *)target) = trio_pinf(); + } + } + return TRUE; + } + if (trio_equal(doubleString, NAN_UPPER)) + { + /* NaN must not have a preceding + nor - */ + if (flags & FLAGS_LONGDOUBLE) + { + *((trio_long_double_t *)target) = trio_nan(); + } + else + { + *((double *)target) = trio_nan(); + } + return TRUE; + } + return FALSE; + + case '0': + doubleString[index++] = (char)ch; + self->InStream(self, &ch); + if (trio_to_upper(ch) == 'X') + { + isHex = TRUE; + doubleString[index++] = (char)ch; + self->InStream(self, &ch); + } + break; + + default: + break; + } + + while ((ch != EOF) && (index - start < width)) + { + /* Integer part */ + if (isHex ? isxdigit(ch) : isdigit(ch)) + { + doubleString[index++] = (char)ch; + self->InStream(self, &ch); + } + else if (flags & FLAGS_QUOTE) + { + /* Compare with thousands separator */ + for (j = 0; internalThousandSeparator[j] && self->current; j++) + { + if (internalThousandSeparator[j] != self->current) + break; + + self->InStream(self, &ch); + } + if (internalThousandSeparator[j]) + break; /* Mismatch */ + else + continue; /* Match */ + } + else + break; /* while */ + } + if (ch == '.') + { + /* Decimal part */ + doubleString[index++] = (char)ch; + self->InStream(self, &ch); + while ((isHex ? isxdigit(ch) : isdigit(ch)) && + (index - start < width)) + { + doubleString[index++] = (char)ch; + self->InStream(self, &ch); + } + if (isHex ? (trio_to_upper(ch) == 'P') : (trio_to_upper(ch) == 'E')) + { + /* Exponent */ + doubleString[index++] = (char)ch; + self->InStream(self, &ch); + if ((ch == '+') || (ch == '-')) + { + doubleString[index++] = (char)ch; + self->InStream(self, &ch); + } + while (isdigit(ch) && (index - start < width)) + { + doubleString[index++] = (char)ch; + self->InStream(self, &ch); + } + } + } + + if ((index == start) || (*doubleString == NIL)) + return FALSE; + + doubleString[index] = 0; + + if (flags & FLAGS_LONGDOUBLE) + { + *((trio_long_double_t *)target) = trio_to_long_double(doubleString, NULL); + } + else + { + *((double *)target) = trio_to_double(doubleString, NULL); + } + return TRUE; +} + +/************************************************************************* + * TrioReadPointer + */ +TRIO_PRIVATE BOOLEAN_T +TrioReadPointer +TRIO_ARGS3((self, target, flags), + trio_class_t *self, + trio_pointer_t *target, + trio_flags_t flags) +{ + trio_uintmax_t number; + char buffer[sizeof(internalNullString)]; + + flags |= (FLAGS_UNSIGNED | FLAGS_ALTERNATIVE | FLAGS_NILPADDING); + + if (TrioReadNumber(self, + &number, + flags, + POINTER_WIDTH, + BASE_HEX)) + { + /* + * The strange assignment of number is a workaround for a compiler + * warning + */ + if (target) + *target = (char *)0 + number; + return TRUE; + } + else if (TrioReadString(self, + (flags & FLAGS_IGNORE) + ? NULL + : buffer, + 0, + sizeof(internalNullString) - 1)) + { + if (trio_equal_case(buffer, internalNullString)) + { + if (target) + *target = NULL; + return TRUE; + } + } + return FALSE; +} + +/************************************************************************* + * TrioScanProcess + */ +TRIO_PRIVATE int +TrioScanProcess +TRIO_ARGS3((data, format, parameters), + trio_class_t *data, + TRIO_CONST char *format, + trio_parameter_t *parameters) +{ +#if defined(TRIO_COMPILER_SUPPORTS_MULTIBYTE) + int charlen; + int cnt; +#endif + int assignment; + int ch; + int index; /* Index of format string */ + int i; /* Index of current parameter */ + trio_flags_t flags; + int width; + int base; + trio_pointer_t pointer; + + assignment = 0; + i = 0; + index = 0; + data->InStream(data, &ch); + +#if defined(TRIO_COMPILER_SUPPORTS_MULTIBYTE) + (void)mblen(NULL, 0); +#endif + + while (format[index]) + { +#if defined(TRIO_COMPILER_SUPPORTS_MULTIBYTE) + if (! isascii(format[index])) + { + charlen = mblen(&format[index], MB_LEN_MAX); + if (charlen != -1) + { + /* Compare multibyte characters in format string */ + for (cnt = 0; cnt < charlen - 1; cnt++) + { + if (ch != format[index + cnt]) + { + return TRIO_ERROR_RETURN(TRIO_EINVAL, index); + } + data->InStream(data, &ch); + } + continue; /* while characters left in formatting string */ + } + } +#endif /* TRIO_COMPILER_SUPPORTS_MULTIBYTE */ + + if ((EOF == ch) && (parameters[i].type != FORMAT_COUNT)) + { + return (assignment > 0) ? assignment : EOF; + } + + if (CHAR_IDENTIFIER == format[index]) + { + if (CHAR_IDENTIFIER == format[index + 1]) + { + /* Two % in format matches one % in input stream */ + if (CHAR_IDENTIFIER == ch) + { + data->InStream(data, &ch); + index += 2; + continue; /* while format chars left */ + } + else + return TRIO_ERROR_RETURN(TRIO_EINVAL, index); + } + + /* Skip the parameter entries */ + while (parameters[i].type == FORMAT_PARAMETER) + i++; + + flags = parameters[i].flags; + /* Find width */ + width = parameters[i].width; + if (flags & FLAGS_WIDTH_PARAMETER) + { + /* Get width from parameter list */ + width = (int)parameters[width].data.number.as_signed; + } + /* Find base */ + base = parameters[i].base; + if (flags & FLAGS_BASE_PARAMETER) + { + /* Get base from parameter list */ + base = (int)parameters[base].data.number.as_signed; + } + + switch (parameters[i].type) + { + case FORMAT_INT: + { + trio_uintmax_t number; + + if (0 == base) + base = BASE_DECIMAL; + + if (!TrioReadNumber(data, + &number, + flags, + width, + base)) + return assignment; + + if (!(flags & FLAGS_IGNORE)) + { + assignment++; + + pointer = parameters[i].data.pointer; +#if defined(QUALIFIER_SIZE_T) || defined(QUALIFIER_SIZE_T_UPPER) + if (flags & FLAGS_SIZE_T) + *(size_t *)pointer = (size_t)number; + else +#endif +#if defined(QUALIFIER_PTRDIFF_T) + if (flags & FLAGS_PTRDIFF_T) + *(ptrdiff_t *)pointer = (ptrdiff_t)number; + else +#endif +#if defined(QUALIFIER_INTMAX_T) + if (flags & FLAGS_INTMAX_T) + *(trio_intmax_t *)pointer = (trio_intmax_t)number; + else +#endif + if (flags & FLAGS_QUAD) + *(trio_ulonglong_t *)pointer = (trio_ulonglong_t)number; + else if (flags & FLAGS_LONG) + *(long int *)pointer = (long int)number; + else if (flags & FLAGS_SHORT) + *(short int *)pointer = (short int)number; + else + *(int *)pointer = (int)number; + } + } + break; /* FORMAT_INT */ + + case FORMAT_STRING: +#if TRIO_WIDECHAR + if (flags & FLAGS_WIDECHAR) + { + if (!TrioReadWideString(data, + (flags & FLAGS_IGNORE) + ? NULL + : parameters[i].data.wstring, + flags, + width)) + return assignment; + } + else +#endif + { + if (!TrioReadString(data, + (flags & FLAGS_IGNORE) + ? NULL + : parameters[i].data.string, + flags, + width)) + return assignment; + } + if (!(flags & FLAGS_IGNORE)) + assignment++; + break; /* FORMAT_STRING */ + + case FORMAT_DOUBLE: + { + trio_pointer_t pointer; + + if (flags & FLAGS_IGNORE) + { + pointer = NULL; + } + else + { + pointer = (flags & FLAGS_LONGDOUBLE) + ? (trio_pointer_t)parameters[i].data.longdoublePointer + : (trio_pointer_t)parameters[i].data.doublePointer; + } + if (!TrioReadDouble(data, pointer, flags, width)) + { + return assignment; + } + if (!(flags & FLAGS_IGNORE)) + { + assignment++; + } + break; /* FORMAT_DOUBLE */ + } + case FORMAT_GROUP: + { + int characterclass[MAX_CHARACTER_CLASS + 1]; + int rc; + + /* Skip over modifiers */ + while (format[index] != SPECIFIER_GROUP) + { + index++; + } + /* Skip over group specifier */ + index++; + + memset(characterclass, 0, sizeof(characterclass)); + rc = TrioGetCharacterClass(format, + &index, + &flags, + characterclass); + if (rc < 0) + return rc; + + if (!TrioReadGroup(data, + (flags & FLAGS_IGNORE) + ? NULL + : parameters[i].data.string, + characterclass, + flags, + parameters[i].width)) + return assignment; + if (!(flags & FLAGS_IGNORE)) + assignment++; + } + break; /* FORMAT_GROUP */ + + case FORMAT_COUNT: + pointer = parameters[i].data.pointer; + if (NULL != pointer) + { + int count = data->committed; + if (ch != EOF) + count--; /* a character is read, but is not consumed yet */ +#if defined(QUALIFIER_SIZE_T) || defined(QUALIFIER_SIZE_T_UPPER) + if (flags & FLAGS_SIZE_T) + *(size_t *)pointer = (size_t)count; + else +#endif +#if defined(QUALIFIER_PTRDIFF_T) + if (flags & FLAGS_PTRDIFF_T) + *(ptrdiff_t *)pointer = (ptrdiff_t)count; + else +#endif +#if defined(QUALIFIER_INTMAX_T) + if (flags & FLAGS_INTMAX_T) + *(trio_intmax_t *)pointer = (trio_intmax_t)count; + else +#endif + if (flags & FLAGS_QUAD) + { + *(trio_ulonglong_t *)pointer = (trio_ulonglong_t)count; + } + else if (flags & FLAGS_LONG) + { + *(long int *)pointer = (long int)count; + } + else if (flags & FLAGS_SHORT) + { + *(short int *)pointer = (short int)count; + } + else + { + *(int *)pointer = (int)count; + } + } + break; /* FORMAT_COUNT */ + + case FORMAT_CHAR: +#if TRIO_WIDECHAR + if (flags & FLAGS_WIDECHAR) + { + if (TrioReadWideChar(data, + (flags & FLAGS_IGNORE) + ? NULL + : parameters[i].data.wstring, + flags, + (width == NO_WIDTH) ? 1 : width) == 0) + return assignment; + } + else +#endif + { + if (TrioReadChar(data, + (flags & FLAGS_IGNORE) + ? NULL + : parameters[i].data.string, + flags, + (width == NO_WIDTH) ? 1 : width) == 0) + return assignment; + } + if (!(flags & FLAGS_IGNORE)) + assignment++; + break; /* FORMAT_CHAR */ + + case FORMAT_POINTER: + if (!TrioReadPointer(data, + (flags & FLAGS_IGNORE) + ? NULL + : (trio_pointer_t *)parameters[i].data.pointer, + flags)) + return assignment; + if (!(flags & FLAGS_IGNORE)) + assignment++; + break; /* FORMAT_POINTER */ + + case FORMAT_PARAMETER: + break; /* FORMAT_PARAMETER */ + + default: + return TRIO_ERROR_RETURN(TRIO_EINVAL, index); + } + ch = data->current; + index = parameters[i].indexAfterSpecifier; + i++; + } + else /* Not an % identifier */ + { + if (isspace((int)format[index])) + { + /* Whitespaces may match any amount of whitespaces */ + ch = TrioSkipWhitespaces(data); + } + else if (ch == format[index]) + { + data->InStream(data, &ch); + } + else + return assignment; + + index++; + } + } + return assignment; +} + +/************************************************************************* + * TrioScan + */ +TRIO_PRIVATE int +TrioScan +TRIO_ARGS6((source, sourceSize, InStream, format, arglist, argarray), + trio_pointer_t source, + size_t sourceSize, + void (*InStream) TRIO_PROTO((trio_class_t *, int *)), + TRIO_CONST char *format, + TRIO_VA_LIST_PTR arglist, + trio_pointer_t *argarray) +{ + int status; + trio_parameter_t parameters[MAX_PARAMETERS]; + trio_class_t data; + + assert(VALID(InStream)); + assert(VALID(format)); + + memset(&data, 0, sizeof(data)); + data.InStream = InStream; + data.location = (trio_pointer_t)source; + data.max = sourceSize; + data.error = 0; + +#if defined(USE_LOCALE) + if (NULL == internalLocaleValues) + { + TrioSetLocale(); + } +#endif + + status = TrioParse(TYPE_SCAN, format, parameters, arglist, argarray); + if (status < 0) + return status; + + status = TrioScanProcess(&data, format, parameters); + if (data.error != 0) + { + status = data.error; + } + return status; +} + +/************************************************************************* + * TrioInStreamFile + */ +TRIO_PRIVATE void +TrioInStreamFile +TRIO_ARGS2((self, intPointer), + trio_class_t *self, + int *intPointer) +{ + FILE *file; + + assert(VALID(self)); + assert(VALID(self->location)); + assert(VALID(file)); + + file = (FILE *)self->location; + + self->current = fgetc(file); + if (self->current == EOF) + { + self->error = (ferror(file)) + ? TRIO_ERROR_RETURN(TRIO_ERRNO, 0) + : TRIO_ERROR_RETURN(TRIO_EOF, 0); + } + else + { + self->processed++; + self->committed++; + } + + if (VALID(intPointer)) + { + *intPointer = self->current; + } +} + +/************************************************************************* + * TrioInStreamFileDescriptor + */ +TRIO_PRIVATE void +TrioInStreamFileDescriptor +TRIO_ARGS2((self, intPointer), + trio_class_t *self, + int *intPointer) +{ + int fd; + int size; + unsigned char input; + + assert(VALID(self)); + assert(VALID(self->location)); + + fd = *((int *)self->location); + + size = read(fd, &input, sizeof(char)); + if (size == -1) + { + self->error = TRIO_ERROR_RETURN(TRIO_ERRNO, 0); + self->current = EOF; + } + else + { + self->current = (size == 0) ? EOF : input; + } + if (self->current != EOF) + { + self->committed++; + self->processed++; + } + + if (VALID(intPointer)) + { + *intPointer = self->current; + } +} + +/************************************************************************* + * TrioInStreamCustom + */ +TRIO_PRIVATE void +TrioInStreamCustom +TRIO_ARGS2((self, intPointer), + trio_class_t *self, + int *intPointer) +{ + trio_custom_t *data; + + assert(VALID(self)); + assert(VALID(self->location)); + + data = (trio_custom_t *)self->location; + + self->current = (data->stream.in == NULL) + ? NIL + : (data->stream.in)(data->closure); + + if (self->current == NIL) + { + self->current = EOF; + } + else + { + self->processed++; + self->committed++; + } + + if (VALID(intPointer)) + { + *intPointer = self->current; + } +} + +/************************************************************************* + * TrioInStreamString + */ +TRIO_PRIVATE void +TrioInStreamString +TRIO_ARGS2((self, intPointer), + trio_class_t *self, + int *intPointer) +{ + unsigned char **buffer; + + assert(VALID(self)); + assert(VALID(self->location)); + + buffer = (unsigned char **)self->location; + self->current = (*buffer)[0]; + if (self->current == NIL) + { + self->current = EOF; + } + else + { + (*buffer)++; + self->processed++; + self->committed++; + } + + if (VALID(intPointer)) + { + *intPointer = self->current; + } +} + +/************************************************************************* + * + * Formatted scanning functions + * + ************************************************************************/ + +#if defined(TRIO_DOCUMENTATION) +# include "doc/doc_scanf.h" +#endif +/** @addtogroup Scanf + @{ +*/ + +/************************************************************************* + * scanf + */ + +/** + Scan characters from standard input stream. + + @param format Formatting string. + @param ... Arguments. + @return Number of scanned characters. + */ +TRIO_PUBLIC int +trio_scanf +TRIO_VARGS2((format, va_alist), + TRIO_CONST char *format, + TRIO_VA_DECL) +{ + int status; + va_list args; + + assert(VALID(format)); + + TRIO_VA_START(args, format); + status = TrioScan((trio_pointer_t)stdin, 0, + TrioInStreamFile, + format, TRIO_VA_LIST_ADDR(args), NULL); + TRIO_VA_END(args); + return status; +} + +TRIO_PUBLIC int +trio_vscanf +TRIO_ARGS2((format, args), + TRIO_CONST char *format, + va_list args) +{ + assert(VALID(format)); + + return TrioScan((trio_pointer_t)stdin, 0, + TrioInStreamFile, + format, TRIO_VA_LIST_ADDR(args), NULL); +} + +TRIO_PUBLIC int +trio_scanfv +TRIO_ARGS2((format, args), + TRIO_CONST char *format, + trio_pointer_t *args) +{ + assert(VALID(format)); + + return TrioScan((trio_pointer_t)stdin, 0, + TrioInStreamFile, + format, NULL, args); +} + +/************************************************************************* + * fscanf + */ +TRIO_PUBLIC int +trio_fscanf +TRIO_VARGS3((file, format, va_alist), + FILE *file, + TRIO_CONST char *format, + TRIO_VA_DECL) +{ + int status; + va_list args; + + assert(VALID(file)); + assert(VALID(format)); + + TRIO_VA_START(args, format); + status = TrioScan((trio_pointer_t)file, 0, + TrioInStreamFile, + format, TRIO_VA_LIST_ADDR(args), NULL); + TRIO_VA_END(args); + return status; +} + +TRIO_PUBLIC int +trio_vfscanf +TRIO_ARGS3((file, format, args), + FILE *file, + TRIO_CONST char *format, + va_list args) +{ + assert(VALID(file)); + assert(VALID(format)); + + return TrioScan((trio_pointer_t)file, 0, + TrioInStreamFile, + format, TRIO_VA_LIST_ADDR(args), NULL); +} + +TRIO_PUBLIC int +trio_fscanfv +TRIO_ARGS3((file, format, args), + FILE *file, + TRIO_CONST char *format, + trio_pointer_t *args) +{ + assert(VALID(file)); + assert(VALID(format)); + + return TrioScan((trio_pointer_t)file, 0, + TrioInStreamFile, + format, NULL, args); +} + +/************************************************************************* + * dscanf + */ +TRIO_PUBLIC int +trio_dscanf +TRIO_VARGS3((fd, format, va_alist), + int fd, + TRIO_CONST char *format, + TRIO_VA_DECL) +{ + int status; + va_list args; + + assert(VALID(format)); + + TRIO_VA_START(args, format); + status = TrioScan((trio_pointer_t)&fd, 0, + TrioInStreamFileDescriptor, + format, TRIO_VA_LIST_ADDR(args), NULL); + TRIO_VA_END(args); + return status; +} + +TRIO_PUBLIC int +trio_vdscanf +TRIO_ARGS3((fd, format, args), + int fd, + TRIO_CONST char *format, + va_list args) +{ + assert(VALID(format)); + + return TrioScan((trio_pointer_t)&fd, 0, + TrioInStreamFileDescriptor, + format, TRIO_VA_LIST_ADDR(args), NULL); +} + +TRIO_PUBLIC int +trio_dscanfv +TRIO_ARGS3((fd, format, args), + int fd, + TRIO_CONST char *format, + trio_pointer_t *args) +{ + assert(VALID(format)); + + return TrioScan((trio_pointer_t)&fd, 0, + TrioInStreamFileDescriptor, + format, NULL, args); +} + +/************************************************************************* + * cscanf + */ +TRIO_PUBLIC int +trio_cscanf +TRIO_VARGS4((stream, closure, format, va_alist), + trio_instream_t stream, + trio_pointer_t closure, + TRIO_CONST char *format, + TRIO_VA_DECL) +{ + int status; + va_list args; + trio_custom_t data; + + assert(VALID(stream)); + assert(VALID(format)); + + TRIO_VA_START(args, format); + data.stream.in = stream; + data.closure = closure; + status = TrioScan(&data, 0, TrioInStreamCustom, format, TRIO_VA_LIST_ADDR(args), NULL); + TRIO_VA_END(args); + return status; +} + +TRIO_PUBLIC int +trio_vcscanf +TRIO_ARGS4((stream, closure, format, args), + trio_instream_t stream, + trio_pointer_t closure, + TRIO_CONST char *format, + va_list args) +{ + trio_custom_t data; + + assert(VALID(stream)); + assert(VALID(format)); + + data.stream.in = stream; + data.closure = closure; + return TrioScan(&data, 0, TrioInStreamCustom, format, TRIO_VA_LIST_ADDR(args), NULL); +} + +TRIO_PUBLIC int +trio_cscanfv +TRIO_ARGS4((stream, closure, format, args), + trio_instream_t stream, + trio_pointer_t closure, + TRIO_CONST char *format, + trio_pointer_t *args) +{ + trio_custom_t data; + + assert(VALID(stream)); + assert(VALID(format)); + + data.stream.in = stream; + data.closure = closure; + return TrioScan(&data, 0, TrioInStreamCustom, format, NULL, args); +} + +/************************************************************************* + * sscanf + */ +TRIO_PUBLIC int +trio_sscanf +TRIO_VARGS3((buffer, format, va_alist), + TRIO_CONST char *buffer, + TRIO_CONST char *format, + TRIO_VA_DECL) +{ + int status; + va_list args; + + assert(VALID(buffer)); + assert(VALID(format)); + + TRIO_VA_START(args, format); + status = TrioScan((trio_pointer_t)&buffer, 0, + TrioInStreamString, + format, TRIO_VA_LIST_ADDR(args), NULL); + TRIO_VA_END(args); + return status; +} + +TRIO_PUBLIC int +trio_vsscanf +TRIO_ARGS3((buffer, format, args), + TRIO_CONST char *buffer, + TRIO_CONST char *format, + va_list args) +{ + assert(VALID(buffer)); + assert(VALID(format)); + + return TrioScan((trio_pointer_t)&buffer, 0, + TrioInStreamString, + format, TRIO_VA_LIST_ADDR(args), NULL); +} + +TRIO_PUBLIC int +trio_sscanfv +TRIO_ARGS3((buffer, format, args), + TRIO_CONST char *buffer, + TRIO_CONST char *format, + trio_pointer_t *args) +{ + assert(VALID(buffer)); + assert(VALID(format)); + + return TrioScan((trio_pointer_t)&buffer, 0, + TrioInStreamString, + format, NULL, args); +} + +/** @} End of Scanf documentation module */ + +/************************************************************************* + * trio_strerror + */ +TRIO_PUBLIC TRIO_CONST char * +trio_strerror +TRIO_ARGS1((errorcode), + int errorcode) +{ + /* Textual versions of the error codes */ + switch (TRIO_ERROR_CODE(errorcode)) + { + case TRIO_EOF: + return "End of file"; + case TRIO_EINVAL: + return "Invalid argument"; + case TRIO_ETOOMANY: + return "Too many arguments"; + case TRIO_EDBLREF: + return "Double reference"; + case TRIO_EGAP: + return "Reference gap"; + case TRIO_ENOMEM: + return "Out of memory"; + case TRIO_ERANGE: + return "Invalid range"; + case TRIO_ECUSTOM: + return "Custom error"; + default: + return "Unknown"; + } +} diff --git a/trio.h b/trio.h new file mode 100644 index 0000000..99d2127 --- /dev/null +++ b/trio.h @@ -0,0 +1,230 @@ +/************************************************************************* + * + * $Id$ + * + * Copyright (C) 1998 Bjorn Reese and Daniel Stenberg. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF + * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. + * + ************************************************************************* + * + * http://ctrio.sourceforge.net/ + * + ************************************************************************/ + +#ifndef TRIO_TRIO_H +#define TRIO_TRIO_H + +#if !defined(WITHOUT_TRIO) + +/* + * Use autoconf defines if present. Packages using trio must define + * HAVE_CONFIG_H as a compiler option themselves. + */ +#if defined(TRIO_HAVE_CONFIG_H) +# include "config.h" +#endif + +#include "triodef.h" + +#include +#include +#if defined(TRIO_COMPILER_ANCIENT) +# include +#else +# include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Error codes. + * + * Remember to add a textual description to trio_strerror. + */ +enum { + TRIO_EOF = 1, + TRIO_EINVAL = 2, + TRIO_ETOOMANY = 3, + TRIO_EDBLREF = 4, + TRIO_EGAP = 5, + TRIO_ENOMEM = 6, + TRIO_ERANGE = 7, + TRIO_ERRNO = 8, + TRIO_ECUSTOM = 9 +}; + +/* Error macros */ +#define TRIO_ERROR_CODE(x) ((-(x)) & 0x00FF) +#define TRIO_ERROR_POSITION(x) ((-(x)) >> 8) +#define TRIO_ERROR_NAME(x) trio_strerror(x) + +typedef int (*trio_outstream_t) TRIO_PROTO((trio_pointer_t, int)); +typedef int (*trio_instream_t) TRIO_PROTO((trio_pointer_t)); + +TRIO_CONST char *trio_strerror TRIO_PROTO((int)); + +/************************************************************************* + * Print Functions + */ + +int trio_printf TRIO_PROTO((TRIO_CONST char *format, ...)); +int trio_vprintf TRIO_PROTO((TRIO_CONST char *format, va_list args)); +int trio_printfv TRIO_PROTO((TRIO_CONST char *format, void **args)); + +int trio_fprintf TRIO_PROTO((FILE *file, TRIO_CONST char *format, ...)); +int trio_vfprintf TRIO_PROTO((FILE *file, TRIO_CONST char *format, va_list args)); +int trio_fprintfv TRIO_PROTO((FILE *file, TRIO_CONST char *format, void **args)); + +int trio_dprintf TRIO_PROTO((int fd, TRIO_CONST char *format, ...)); +int trio_vdprintf TRIO_PROTO((int fd, TRIO_CONST char *format, va_list args)); +int trio_dprintfv TRIO_PROTO((int fd, TRIO_CONST char *format, void **args)); + +int trio_cprintf TRIO_PROTO((trio_outstream_t stream, trio_pointer_t closure, + TRIO_CONST char *format, ...)); +int trio_vcprintf TRIO_PROTO((trio_outstream_t stream, trio_pointer_t closure, + TRIO_CONST char *format, va_list args)); +int trio_cprintfv TRIO_PROTO((trio_outstream_t stream, trio_pointer_t closure, + TRIO_CONST char *format, void **args)); + +int trio_sprintf TRIO_PROTO((char *buffer, TRIO_CONST char *format, ...)); +int trio_vsprintf TRIO_PROTO((char *buffer, TRIO_CONST char *format, va_list args)); +int trio_sprintfv TRIO_PROTO((char *buffer, TRIO_CONST char *format, void **args)); + +int trio_snprintf TRIO_PROTO((char *buffer, size_t max, TRIO_CONST char *format, ...)); +int trio_vsnprintf TRIO_PROTO((char *buffer, size_t bufferSize, TRIO_CONST char *format, + va_list args)); +int trio_snprintfv TRIO_PROTO((char *buffer, size_t bufferSize, TRIO_CONST char *format, + void **args)); + +int trio_snprintfcat TRIO_PROTO((char *buffer, size_t max, TRIO_CONST char *format, ...)); +int trio_vsnprintfcat TRIO_PROTO((char *buffer, size_t bufferSize, TRIO_CONST char *format, + va_list args)); + +char *trio_aprintf TRIO_PROTO((TRIO_CONST char *format, ...)); +char *trio_vaprintf TRIO_PROTO((TRIO_CONST char *format, va_list args)); + +int trio_asprintf TRIO_PROTO((char **ret, TRIO_CONST char *format, ...)); +int trio_vasprintf TRIO_PROTO((char **ret, TRIO_CONST char *format, va_list args)); + +/************************************************************************* + * Scan Functions + */ +int trio_scanf TRIO_PROTO((TRIO_CONST char *format, ...)); +int trio_vscanf TRIO_PROTO((TRIO_CONST char *format, va_list args)); +int trio_scanfv TRIO_PROTO((TRIO_CONST char *format, void **args)); + +int trio_fscanf TRIO_PROTO((FILE *file, TRIO_CONST char *format, ...)); +int trio_vfscanf TRIO_PROTO((FILE *file, TRIO_CONST char *format, va_list args)); +int trio_fscanfv TRIO_PROTO((FILE *file, TRIO_CONST char *format, void **args)); + +int trio_dscanf TRIO_PROTO((int fd, TRIO_CONST char *format, ...)); +int trio_vdscanf TRIO_PROTO((int fd, TRIO_CONST char *format, va_list args)); +int trio_dscanfv TRIO_PROTO((int fd, TRIO_CONST char *format, void **args)); + +int trio_cscanf TRIO_PROTO((trio_instream_t stream, trio_pointer_t closure, + TRIO_CONST char *format, ...)); +int trio_vcscanf TRIO_PROTO((trio_instream_t stream, trio_pointer_t closure, + TRIO_CONST char *format, va_list args)); +int trio_cscanfv TRIO_PROTO((trio_instream_t stream, trio_pointer_t closure, + TRIO_CONST char *format, void **args)); + +int trio_sscanf TRIO_PROTO((TRIO_CONST char *buffer, TRIO_CONST char *format, ...)); +int trio_vsscanf TRIO_PROTO((TRIO_CONST char *buffer, TRIO_CONST char *format, va_list args)); +int trio_sscanfv TRIO_PROTO((TRIO_CONST char *buffer, TRIO_CONST char *format, void **args)); + +/************************************************************************* + * Locale Functions + */ +void trio_locale_set_decimal_point TRIO_PROTO((char *decimalPoint)); +void trio_locale_set_thousand_separator TRIO_PROTO((char *thousandSeparator)); +void trio_locale_set_grouping TRIO_PROTO((char *grouping)); + +/************************************************************************* + * Renaming + */ +#ifdef TRIO_REPLACE_STDIO +/* Replace the functions */ +#ifndef HAVE_PRINTF +# undef printf +# define printf trio_printf +#endif +#ifndef HAVE_VPRINTF +# undef vprintf +# define vprintf trio_vprintf +#endif +#ifndef HAVE_FPRINTF +# undef fprintf +# define fprintf trio_fprintf +#endif +#ifndef HAVE_VFPRINTF +# undef vfprintf +# define vfprintf trio_vfprintf +#endif +#ifndef HAVE_SPRINTF +# undef sprintf +# define sprintf trio_sprintf +#endif +#ifndef HAVE_VSPRINTF +# undef vsprintf +# define vsprintf trio_vsprintf +#endif +#ifndef HAVE_SNPRINTF +# undef snprintf +# define snprintf trio_snprintf +#endif +#ifndef HAVE_VSNPRINTF +# undef vsnprintf +# define vsnprintf trio_vsnprintf +#endif +#ifndef HAVE_SCANF +# undef scanf +# define scanf trio_scanf +#endif +#ifndef HAVE_VSCANF +# undef vscanf +# define vscanf trio_vscanf +#endif +#ifndef HAVE_FSCANF +# undef fscanf +# define fscanf trio_fscanf +#endif +#ifndef HAVE_VFSCANF +# undef vfscanf +# define vfscanf trio_vfscanf +#endif +#ifndef HAVE_SSCANF +# undef sscanf +# define sscanf trio_sscanf +#endif +#ifndef HAVE_VSSCANF +# undef vsscanf +# define vsscanf trio_vsscanf +#endif +/* These aren't stdio functions, but we make them look similar */ +#define dprintf trio_dprintf +#define vdprintf trio_vdprintf +#define aprintf trio_aprintf +#define vaprintf trio_vaprintf +#define asprintf trio_asprintf +#define vasprintf trio_vasprintf +#define dscanf trio_dscanf +#define vdscanf trio_vdscanf +#endif + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* WITHOUT_TRIO */ + +#endif /* TRIO_TRIO_H */ diff --git a/triodef.h b/triodef.h new file mode 100644 index 0000000..46772ee --- /dev/null +++ b/triodef.h @@ -0,0 +1,228 @@ +/************************************************************************* + * + * $Id$ + * + * Copyright (C) 2001 Bjorn Reese + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF + * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. + * + ************************************************************************/ + +#ifndef TRIO_TRIODEF_H +#define TRIO_TRIODEF_H + +/************************************************************************* + * Platform and compiler support detection + */ +#if defined(__GNUC__) +# define TRIO_COMPILER_GCC +#elif defined(__SUNPRO_C) +# define TRIO_COMPILER_SUNPRO +#elif defined(__SUNPRO_CC) +# define TRIO_COMPILER_SUNPRO +# define __SUNPRO_C __SUNPRO_CC +#elif defined(__xlC__) || defined(__IBMC__) || defined(__IBMCPP__) +# define TRIO_COMPILER_XLC +#elif defined(_AIX) && !defined(__GNUC__) +# define TRIO_COMPILER_XLC /* Workaround for old xlc */ +#elif defined(__DECC) || defined(__DECCXX) +# define TRIO_COMPILER_DECC +#elif defined(__osf__) && defined(__LANGUAGE_C__) +# define TRIO_COMPILER_DECC /* Workaround for old DEC C compilers */ +#elif defined(_MSC_VER) +# define TRIO_COMPILER_MSVC +#elif defined(__BORLANDC__) +# define TRIO_COMPILER_BCB +#endif + +#if defined(VMS) || defined(__VMS) +/* + * VMS is placed first to avoid identifying the platform as Unix + * based on the DECC compiler later on. + */ +# define TRIO_PLATFORM_VMS +#elif defined(__OS400__) +# define TRIO_PLATFORM_OS400 +#elif defined(unix) || defined(__unix) || defined(__unix__) +# define TRIO_PLATFORM_UNIX +#elif defined(TRIO_COMPILER_XLC) || defined(_AIX) +# define TRIO_PLATFORM_UNIX +#elif defined(TRIO_COMPILER_DECC) || defined(__osf___) +# define TRIO_PLATFORM_UNIX +#elif defined(__NetBSD__) +# define TRIO_PLATFORM_UNIX +#elif defined(__Lynx__) +# define TRIO_PLATFORM_UNIX +#elif defined(__QNX__) +# define TRIO_PLATFORM_UNIX +# define TRIO_PLATFORM_QNX +#elif defined(__CYGWIN__) +# define TRIO_PLATFORM_UNIX +#elif defined(AMIGA) && defined(TRIO_COMPILER_GCC) +# define TRIO_PLATFORM_UNIX +#elif defined(TRIO_COMPILER_MSVC) || defined(WIN32) || defined(_WIN32) +# define TRIO_PLATFORM_WIN32 +#elif defined(mpeix) || defined(__mpexl) +# define TRIO_PLATFORM_MPEIX +#endif + +#if defined(_AIX) +# define TRIO_PLATFORM_AIX +#elif defined(__hpux) +# define TRIO_PLATFORM_HPUX +#elif defined(sun) || defined(__sun__) +# if defined(__SVR4) || defined(__svr4__) +# define TRIO_PLATFORM_SOLARIS +# else +# define TRIO_PLATFORM_SUNOS +# endif +#endif + +#if defined(__STDC__) || defined(TRIO_COMPILER_MSVC) || defined(TRIO_COMPILER_BCB) +# define TRIO_COMPILER_SUPPORTS_C89 +# if defined(__STDC_VERSION__) +# define TRIO_COMPILER_SUPPORTS_C90 +# if (__STDC_VERSION__ >= 199409L) +# define TRIO_COMPILER_SUPPORTS_C94 +# endif +# if (__STDC_VERSION__ >= 199901L) +# define TRIO_COMPILER_SUPPORTS_C99 +# endif +# elif defined(TRIO_COMPILER_SUNPRO) +# if (__SUNPRO_C >= 0x420) +# define TRIO_COMPILER_SUPPORTS_C94 +# endif +# endif +#elif defined(TRIO_COMPILER_XLC) && defined(__EXTENDED__) +# define TRIO_COMPILER_SUPPORTS_C89 +# define TRIO_COMPILER_SUPPORTS_C90 +# define TRIO_COMPILER_SUPPORTS_C94 +#endif + +#if defined(_XOPEN_SOURCE) +# if defined(_XOPEN_SOURCE_EXTENDED) +# define TRIO_COMPILER_SUPPORTS_UNIX95 +# endif +# if (_XOPEN_VERSION >= 500) +# define TRIO_COMPILER_SUPPORTS_UNIX98 +# endif +# if (_XOPEN_VERSION >= 600) +# define TRIO_COMPILER_SUPPORTS_UNIX01 +# endif +#endif + +/************************************************************************* + * Generic defines + */ + +#if !defined(TRIO_PUBLIC) +# define TRIO_PUBLIC +#endif +#if !defined(TRIO_PRIVATE) +# define TRIO_PRIVATE static +#endif + +#if !(defined(TRIO_COMPILER_SUPPORTS_C89) || defined(__cplusplus)) +# define TRIO_COMPILER_ANCIENT +#endif + +#if defined(TRIO_COMPILER_ANCIENT) +# define TRIO_CONST +# define TRIO_VOLATILE +# define TRIO_SIGNED +typedef double trio_long_double_t; +typedef char * trio_pointer_t; +# define TRIO_SUFFIX_LONG(x) x +# define TRIO_PROTO(x) () +# define TRIO_NOARGS +# define TRIO_ARGS1(list,a1) list a1; +# define TRIO_ARGS2(list,a1,a2) list a1; a2; +# define TRIO_ARGS3(list,a1,a2,a3) list a1; a2; a3; +# define TRIO_ARGS4(list,a1,a2,a3,a4) list a1; a2; a3; a4; +# define TRIO_ARGS5(list,a1,a2,a3,a4,a5) list a1; a2; a3; a4; a5; +# define TRIO_ARGS6(list,a1,a2,a3,a4,a5,a6) list a1; a2; a3; a4; a5; a6; +# define TRIO_VARGS2(list,a1,a2) list a1; a2 +# define TRIO_VARGS3(list,a1,a2,a3) list a1; a2; a3 +# define TRIO_VARGS4(list,a1,a2,a3,a4) list a1; a2; a3; a4 +# define TRIO_VARGS5(list,a1,a2,a3,a4,a5) list a1; a2; a3; a4; a5 +# define TRIO_VA_DECL va_dcl +# define TRIO_VA_START(x,y) va_start(x) +# define TRIO_VA_END(x) va_end(x) +#else /* ANSI C */ +# define TRIO_CONST const +# define TRIO_VOLATILE volatile +# define TRIO_SIGNED signed +typedef long double trio_long_double_t; +typedef void * trio_pointer_t; +# define TRIO_SUFFIX_LONG(x) x ## L +# define TRIO_PROTO(x) x +# define TRIO_NOARGS void +# define TRIO_ARGS1(list,a1) (a1) +# define TRIO_ARGS2(list,a1,a2) (a1,a2) +# define TRIO_ARGS3(list,a1,a2,a3) (a1,a2,a3) +# define TRIO_ARGS4(list,a1,a2,a3,a4) (a1,a2,a3,a4) +# define TRIO_ARGS5(list,a1,a2,a3,a4,a5) (a1,a2,a3,a4,a5) +# define TRIO_ARGS6(list,a1,a2,a3,a4,a5,a6) (a1,a2,a3,a4,a5,a6) +# define TRIO_VARGS2 TRIO_ARGS2 +# define TRIO_VARGS3 TRIO_ARGS3 +# define TRIO_VARGS4 TRIO_ARGS4 +# define TRIO_VARGS5 TRIO_ARGS5 +# define TRIO_VA_DECL ... +# define TRIO_VA_START(x,y) va_start(x,y) +# define TRIO_VA_END(x) va_end(x) +#endif + +#if defined(TRIO_COMPILER_SUPPORTS_C99) || defined(__cplusplus) +# define TRIO_INLINE inline +#elif defined(TRIO_COMPILER_GCC) +# define TRIO_INLINE __inline__ +#elif defined(TRIO_COMPILER_MSVC) +# define TRIO_INLINE _inline +#elif defined(TRIO_COMPILER_BCB) +# define TRIO_INLINE __inline +#else +# define TRIO_INLINE +#endif + +/************************************************************************* + * Workarounds + */ + +#if defined(TRIO_PLATFORM_VMS) +/* + * Computations done with constants at compile time can trigger these + * even when compiling with IEEE enabled. + */ +# pragma message disable (UNDERFLOW, FLOATOVERFL) + +# if (__CRTL_VER < 80000000) +/* + * Although the compiler supports C99 language constructs, the C + * run-time library does not contain all C99 functions. + * + * This was the case for 70300022. Update the 80000000 value when + * it has been accurately determined what version of the library + * supports C99. + */ +# if defined(TRIO_COMPILER_SUPPORTS_C99) +# undef TRIO_COMPILER_SUPPORTS_C99 +# endif +# endif +#endif + +/* + * Not all preprocessors supports the LL token. + */ +#if defined(TRIO_COMPILER_BCB) +#else +# define TRIO_COMPILER_SUPPORTS_LL +#endif + +#endif /* TRIO_TRIODEF_H */ diff --git a/trionan.c b/trionan.c new file mode 100644 index 0000000..530b1c0 --- /dev/null +++ b/trionan.c @@ -0,0 +1,914 @@ +/************************************************************************* + * + * $Id$ + * + * Copyright (C) 2001 Bjorn Reese + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF + * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. + * + ************************************************************************ + * + * Functions to handle special quantities in floating-point numbers + * (that is, NaNs and infinity). They provide the capability to detect + * and fabricate special quantities. + * + * Although written to be as portable as possible, it can never be + * guaranteed to work on all platforms, as not all hardware supports + * special quantities. + * + * The approach used here (approximately) is to: + * + * 1. Use C99 functionality when available. + * 2. Use IEEE 754 bit-patterns if possible. + * 3. Use platform-specific techniques. + * + ************************************************************************/ + +/* + * TODO: + * o Put all the magic into trio_fpclassify_and_signbit(), and use this from + * trio_isnan() etc. + */ + +/************************************************************************* + * Include files + */ +#include "triodef.h" +#include "trionan.h" + +#include +#include +#include +#include +#if defined(TRIO_PLATFORM_UNIX) +# include +#endif +#if defined(TRIO_COMPILER_DECC) +# if defined(__linux__) +# include +# else +# include +# endif +#endif +#include + +#if defined(TRIO_DOCUMENTATION) +# include "doc/doc_nan.h" +#endif +/** @addtogroup SpecialQuantities + @{ +*/ + +/************************************************************************* + * Definitions + */ + +#define TRIO_TRUE (1 == 1) +#define TRIO_FALSE (0 == 1) + +/* + * We must enable IEEE floating-point on Alpha + */ +#if defined(__alpha) && !defined(_IEEE_FP) +# if defined(TRIO_COMPILER_DECC) +# if defined(TRIO_PLATFORM_VMS) +# error "Must be compiled with option /IEEE_MODE=UNDERFLOW_TO_ZERO/FLOAT=IEEE" +# else +# if !defined(_CFE) +# error "Must be compiled with option -ieee" +# endif +# endif +# elif defined(TRIO_COMPILER_GCC) && (defined(__osf__) || defined(__linux__)) +# error "Must be compiled with option -mieee" +# endif +#endif /* __alpha && ! _IEEE_FP */ + +/* + * In ANSI/IEEE 754-1985 64-bits double format numbers have the + * following properties (amongst others) + * + * o FLT_RADIX == 2: binary encoding + * o DBL_MAX_EXP == 1024: 11 bits exponent, where one bit is used + * to indicate special numbers (e.g. NaN and Infinity), so the + * maximum exponent is 10 bits wide (2^10 == 1024). + * o DBL_MANT_DIG == 53: The mantissa is 52 bits wide, but because + * numbers are normalized the initial binary 1 is represented + * implicitly (the so-called "hidden bit"), which leaves us with + * the ability to represent 53 bits wide mantissa. + */ +#if (FLT_RADIX == 2) && (DBL_MAX_EXP == 1024) && (DBL_MANT_DIG == 53) +# define USE_IEEE_754 +#endif + + +/************************************************************************* + * Constants + */ + +static TRIO_CONST char rcsid[] = "@(#)$Id$"; + +#if defined(USE_IEEE_754) + +/* + * Endian-agnostic indexing macro. + * + * The value of internalEndianMagic, when converted into a 64-bit + * integer, becomes 0x0706050403020100 (we could have used a 64-bit + * integer value instead of a double, but not all platforms supports + * that type). The value is automatically encoded with the correct + * endianess by the compiler, which means that we can support any + * kind of endianess. The individual bytes are then used as an index + * for the IEEE 754 bit-patterns and masks. + */ +#define TRIO_DOUBLE_INDEX(x) (((unsigned char *)&internalEndianMagic)[7-(x)]) + +#if (defined(__BORLANDC__) && __BORLANDC__ >= 0x0590) +static TRIO_CONST double internalEndianMagic = 7.949928895127362e-275; +#else +static TRIO_CONST double internalEndianMagic = 7.949928895127363e-275; +#endif + +/* Mask for the exponent */ +static TRIO_CONST unsigned char ieee_754_exponent_mask[] = { + 0x7F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +/* Mask for the mantissa */ +static TRIO_CONST unsigned char ieee_754_mantissa_mask[] = { + 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF +}; + +/* Mask for the sign bit */ +static TRIO_CONST unsigned char ieee_754_sign_mask[] = { + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +/* Bit-pattern for negative zero */ +static TRIO_CONST unsigned char ieee_754_negzero_array[] = { + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +/* Bit-pattern for infinity */ +static TRIO_CONST unsigned char ieee_754_infinity_array[] = { + 0x7F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +/* Bit-pattern for quiet NaN */ +static TRIO_CONST unsigned char ieee_754_qnan_array[] = { + 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + + +/************************************************************************* + * Functions + */ + +/* + * trio_make_double + */ +TRIO_PRIVATE double +trio_make_double +TRIO_ARGS1((values), + TRIO_CONST unsigned char *values) +{ + TRIO_VOLATILE double result; + int i; + + for (i = 0; i < (int)sizeof(double); i++) { + ((TRIO_VOLATILE unsigned char *)&result)[TRIO_DOUBLE_INDEX(i)] = values[i]; + } + return result; +} + +/* + * trio_is_special_quantity + */ +TRIO_PRIVATE int +trio_is_special_quantity +TRIO_ARGS2((number, has_mantissa), + double number, + int *has_mantissa) +{ + unsigned int i; + unsigned char current; + int is_special_quantity = TRIO_TRUE; + + *has_mantissa = 0; + + for (i = 0; i < (unsigned int)sizeof(double); i++) { + current = ((unsigned char *)&number)[TRIO_DOUBLE_INDEX(i)]; + is_special_quantity + &= ((current & ieee_754_exponent_mask[i]) == ieee_754_exponent_mask[i]); + *has_mantissa |= (current & ieee_754_mantissa_mask[i]); + } + return is_special_quantity; +} + +/* + * trio_is_negative + */ +TRIO_PRIVATE int +trio_is_negative +TRIO_ARGS1((number), + double number) +{ + unsigned int i; + int is_negative = TRIO_FALSE; + + for (i = 0; i < (unsigned int)sizeof(double); i++) { + is_negative |= (((unsigned char *)&number)[TRIO_DOUBLE_INDEX(i)] + & ieee_754_sign_mask[i]); + } + return is_negative; +} + +#endif /* USE_IEEE_754 */ + + +/** + Generate negative zero. + + @return Floating-point representation of negative zero. +*/ +TRIO_PUBLIC double +trio_nzero(TRIO_NOARGS) +{ +#if defined(USE_IEEE_754) + return trio_make_double(ieee_754_negzero_array); +#else + TRIO_VOLATILE double zero = 0.0; + + return -zero; +#endif +} + +/** + Generate positive infinity. + + @return Floating-point representation of positive infinity. +*/ +TRIO_PUBLIC double +trio_pinf(TRIO_NOARGS) +{ + /* Cache the result */ + static double result = 0.0; + + if (result == 0.0) { + +#if defined(INFINITY) && defined(__STDC_IEC_559__) + result = (double)INFINITY; + +#elif defined(USE_IEEE_754) + result = trio_make_double(ieee_754_infinity_array); + +#else + /* + * If HUGE_VAL is different from DBL_MAX, then HUGE_VAL is used + * as infinity. Otherwise we have to resort to an overflow + * operation to generate infinity. + */ +# if defined(TRIO_PLATFORM_UNIX) + void (*signal_handler)(int) = signal(SIGFPE, SIG_IGN); +# endif + + result = HUGE_VAL; + if (HUGE_VAL == DBL_MAX) { + /* Force overflow */ + result += HUGE_VAL; + } + +# if defined(TRIO_PLATFORM_UNIX) + signal(SIGFPE, signal_handler); +# endif + +#endif + } + return result; +} + +/** + Generate negative infinity. + + @return Floating-point value of negative infinity. +*/ +TRIO_PUBLIC double +trio_ninf(TRIO_NOARGS) +{ + static double result = 0.0; + + if (result == 0.0) { + /* + * Negative infinity is calculated by negating positive infinity, + * which can be done because it is legal to do calculations on + * infinity (for example, 1 / infinity == 0). + */ + result = -trio_pinf(); + } + return result; +} + +/** + Generate NaN. + + @return Floating-point representation of NaN. +*/ +TRIO_PUBLIC double +trio_nan(TRIO_NOARGS) +{ + /* Cache the result */ + static double result = 0.0; + + if (result == 0.0) { + +#if defined(TRIO_COMPILER_SUPPORTS_C99) + result = nan(""); + +#elif defined(NAN) && defined(__STDC_IEC_559__) + result = (double)NAN; + +#elif defined(USE_IEEE_754) + result = trio_make_double(ieee_754_qnan_array); + +#else + /* + * There are several ways to generate NaN. The one used here is + * to divide infinity by infinity. I would have preferred to add + * negative infinity to positive infinity, but that yields wrong + * result (infinity) on FreeBSD. + * + * This may fail if the hardware does not support NaN, or if + * the Invalid Operation floating-point exception is unmasked. + */ +# if defined(TRIO_PLATFORM_UNIX) + void (*signal_handler)(int) = signal(SIGFPE, SIG_IGN); +# endif + + result = trio_pinf() / trio_pinf(); + +# if defined(TRIO_PLATFORM_UNIX) + signal(SIGFPE, signal_handler); +# endif + +#endif + } + return result; +} + +/** + Check for NaN. + + @param number An arbitrary floating-point number. + @return Boolean value indicating whether or not the number is a NaN. +*/ +TRIO_PUBLIC int +trio_isnan +TRIO_ARGS1((number), + double number) +{ +#if (defined(TRIO_COMPILER_SUPPORTS_C99) && defined(isnan)) \ + || defined(TRIO_COMPILER_SUPPORTS_UNIX95) + /* + * C99 defines isnan() as a macro. UNIX95 defines isnan() as a + * function. This function was already present in XPG4, but this + * is a bit tricky to detect with compiler defines, so we choose + * the conservative approach and only use it for UNIX95. + */ + return isnan(number); + +#elif defined(TRIO_COMPILER_MSVC) || defined(TRIO_COMPILER_BCB) + /* + * Microsoft Visual C++ and Borland C++ Builder have an _isnan() + * function. + */ + return _isnan(number) ? TRIO_TRUE : TRIO_FALSE; + +#elif defined(USE_IEEE_754) + /* + * Examine IEEE 754 bit-pattern. A NaN must have a special exponent + * pattern, and a non-empty mantissa. + */ + int has_mantissa; + int is_special_quantity; + + is_special_quantity = trio_is_special_quantity(number, &has_mantissa); + + return (is_special_quantity && has_mantissa); + +#else + /* + * Fallback solution + */ + int status; + double integral, fraction; + +# if defined(TRIO_PLATFORM_UNIX) + void (*signal_handler)(int) = signal(SIGFPE, SIG_IGN); +# endif + + status = (/* + * NaN is the only number which does not compare to itself + */ + ((TRIO_VOLATILE double)number != (TRIO_VOLATILE double)number) || + /* + * Fallback solution if NaN compares to NaN + */ + ((number != 0.0) && + (fraction = modf(number, &integral), + integral == fraction))); + +# if defined(TRIO_PLATFORM_UNIX) + signal(SIGFPE, signal_handler); +# endif + + return status; + +#endif +} + +/** + Check for infinity. + + @param number An arbitrary floating-point number. + @return 1 if positive infinity, -1 if negative infinity, 0 otherwise. +*/ +TRIO_PUBLIC int +trio_isinf +TRIO_ARGS1((number), + double number) +{ +#if defined(TRIO_COMPILER_DECC) && !defined(__linux__) + /* + * DECC has an isinf() macro, but it works differently than that + * of C99, so we use the fp_class() function instead. + */ + return ((fp_class(number) == FP_POS_INF) + ? 1 + : ((fp_class(number) == FP_NEG_INF) ? -1 : 0)); + +#elif defined(isinf) + /* + * C99 defines isinf() as a macro. + */ + return isinf(number) + ? ((number > 0.0) ? 1 : -1) + : 0; + +#elif defined(TRIO_COMPILER_MSVC) || defined(TRIO_COMPILER_BCB) + /* + * Microsoft Visual C++ and Borland C++ Builder have an _fpclass() + * function that can be used to detect infinity. + */ + return ((_fpclass(number) == _FPCLASS_PINF) + ? 1 + : ((_fpclass(number) == _FPCLASS_NINF) ? -1 : 0)); + +#elif defined(USE_IEEE_754) + /* + * Examine IEEE 754 bit-pattern. Infinity must have a special exponent + * pattern, and an empty mantissa. + */ + int has_mantissa; + int is_special_quantity; + + is_special_quantity = trio_is_special_quantity(number, &has_mantissa); + + return (is_special_quantity && !has_mantissa) + ? ((number < 0.0) ? -1 : 1) + : 0; + +#else + /* + * Fallback solution. + */ + int status; + +# if defined(TRIO_PLATFORM_UNIX) + void (*signal_handler)(int) = signal(SIGFPE, SIG_IGN); +# endif + + double infinity = trio_pinf(); + + status = ((number == infinity) + ? 1 + : ((number == -infinity) ? -1 : 0)); + +# if defined(TRIO_PLATFORM_UNIX) + signal(SIGFPE, signal_handler); +# endif + + return status; + +#endif +} + +#if 0 + /* Temporary fix - this routine is not used anywhere */ +/** + Check for finity. + + @param number An arbitrary floating-point number. + @return Boolean value indicating whether or not the number is a finite. +*/ +TRIO_PUBLIC int +trio_isfinite +TRIO_ARGS1((number), + double number) +{ +#if defined(TRIO_COMPILER_SUPPORTS_C99) && defined(isfinite) + /* + * C99 defines isfinite() as a macro. + */ + return isfinite(number); + +#elif defined(TRIO_COMPILER_MSVC) || defined(TRIO_COMPILER_BCB) + /* + * Microsoft Visual C++ and Borland C++ Builder use _finite(). + */ + return _finite(number); + +#elif defined(USE_IEEE_754) + /* + * Examine IEEE 754 bit-pattern. For finity we do not care about the + * mantissa. + */ + int dummy; + + return (! trio_is_special_quantity(number, &dummy)); + +#else + /* + * Fallback solution. + */ + return ((trio_isinf(number) == 0) && (trio_isnan(number) == 0)); + +#endif +} + +#endif + +/* + * The sign of NaN is always false + */ +TRIO_PUBLIC int +trio_fpclassify_and_signbit +TRIO_ARGS2((number, is_negative), + double number, + int *is_negative) +{ +#if defined(fpclassify) && defined(signbit) + /* + * C99 defines fpclassify() and signbit() as a macros + */ + *is_negative = signbit(number); + switch (fpclassify(number)) { + case FP_NAN: + return TRIO_FP_NAN; + case FP_INFINITE: + return TRIO_FP_INFINITE; + case FP_SUBNORMAL: + return TRIO_FP_SUBNORMAL; + case FP_ZERO: + return TRIO_FP_ZERO; + default: + return TRIO_FP_NORMAL; + } + +#else +# if defined(TRIO_COMPILER_DECC) + /* + * DECC has an fp_class() function. + */ +# define TRIO_FPCLASSIFY(n) fp_class(n) +# define TRIO_QUIET_NAN FP_QNAN +# define TRIO_SIGNALLING_NAN FP_SNAN +# define TRIO_POSITIVE_INFINITY FP_POS_INF +# define TRIO_NEGATIVE_INFINITY FP_NEG_INF +# define TRIO_POSITIVE_SUBNORMAL FP_POS_DENORM +# define TRIO_NEGATIVE_SUBNORMAL FP_NEG_DENORM +# define TRIO_POSITIVE_ZERO FP_POS_ZERO +# define TRIO_NEGATIVE_ZERO FP_NEG_ZERO +# define TRIO_POSITIVE_NORMAL FP_POS_NORM +# define TRIO_NEGATIVE_NORMAL FP_NEG_NORM + +# elif defined(TRIO_COMPILER_MSVC) || defined(TRIO_COMPILER_BCB) + /* + * Microsoft Visual C++ and Borland C++ Builder have an _fpclass() + * function. + */ +# define TRIO_FPCLASSIFY(n) _fpclass(n) +# define TRIO_QUIET_NAN _FPCLASS_QNAN +# define TRIO_SIGNALLING_NAN _FPCLASS_SNAN +# define TRIO_POSITIVE_INFINITY _FPCLASS_PINF +# define TRIO_NEGATIVE_INFINITY _FPCLASS_NINF +# define TRIO_POSITIVE_SUBNORMAL _FPCLASS_PD +# define TRIO_NEGATIVE_SUBNORMAL _FPCLASS_ND +# define TRIO_POSITIVE_ZERO _FPCLASS_PZ +# define TRIO_NEGATIVE_ZERO _FPCLASS_NZ +# define TRIO_POSITIVE_NORMAL _FPCLASS_PN +# define TRIO_NEGATIVE_NORMAL _FPCLASS_NN + +# elif defined(FP_PLUS_NORM) + /* + * HP-UX 9.x and 10.x have an fpclassify() function, that is different + * from the C99 fpclassify() macro supported on HP-UX 11.x. + * + * AIX has class() for C, and _class() for C++, which returns the + * same values as the HP-UX fpclassify() function. + */ +# if defined(TRIO_PLATFORM_AIX) +# if defined(__cplusplus) +# define TRIO_FPCLASSIFY(n) _class(n) +# else +# define TRIO_FPCLASSIFY(n) class(n) +# endif +# else +# define TRIO_FPCLASSIFY(n) fpclassify(n) +# endif +# define TRIO_QUIET_NAN FP_QNAN +# define TRIO_SIGNALLING_NAN FP_SNAN +# define TRIO_POSITIVE_INFINITY FP_PLUS_INF +# define TRIO_NEGATIVE_INFINITY FP_MINUS_INF +# define TRIO_POSITIVE_SUBNORMAL FP_PLUS_DENORM +# define TRIO_NEGATIVE_SUBNORMAL FP_MINUS_DENORM +# define TRIO_POSITIVE_ZERO FP_PLUS_ZERO +# define TRIO_NEGATIVE_ZERO FP_MINUS_ZERO +# define TRIO_POSITIVE_NORMAL FP_PLUS_NORM +# define TRIO_NEGATIVE_NORMAL FP_MINUS_NORM +# endif + +# if defined(TRIO_FPCLASSIFY) + switch (TRIO_FPCLASSIFY(number)) { + case TRIO_QUIET_NAN: + case TRIO_SIGNALLING_NAN: + *is_negative = TRIO_FALSE; /* NaN has no sign */ + return TRIO_FP_NAN; + case TRIO_POSITIVE_INFINITY: + *is_negative = TRIO_FALSE; + return TRIO_FP_INFINITE; + case TRIO_NEGATIVE_INFINITY: + *is_negative = TRIO_TRUE; + return TRIO_FP_INFINITE; + case TRIO_POSITIVE_SUBNORMAL: + *is_negative = TRIO_FALSE; + return TRIO_FP_SUBNORMAL; + case TRIO_NEGATIVE_SUBNORMAL: + *is_negative = TRIO_TRUE; + return TRIO_FP_SUBNORMAL; + case TRIO_POSITIVE_ZERO: + *is_negative = TRIO_FALSE; + return TRIO_FP_ZERO; + case TRIO_NEGATIVE_ZERO: + *is_negative = TRIO_TRUE; + return TRIO_FP_ZERO; + case TRIO_POSITIVE_NORMAL: + *is_negative = TRIO_FALSE; + return TRIO_FP_NORMAL; + case TRIO_NEGATIVE_NORMAL: + *is_negative = TRIO_TRUE; + return TRIO_FP_NORMAL; + default: + /* Just in case... */ + *is_negative = (number < 0.0); + return TRIO_FP_NORMAL; + } + +# else + /* + * Fallback solution. + */ + int rc; + + if (number == 0.0) { + /* + * In IEEE 754 the sign of zero is ignored in comparisons, so we + * have to handle this as a special case by examining the sign bit + * directly. + */ +# if defined(USE_IEEE_754) + *is_negative = trio_is_negative(number); +# else + *is_negative = TRIO_FALSE; /* FIXME */ +# endif + return TRIO_FP_ZERO; + } + if (trio_isnan(number)) { + *is_negative = TRIO_FALSE; + return TRIO_FP_NAN; + } + if ((rc = trio_isinf(number))) { + *is_negative = (rc == -1); + return TRIO_FP_INFINITE; + } + if ((number > 0.0) && (number < DBL_MIN)) { + *is_negative = TRIO_FALSE; + return TRIO_FP_SUBNORMAL; + } + if ((number < 0.0) && (number > -DBL_MIN)) { + *is_negative = TRIO_TRUE; + return TRIO_FP_SUBNORMAL; + } + *is_negative = (number < 0.0); + return TRIO_FP_NORMAL; + +# endif +#endif +} + +/** + Examine the sign of a number. + + @param number An arbitrary floating-point number. + @return Boolean value indicating whether or not the number has the + sign bit set (i.e. is negative). +*/ +TRIO_PUBLIC int +trio_signbit +TRIO_ARGS1((number), + double number) +{ + int is_negative; + + (void)trio_fpclassify_and_signbit(number, &is_negative); + return is_negative; +} + +#if 0 + /* Temporary fix - this routine is not used in libxml */ +/** + Examine the class of a number. + + @param number An arbitrary floating-point number. + @return Enumerable value indicating the class of @p number +*/ +TRIO_PUBLIC int +trio_fpclassify +TRIO_ARGS1((number), + double number) +{ + int dummy; + + return trio_fpclassify_and_signbit(number, &dummy); +} + +#endif + +/** @} SpecialQuantities */ + +/************************************************************************* + * For test purposes. + * + * Add the following compiler option to include this test code. + * + * Unix : -DSTANDALONE + * VMS : /DEFINE=(STANDALONE) + */ +#if defined(STANDALONE) +# include + +static TRIO_CONST char * +getClassification +TRIO_ARGS1((type), + int type) +{ + switch (type) { + case TRIO_FP_INFINITE: + return "FP_INFINITE"; + case TRIO_FP_NAN: + return "FP_NAN"; + case TRIO_FP_NORMAL: + return "FP_NORMAL"; + case TRIO_FP_SUBNORMAL: + return "FP_SUBNORMAL"; + case TRIO_FP_ZERO: + return "FP_ZERO"; + default: + return "FP_UNKNOWN"; + } +} + +static void +print_class +TRIO_ARGS2((prefix, number), + TRIO_CONST char *prefix, + double number) +{ + printf("%-6s: %s %-15s %g\n", + prefix, + trio_signbit(number) ? "-" : "+", + getClassification(TRIO_FPCLASSIFY(number)), + number); +} + +int main(TRIO_NOARGS) +{ + double my_nan; + double my_pinf; + double my_ninf; +# if defined(TRIO_PLATFORM_UNIX) + void (*signal_handler) TRIO_PROTO((int)); +# endif + + my_nan = trio_nan(); + my_pinf = trio_pinf(); + my_ninf = trio_ninf(); + + print_class("Nan", my_nan); + print_class("PInf", my_pinf); + print_class("NInf", my_ninf); + print_class("PZero", 0.0); + print_class("NZero", -0.0); + print_class("PNorm", 1.0); + print_class("NNorm", -1.0); + print_class("PSub", 1.01e-307 - 1.00e-307); + print_class("NSub", 1.00e-307 - 1.01e-307); + + printf("NaN : %4g 0x%02x%02x%02x%02x%02x%02x%02x%02x (%2d, %2d)\n", + my_nan, + ((unsigned char *)&my_nan)[0], + ((unsigned char *)&my_nan)[1], + ((unsigned char *)&my_nan)[2], + ((unsigned char *)&my_nan)[3], + ((unsigned char *)&my_nan)[4], + ((unsigned char *)&my_nan)[5], + ((unsigned char *)&my_nan)[6], + ((unsigned char *)&my_nan)[7], + trio_isnan(my_nan), trio_isinf(my_nan)); + printf("PInf: %4g 0x%02x%02x%02x%02x%02x%02x%02x%02x (%2d, %2d)\n", + my_pinf, + ((unsigned char *)&my_pinf)[0], + ((unsigned char *)&my_pinf)[1], + ((unsigned char *)&my_pinf)[2], + ((unsigned char *)&my_pinf)[3], + ((unsigned char *)&my_pinf)[4], + ((unsigned char *)&my_pinf)[5], + ((unsigned char *)&my_pinf)[6], + ((unsigned char *)&my_pinf)[7], + trio_isnan(my_pinf), trio_isinf(my_pinf)); + printf("NInf: %4g 0x%02x%02x%02x%02x%02x%02x%02x%02x (%2d, %2d)\n", + my_ninf, + ((unsigned char *)&my_ninf)[0], + ((unsigned char *)&my_ninf)[1], + ((unsigned char *)&my_ninf)[2], + ((unsigned char *)&my_ninf)[3], + ((unsigned char *)&my_ninf)[4], + ((unsigned char *)&my_ninf)[5], + ((unsigned char *)&my_ninf)[6], + ((unsigned char *)&my_ninf)[7], + trio_isnan(my_ninf), trio_isinf(my_ninf)); + +# if defined(TRIO_PLATFORM_UNIX) + signal_handler = signal(SIGFPE, SIG_IGN); +# endif + + my_pinf = DBL_MAX + DBL_MAX; + my_ninf = -my_pinf; + my_nan = my_pinf / my_pinf; + +# if defined(TRIO_PLATFORM_UNIX) + signal(SIGFPE, signal_handler); +# endif + + printf("NaN : %4g 0x%02x%02x%02x%02x%02x%02x%02x%02x (%2d, %2d)\n", + my_nan, + ((unsigned char *)&my_nan)[0], + ((unsigned char *)&my_nan)[1], + ((unsigned char *)&my_nan)[2], + ((unsigned char *)&my_nan)[3], + ((unsigned char *)&my_nan)[4], + ((unsigned char *)&my_nan)[5], + ((unsigned char *)&my_nan)[6], + ((unsigned char *)&my_nan)[7], + trio_isnan(my_nan), trio_isinf(my_nan)); + printf("PInf: %4g 0x%02x%02x%02x%02x%02x%02x%02x%02x (%2d, %2d)\n", + my_pinf, + ((unsigned char *)&my_pinf)[0], + ((unsigned char *)&my_pinf)[1], + ((unsigned char *)&my_pinf)[2], + ((unsigned char *)&my_pinf)[3], + ((unsigned char *)&my_pinf)[4], + ((unsigned char *)&my_pinf)[5], + ((unsigned char *)&my_pinf)[6], + ((unsigned char *)&my_pinf)[7], + trio_isnan(my_pinf), trio_isinf(my_pinf)); + printf("NInf: %4g 0x%02x%02x%02x%02x%02x%02x%02x%02x (%2d, %2d)\n", + my_ninf, + ((unsigned char *)&my_ninf)[0], + ((unsigned char *)&my_ninf)[1], + ((unsigned char *)&my_ninf)[2], + ((unsigned char *)&my_ninf)[3], + ((unsigned char *)&my_ninf)[4], + ((unsigned char *)&my_ninf)[5], + ((unsigned char *)&my_ninf)[6], + ((unsigned char *)&my_ninf)[7], + trio_isnan(my_ninf), trio_isinf(my_ninf)); + + return 0; +} +#endif diff --git a/trionan.h b/trionan.h new file mode 100644 index 0000000..be6e718 --- /dev/null +++ b/trionan.h @@ -0,0 +1,84 @@ +/************************************************************************* + * + * $Id$ + * + * Copyright (C) 2001 Bjorn Reese + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF + * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. + * + ************************************************************************/ + +#ifndef TRIO_NAN_H +#define TRIO_NAN_H + +#include "triodef.h" + +#ifdef __cplusplus +extern "C" { +#endif + +enum { + TRIO_FP_INFINITE, + TRIO_FP_NAN, + TRIO_FP_NORMAL, + TRIO_FP_SUBNORMAL, + TRIO_FP_ZERO +}; + +/* + * Return NaN (Not-a-Number). + */ +TRIO_PUBLIC double trio_nan TRIO_PROTO((void)); + +/* + * Return positive infinity. + */ +TRIO_PUBLIC double trio_pinf TRIO_PROTO((void)); + +/* + * Return negative infinity. + */ +TRIO_PUBLIC double trio_ninf TRIO_PROTO((void)); + +/* + * Return negative zero. + */ +TRIO_PUBLIC double trio_nzero TRIO_PROTO((TRIO_NOARGS)); + +/* + * If number is a NaN return non-zero, otherwise return zero. + */ +TRIO_PUBLIC int trio_isnan TRIO_PROTO((double number)); + +/* + * If number is positive infinity return 1, if number is negative + * infinity return -1, otherwise return 0. + */ +TRIO_PUBLIC int trio_isinf TRIO_PROTO((double number)); + +/* + * If number is finite return non-zero, otherwise return zero. + */ +#if 0 + /* Temporary fix - these 2 routines not used in libxml */ +TRIO_PUBLIC int trio_isfinite TRIO_PROTO((double number)); + +TRIO_PUBLIC int trio_fpclassify TRIO_PROTO((double number)); +#endif + +TRIO_PUBLIC int trio_signbit TRIO_PROTO((double number)); + +TRIO_PUBLIC int trio_fpclassify_and_signbit TRIO_PROTO((double number, int *is_negative)); + +#ifdef __cplusplus +} +#endif + +#endif /* TRIO_NAN_H */ diff --git a/triop.h b/triop.h new file mode 100644 index 0000000..8462c56 --- /dev/null +++ b/triop.h @@ -0,0 +1,150 @@ +/************************************************************************* + * + * $Id$ + * + * Copyright (C) 2000 Bjorn Reese and Daniel Stenberg. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF + * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. + * + ************************************************************************ + * + * Private functions, types, etc. used for callback functions. + * + * The ref pointer is an opaque type and should remain as such. + * Private data must only be accessible through the getter and + * setter functions. + * + ************************************************************************/ + +#ifndef TRIO_TRIOP_H +#define TRIO_TRIOP_H + +#include "triodef.h" + +#include +#if defined(TRIO_COMPILER_ANCIENT) +# include +#else +# include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef TRIO_C99 +# define TRIO_C99 1 +#endif +#ifndef TRIO_BSD +# define TRIO_BSD 1 +#endif +#ifndef TRIO_GNU +# define TRIO_GNU 1 +#endif +#ifndef TRIO_MISC +# define TRIO_MISC 1 +#endif +#ifndef TRIO_UNIX98 +# define TRIO_UNIX98 1 +#endif +#ifndef TRIO_MICROSOFT +# define TRIO_MICROSOFT 1 +#endif +#ifndef TRIO_EXTENSION +# define TRIO_EXTENSION 1 +#endif +#ifndef TRIO_WIDECHAR /* Does not work yet. Do not enable */ +# define TRIO_WIDECHAR 0 +#endif +#ifndef TRIO_ERRORS +# define TRIO_ERRORS 1 +#endif + +#ifndef TRIO_MALLOC +# define TRIO_MALLOC(n) malloc(n) +#endif +#ifndef TRIO_REALLOC +# define TRIO_REALLOC(x,n) realloc((x),(n)) +#endif +#ifndef TRIO_FREE +# define TRIO_FREE(x) free(x) +#endif + + +/************************************************************************* + * User-defined specifiers + */ + +typedef int (*trio_callback_t) TRIO_PROTO((trio_pointer_t)); + +trio_pointer_t trio_register TRIO_PROTO((trio_callback_t callback, const char *name)); +void trio_unregister TRIO_PROTO((trio_pointer_t handle)); + +TRIO_CONST char *trio_get_format TRIO_PROTO((trio_pointer_t ref)); +trio_pointer_t trio_get_argument TRIO_PROTO((trio_pointer_t ref)); + +/* Modifiers */ +int trio_get_width TRIO_PROTO((trio_pointer_t ref)); +void trio_set_width TRIO_PROTO((trio_pointer_t ref, int width)); +int trio_get_precision TRIO_PROTO((trio_pointer_t ref)); +void trio_set_precision TRIO_PROTO((trio_pointer_t ref, int precision)); +int trio_get_base TRIO_PROTO((trio_pointer_t ref)); +void trio_set_base TRIO_PROTO((trio_pointer_t ref, int base)); +int trio_get_padding TRIO_PROTO((trio_pointer_t ref)); +void trio_set_padding TRIO_PROTO((trio_pointer_t ref, int is_padding)); +int trio_get_short TRIO_PROTO((trio_pointer_t ref)); /* h */ +void trio_set_shortshort TRIO_PROTO((trio_pointer_t ref, int is_shortshort)); +int trio_get_shortshort TRIO_PROTO((trio_pointer_t ref)); /* hh */ +void trio_set_short TRIO_PROTO((trio_pointer_t ref, int is_short)); +int trio_get_long TRIO_PROTO((trio_pointer_t ref)); /* l */ +void trio_set_long TRIO_PROTO((trio_pointer_t ref, int is_long)); +int trio_get_longlong TRIO_PROTO((trio_pointer_t ref)); /* ll */ +void trio_set_longlong TRIO_PROTO((trio_pointer_t ref, int is_longlong)); +int trio_get_longdouble TRIO_PROTO((trio_pointer_t ref)); /* L */ +void trio_set_longdouble TRIO_PROTO((trio_pointer_t ref, int is_longdouble)); +int trio_get_alternative TRIO_PROTO((trio_pointer_t ref)); /* # */ +void trio_set_alternative TRIO_PROTO((trio_pointer_t ref, int is_alternative)); +int trio_get_alignment TRIO_PROTO((trio_pointer_t ref)); /* - */ +void trio_set_alignment TRIO_PROTO((trio_pointer_t ref, int is_leftaligned)); +int trio_get_spacing TRIO_PROTO((trio_pointer_t ref)); /* TRIO_PROTO((space) */ +void trio_set_spacing TRIO_PROTO((trio_pointer_t ref, int is_space)); +int trio_get_sign TRIO_PROTO((trio_pointer_t ref)); /* + */ +void trio_set_sign TRIO_PROTO((trio_pointer_t ref, int is_showsign)); +int trio_get_quote TRIO_PROTO((trio_pointer_t ref)); /* ' */ +void trio_set_quote TRIO_PROTO((trio_pointer_t ref, int is_quote)); +int trio_get_upper TRIO_PROTO((trio_pointer_t ref)); +void trio_set_upper TRIO_PROTO((trio_pointer_t ref, int is_upper)); +#if TRIO_C99 +int trio_get_largest TRIO_PROTO((trio_pointer_t ref)); /* j */ +void trio_set_largest TRIO_PROTO((trio_pointer_t ref, int is_largest)); +int trio_get_ptrdiff TRIO_PROTO((trio_pointer_t ref)); /* t */ +void trio_set_ptrdiff TRIO_PROTO((trio_pointer_t ref, int is_ptrdiff)); +int trio_get_size TRIO_PROTO((trio_pointer_t ref)); /* z / Z */ +void trio_set_size TRIO_PROTO((trio_pointer_t ref, int is_size)); +#endif + +/* Printing */ +int trio_print_ref TRIO_PROTO((trio_pointer_t ref, const char *format, ...)); +int trio_vprint_ref TRIO_PROTO((trio_pointer_t ref, const char *format, va_list args)); +int trio_printv_ref TRIO_PROTO((trio_pointer_t ref, const char *format, trio_pointer_t *args)); + +void trio_print_int TRIO_PROTO((trio_pointer_t ref, int number)); +void trio_print_uint TRIO_PROTO((trio_pointer_t ref, unsigned int number)); +/* void trio_print_long TRIO_PROTO((trio_pointer_t ref, long number)); */ +/* void trio_print_ulong TRIO_PROTO((trio_pointer_t ref, unsigned long number)); */ +void trio_print_double TRIO_PROTO((trio_pointer_t ref, double number)); +void trio_print_string TRIO_PROTO((trio_pointer_t ref, char *string)); +void trio_print_pointer TRIO_PROTO((trio_pointer_t ref, trio_pointer_t pointer)); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* TRIO_TRIOP_H */ diff --git a/triostr.c b/triostr.c new file mode 100644 index 0000000..123bbeb --- /dev/null +++ b/triostr.c @@ -0,0 +1,2112 @@ +/************************************************************************* + * + * $Id$ + * + * Copyright (C) 2001 Bjorn Reese and Daniel Stenberg. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF + * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. + * + ************************************************************************/ + +/************************************************************************* + * Include files + */ + +#include +#include +#include +#include +#include +#include "triodef.h" +#include "triostr.h" + +/************************************************************************* + * Definitions + */ + +#if !defined(TRIO_STRING_PUBLIC) +# define TRIO_STRING_PUBLIC TRIO_PUBLIC +#endif +#if !defined(TRIO_STRING_PRIVATE) +# define TRIO_STRING_PRIVATE TRIO_PRIVATE +#endif + +#if !defined(NULL) +# define NULL 0 +#endif +#if !defined(NIL) +# define NIL ((char)0) +#endif +#if !defined(FALSE) +# define FALSE (1 == 0) +# define TRUE (! FALSE) +#endif +#if !defined(BOOLEAN_T) +# define BOOLEAN_T int +#endif + +#ifdef __VMS +# define USE_STRTOD +#elif defined(TRIO_COMPILER_SUPPORTS_C99) +# define USE_STRTOD +# define USE_STRTOF +#elif defined(TRIO_COMPILER_MSVC) +# define USE_STRTOD +#endif + +#if defined(TRIO_PLATFORM_UNIX) +# define USE_STRCASECMP +# define USE_STRNCASECMP +# if defined(TRIO_PLATFORM_SUNOS) +# define USE_SYS_ERRLIST +# else +# define USE_STRERROR +# endif +# if defined(TRIO_PLATFORM_QNX) +# define strcasecmp(x,y) stricmp(x,y) +# define strncasecmp(x,y,n) strnicmp(x,y,n) +# endif +#elif defined(TRIO_PLATFORM_WIN32) +# define USE_STRCASECMP +# if defined(_WIN32_WCE) +# define strcasecmp(x,y) _stricmp(x,y) +# else +# define strcasecmp(x,y) strcmpi(x,y) +# endif +#elif defined(TRIO_PLATFORM_OS400) +# define USE_STRCASECMP +# define USE_STRNCASECMP +# include +#endif + +#if !(defined(TRIO_PLATFORM_SUNOS)) +# define USE_TOLOWER +# define USE_TOUPPER +#endif + +/************************************************************************* + * Structures + */ + +struct _trio_string_t +{ + char *content; + size_t length; + size_t allocated; +}; + +/************************************************************************* + * Constants + */ + +#if !defined(TRIO_MINIMAL) +static TRIO_CONST char rcsid[] = "@(#)$Id$"; +#endif + +/************************************************************************* + * Static String Functions + */ + +#if defined(TRIO_DOCUMENTATION) +# include "doc/doc_static.h" +#endif +/** @addtogroup StaticStrings + @{ +*/ + +/** + Create new string. + + @param size Size of new string. + @return Pointer to string, or NULL if allocation failed. +*/ +TRIO_STRING_PUBLIC char * +trio_create +TRIO_ARGS1((size), + size_t size) +{ + return (char *)TRIO_MALLOC(size); +} + + +/** + Destroy string. + + @param string String to be freed. +*/ +TRIO_STRING_PUBLIC void +trio_destroy +TRIO_ARGS1((string), + char *string) +{ + if (string) + { + TRIO_FREE(string); + } +} + + +/** + Count the number of characters in a string. + + @param string String to measure. + @return Number of characters in @string. +*/ +TRIO_STRING_PUBLIC size_t +trio_length +TRIO_ARGS1((string), + TRIO_CONST char *string) +{ + return strlen(string); +} + + +#if !defined(TRIO_MINIMAL) +/** + Append @p source at the end of @p target. + + @param target Target string. + @param source Source string. + @return Boolean value indicating success or failure. + + @pre @p target must point to a memory chunk with sufficient room to + contain the @p target string and @p source string. + @pre No boundary checking is performed, so insufficient memory will + result in a buffer overrun. + @post @p target will be zero terminated. +*/ +TRIO_STRING_PUBLIC int +trio_append +TRIO_ARGS2((target, source), + char *target, + TRIO_CONST char *source) +{ + assert(target); + assert(source); + + return (strcat(target, source) != NULL); +} +#endif /* !defined(TRIO_MINIMAL) */ + +#if !defined(TRIO_MINIMAL) +/** + Append at most @p max characters from @p source to @p target. + + @param target Target string. + @param max Maximum number of characters to append. + @param source Source string. + @return Boolean value indicating success or failure. + + @pre @p target must point to a memory chuck with sufficient room to + contain the @p target string and the @p source string (at most @p max + characters). + @pre No boundary checking is performed, so insufficient memory will + result in a buffer overrun. + @post @p target will be zero terminated. +*/ +TRIO_STRING_PUBLIC int +trio_append_max +TRIO_ARGS3((target, max, source), + char *target, + size_t max, + TRIO_CONST char *source) +{ + size_t length; + + assert(target); + assert(source); + + length = trio_length(target); + + if (max > length) + { + strncat(target, source, max - length - 1); + } + return TRUE; +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/** + Determine if a string contains a substring. + + @param string String to be searched. + @param substring String to be found. + @return Boolean value indicating success or failure. +*/ +TRIO_STRING_PUBLIC int +trio_contains +TRIO_ARGS2((string, substring), + TRIO_CONST char *string, + TRIO_CONST char *substring) +{ + assert(string); + assert(substring); + + return (0 != strstr(string, substring)); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/** + Copy @p source to @p target. + + @param target Target string. + @param source Source string. + @return Boolean value indicating success or failure. + + @pre @p target must point to a memory chunk with sufficient room to + contain the @p source string. + @pre No boundary checking is performed, so insufficient memory will + result in a buffer overrun. + @post @p target will be zero terminated. +*/ +TRIO_STRING_PUBLIC int +trio_copy +TRIO_ARGS2((target, source), + char *target, + TRIO_CONST char *source) +{ + assert(target); + assert(source); + + (void)strcpy(target, source); + return TRUE; +} +#endif /* !defined(TRIO_MINIMAL) */ + + +/** + Copy at most @p max characters from @p source to @p target. + + @param target Target string. + @param max Maximum number of characters to append. + @param source Source string. + @return Boolean value indicating success or failure. + + @pre @p target must point to a memory chunk with sufficient room to + contain the @p source string (at most @p max characters). + @pre No boundary checking is performed, so insufficient memory will + result in a buffer overrun. + @post @p target will be zero terminated. +*/ +TRIO_STRING_PUBLIC int +trio_copy_max +TRIO_ARGS3((target, max, source), + char *target, + size_t max, + TRIO_CONST char *source) +{ + assert(target); + assert(source); + assert(max > 0); /* Includes != 0 */ + + (void)strncpy(target, source, max - 1); + target[max - 1] = (char)0; + return TRUE; +} + + +/* + * TrioDuplicateMax + */ +TRIO_STRING_PRIVATE char * +TrioDuplicateMax +TRIO_ARGS2((source, size), + TRIO_CONST char *source, + size_t size) +{ + char *target; + + assert(source); + + /* Make room for string plus a terminating zero */ + size++; + target = trio_create(size); + if (target) + { + trio_copy_max(target, size, source); + } + return target; +} + + +/** + Duplicate @p source. + + @param source Source string. + @return A copy of the @p source string. + + @post @p target will be zero terminated. +*/ +TRIO_STRING_PUBLIC char * +trio_duplicate +TRIO_ARGS1((source), + TRIO_CONST char *source) +{ + return TrioDuplicateMax(source, trio_length(source)); +} + + +#if !defined(TRIO_MINIMAL) +/** + Duplicate at most @p max characters of @p source. + + @param source Source string. + @param max Maximum number of characters to duplicate. + @return A copy of the @p source string. + + @post @p target will be zero terminated. +*/ +TRIO_STRING_PUBLIC char * +trio_duplicate_max TRIO_ARGS2((source, max), + TRIO_CONST char *source, + size_t max) +{ + size_t length; + + assert(source); + assert(max > 0); + + length = trio_length(source); + if (length > max) + { + length = max; + } + return TrioDuplicateMax(source, length); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +/** + Compare if two strings are equal. + + @param first First string. + @param second Second string. + @return Boolean indicating whether the two strings are equal or not. + + Case-insensitive comparison. +*/ +TRIO_STRING_PUBLIC int +trio_equal +TRIO_ARGS2((first, second), + TRIO_CONST char *first, + TRIO_CONST char *second) +{ + assert(first); + assert(second); + + if ((first != NULL) && (second != NULL)) + { +#if defined(USE_STRCASECMP) + return (0 == strcasecmp(first, second)); +#else + while ((*first != NIL) && (*second != NIL)) + { + if (trio_to_upper(*first) != trio_to_upper(*second)) + { + break; + } + first++; + second++; + } + return ((*first == NIL) && (*second == NIL)); +#endif + } + return FALSE; +} + + +/** + Compare if two strings are equal. + + @param first First string. + @param second Second string. + @return Boolean indicating whether the two strings are equal or not. + + Case-sensitive comparison. +*/ +TRIO_STRING_PUBLIC int +trio_equal_case +TRIO_ARGS2((first, second), + TRIO_CONST char *first, + TRIO_CONST char *second) +{ + assert(first); + assert(second); + + if ((first != NULL) && (second != NULL)) + { + return (0 == strcmp(first, second)); + } + return FALSE; +} + + +#if !defined(TRIO_MINIMAL) +/** + Compare if two strings up until the first @p max characters are equal. + + @param first First string. + @param max Maximum number of characters to compare. + @param second Second string. + @return Boolean indicating whether the two strings are equal or not. + + Case-sensitive comparison. +*/ +TRIO_STRING_PUBLIC int +trio_equal_case_max +TRIO_ARGS3((first, max, second), + TRIO_CONST char *first, + size_t max, + TRIO_CONST char *second) +{ + assert(first); + assert(second); + + if ((first != NULL) && (second != NULL)) + { + return (0 == strncmp(first, second, max)); + } + return FALSE; +} +#endif /* !defined(TRIO_MINIMAL) */ + + +/** + Compare if two strings are equal. + + @param first First string. + @param second Second string. + @return Boolean indicating whether the two strings are equal or not. + + Collating characters are considered equal. +*/ +TRIO_STRING_PUBLIC int +trio_equal_locale +TRIO_ARGS2((first, second), + TRIO_CONST char *first, + TRIO_CONST char *second) +{ + assert(first); + assert(second); + +#if defined(LC_COLLATE) + return (strcoll(first, second) == 0); +#else + return trio_equal(first, second); +#endif +} + + +/** + Compare if two strings up until the first @p max characters are equal. + + @param first First string. + @param max Maximum number of characters to compare. + @param second Second string. + @return Boolean indicating whether the two strings are equal or not. + + Case-insensitive comparison. +*/ +TRIO_STRING_PUBLIC int +trio_equal_max +TRIO_ARGS3((first, max, second), + TRIO_CONST char *first, + size_t max, + TRIO_CONST char *second) +{ + assert(first); + assert(second); + + if ((first != NULL) && (second != NULL)) + { +#if defined(USE_STRNCASECMP) + return (0 == strncasecmp(first, second, max)); +#else + /* Not adequately tested yet */ + size_t cnt = 0; + while ((*first != NIL) && (*second != NIL) && (cnt <= max)) + { + if (trio_to_upper(*first) != trio_to_upper(*second)) + { + break; + } + first++; + second++; + cnt++; + } + return ((cnt == max) || ((*first == NIL) && (*second == NIL))); +#endif + } + return FALSE; +} + + +/** + Provide a textual description of an error code (errno). + + @param error_number Error number. + @return Textual description of @p error_number. +*/ +TRIO_STRING_PUBLIC TRIO_CONST char * +trio_error +TRIO_ARGS1((error_number), + int error_number) +{ +#if defined(USE_STRERROR) + + return strerror(error_number); + +#elif defined(USE_SYS_ERRLIST) + + extern char *sys_errlist[]; + extern int sys_nerr; + + return ((error_number < 0) || (error_number >= sys_nerr)) + ? "unknown" + : sys_errlist[error_number]; + +#else + + return "unknown"; + +#endif +} + + +#if !defined(TRIO_MINIMAL) && !defined(_WIN32_WCE) +/** + Format the date/time according to @p format. + + @param target Target string. + @param max Maximum number of characters to format. + @param format Formatting string. + @param datetime Date/time structure. + @return Number of formatted characters. + + The formatting string accepts the same specifiers as the standard C + function strftime. +*/ +TRIO_STRING_PUBLIC size_t +trio_format_date_max +TRIO_ARGS4((target, max, format, datetime), + char *target, + size_t max, + TRIO_CONST char *format, + TRIO_CONST struct tm *datetime) +{ + assert(target); + assert(format); + assert(datetime); + assert(max > 0); + + return strftime(target, max, format, datetime); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/** + Calculate a hash value for a string. + + @param string String to be calculated on. + @param type Hash function. + @return Calculated hash value. + + @p type can be one of the following + @li @c TRIO_HASH_PLAIN Plain hash function. +*/ +TRIO_STRING_PUBLIC unsigned long +trio_hash +TRIO_ARGS2((string, type), + TRIO_CONST char *string, + int type) +{ + unsigned long value = 0L; + char ch; + + assert(string); + + switch (type) + { + case TRIO_HASH_PLAIN: + while ( (ch = *string++) != NIL ) + { + value *= 31; + value += (unsigned long)ch; + } + break; + default: + assert(FALSE); + break; + } + return value; +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/** + Find first occurrence of a character in a string. + + @param string String to be searched. + @param character Character to be found. + @param A pointer to the found character, or NULL if character was not found. + */ +TRIO_STRING_PUBLIC char * +trio_index +TRIO_ARGS2((string, character), + TRIO_CONST char *string, + int character) +{ + assert(string); + + return strchr(string, character); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/** + Find last occurrence of a character in a string. + + @param string String to be searched. + @param character Character to be found. + @param A pointer to the found character, or NULL if character was not found. + */ +TRIO_STRING_PUBLIC char * +trio_index_last +TRIO_ARGS2((string, character), + TRIO_CONST char *string, + int character) +{ + assert(string); + + return strchr(string, character); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/** + Convert the alphabetic letters in the string to lower-case. + + @param target String to be converted. + @return Number of processed characters (converted or not). +*/ +TRIO_STRING_PUBLIC int +trio_lower +TRIO_ARGS1((target), + char *target) +{ + assert(target); + + return trio_span_function(target, target, trio_to_lower); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/** + Compare two strings using wildcards. + + @param string String to be searched. + @param pattern Pattern, including wildcards, to search for. + @return Boolean value indicating success or failure. + + Case-insensitive comparison. + + The following wildcards can be used + @li @c * Match any number of characters. + @li @c ? Match a single character. +*/ +TRIO_STRING_PUBLIC int +trio_match +TRIO_ARGS2((string, pattern), + TRIO_CONST char *string, + TRIO_CONST char *pattern) +{ + assert(string); + assert(pattern); + + for (; ('*' != *pattern); ++pattern, ++string) + { + if (NIL == *string) + { + return (NIL == *pattern); + } + if ((trio_to_upper((int)*string) != trio_to_upper((int)*pattern)) + && ('?' != *pattern)) + { + return FALSE; + } + } + /* two-line patch to prevent *too* much recursiveness: */ + while ('*' == pattern[1]) + pattern++; + + do + { + if ( trio_match(string, &pattern[1]) ) + { + return TRUE; + } + } + while (*string++); + + return FALSE; +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/** + Compare two strings using wildcards. + + @param string String to be searched. + @param pattern Pattern, including wildcards, to search for. + @return Boolean value indicating success or failure. + + Case-sensitive comparison. + + The following wildcards can be used + @li @c * Match any number of characters. + @li @c ? Match a single character. +*/ +TRIO_STRING_PUBLIC int +trio_match_case +TRIO_ARGS2((string, pattern), + TRIO_CONST char *string, + TRIO_CONST char *pattern) +{ + assert(string); + assert(pattern); + + for (; ('*' != *pattern); ++pattern, ++string) + { + if (NIL == *string) + { + return (NIL == *pattern); + } + if ((*string != *pattern) + && ('?' != *pattern)) + { + return FALSE; + } + } + /* two-line patch to prevent *too* much recursiveness: */ + while ('*' == pattern[1]) + pattern++; + + do + { + if ( trio_match_case(string, &pattern[1]) ) + { + return TRUE; + } + } + while (*string++); + + return FALSE; +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/** + Execute a function on each character in string. + + @param target Target string. + @param source Source string. + @param Function Function to be executed. + @return Number of processed characters. +*/ +TRIO_STRING_PUBLIC size_t +trio_span_function +TRIO_ARGS3((target, source, Function), + char *target, + TRIO_CONST char *source, + int (*Function) TRIO_PROTO((int))) +{ + size_t count = 0; + + assert(target); + assert(source); + assert(Function); + + while (*source != NIL) + { + *target++ = Function(*source++); + count++; + } + return count; +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/** + Search for a substring in a string. + + @param string String to be searched. + @param substring String to be found. + @return Pointer to first occurrence of @p substring in @p string, or NULL + if no match was found. +*/ +TRIO_STRING_PUBLIC char * +trio_substring +TRIO_ARGS2((string, substring), + TRIO_CONST char *string, + TRIO_CONST char *substring) +{ + assert(string); + assert(substring); + + return strstr(string, substring); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/** + Search for a substring in the first @p max characters of a string. + + @param string String to be searched. + @param max Maximum characters to be searched. + @param substring String to be found. + @return Pointer to first occurrence of @p substring in @p string, or NULL + if no match was found. +*/ +TRIO_STRING_PUBLIC char * +trio_substring_max +TRIO_ARGS3((string, max, substring), + TRIO_CONST char *string, + size_t max, + TRIO_CONST char *substring) +{ + size_t count; + size_t size; + char *result = NULL; + + assert(string); + assert(substring); + + size = trio_length(substring); + if (size <= max) + { + for (count = 0; count <= max - size; count++) + { + if (trio_equal_max(substring, size, &string[count])) + { + result = (char *)&string[count]; + break; + } + } + } + return result; +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/** + Tokenize string. + + @param string String to be tokenized. + @param tokens String containing list of delimiting characters. + @return Start of new token. + + @warning @p string will be destroyed. +*/ +TRIO_STRING_PUBLIC char * +trio_tokenize +TRIO_ARGS2((string, delimiters), + char *string, + TRIO_CONST char *delimiters) +{ + assert(delimiters); + + return strtok(string, delimiters); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +/** + Convert string to floating-point number. + + @param source String to be converted. + @param endp Pointer to end of the converted string. + @return A floating-point number. + + The following Extended Backus-Naur form is used + @verbatim + double ::= [ ] + ( | + | + ) + [ [ ] ] + number ::= 1*( ) + digit ::= ( '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' ) + exponential ::= ( 'e' | 'E' ) + sign ::= ( '-' | '+' ) + decimal_point ::= '.' + @endverbatim +*/ +/* FIXME: Add EBNF for hex-floats */ +TRIO_STRING_PUBLIC trio_long_double_t +trio_to_long_double +TRIO_ARGS2((source, endp), + TRIO_CONST char *source, + char **endp) +{ +#if defined(USE_STRTOLD) + return strtold(source, endp); +#else + int isNegative = FALSE; + int isExponentNegative = FALSE; + trio_long_double_t integer = 0.0; + trio_long_double_t fraction = 0.0; + unsigned long exponent = 0; + trio_long_double_t base; + trio_long_double_t fracdiv = 1.0; + trio_long_double_t value = 0.0; + + /* First try hex-floats */ + if ((source[0] == '0') && ((source[1] == 'x') || (source[1] == 'X'))) + { + base = 16.0; + source += 2; + while (isxdigit((int)*source)) + { + integer *= base; + integer += (isdigit((int)*source) + ? (*source - '0') + : 10 + (trio_to_upper((int)*source) - 'A')); + source++; + } + if (*source == '.') + { + source++; + while (isxdigit((int)*source)) + { + fracdiv /= base; + fraction += fracdiv * (isdigit((int)*source) + ? (*source - '0') + : 10 + (trio_to_upper((int)*source) - 'A')); + source++; + } + if ((*source == 'p') || (*source == 'P')) + { + source++; + if ((*source == '+') || (*source == '-')) + { + isExponentNegative = (*source == '-'); + source++; + } + while (isdigit((int)*source)) + { + exponent *= 10; + exponent += (*source - '0'); + source++; + } + } + } + /* For later use with exponent */ + base = 2.0; + } + else /* Then try normal decimal floats */ + { + base = 10.0; + isNegative = (*source == '-'); + /* Skip sign */ + if ((*source == '+') || (*source == '-')) + source++; + + /* Integer part */ + while (isdigit((int)*source)) + { + integer *= base; + integer += (*source - '0'); + source++; + } + + if (*source == '.') + { + source++; /* skip decimal point */ + while (isdigit((int)*source)) + { + fracdiv /= base; + fraction += (*source - '0') * fracdiv; + source++; + } + } + if ((*source == 'e') + || (*source == 'E') +#if TRIO_MICROSOFT + || (*source == 'd') + || (*source == 'D') +#endif + ) + { + source++; /* Skip exponential indicator */ + isExponentNegative = (*source == '-'); + if ((*source == '+') || (*source == '-')) + source++; + while (isdigit((int)*source)) + { + exponent *= (int)base; + exponent += (*source - '0'); + source++; + } + } + } + + value = integer + fraction; + if (exponent != 0) + { + if (isExponentNegative) + value /= pow(base, (double)exponent); + else + value *= pow(base, (double)exponent); + } + if (isNegative) + value = -value; + + if (endp) + *endp = (char *)source; + return value; +#endif +} + + +/** + Convert string to floating-point number. + + @param source String to be converted. + @param endp Pointer to end of the converted string. + @return A floating-point number. + + See @ref trio_to_long_double. +*/ +TRIO_STRING_PUBLIC double +trio_to_double +TRIO_ARGS2((source, endp), + TRIO_CONST char *source, + char **endp) +{ +#if defined(USE_STRTOD) + return strtod(source, endp); +#else + return (double)trio_to_long_double(source, endp); +#endif +} + +#if !defined(TRIO_MINIMAL) +/** + Convert string to floating-point number. + + @param source String to be converted. + @param endp Pointer to end of the converted string. + @return A floating-point number. + + See @ref trio_to_long_double. +*/ +TRIO_STRING_PUBLIC float +trio_to_float +TRIO_ARGS2((source, endp), + TRIO_CONST char *source, + char **endp) +{ +#if defined(USE_STRTOF) + return strtof(source, endp); +#else + return (float)trio_to_long_double(source, endp); +#endif +} +#endif /* !defined(TRIO_MINIMAL) */ + + +/** + Convert string to signed integer. + + @param string String to be converted. + @param endp Pointer to end of converted string. + @param base Radix number of number. +*/ +TRIO_STRING_PUBLIC long +trio_to_long +TRIO_ARGS3((string, endp, base), + TRIO_CONST char *string, + char **endp, + int base) +{ + assert(string); + assert((base >= 2) && (base <= 36)); + + return strtol(string, endp, base); +} + + +#if !defined(TRIO_MINIMAL) +/** + Convert one alphabetic letter to lower-case. + + @param source The letter to be converted. + @return The converted letter. +*/ +TRIO_STRING_PUBLIC int +trio_to_lower +TRIO_ARGS1((source), + int source) +{ +#if defined(USE_TOLOWER) + + return tolower(source); + +#else + + /* Does not handle locales or non-contiguous alphabetic characters */ + return ((source >= (int)'A') && (source <= (int)'Z')) + ? source - 'A' + 'a' + : source; + +#endif +} +#endif /* !defined(TRIO_MINIMAL) */ + +#if !defined(TRIO_MINIMAL) +/** + Convert string to unsigned integer. + + @param string String to be converted. + @param endp Pointer to end of converted string. + @param base Radix number of number. +*/ +TRIO_STRING_PUBLIC unsigned long +trio_to_unsigned_long +TRIO_ARGS3((string, endp, base), + TRIO_CONST char *string, + char **endp, + int base) +{ + assert(string); + assert((base >= 2) && (base <= 36)); + + return strtoul(string, endp, base); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +/** + Convert one alphabetic letter to upper-case. + + @param source The letter to be converted. + @return The converted letter. +*/ +TRIO_STRING_PUBLIC int +trio_to_upper +TRIO_ARGS1((source), + int source) +{ +#if defined(USE_TOUPPER) + + return toupper(source); + +#else + + /* Does not handle locales or non-contiguous alphabetic characters */ + return ((source >= (int)'a') && (source <= (int)'z')) + ? source - 'a' + 'A' + : source; + +#endif +} + +#if !defined(TRIO_MINIMAL) +/** + Convert the alphabetic letters in the string to upper-case. + + @param target The string to be converted. + @return The number of processed characters (converted or not). +*/ +TRIO_STRING_PUBLIC int +trio_upper +TRIO_ARGS1((target), + char *target) +{ + assert(target); + + return trio_span_function(target, target, trio_to_upper); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +/** @} End of StaticStrings */ + + +/************************************************************************* + * Dynamic String Functions + */ + +#if defined(TRIO_DOCUMENTATION) +# include "doc/doc_dynamic.h" +#endif +/** @addtogroup DynamicStrings + @{ +*/ + +/* + * TrioStringAlloc + */ +TRIO_STRING_PRIVATE trio_string_t * +TrioStringAlloc(TRIO_NOARGS) +{ + trio_string_t *self; + + self = (trio_string_t *)TRIO_MALLOC(sizeof(trio_string_t)); + if (self) + { + self->content = NULL; + self->length = 0; + self->allocated = 0; + } + return self; +} + + +/* + * TrioStringGrow + * + * The size of the string will be increased by 'delta' characters. If + * 'delta' is zero, the size will be doubled. + */ +TRIO_STRING_PRIVATE BOOLEAN_T +TrioStringGrow +TRIO_ARGS2((self, delta), + trio_string_t *self, + size_t delta) +{ + BOOLEAN_T status = FALSE; + char *new_content; + size_t new_size; + + new_size = (delta == 0) + ? ( (self->allocated == 0) ? 1 : self->allocated * 2 ) + : self->allocated + delta; + + new_content = (char *)TRIO_REALLOC(self->content, new_size); + if (new_content) + { + self->content = new_content; + self->allocated = new_size; + status = TRUE; + } + return status; +} + + +#if !defined(TRIO_MINIMAL) +/* + * TrioStringGrowTo + * + * The size of the string will be increased to 'length' plus one characters. + * If 'length' is less than the original size, the original size will be + * used (that is, the size of the string is never decreased). + */ +TRIO_STRING_PRIVATE BOOLEAN_T +TrioStringGrowTo +TRIO_ARGS2((self, length), + trio_string_t *self, + size_t length) +{ + length++; /* Room for terminating zero */ + return (self->allocated < length) + ? TrioStringGrow(self, length - self->allocated) + : TRUE; +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/** + Create a new dynamic string. + + @param initial_size Initial size of the buffer. + @return Newly allocated dynamic string, or NULL if memory allocation failed. +*/ +TRIO_STRING_PUBLIC trio_string_t * +trio_string_create +TRIO_ARGS1((initial_size), + int initial_size) +{ + trio_string_t *self; + + self = TrioStringAlloc(); + if (self) + { + if (TrioStringGrow(self, + (size_t)((initial_size > 0) ? initial_size : 1))) + { + self->content[0] = (char)0; + self->allocated = initial_size; + } + else + { + trio_string_destroy(self); + self = NULL; + } + } + return self; +} +#endif /* !defined(TRIO_MINIMAL) */ + + +/** + Deallocate the dynamic string and its contents. + + @param self Dynamic string +*/ +TRIO_STRING_PUBLIC void +trio_string_destroy +TRIO_ARGS1((self), + trio_string_t *self) +{ + assert(self); + + if (self) + { + trio_destroy(self->content); + TRIO_FREE(self); + } +} + + +#if !defined(TRIO_MINIMAL) +/** + Get a pointer to the content. + + @param self Dynamic string. + @param offset Offset into content. + @return Pointer to the content. + + @p Offset can be zero, positive, or negative. If @p offset is zero, + then the start of the content will be returned. If @p offset is positive, + then a pointer to @p offset number of characters from the beginning of the + content is returned. If @p offset is negative, then a pointer to @p offset + number of characters from the ending of the string, starting at the + terminating zero, is returned. +*/ +TRIO_STRING_PUBLIC char * +trio_string_get +TRIO_ARGS2((self, offset), + trio_string_t *self, + int offset) +{ + char *result = NULL; + + assert(self); + + if (self->content != NULL) + { + if (self->length == 0) + { + (void)trio_string_length(self); + } + if (offset >= 0) + { + if (offset > (int)self->length) + { + offset = self->length; + } + } + else + { + offset += self->length + 1; + if (offset < 0) + { + offset = 0; + } + } + result = &(self->content[offset]); + } + return result; +} +#endif /* !defined(TRIO_MINIMAL) */ + + +/** + Extract the content. + + @param self Dynamic String + @return Content of dynamic string. + + The content is removed from the dynamic string. This enables destruction + of the dynamic string without deallocation of the content. +*/ +TRIO_STRING_PUBLIC char * +trio_string_extract +TRIO_ARGS1((self), + trio_string_t *self) +{ + char *result; + + assert(self); + + result = self->content; + /* FIXME: Allocate new empty buffer? */ + self->content = NULL; + self->length = self->allocated = 0; + return result; +} + + +#if !defined(TRIO_MINIMAL) +/** + Set the content of the dynamic string. + + @param self Dynamic String + @param buffer The new content. + + Sets the content of the dynamic string to a copy @p buffer. + An existing content will be deallocated first, if necessary. + + @remark + This function will make a copy of @p buffer. + You are responsible for deallocating @p buffer yourself. +*/ +TRIO_STRING_PUBLIC void +trio_xstring_set +TRIO_ARGS2((self, buffer), + trio_string_t *self, + char *buffer) +{ + assert(self); + + trio_destroy(self->content); + self->content = trio_duplicate(buffer); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +/* + * trio_string_size + */ +TRIO_STRING_PUBLIC int +trio_string_size +TRIO_ARGS1((self), + trio_string_t *self) +{ + assert(self); + + return self->allocated; +} + + +/* + * trio_string_terminate + */ +TRIO_STRING_PUBLIC void +trio_string_terminate +TRIO_ARGS1((self), + trio_string_t *self) +{ + trio_xstring_append_char(self, 0); +} + + +#if !defined(TRIO_MINIMAL) +/** + Append the second string to the first. + + @param self Dynamic string to be modified. + @param other Dynamic string to copy from. + @return Boolean value indicating success or failure. +*/ +TRIO_STRING_PUBLIC int +trio_string_append +TRIO_ARGS2((self, other), + trio_string_t *self, + trio_string_t *other) +{ + size_t length; + + assert(self); + assert(other); + + length = self->length + other->length; + if (!TrioStringGrowTo(self, length)) + goto error; + trio_copy(&self->content[self->length], other->content); + self->length = length; + return TRUE; + + error: + return FALSE; +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_xstring_append + */ +TRIO_STRING_PUBLIC int +trio_xstring_append +TRIO_ARGS2((self, other), + trio_string_t *self, + TRIO_CONST char *other) +{ + size_t length; + + assert(self); + assert(other); + + length = self->length + trio_length(other); + if (!TrioStringGrowTo(self, length)) + goto error; + trio_copy(&self->content[self->length], other); + self->length = length; + return TRUE; + + error: + return FALSE; +} +#endif /* !defined(TRIO_MINIMAL) */ + + +/* + * trio_xstring_append_char + */ +TRIO_STRING_PUBLIC int +trio_xstring_append_char +TRIO_ARGS2((self, character), + trio_string_t *self, + char character) +{ + assert(self); + + if ((int)self->length >= trio_string_size(self)) + { + if (!TrioStringGrow(self, 0)) + goto error; + } + self->content[self->length] = character; + self->length++; + return TRUE; + + error: + return FALSE; +} + + +#if !defined(TRIO_MINIMAL) +/** + Search for the first occurrence of second parameter in the first. + + @param self Dynamic string to be modified. + @param other Dynamic string to copy from. + @return Boolean value indicating success or failure. +*/ +TRIO_STRING_PUBLIC int +trio_string_contains +TRIO_ARGS2((self, other), + trio_string_t *self, + trio_string_t *other) +{ + assert(self); + assert(other); + + return trio_contains(self->content, other->content); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_xstring_contains + */ +TRIO_STRING_PUBLIC int +trio_xstring_contains +TRIO_ARGS2((self, other), + trio_string_t *self, + TRIO_CONST char *other) +{ + assert(self); + assert(other); + + return trio_contains(self->content, other); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_string_copy + */ +TRIO_STRING_PUBLIC int +trio_string_copy +TRIO_ARGS2((self, other), + trio_string_t *self, + trio_string_t *other) +{ + assert(self); + assert(other); + + self->length = 0; + return trio_string_append(self, other); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_xstring_copy + */ +TRIO_STRING_PUBLIC int +trio_xstring_copy +TRIO_ARGS2((self, other), + trio_string_t *self, + TRIO_CONST char *other) +{ + assert(self); + assert(other); + + self->length = 0; + return trio_xstring_append(self, other); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_string_duplicate + */ +TRIO_STRING_PUBLIC trio_string_t * +trio_string_duplicate +TRIO_ARGS1((other), + trio_string_t *other) +{ + trio_string_t *self; + + assert(other); + + self = TrioStringAlloc(); + if (self) + { + self->content = TrioDuplicateMax(other->content, other->length); + if (self->content) + { + self->length = other->length; + self->allocated = self->length + 1; + } + else + { + self->length = self->allocated = 0; + } + } + return self; +} +#endif /* !defined(TRIO_MINIMAL) */ + + +/* + * trio_xstring_duplicate + */ +TRIO_STRING_PUBLIC trio_string_t * +trio_xstring_duplicate +TRIO_ARGS1((other), + TRIO_CONST char *other) +{ + trio_string_t *self; + + assert(other); + + self = TrioStringAlloc(); + if (self) + { + self->content = TrioDuplicateMax(other, trio_length(other)); + if (self->content) + { + self->length = trio_length(self->content); + self->allocated = self->length + 1; + } + else + { + self->length = self->allocated = 0; + } + } + return self; +} + + +#if !defined(TRIO_MINIMAL) +/* + * trio_string_equal + */ +TRIO_STRING_PUBLIC int +trio_string_equal +TRIO_ARGS2((self, other), + trio_string_t *self, + trio_string_t *other) +{ + assert(self); + assert(other); + + return trio_equal(self->content, other->content); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_xstring_equal + */ +TRIO_STRING_PUBLIC int +trio_xstring_equal +TRIO_ARGS2((self, other), + trio_string_t *self, + TRIO_CONST char *other) +{ + assert(self); + assert(other); + + return trio_equal(self->content, other); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_string_equal_max + */ +TRIO_STRING_PUBLIC int +trio_string_equal_max +TRIO_ARGS3((self, max, other), + trio_string_t *self, + size_t max, + trio_string_t *other) +{ + assert(self); + assert(other); + + return trio_equal_max(self->content, max, other->content); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_xstring_equal_max + */ +TRIO_STRING_PUBLIC int +trio_xstring_equal_max +TRIO_ARGS3((self, max, other), + trio_string_t *self, + size_t max, + TRIO_CONST char *other) +{ + assert(self); + assert(other); + + return trio_equal_max(self->content, max, other); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_string_equal_case + */ +TRIO_STRING_PUBLIC int +trio_string_equal_case +TRIO_ARGS2((self, other), + trio_string_t *self, + trio_string_t *other) +{ + assert(self); + assert(other); + + return trio_equal_case(self->content, other->content); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_xstring_equal_case + */ +TRIO_STRING_PUBLIC int +trio_xstring_equal_case +TRIO_ARGS2((self, other), + trio_string_t *self, + TRIO_CONST char *other) +{ + assert(self); + assert(other); + + return trio_equal_case(self->content, other); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_string_equal_case_max + */ +TRIO_STRING_PUBLIC int +trio_string_equal_case_max +TRIO_ARGS3((self, max, other), + trio_string_t *self, + size_t max, + trio_string_t *other) +{ + assert(self); + assert(other); + + return trio_equal_case_max(self->content, max, other->content); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_xstring_equal_case_max + */ +TRIO_STRING_PUBLIC int +trio_xstring_equal_case_max +TRIO_ARGS3((self, max, other), + trio_string_t *self, + size_t max, + TRIO_CONST char *other) +{ + assert(self); + assert(other); + + return trio_equal_case_max(self->content, max, other); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) && !defined(_WIN32_WCE) +/* + * trio_string_format_data_max + */ +TRIO_STRING_PUBLIC size_t +trio_string_format_date_max +TRIO_ARGS4((self, max, format, datetime), + trio_string_t *self, + size_t max, + TRIO_CONST char *format, + TRIO_CONST struct tm *datetime) +{ + assert(self); + + return trio_format_date_max(self->content, max, format, datetime); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_string_index + */ +TRIO_STRING_PUBLIC char * +trio_string_index +TRIO_ARGS2((self, character), + trio_string_t *self, + int character) +{ + assert(self); + + return trio_index(self->content, character); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_string_index_last + */ +TRIO_STRING_PUBLIC char * +trio_string_index_last +TRIO_ARGS2((self, character), + trio_string_t *self, + int character) +{ + assert(self); + + return trio_index_last(self->content, character); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_string_length + */ +TRIO_STRING_PUBLIC int +trio_string_length +TRIO_ARGS1((self), + trio_string_t *self) +{ + assert(self); + + if (self->length == 0) + { + self->length = trio_length(self->content); + } + return self->length; +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_string_lower + */ +TRIO_STRING_PUBLIC int +trio_string_lower +TRIO_ARGS1((self), + trio_string_t *self) +{ + assert(self); + + return trio_lower(self->content); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_string_match + */ +TRIO_STRING_PUBLIC int +trio_string_match +TRIO_ARGS2((self, other), + trio_string_t *self, + trio_string_t *other) +{ + assert(self); + assert(other); + + return trio_match(self->content, other->content); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_xstring_match + */ +TRIO_STRING_PUBLIC int +trio_xstring_match +TRIO_ARGS2((self, other), + trio_string_t *self, + TRIO_CONST char *other) +{ + assert(self); + assert(other); + + return trio_match(self->content, other); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_string_match_case + */ +TRIO_STRING_PUBLIC int +trio_string_match_case +TRIO_ARGS2((self, other), + trio_string_t *self, + trio_string_t *other) +{ + assert(self); + assert(other); + + return trio_match_case(self->content, other->content); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_xstring_match_case + */ +TRIO_STRING_PUBLIC int +trio_xstring_match_case +TRIO_ARGS2((self, other), + trio_string_t *self, + TRIO_CONST char *other) +{ + assert(self); + assert(other); + + return trio_match_case(self->content, other); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_string_substring + */ +TRIO_STRING_PUBLIC char * +trio_string_substring +TRIO_ARGS2((self, other), + trio_string_t *self, + trio_string_t *other) +{ + assert(self); + assert(other); + + return trio_substring(self->content, other->content); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_xstring_substring + */ +TRIO_STRING_PUBLIC char * +trio_xstring_substring +TRIO_ARGS2((self, other), + trio_string_t *self, + TRIO_CONST char *other) +{ + assert(self); + assert(other); + + return trio_substring(self->content, other); +} +#endif /* !defined(TRIO_MINIMAL) */ + + +#if !defined(TRIO_MINIMAL) +/* + * trio_string_upper + */ +TRIO_STRING_PUBLIC int +trio_string_upper +TRIO_ARGS1((self), + trio_string_t *self) +{ + assert(self); + + return trio_upper(self->content); +} +#endif /* !defined(TRIO_MINIMAL) */ + +/** @} End of DynamicStrings */ diff --git a/triostr.h b/triostr.h new file mode 100644 index 0000000..27f4ace --- /dev/null +++ b/triostr.h @@ -0,0 +1,144 @@ +/************************************************************************* + * + * $Id$ + * + * Copyright (C) 2001 Bjorn Reese and Daniel Stenberg. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF + * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. + * + ************************************************************************/ + +#ifndef TRIO_TRIOSTR_H +#define TRIO_TRIOSTR_H + +#include +#include +#include +#include +#include "triodef.h" +#include "triop.h" + +enum { + TRIO_HASH_NONE = 0, + TRIO_HASH_PLAIN, + TRIO_HASH_TWOSIGNED +}; + +#if !defined(TRIO_STRING_PUBLIC) +# if !defined(TRIO_PUBLIC) +# define TRIO_PUBLIC +# endif +# define TRIO_STRING_PUBLIC TRIO_PUBLIC +#endif + +/************************************************************************* + * String functions + */ + +TRIO_STRING_PUBLIC int trio_copy_max TRIO_PROTO((char *target, size_t max, const char *source)); +TRIO_STRING_PUBLIC char *trio_create TRIO_PROTO((size_t size)); +TRIO_STRING_PUBLIC void trio_destroy TRIO_PROTO((char *string)); +TRIO_STRING_PUBLIC char *trio_duplicate TRIO_PROTO((const char *source)); +TRIO_STRING_PUBLIC int trio_equal TRIO_PROTO((const char *first, const char *second)); +TRIO_STRING_PUBLIC int trio_equal_case TRIO_PROTO((const char *first, const char *second)); +TRIO_STRING_PUBLIC int trio_equal_locale TRIO_PROTO((const char *first, const char *second)); +TRIO_STRING_PUBLIC int trio_equal_max TRIO_PROTO((const char *first, size_t max, const char *second)); +TRIO_STRING_PUBLIC TRIO_CONST char *trio_error TRIO_PROTO((int)); +TRIO_STRING_PUBLIC size_t trio_length TRIO_PROTO((const char *string)); +TRIO_STRING_PUBLIC double trio_to_double TRIO_PROTO((const char *source, char **endp)); +TRIO_STRING_PUBLIC long trio_to_long TRIO_PROTO((const char *source, char **endp, int base)); +TRIO_STRING_PUBLIC trio_long_double_t trio_to_long_double TRIO_PROTO((const char *source, char **endp)); +TRIO_STRING_PUBLIC int trio_to_upper TRIO_PROTO((int source)); + +#if !defined(TRIO_MINIMAL) + +TRIO_STRING_PUBLIC int trio_append TRIO_PROTO((char *target, const char *source)); +TRIO_STRING_PUBLIC int trio_append_max TRIO_PROTO((char *target, size_t max, const char *source)); +TRIO_STRING_PUBLIC int trio_contains TRIO_PROTO((const char *string, const char *substring)); +TRIO_STRING_PUBLIC int trio_copy TRIO_PROTO((char *target, const char *source)); +TRIO_STRING_PUBLIC char *trio_duplicate_max TRIO_PROTO((const char *source, size_t max)); +TRIO_STRING_PUBLIC int trio_equal_case_max TRIO_PROTO((const char *first, size_t max, const char *second)); +#if !defined(_WIN32_WCE) +TRIO_STRING_PUBLIC size_t trio_format_date_max TRIO_PROTO((char *target, size_t max, const char *format, const struct tm *datetime)); +#endif +TRIO_STRING_PUBLIC unsigned long trio_hash TRIO_PROTO((const char *string, int type)); +TRIO_STRING_PUBLIC char *trio_index TRIO_PROTO((const char *string, int character)); +TRIO_STRING_PUBLIC char *trio_index_last TRIO_PROTO((const char *string, int character)); +TRIO_STRING_PUBLIC int trio_lower TRIO_PROTO((char *target)); +TRIO_STRING_PUBLIC int trio_match TRIO_PROTO((const char *string, const char *pattern)); +TRIO_STRING_PUBLIC int trio_match_case TRIO_PROTO((const char *string, const char *pattern)); +TRIO_STRING_PUBLIC size_t trio_span_function TRIO_PROTO((char *target, const char *source, int (*Function) TRIO_PROTO((int)))); +TRIO_STRING_PUBLIC char *trio_substring TRIO_PROTO((const char *string, const char *substring)); +TRIO_STRING_PUBLIC char *trio_substring_max TRIO_PROTO((const char *string, size_t max, const char *substring)); +TRIO_STRING_PUBLIC float trio_to_float TRIO_PROTO((const char *source, char **endp)); +TRIO_STRING_PUBLIC int trio_to_lower TRIO_PROTO((int source)); +TRIO_STRING_PUBLIC unsigned long trio_to_unsigned_long TRIO_PROTO((const char *source, char **endp, int base)); +TRIO_STRING_PUBLIC char *trio_tokenize TRIO_PROTO((char *string, const char *delimiters)); +TRIO_STRING_PUBLIC int trio_upper TRIO_PROTO((char *target)); + +#endif /* !defined(TRIO_MINIMAL) */ + +/************************************************************************* + * Dynamic string functions + */ + +/* + * Opaque type for dynamic strings + */ + +typedef struct _trio_string_t trio_string_t; + +TRIO_STRING_PUBLIC void trio_string_destroy TRIO_PROTO((trio_string_t *self)); +TRIO_STRING_PUBLIC char *trio_string_extract TRIO_PROTO((trio_string_t *self)); +TRIO_STRING_PUBLIC int trio_string_size TRIO_PROTO((trio_string_t *self)); +TRIO_STRING_PUBLIC void trio_string_terminate TRIO_PROTO((trio_string_t *self)); +TRIO_STRING_PUBLIC int trio_xstring_append_char TRIO_PROTO((trio_string_t *self, char character)); +TRIO_STRING_PUBLIC trio_string_t *trio_xstring_duplicate TRIO_PROTO((const char *other)); + +#if !defined(TRIO_MINIMAL) + +TRIO_STRING_PUBLIC trio_string_t *trio_string_create TRIO_PROTO((int initial_size)); +TRIO_STRING_PUBLIC char *trio_string_get TRIO_PROTO((trio_string_t *self, int offset)); +TRIO_STRING_PUBLIC void trio_xstring_set TRIO_PROTO((trio_string_t *self, char *buffer)); + +TRIO_STRING_PUBLIC int trio_string_append TRIO_PROTO((trio_string_t *self, trio_string_t *other)); +TRIO_STRING_PUBLIC int trio_string_contains TRIO_PROTO((trio_string_t *self, trio_string_t *other)); +TRIO_STRING_PUBLIC int trio_string_copy TRIO_PROTO((trio_string_t *self, trio_string_t *other)); +TRIO_STRING_PUBLIC trio_string_t *trio_string_duplicate TRIO_PROTO((trio_string_t *other)); +TRIO_STRING_PUBLIC int trio_string_equal TRIO_PROTO((trio_string_t *self, trio_string_t *other)); +TRIO_STRING_PUBLIC int trio_string_equal_max TRIO_PROTO((trio_string_t *self, size_t max, trio_string_t *second)); +TRIO_STRING_PUBLIC int trio_string_equal_case TRIO_PROTO((trio_string_t *self, trio_string_t *other)); +TRIO_STRING_PUBLIC int trio_string_equal_case_max TRIO_PROTO((trio_string_t *self, size_t max, trio_string_t *other)); +#if !defined(_WIN32_WCE) +TRIO_STRING_PUBLIC size_t trio_string_format_date_max TRIO_PROTO((trio_string_t *self, size_t max, const char *format, const struct tm *datetime)); +#endif +TRIO_STRING_PUBLIC char *trio_string_index TRIO_PROTO((trio_string_t *self, int character)); +TRIO_STRING_PUBLIC char *trio_string_index_last TRIO_PROTO((trio_string_t *self, int character)); +TRIO_STRING_PUBLIC int trio_string_length TRIO_PROTO((trio_string_t *self)); +TRIO_STRING_PUBLIC int trio_string_lower TRIO_PROTO((trio_string_t *self)); +TRIO_STRING_PUBLIC int trio_string_match TRIO_PROTO((trio_string_t *self, trio_string_t *other)); +TRIO_STRING_PUBLIC int trio_string_match_case TRIO_PROTO((trio_string_t *self, trio_string_t *other)); +TRIO_STRING_PUBLIC char *trio_string_substring TRIO_PROTO((trio_string_t *self, trio_string_t *other)); +TRIO_STRING_PUBLIC int trio_string_upper TRIO_PROTO((trio_string_t *self)); + +TRIO_STRING_PUBLIC int trio_xstring_append TRIO_PROTO((trio_string_t *self, const char *other)); +TRIO_STRING_PUBLIC int trio_xstring_contains TRIO_PROTO((trio_string_t *self, const char *other)); +TRIO_STRING_PUBLIC int trio_xstring_copy TRIO_PROTO((trio_string_t *self, const char *other)); +TRIO_STRING_PUBLIC int trio_xstring_equal TRIO_PROTO((trio_string_t *self, const char *other)); +TRIO_STRING_PUBLIC int trio_xstring_equal_max TRIO_PROTO((trio_string_t *self, size_t max, const char *other)); +TRIO_STRING_PUBLIC int trio_xstring_equal_case TRIO_PROTO((trio_string_t *self, const char *other)); +TRIO_STRING_PUBLIC int trio_xstring_equal_case_max TRIO_PROTO((trio_string_t *self, size_t max, const char *other)); +TRIO_STRING_PUBLIC int trio_xstring_match TRIO_PROTO((trio_string_t *self, const char *other)); +TRIO_STRING_PUBLIC int trio_xstring_match_case TRIO_PROTO((trio_string_t *self, const char *other)); +TRIO_STRING_PUBLIC char *trio_xstring_substring TRIO_PROTO((trio_string_t *self, const char *other)); + +#endif /* !defined(TRIO_MINIMAL) */ + +#endif /* TRIO_TRIOSTR_H */ diff --git a/uri.c b/uri.c new file mode 100644 index 0000000..05d81e5 --- /dev/null +++ b/uri.c @@ -0,0 +1,2554 @@ +/** + * uri.c: set of generic URI related routines + * + * Reference: RFCs 3986, 2732 and 2373 + * + * See Copyright for the status of this software. + * + * daniel@veillard.com + */ + +#define IN_LIBXML +#include "libxml.h" + +#include + +#include +#include +#include +#include + +/** + * MAX_URI_LENGTH: + * + * The definition of the URI regexp in the above RFC has no size limit + * In practice they are usually relatively short except for the + * data URI scheme as defined in RFC 2397. Even for data URI the usual + * maximum size before hitting random practical limits is around 64 KB + * and 4KB is usually a maximum admitted limit for proper operations. + * The value below is more a security limit than anything else and + * really should never be hit by 'normal' operations + * Set to 1 MByte in 2012, this is only enforced on output + */ +#define MAX_URI_LENGTH 1024 * 1024 + +static void +xmlURIErrMemory(const char *extra) +{ + if (extra) + __xmlRaiseError(NULL, NULL, NULL, + NULL, NULL, XML_FROM_URI, + XML_ERR_NO_MEMORY, XML_ERR_FATAL, NULL, 0, + extra, NULL, NULL, 0, 0, + "Memory allocation failed : %s\n", extra); + else + __xmlRaiseError(NULL, NULL, NULL, + NULL, NULL, XML_FROM_URI, + XML_ERR_NO_MEMORY, XML_ERR_FATAL, NULL, 0, + NULL, NULL, NULL, 0, 0, + "Memory allocation failed\n"); +} + +static void xmlCleanURI(xmlURIPtr uri); + +/* + * Old rule from 2396 used in legacy handling code + * alpha = lowalpha | upalpha + */ +#define IS_ALPHA(x) (IS_LOWALPHA(x) || IS_UPALPHA(x)) + + +/* + * lowalpha = "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" + */ + +#define IS_LOWALPHA(x) (((x) >= 'a') && ((x) <= 'z')) + +/* + * upalpha = "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" + */ +#define IS_UPALPHA(x) (((x) >= 'A') && ((x) <= 'Z')) + +#ifdef IS_DIGIT +#undef IS_DIGIT +#endif +/* + * digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" + */ +#define IS_DIGIT(x) (((x) >= '0') && ((x) <= '9')) + +/* + * alphanum = alpha | digit + */ + +#define IS_ALPHANUM(x) (IS_ALPHA(x) || IS_DIGIT(x)) + +/* + * mark = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")" + */ + +#define IS_MARK(x) (((x) == '-') || ((x) == '_') || ((x) == '.') || \ + ((x) == '!') || ((x) == '~') || ((x) == '*') || ((x) == '\'') || \ + ((x) == '(') || ((x) == ')')) + +/* + * unwise = "{" | "}" | "|" | "\" | "^" | "`" + */ + +#define IS_UNWISE(p) \ + (((*(p) == '{')) || ((*(p) == '}')) || ((*(p) == '|')) || \ + ((*(p) == '\\')) || ((*(p) == '^')) || ((*(p) == '[')) || \ + ((*(p) == ']')) || ((*(p) == '`'))) +/* + * reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | "," | + * "[" | "]" + */ + +#define IS_RESERVED(x) (((x) == ';') || ((x) == '/') || ((x) == '?') || \ + ((x) == ':') || ((x) == '@') || ((x) == '&') || ((x) == '=') || \ + ((x) == '+') || ((x) == '$') || ((x) == ',') || ((x) == '[') || \ + ((x) == ']')) + +/* + * unreserved = alphanum | mark + */ + +#define IS_UNRESERVED(x) (IS_ALPHANUM(x) || IS_MARK(x)) + +/* + * Skip to next pointer char, handle escaped sequences + */ + +#define NEXT(p) ((*p == '%')? p += 3 : p++) + +/* + * Productions from the spec. + * + * authority = server | reg_name + * reg_name = 1*( unreserved | escaped | "$" | "," | + * ";" | ":" | "@" | "&" | "=" | "+" ) + * + * path = [ abs_path | opaque_part ] + */ + +#define STRNDUP(s, n) (char *) xmlStrndup((const xmlChar *)(s), (n)) + +/************************************************************************ + * * + * RFC 3986 parser * + * * + ************************************************************************/ + +#define ISA_DIGIT(p) ((*(p) >= '0') && (*(p) <= '9')) +#define ISA_ALPHA(p) (((*(p) >= 'a') && (*(p) <= 'z')) || \ + ((*(p) >= 'A') && (*(p) <= 'Z'))) +#define ISA_HEXDIG(p) \ + (ISA_DIGIT(p) || ((*(p) >= 'a') && (*(p) <= 'f')) || \ + ((*(p) >= 'A') && (*(p) <= 'F'))) + +/* + * sub-delims = "!" / "$" / "&" / "'" / "(" / ")" + * / "*" / "+" / "," / ";" / "=" + */ +#define ISA_SUB_DELIM(p) \ + (((*(p) == '!')) || ((*(p) == '$')) || ((*(p) == '&')) || \ + ((*(p) == '(')) || ((*(p) == ')')) || ((*(p) == '*')) || \ + ((*(p) == '+')) || ((*(p) == ',')) || ((*(p) == ';')) || \ + ((*(p) == '=')) || ((*(p) == '\''))) + +/* + * gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@" + */ +#define ISA_GEN_DELIM(p) \ + (((*(p) == ':')) || ((*(p) == '/')) || ((*(p) == '?')) || \ + ((*(p) == '#')) || ((*(p) == '[')) || ((*(p) == ']')) || \ + ((*(p) == '@'))) + +/* + * reserved = gen-delims / sub-delims + */ +#define ISA_RESERVED(p) (ISA_GEN_DELIM(p) || (ISA_SUB_DELIM(p))) + +/* + * unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" + */ +#define ISA_UNRESERVED(p) \ + ((ISA_ALPHA(p)) || (ISA_DIGIT(p)) || ((*(p) == '-')) || \ + ((*(p) == '.')) || ((*(p) == '_')) || ((*(p) == '~'))) + +/* + * pct-encoded = "%" HEXDIG HEXDIG + */ +#define ISA_PCT_ENCODED(p) \ + ((*(p) == '%') && (ISA_HEXDIG(p + 1)) && (ISA_HEXDIG(p + 2))) + +/* + * pchar = unreserved / pct-encoded / sub-delims / ":" / "@" + */ +#define ISA_PCHAR(p) \ + (ISA_UNRESERVED(p) || ISA_PCT_ENCODED(p) || ISA_SUB_DELIM(p) || \ + ((*(p) == ':')) || ((*(p) == '@'))) + +/** + * xmlParse3986Scheme: + * @uri: pointer to an URI structure + * @str: pointer to the string to analyze + * + * Parse an URI scheme + * + * ALPHA *( ALPHA / DIGIT / "+" / "-" / "." ) + * + * Returns 0 or the error code + */ +static int +xmlParse3986Scheme(xmlURIPtr uri, const char **str) { + const char *cur; + + if (str == NULL) + return(-1); + + cur = *str; + if (!ISA_ALPHA(cur)) + return(2); + cur++; + while (ISA_ALPHA(cur) || ISA_DIGIT(cur) || + (*cur == '+') || (*cur == '-') || (*cur == '.')) cur++; + if (uri != NULL) { + if (uri->scheme != NULL) xmlFree(uri->scheme); + uri->scheme = STRNDUP(*str, cur - *str); + } + *str = cur; + return(0); +} + +/** + * xmlParse3986Fragment: + * @uri: pointer to an URI structure + * @str: pointer to the string to analyze + * + * Parse the query part of an URI + * + * fragment = *( pchar / "/" / "?" ) + * NOTE: the strict syntax as defined by 3986 does not allow '[' and ']' + * in the fragment identifier but this is used very broadly for + * xpointer scheme selection, so we are allowing it here to not break + * for example all the DocBook processing chains. + * + * Returns 0 or the error code + */ +static int +xmlParse3986Fragment(xmlURIPtr uri, const char **str) +{ + const char *cur; + + if (str == NULL) + return (-1); + + cur = *str; + + while ((ISA_PCHAR(cur)) || (*cur == '/') || (*cur == '?') || + (*cur == '[') || (*cur == ']') || + ((uri != NULL) && (uri->cleanup & 1) && (IS_UNWISE(cur)))) + NEXT(cur); + if (uri != NULL) { + if (uri->fragment != NULL) + xmlFree(uri->fragment); + if (uri->cleanup & 2) + uri->fragment = STRNDUP(*str, cur - *str); + else + uri->fragment = xmlURIUnescapeString(*str, cur - *str, NULL); + } + *str = cur; + return (0); +} + +/** + * xmlParse3986Query: + * @uri: pointer to an URI structure + * @str: pointer to the string to analyze + * + * Parse the query part of an URI + * + * query = *uric + * + * Returns 0 or the error code + */ +static int +xmlParse3986Query(xmlURIPtr uri, const char **str) +{ + const char *cur; + + if (str == NULL) + return (-1); + + cur = *str; + + while ((ISA_PCHAR(cur)) || (*cur == '/') || (*cur == '?') || + ((uri != NULL) && (uri->cleanup & 1) && (IS_UNWISE(cur)))) + NEXT(cur); + if (uri != NULL) { + if (uri->query != NULL) + xmlFree(uri->query); + if (uri->cleanup & 2) + uri->query = STRNDUP(*str, cur - *str); + else + uri->query = xmlURIUnescapeString(*str, cur - *str, NULL); + + /* Save the raw bytes of the query as well. + * See: http://mail.gnome.org/archives/xml/2007-April/thread.html#00114 + */ + if (uri->query_raw != NULL) + xmlFree (uri->query_raw); + uri->query_raw = STRNDUP (*str, cur - *str); + } + *str = cur; + return (0); +} + +/** + * xmlParse3986Port: + * @uri: pointer to an URI structure + * @str: the string to analyze + * + * Parse a port part and fills in the appropriate fields + * of the @uri structure + * + * port = *DIGIT + * + * Returns 0 or the error code + */ +static int +xmlParse3986Port(xmlURIPtr uri, const char **str) +{ + const char *cur = *str; + int port = 0; + + if (ISA_DIGIT(cur)) { + while (ISA_DIGIT(cur)) { + port = port * 10 + (*cur - '0'); + if (port > 99999999) + port = 99999999; + + cur++; + } + if (uri != NULL) + uri->port = port; + *str = cur; + return(0); + } + return(1); +} + +/** + * xmlParse3986Userinfo: + * @uri: pointer to an URI structure + * @str: the string to analyze + * + * Parse an user informations part and fills in the appropriate fields + * of the @uri structure + * + * userinfo = *( unreserved / pct-encoded / sub-delims / ":" ) + * + * Returns 0 or the error code + */ +static int +xmlParse3986Userinfo(xmlURIPtr uri, const char **str) +{ + const char *cur; + + cur = *str; + while (ISA_UNRESERVED(cur) || ISA_PCT_ENCODED(cur) || + ISA_SUB_DELIM(cur) || (*cur == ':')) + NEXT(cur); + if (*cur == '@') { + if (uri != NULL) { + if (uri->user != NULL) xmlFree(uri->user); + if (uri->cleanup & 2) + uri->user = STRNDUP(*str, cur - *str); + else + uri->user = xmlURIUnescapeString(*str, cur - *str, NULL); + } + *str = cur; + return(0); + } + return(1); +} + +/** + * xmlParse3986DecOctet: + * @str: the string to analyze + * + * dec-octet = DIGIT ; 0-9 + * / %x31-39 DIGIT ; 10-99 + * / "1" 2DIGIT ; 100-199 + * / "2" %x30-34 DIGIT ; 200-249 + * / "25" %x30-35 ; 250-255 + * + * Skip a dec-octet. + * + * Returns 0 if found and skipped, 1 otherwise + */ +static int +xmlParse3986DecOctet(const char **str) { + const char *cur = *str; + + if (!(ISA_DIGIT(cur))) + return(1); + if (!ISA_DIGIT(cur+1)) + cur++; + else if ((*cur != '0') && (ISA_DIGIT(cur + 1)) && (!ISA_DIGIT(cur+2))) + cur += 2; + else if ((*cur == '1') && (ISA_DIGIT(cur + 1)) && (ISA_DIGIT(cur + 2))) + cur += 3; + else if ((*cur == '2') && (*(cur + 1) >= '0') && + (*(cur + 1) <= '4') && (ISA_DIGIT(cur + 2))) + cur += 3; + else if ((*cur == '2') && (*(cur + 1) == '5') && + (*(cur + 2) >= '0') && (*(cur + 1) <= '5')) + cur += 3; + else + return(1); + *str = cur; + return(0); +} +/** + * xmlParse3986Host: + * @uri: pointer to an URI structure + * @str: the string to analyze + * + * Parse an host part and fills in the appropriate fields + * of the @uri structure + * + * host = IP-literal / IPv4address / reg-name + * IP-literal = "[" ( IPv6address / IPvFuture ) "]" + * IPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet + * reg-name = *( unreserved / pct-encoded / sub-delims ) + * + * Returns 0 or the error code + */ +static int +xmlParse3986Host(xmlURIPtr uri, const char **str) +{ + const char *cur = *str; + const char *host; + + host = cur; + /* + * IPv6 and future addressing scheme are enclosed between brackets + */ + if (*cur == '[') { + cur++; + while ((*cur != ']') && (*cur != 0)) + cur++; + if (*cur != ']') + return(1); + cur++; + goto found; + } + /* + * try to parse an IPv4 + */ + if (ISA_DIGIT(cur)) { + if (xmlParse3986DecOctet(&cur) != 0) + goto not_ipv4; + if (*cur != '.') + goto not_ipv4; + cur++; + if (xmlParse3986DecOctet(&cur) != 0) + goto not_ipv4; + if (*cur != '.') + goto not_ipv4; + if (xmlParse3986DecOctet(&cur) != 0) + goto not_ipv4; + if (*cur != '.') + goto not_ipv4; + if (xmlParse3986DecOctet(&cur) != 0) + goto not_ipv4; + goto found; +not_ipv4: + cur = *str; + } + /* + * then this should be a hostname which can be empty + */ + while (ISA_UNRESERVED(cur) || ISA_PCT_ENCODED(cur) || ISA_SUB_DELIM(cur)) + NEXT(cur); +found: + if (uri != NULL) { + if (uri->authority != NULL) xmlFree(uri->authority); + uri->authority = NULL; + if (uri->server != NULL) xmlFree(uri->server); + if (cur != host) { + if (uri->cleanup & 2) + uri->server = STRNDUP(host, cur - host); + else + uri->server = xmlURIUnescapeString(host, cur - host, NULL); + } else + uri->server = NULL; + } + *str = cur; + return(0); +} + +/** + * xmlParse3986Authority: + * @uri: pointer to an URI structure + * @str: the string to analyze + * + * Parse an authority part and fills in the appropriate fields + * of the @uri structure + * + * authority = [ userinfo "@" ] host [ ":" port ] + * + * Returns 0 or the error code + */ +static int +xmlParse3986Authority(xmlURIPtr uri, const char **str) +{ + const char *cur; + int ret; + + cur = *str; + /* + * try to parse an userinfo and check for the trailing @ + */ + ret = xmlParse3986Userinfo(uri, &cur); + if ((ret != 0) || (*cur != '@')) + cur = *str; + else + cur++; + ret = xmlParse3986Host(uri, &cur); + if (ret != 0) return(ret); + if (*cur == ':') { + cur++; + ret = xmlParse3986Port(uri, &cur); + if (ret != 0) return(ret); + } + *str = cur; + return(0); +} + +/** + * xmlParse3986Segment: + * @str: the string to analyze + * @forbid: an optional forbidden character + * @empty: allow an empty segment + * + * Parse a segment and fills in the appropriate fields + * of the @uri structure + * + * segment = *pchar + * segment-nz = 1*pchar + * segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / "@" ) + * ; non-zero-length segment without any colon ":" + * + * Returns 0 or the error code + */ +static int +xmlParse3986Segment(const char **str, char forbid, int empty) +{ + const char *cur; + + cur = *str; + if (!ISA_PCHAR(cur)) { + if (empty) + return(0); + return(1); + } + while (ISA_PCHAR(cur) && (*cur != forbid)) + NEXT(cur); + *str = cur; + return (0); +} + +/** + * xmlParse3986PathAbEmpty: + * @uri: pointer to an URI structure + * @str: the string to analyze + * + * Parse an path absolute or empty and fills in the appropriate fields + * of the @uri structure + * + * path-abempty = *( "/" segment ) + * + * Returns 0 or the error code + */ +static int +xmlParse3986PathAbEmpty(xmlURIPtr uri, const char **str) +{ + const char *cur; + int ret; + + cur = *str; + + while (*cur == '/') { + cur++; + ret = xmlParse3986Segment(&cur, 0, 1); + if (ret != 0) return(ret); + } + if (uri != NULL) { + if (uri->path != NULL) xmlFree(uri->path); + if (*str != cur) { + if (uri->cleanup & 2) + uri->path = STRNDUP(*str, cur - *str); + else + uri->path = xmlURIUnescapeString(*str, cur - *str, NULL); + } else { + uri->path = NULL; + } + } + *str = cur; + return (0); +} + +/** + * xmlParse3986PathAbsolute: + * @uri: pointer to an URI structure + * @str: the string to analyze + * + * Parse an path absolute and fills in the appropriate fields + * of the @uri structure + * + * path-absolute = "/" [ segment-nz *( "/" segment ) ] + * + * Returns 0 or the error code + */ +static int +xmlParse3986PathAbsolute(xmlURIPtr uri, const char **str) +{ + const char *cur; + int ret; + + cur = *str; + + if (*cur != '/') + return(1); + cur++; + ret = xmlParse3986Segment(&cur, 0, 0); + if (ret == 0) { + while (*cur == '/') { + cur++; + ret = xmlParse3986Segment(&cur, 0, 1); + if (ret != 0) return(ret); + } + } + if (uri != NULL) { + if (uri->path != NULL) xmlFree(uri->path); + if (cur != *str) { + if (uri->cleanup & 2) + uri->path = STRNDUP(*str, cur - *str); + else + uri->path = xmlURIUnescapeString(*str, cur - *str, NULL); + } else { + uri->path = NULL; + } + } + *str = cur; + return (0); +} + +/** + * xmlParse3986PathRootless: + * @uri: pointer to an URI structure + * @str: the string to analyze + * + * Parse an path without root and fills in the appropriate fields + * of the @uri structure + * + * path-rootless = segment-nz *( "/" segment ) + * + * Returns 0 or the error code + */ +static int +xmlParse3986PathRootless(xmlURIPtr uri, const char **str) +{ + const char *cur; + int ret; + + cur = *str; + + ret = xmlParse3986Segment(&cur, 0, 0); + if (ret != 0) return(ret); + while (*cur == '/') { + cur++; + ret = xmlParse3986Segment(&cur, 0, 1); + if (ret != 0) return(ret); + } + if (uri != NULL) { + if (uri->path != NULL) xmlFree(uri->path); + if (cur != *str) { + if (uri->cleanup & 2) + uri->path = STRNDUP(*str, cur - *str); + else + uri->path = xmlURIUnescapeString(*str, cur - *str, NULL); + } else { + uri->path = NULL; + } + } + *str = cur; + return (0); +} + +/** + * xmlParse3986PathNoScheme: + * @uri: pointer to an URI structure + * @str: the string to analyze + * + * Parse an path which is not a scheme and fills in the appropriate fields + * of the @uri structure + * + * path-noscheme = segment-nz-nc *( "/" segment ) + * + * Returns 0 or the error code + */ +static int +xmlParse3986PathNoScheme(xmlURIPtr uri, const char **str) +{ + const char *cur; + int ret; + + cur = *str; + + ret = xmlParse3986Segment(&cur, ':', 0); + if (ret != 0) return(ret); + while (*cur == '/') { + cur++; + ret = xmlParse3986Segment(&cur, 0, 1); + if (ret != 0) return(ret); + } + if (uri != NULL) { + if (uri->path != NULL) xmlFree(uri->path); + if (cur != *str) { + if (uri->cleanup & 2) + uri->path = STRNDUP(*str, cur - *str); + else + uri->path = xmlURIUnescapeString(*str, cur - *str, NULL); + } else { + uri->path = NULL; + } + } + *str = cur; + return (0); +} + +/** + * xmlParse3986HierPart: + * @uri: pointer to an URI structure + * @str: the string to analyze + * + * Parse an hierarchical part and fills in the appropriate fields + * of the @uri structure + * + * hier-part = "//" authority path-abempty + * / path-absolute + * / path-rootless + * / path-empty + * + * Returns 0 or the error code + */ +static int +xmlParse3986HierPart(xmlURIPtr uri, const char **str) +{ + const char *cur; + int ret; + + cur = *str; + + if ((*cur == '/') && (*(cur + 1) == '/')) { + cur += 2; + ret = xmlParse3986Authority(uri, &cur); + if (ret != 0) return(ret); + if (uri->server == NULL) + uri->port = -1; + ret = xmlParse3986PathAbEmpty(uri, &cur); + if (ret != 0) return(ret); + *str = cur; + return(0); + } else if (*cur == '/') { + ret = xmlParse3986PathAbsolute(uri, &cur); + if (ret != 0) return(ret); + } else if (ISA_PCHAR(cur)) { + ret = xmlParse3986PathRootless(uri, &cur); + if (ret != 0) return(ret); + } else { + /* path-empty is effectively empty */ + if (uri != NULL) { + if (uri->path != NULL) xmlFree(uri->path); + uri->path = NULL; + } + } + *str = cur; + return (0); +} + +/** + * xmlParse3986RelativeRef: + * @uri: pointer to an URI structure + * @str: the string to analyze + * + * Parse an URI string and fills in the appropriate fields + * of the @uri structure + * + * relative-ref = relative-part [ "?" query ] [ "#" fragment ] + * relative-part = "//" authority path-abempty + * / path-absolute + * / path-noscheme + * / path-empty + * + * Returns 0 or the error code + */ +static int +xmlParse3986RelativeRef(xmlURIPtr uri, const char *str) { + int ret; + + if ((*str == '/') && (*(str + 1) == '/')) { + str += 2; + ret = xmlParse3986Authority(uri, &str); + if (ret != 0) return(ret); + ret = xmlParse3986PathAbEmpty(uri, &str); + if (ret != 0) return(ret); + } else if (*str == '/') { + ret = xmlParse3986PathAbsolute(uri, &str); + if (ret != 0) return(ret); + } else if (ISA_PCHAR(str)) { + ret = xmlParse3986PathNoScheme(uri, &str); + if (ret != 0) return(ret); + } else { + /* path-empty is effectively empty */ + if (uri != NULL) { + if (uri->path != NULL) xmlFree(uri->path); + uri->path = NULL; + } + } + + if (*str == '?') { + str++; + ret = xmlParse3986Query(uri, &str); + if (ret != 0) return(ret); + } + if (*str == '#') { + str++; + ret = xmlParse3986Fragment(uri, &str); + if (ret != 0) return(ret); + } + if (*str != 0) { + xmlCleanURI(uri); + return(1); + } + return(0); +} + + +/** + * xmlParse3986URI: + * @uri: pointer to an URI structure + * @str: the string to analyze + * + * Parse an URI string and fills in the appropriate fields + * of the @uri structure + * + * scheme ":" hier-part [ "?" query ] [ "#" fragment ] + * + * Returns 0 or the error code + */ +static int +xmlParse3986URI(xmlURIPtr uri, const char *str) { + int ret; + + ret = xmlParse3986Scheme(uri, &str); + if (ret != 0) return(ret); + if (*str != ':') { + return(1); + } + str++; + ret = xmlParse3986HierPart(uri, &str); + if (ret != 0) return(ret); + if (*str == '?') { + str++; + ret = xmlParse3986Query(uri, &str); + if (ret != 0) return(ret); + } + if (*str == '#') { + str++; + ret = xmlParse3986Fragment(uri, &str); + if (ret != 0) return(ret); + } + if (*str != 0) { + xmlCleanURI(uri); + return(1); + } + return(0); +} + +/** + * xmlParse3986URIReference: + * @uri: pointer to an URI structure + * @str: the string to analyze + * + * Parse an URI reference string and fills in the appropriate fields + * of the @uri structure + * + * URI-reference = URI / relative-ref + * + * Returns 0 or the error code + */ +static int +xmlParse3986URIReference(xmlURIPtr uri, const char *str) { + int ret; + + if (str == NULL) + return(-1); + xmlCleanURI(uri); + + /* + * Try first to parse absolute refs, then fallback to relative if + * it fails. + */ + ret = xmlParse3986URI(uri, str); + if (ret != 0) { + xmlCleanURI(uri); + ret = xmlParse3986RelativeRef(uri, str); + if (ret != 0) { + xmlCleanURI(uri); + return(ret); + } + } + return(0); +} + +/** + * xmlParseURI: + * @str: the URI string to analyze + * + * Parse an URI based on RFC 3986 + * + * URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ] + * + * Returns a newly built xmlURIPtr or NULL in case of error + */ +xmlURIPtr +xmlParseURI(const char *str) { + xmlURIPtr uri; + int ret; + + if (str == NULL) + return(NULL); + uri = xmlCreateURI(); + if (uri != NULL) { + ret = xmlParse3986URIReference(uri, str); + if (ret) { + xmlFreeURI(uri); + return(NULL); + } + } + return(uri); +} + +/** + * xmlParseURIReference: + * @uri: pointer to an URI structure + * @str: the string to analyze + * + * Parse an URI reference string based on RFC 3986 and fills in the + * appropriate fields of the @uri structure + * + * URI-reference = URI / relative-ref + * + * Returns 0 or the error code + */ +int +xmlParseURIReference(xmlURIPtr uri, const char *str) { + return(xmlParse3986URIReference(uri, str)); +} + +/** + * xmlParseURIRaw: + * @str: the URI string to analyze + * @raw: if 1 unescaping of URI pieces are disabled + * + * Parse an URI but allows to keep intact the original fragments. + * + * URI-reference = URI / relative-ref + * + * Returns a newly built xmlURIPtr or NULL in case of error + */ +xmlURIPtr +xmlParseURIRaw(const char *str, int raw) { + xmlURIPtr uri; + int ret; + + if (str == NULL) + return(NULL); + uri = xmlCreateURI(); + if (uri != NULL) { + if (raw) { + uri->cleanup |= 2; + } + ret = xmlParseURIReference(uri, str); + if (ret) { + xmlFreeURI(uri); + return(NULL); + } + } + return(uri); +} + +/************************************************************************ + * * + * Generic URI structure functions * + * * + ************************************************************************/ + +/** + * xmlCreateURI: + * + * Simply creates an empty xmlURI + * + * Returns the new structure or NULL in case of error + */ +xmlURIPtr +xmlCreateURI(void) { + xmlURIPtr ret; + + ret = (xmlURIPtr) xmlMalloc(sizeof(xmlURI)); + if (ret == NULL) { + xmlURIErrMemory("creating URI structure\n"); + return(NULL); + } + memset(ret, 0, sizeof(xmlURI)); + return(ret); +} + +/** + * xmlSaveUriRealloc: + * + * Function to handle properly a reallocation when saving an URI + * Also imposes some limit on the length of an URI string output + */ +static xmlChar * +xmlSaveUriRealloc(xmlChar *ret, int *max) { + xmlChar *temp; + int tmp; + + if (*max > MAX_URI_LENGTH) { + xmlURIErrMemory("reaching arbitrary MAX_URI_LENGTH limit\n"); + return(NULL); + } + tmp = *max * 2; + temp = (xmlChar *) xmlRealloc(ret, (tmp + 1)); + if (temp == NULL) { + xmlURIErrMemory("saving URI\n"); + return(NULL); + } + *max = tmp; + return(temp); +} + +/** + * xmlSaveUri: + * @uri: pointer to an xmlURI + * + * Save the URI as an escaped string + * + * Returns a new string (to be deallocated by caller) + */ +xmlChar * +xmlSaveUri(xmlURIPtr uri) { + xmlChar *ret = NULL; + xmlChar *temp; + const char *p; + int len; + int max; + + if (uri == NULL) return(NULL); + + + max = 80; + ret = (xmlChar *) xmlMallocAtomic((max + 1) * sizeof(xmlChar)); + if (ret == NULL) { + xmlURIErrMemory("saving URI\n"); + return(NULL); + } + len = 0; + + if (uri->scheme != NULL) { + p = uri->scheme; + while (*p != 0) { + if (len >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + ret[len++] = *p++; + } + if (len >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + ret[len++] = ':'; + } + if (uri->opaque != NULL) { + p = uri->opaque; + while (*p != 0) { + if (len + 3 >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + if (IS_RESERVED(*(p)) || IS_UNRESERVED(*(p))) + ret[len++] = *p++; + else { + int val = *(unsigned char *)p++; + int hi = val / 0x10, lo = val % 0x10; + ret[len++] = '%'; + ret[len++] = hi + (hi > 9? 'A'-10 : '0'); + ret[len++] = lo + (lo > 9? 'A'-10 : '0'); + } + } + } else { + if ((uri->server != NULL) || (uri->port == -1)) { + if (len + 3 >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + ret[len++] = '/'; + ret[len++] = '/'; + if (uri->user != NULL) { + p = uri->user; + while (*p != 0) { + if (len + 3 >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + if ((IS_UNRESERVED(*(p))) || + ((*(p) == ';')) || ((*(p) == ':')) || + ((*(p) == '&')) || ((*(p) == '=')) || + ((*(p) == '+')) || ((*(p) == '$')) || + ((*(p) == ','))) + ret[len++] = *p++; + else { + int val = *(unsigned char *)p++; + int hi = val / 0x10, lo = val % 0x10; + ret[len++] = '%'; + ret[len++] = hi + (hi > 9? 'A'-10 : '0'); + ret[len++] = lo + (lo > 9? 'A'-10 : '0'); + } + } + if (len + 3 >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + ret[len++] = '@'; + } + if (uri->server != NULL) { + p = uri->server; + while (*p != 0) { + if (len >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + ret[len++] = *p++; + } + if (uri->port > 0) { + if (len + 10 >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + len += snprintf((char *) &ret[len], max - len, ":%d", uri->port); + } + } + } else if (uri->authority != NULL) { + if (len + 3 >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + ret[len++] = '/'; + ret[len++] = '/'; + p = uri->authority; + while (*p != 0) { + if (len + 3 >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + if ((IS_UNRESERVED(*(p))) || + ((*(p) == '$')) || ((*(p) == ',')) || ((*(p) == ';')) || + ((*(p) == ':')) || ((*(p) == '@')) || ((*(p) == '&')) || + ((*(p) == '=')) || ((*(p) == '+'))) + ret[len++] = *p++; + else { + int val = *(unsigned char *)p++; + int hi = val / 0x10, lo = val % 0x10; + ret[len++] = '%'; + ret[len++] = hi + (hi > 9? 'A'-10 : '0'); + ret[len++] = lo + (lo > 9? 'A'-10 : '0'); + } + } + } else if (uri->scheme != NULL) { + if (len + 3 >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + } + if (uri->path != NULL) { + p = uri->path; + /* + * the colon in file:///d: should not be escaped or + * Windows accesses fail later. + */ + if ((uri->scheme != NULL) && + (p[0] == '/') && + (((p[1] >= 'a') && (p[1] <= 'z')) || + ((p[1] >= 'A') && (p[1] <= 'Z'))) && + (p[2] == ':') && + (xmlStrEqual(BAD_CAST uri->scheme, BAD_CAST "file"))) { + if (len + 3 >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + ret[len++] = *p++; + ret[len++] = *p++; + ret[len++] = *p++; + } + while (*p != 0) { + if (len + 3 >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + if ((IS_UNRESERVED(*(p))) || ((*(p) == '/')) || + ((*(p) == ';')) || ((*(p) == '@')) || ((*(p) == '&')) || + ((*(p) == '=')) || ((*(p) == '+')) || ((*(p) == '$')) || + ((*(p) == ','))) + ret[len++] = *p++; + else { + int val = *(unsigned char *)p++; + int hi = val / 0x10, lo = val % 0x10; + ret[len++] = '%'; + ret[len++] = hi + (hi > 9? 'A'-10 : '0'); + ret[len++] = lo + (lo > 9? 'A'-10 : '0'); + } + } + } + if (uri->query_raw != NULL) { + if (len + 1 >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + ret[len++] = '?'; + p = uri->query_raw; + while (*p != 0) { + if (len + 1 >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + ret[len++] = *p++; + } + } else if (uri->query != NULL) { + if (len + 3 >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + ret[len++] = '?'; + p = uri->query; + while (*p != 0) { + if (len + 3 >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + if ((IS_UNRESERVED(*(p))) || (IS_RESERVED(*(p)))) + ret[len++] = *p++; + else { + int val = *(unsigned char *)p++; + int hi = val / 0x10, lo = val % 0x10; + ret[len++] = '%'; + ret[len++] = hi + (hi > 9? 'A'-10 : '0'); + ret[len++] = lo + (lo > 9? 'A'-10 : '0'); + } + } + } + } + if (uri->fragment != NULL) { + if (len + 3 >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + ret[len++] = '#'; + p = uri->fragment; + while (*p != 0) { + if (len + 3 >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + if ((IS_UNRESERVED(*(p))) || (IS_RESERVED(*(p)))) + ret[len++] = *p++; + else { + int val = *(unsigned char *)p++; + int hi = val / 0x10, lo = val % 0x10; + ret[len++] = '%'; + ret[len++] = hi + (hi > 9? 'A'-10 : '0'); + ret[len++] = lo + (lo > 9? 'A'-10 : '0'); + } + } + } + if (len >= max) { + temp = xmlSaveUriRealloc(ret, &max); + if (temp == NULL) goto mem_error; + ret = temp; + } + ret[len] = 0; + return(ret); + +mem_error: + xmlFree(ret); + return(NULL); +} + +/** + * xmlPrintURI: + * @stream: a FILE* for the output + * @uri: pointer to an xmlURI + * + * Prints the URI in the stream @stream. + */ +void +xmlPrintURI(FILE *stream, xmlURIPtr uri) { + xmlChar *out; + + out = xmlSaveUri(uri); + if (out != NULL) { + fprintf(stream, "%s", (char *) out); + xmlFree(out); + } +} + +/** + * xmlCleanURI: + * @uri: pointer to an xmlURI + * + * Make sure the xmlURI struct is free of content + */ +static void +xmlCleanURI(xmlURIPtr uri) { + if (uri == NULL) return; + + if (uri->scheme != NULL) xmlFree(uri->scheme); + uri->scheme = NULL; + if (uri->server != NULL) xmlFree(uri->server); + uri->server = NULL; + if (uri->user != NULL) xmlFree(uri->user); + uri->user = NULL; + if (uri->path != NULL) xmlFree(uri->path); + uri->path = NULL; + if (uri->fragment != NULL) xmlFree(uri->fragment); + uri->fragment = NULL; + if (uri->opaque != NULL) xmlFree(uri->opaque); + uri->opaque = NULL; + if (uri->authority != NULL) xmlFree(uri->authority); + uri->authority = NULL; + if (uri->query != NULL) xmlFree(uri->query); + uri->query = NULL; + if (uri->query_raw != NULL) xmlFree(uri->query_raw); + uri->query_raw = NULL; +} + +/** + * xmlFreeURI: + * @uri: pointer to an xmlURI + * + * Free up the xmlURI struct + */ +void +xmlFreeURI(xmlURIPtr uri) { + if (uri == NULL) return; + + if (uri->scheme != NULL) xmlFree(uri->scheme); + if (uri->server != NULL) xmlFree(uri->server); + if (uri->user != NULL) xmlFree(uri->user); + if (uri->path != NULL) xmlFree(uri->path); + if (uri->fragment != NULL) xmlFree(uri->fragment); + if (uri->opaque != NULL) xmlFree(uri->opaque); + if (uri->authority != NULL) xmlFree(uri->authority); + if (uri->query != NULL) xmlFree(uri->query); + if (uri->query_raw != NULL) xmlFree(uri->query_raw); + xmlFree(uri); +} + +/************************************************************************ + * * + * Helper functions * + * * + ************************************************************************/ + +/** + * xmlNormalizeURIPath: + * @path: pointer to the path string + * + * Applies the 5 normalization steps to a path string--that is, RFC 2396 + * Section 5.2, steps 6.c through 6.g. + * + * Normalization occurs directly on the string, no new allocation is done + * + * Returns 0 or an error code + */ +int +xmlNormalizeURIPath(char *path) { + char *cur, *out; + + if (path == NULL) + return(-1); + + /* Skip all initial "/" chars. We want to get to the beginning of the + * first non-empty segment. + */ + cur = path; + while (cur[0] == '/') + ++cur; + if (cur[0] == '\0') + return(0); + + /* Keep everything we've seen so far. */ + out = cur; + + /* + * Analyze each segment in sequence for cases (c) and (d). + */ + while (cur[0] != '\0') { + /* + * c) All occurrences of "./", where "." is a complete path segment, + * are removed from the buffer string. + */ + if ((cur[0] == '.') && (cur[1] == '/')) { + cur += 2; + /* '//' normalization should be done at this point too */ + while (cur[0] == '/') + cur++; + continue; + } + + /* + * d) If the buffer string ends with "." as a complete path segment, + * that "." is removed. + */ + if ((cur[0] == '.') && (cur[1] == '\0')) + break; + + /* Otherwise keep the segment. */ + while (cur[0] != '/') { + if (cur[0] == '\0') + goto done_cd; + (out++)[0] = (cur++)[0]; + } + /* normalize // */ + while ((cur[0] == '/') && (cur[1] == '/')) + cur++; + + (out++)[0] = (cur++)[0]; + } + done_cd: + out[0] = '\0'; + + /* Reset to the beginning of the first segment for the next sequence. */ + cur = path; + while (cur[0] == '/') + ++cur; + if (cur[0] == '\0') + return(0); + + /* + * Analyze each segment in sequence for cases (e) and (f). + * + * e) All occurrences of "/../", where is a + * complete path segment not equal to "..", are removed from the + * buffer string. Removal of these path segments is performed + * iteratively, removing the leftmost matching pattern on each + * iteration, until no matching pattern remains. + * + * f) If the buffer string ends with "/..", where + * is a complete path segment not equal to "..", that + * "/.." is removed. + * + * To satisfy the "iterative" clause in (e), we need to collapse the + * string every time we find something that needs to be removed. Thus, + * we don't need to keep two pointers into the string: we only need a + * "current position" pointer. + */ + while (1) { + char *segp, *tmp; + + /* At the beginning of each iteration of this loop, "cur" points to + * the first character of the segment we want to examine. + */ + + /* Find the end of the current segment. */ + segp = cur; + while ((segp[0] != '/') && (segp[0] != '\0')) + ++segp; + + /* If this is the last segment, we're done (we need at least two + * segments to meet the criteria for the (e) and (f) cases). + */ + if (segp[0] == '\0') + break; + + /* If the first segment is "..", or if the next segment _isn't_ "..", + * keep this segment and try the next one. + */ + ++segp; + if (((cur[0] == '.') && (cur[1] == '.') && (segp == cur+3)) + || ((segp[0] != '.') || (segp[1] != '.') + || ((segp[2] != '/') && (segp[2] != '\0')))) { + cur = segp; + continue; + } + + /* If we get here, remove this segment and the next one and back up + * to the previous segment (if there is one), to implement the + * "iteratively" clause. It's pretty much impossible to back up + * while maintaining two pointers into the buffer, so just compact + * the whole buffer now. + */ + + /* If this is the end of the buffer, we're done. */ + if (segp[2] == '\0') { + cur[0] = '\0'; + break; + } + /* Valgrind complained, strcpy(cur, segp + 3); */ + /* string will overlap, do not use strcpy */ + tmp = cur; + segp += 3; + while ((*tmp++ = *segp++) != 0) + ; + + /* If there are no previous segments, then keep going from here. */ + segp = cur; + while ((segp > path) && ((--segp)[0] == '/')) + ; + if (segp == path) + continue; + + /* "segp" is pointing to the end of a previous segment; find it's + * start. We need to back up to the previous segment and start + * over with that to handle things like "foo/bar/../..". If we + * don't do this, then on the first pass we'll remove the "bar/..", + * but be pointing at the second ".." so we won't realize we can also + * remove the "foo/..". + */ + cur = segp; + while ((cur > path) && (cur[-1] != '/')) + --cur; + } + out[0] = '\0'; + + /* + * g) If the resulting buffer string still begins with one or more + * complete path segments of "..", then the reference is + * considered to be in error. Implementations may handle this + * error by retaining these components in the resolved path (i.e., + * treating them as part of the final URI), by removing them from + * the resolved path (i.e., discarding relative levels above the + * root), or by avoiding traversal of the reference. + * + * We discard them from the final path. + */ + if (path[0] == '/') { + cur = path; + while ((cur[0] == '/') && (cur[1] == '.') && (cur[2] == '.') + && ((cur[3] == '/') || (cur[3] == '\0'))) + cur += 3; + + if (cur != path) { + out = path; + while (cur[0] != '\0') + (out++)[0] = (cur++)[0]; + out[0] = 0; + } + } + + return(0); +} + +static int is_hex(char c) { + if (((c >= '0') && (c <= '9')) || + ((c >= 'a') && (c <= 'f')) || + ((c >= 'A') && (c <= 'F'))) + return(1); + return(0); +} + +/** + * xmlURIUnescapeString: + * @str: the string to unescape + * @len: the length in bytes to unescape (or <= 0 to indicate full string) + * @target: optional destination buffer + * + * Unescaping routine, but does not check that the string is an URI. The + * output is a direct unsigned char translation of %XX values (no encoding) + * Note that the length of the result can only be smaller or same size as + * the input string. + * + * Returns a copy of the string, but unescaped, will return NULL only in case + * of error + */ +char * +xmlURIUnescapeString(const char *str, int len, char *target) { + char *ret, *out; + const char *in; + + if (str == NULL) + return(NULL); + if (len <= 0) len = strlen(str); + if (len < 0) return(NULL); + + if (target == NULL) { + ret = (char *) xmlMallocAtomic(len + 1); + if (ret == NULL) { + xmlURIErrMemory("unescaping URI value\n"); + return(NULL); + } + } else + ret = target; + in = str; + out = ret; + while(len > 0) { + if ((len > 2) && (*in == '%') && (is_hex(in[1])) && (is_hex(in[2]))) { + in++; + if ((*in >= '0') && (*in <= '9')) + *out = (*in - '0'); + else if ((*in >= 'a') && (*in <= 'f')) + *out = (*in - 'a') + 10; + else if ((*in >= 'A') && (*in <= 'F')) + *out = (*in - 'A') + 10; + in++; + if ((*in >= '0') && (*in <= '9')) + *out = *out * 16 + (*in - '0'); + else if ((*in >= 'a') && (*in <= 'f')) + *out = *out * 16 + (*in - 'a') + 10; + else if ((*in >= 'A') && (*in <= 'F')) + *out = *out * 16 + (*in - 'A') + 10; + in++; + len -= 3; + out++; + } else { + *out++ = *in++; + len--; + } + } + *out = 0; + return(ret); +} + +/** + * xmlURIEscapeStr: + * @str: string to escape + * @list: exception list string of chars not to escape + * + * This routine escapes a string to hex, ignoring reserved characters (a-z) + * and the characters in the exception list. + * + * Returns a new escaped string or NULL in case of error. + */ +xmlChar * +xmlURIEscapeStr(const xmlChar *str, const xmlChar *list) { + xmlChar *ret, ch; + xmlChar *temp; + const xmlChar *in; + int len, out; + + if (str == NULL) + return(NULL); + if (str[0] == 0) + return(xmlStrdup(str)); + len = xmlStrlen(str); + if (!(len > 0)) return(NULL); + + len += 20; + ret = (xmlChar *) xmlMallocAtomic(len); + if (ret == NULL) { + xmlURIErrMemory("escaping URI value\n"); + return(NULL); + } + in = (const xmlChar *) str; + out = 0; + while(*in != 0) { + if (len - out <= 3) { + temp = xmlSaveUriRealloc(ret, &len); + if (temp == NULL) { + xmlURIErrMemory("escaping URI value\n"); + xmlFree(ret); + return(NULL); + } + ret = temp; + } + + ch = *in; + + if ((ch != '@') && (!IS_UNRESERVED(ch)) && (!xmlStrchr(list, ch))) { + unsigned char val; + ret[out++] = '%'; + val = ch >> 4; + if (val <= 9) + ret[out++] = '0' + val; + else + ret[out++] = 'A' + val - 0xA; + val = ch & 0xF; + if (val <= 9) + ret[out++] = '0' + val; + else + ret[out++] = 'A' + val - 0xA; + in++; + } else { + ret[out++] = *in++; + } + + } + ret[out] = 0; + return(ret); +} + +/** + * xmlURIEscape: + * @str: the string of the URI to escape + * + * Escaping routine, does not do validity checks ! + * It will try to escape the chars needing this, but this is heuristic + * based it's impossible to be sure. + * + * Returns an copy of the string, but escaped + * + * 25 May 2001 + * Uses xmlParseURI and xmlURIEscapeStr to try to escape correctly + * according to RFC2396. + * - Carl Douglas + */ +xmlChar * +xmlURIEscape(const xmlChar * str) +{ + xmlChar *ret, *segment = NULL; + xmlURIPtr uri; + int ret2; + +#define NULLCHK(p) if(!p) { \ + xmlURIErrMemory("escaping URI value\n"); \ + xmlFreeURI(uri); \ + return NULL; } \ + + if (str == NULL) + return (NULL); + + uri = xmlCreateURI(); + if (uri != NULL) { + /* + * Allow escaping errors in the unescaped form + */ + uri->cleanup = 1; + ret2 = xmlParseURIReference(uri, (const char *)str); + if (ret2) { + xmlFreeURI(uri); + return (NULL); + } + } + + if (!uri) + return NULL; + + ret = NULL; + + if (uri->scheme) { + segment = xmlURIEscapeStr(BAD_CAST uri->scheme, BAD_CAST "+-."); + NULLCHK(segment) + ret = xmlStrcat(ret, segment); + ret = xmlStrcat(ret, BAD_CAST ":"); + xmlFree(segment); + } + + if (uri->authority) { + segment = + xmlURIEscapeStr(BAD_CAST uri->authority, BAD_CAST "/?;:@"); + NULLCHK(segment) + ret = xmlStrcat(ret, BAD_CAST "//"); + ret = xmlStrcat(ret, segment); + xmlFree(segment); + } + + if (uri->user) { + segment = xmlURIEscapeStr(BAD_CAST uri->user, BAD_CAST ";:&=+$,"); + NULLCHK(segment) + ret = xmlStrcat(ret,BAD_CAST "//"); + ret = xmlStrcat(ret, segment); + ret = xmlStrcat(ret, BAD_CAST "@"); + xmlFree(segment); + } + + if (uri->server) { + segment = xmlURIEscapeStr(BAD_CAST uri->server, BAD_CAST "/?;:@"); + NULLCHK(segment) + if (uri->user == NULL) + ret = xmlStrcat(ret, BAD_CAST "//"); + ret = xmlStrcat(ret, segment); + xmlFree(segment); + } + + if (uri->port) { + xmlChar port[10]; + + snprintf((char *) port, 10, "%d", uri->port); + ret = xmlStrcat(ret, BAD_CAST ":"); + ret = xmlStrcat(ret, port); + } + + if (uri->path) { + segment = + xmlURIEscapeStr(BAD_CAST uri->path, BAD_CAST ":@&=+$,/?;"); + NULLCHK(segment) + ret = xmlStrcat(ret, segment); + xmlFree(segment); + } + + if (uri->query_raw) { + ret = xmlStrcat(ret, BAD_CAST "?"); + ret = xmlStrcat(ret, BAD_CAST uri->query_raw); + } + else if (uri->query) { + segment = + xmlURIEscapeStr(BAD_CAST uri->query, BAD_CAST ";/?:@&=+,$"); + NULLCHK(segment) + ret = xmlStrcat(ret, BAD_CAST "?"); + ret = xmlStrcat(ret, segment); + xmlFree(segment); + } + + if (uri->opaque) { + segment = xmlURIEscapeStr(BAD_CAST uri->opaque, BAD_CAST ""); + NULLCHK(segment) + ret = xmlStrcat(ret, segment); + xmlFree(segment); + } + + if (uri->fragment) { + segment = xmlURIEscapeStr(BAD_CAST uri->fragment, BAD_CAST "#"); + NULLCHK(segment) + ret = xmlStrcat(ret, BAD_CAST "#"); + ret = xmlStrcat(ret, segment); + xmlFree(segment); + } + + xmlFreeURI(uri); +#undef NULLCHK + + return (ret); +} + +/************************************************************************ + * * + * Public functions * + * * + ************************************************************************/ + +/** + * xmlBuildURI: + * @URI: the URI instance found in the document + * @base: the base value + * + * Computes he final URI of the reference done by checking that + * the given URI is valid, and building the final URI using the + * base URI. This is processed according to section 5.2 of the + * RFC 2396 + * + * 5.2. Resolving Relative References to Absolute Form + * + * Returns a new URI string (to be freed by the caller) or NULL in case + * of error. + */ +xmlChar * +xmlBuildURI(const xmlChar *URI, const xmlChar *base) { + xmlChar *val = NULL; + int ret, len, indx, cur, out; + xmlURIPtr ref = NULL; + xmlURIPtr bas = NULL; + xmlURIPtr res = NULL; + + /* + * 1) The URI reference is parsed into the potential four components and + * fragment identifier, as described in Section 4.3. + * + * NOTE that a completely empty URI is treated by modern browsers + * as a reference to "." rather than as a synonym for the current + * URI. Should we do that here? + */ + if (URI == NULL) + ret = -1; + else { + if (*URI) { + ref = xmlCreateURI(); + if (ref == NULL) + goto done; + ret = xmlParseURIReference(ref, (const char *) URI); + } + else + ret = 0; + } + if (ret != 0) + goto done; + if ((ref != NULL) && (ref->scheme != NULL)) { + /* + * The URI is absolute don't modify. + */ + val = xmlStrdup(URI); + goto done; + } + if (base == NULL) + ret = -1; + else { + bas = xmlCreateURI(); + if (bas == NULL) + goto done; + ret = xmlParseURIReference(bas, (const char *) base); + } + if (ret != 0) { + if (ref) + val = xmlSaveUri(ref); + goto done; + } + if (ref == NULL) { + /* + * the base fragment must be ignored + */ + if (bas->fragment != NULL) { + xmlFree(bas->fragment); + bas->fragment = NULL; + } + val = xmlSaveUri(bas); + goto done; + } + + /* + * 2) If the path component is empty and the scheme, authority, and + * query components are undefined, then it is a reference to the + * current document and we are done. Otherwise, the reference URI's + * query and fragment components are defined as found (or not found) + * within the URI reference and not inherited from the base URI. + * + * NOTE that in modern browsers, the parsing differs from the above + * in the following aspect: the query component is allowed to be + * defined while still treating this as a reference to the current + * document. + */ + res = xmlCreateURI(); + if (res == NULL) + goto done; + if ((ref->scheme == NULL) && (ref->path == NULL) && + ((ref->authority == NULL) && (ref->server == NULL))) { + if (bas->scheme != NULL) + res->scheme = xmlMemStrdup(bas->scheme); + if (bas->authority != NULL) + res->authority = xmlMemStrdup(bas->authority); + else if ((bas->server != NULL) || (bas->port == -1)) { + if (bas->server != NULL) + res->server = xmlMemStrdup(bas->server); + if (bas->user != NULL) + res->user = xmlMemStrdup(bas->user); + res->port = bas->port; + } + if (bas->path != NULL) + res->path = xmlMemStrdup(bas->path); + if (ref->query_raw != NULL) + res->query_raw = xmlMemStrdup (ref->query_raw); + else if (ref->query != NULL) + res->query = xmlMemStrdup(ref->query); + else if (bas->query_raw != NULL) + res->query_raw = xmlMemStrdup(bas->query_raw); + else if (bas->query != NULL) + res->query = xmlMemStrdup(bas->query); + if (ref->fragment != NULL) + res->fragment = xmlMemStrdup(ref->fragment); + goto step_7; + } + + /* + * 3) If the scheme component is defined, indicating that the reference + * starts with a scheme name, then the reference is interpreted as an + * absolute URI and we are done. Otherwise, the reference URI's + * scheme is inherited from the base URI's scheme component. + */ + if (ref->scheme != NULL) { + val = xmlSaveUri(ref); + goto done; + } + if (bas->scheme != NULL) + res->scheme = xmlMemStrdup(bas->scheme); + + if (ref->query_raw != NULL) + res->query_raw = xmlMemStrdup(ref->query_raw); + else if (ref->query != NULL) + res->query = xmlMemStrdup(ref->query); + if (ref->fragment != NULL) + res->fragment = xmlMemStrdup(ref->fragment); + + /* + * 4) If the authority component is defined, then the reference is a + * network-path and we skip to step 7. Otherwise, the reference + * URI's authority is inherited from the base URI's authority + * component, which will also be undefined if the URI scheme does not + * use an authority component. + */ + if ((ref->authority != NULL) || (ref->server != NULL)) { + if (ref->authority != NULL) + res->authority = xmlMemStrdup(ref->authority); + else { + res->server = xmlMemStrdup(ref->server); + if (ref->user != NULL) + res->user = xmlMemStrdup(ref->user); + res->port = ref->port; + } + if (ref->path != NULL) + res->path = xmlMemStrdup(ref->path); + goto step_7; + } + if (bas->authority != NULL) + res->authority = xmlMemStrdup(bas->authority); + else if ((bas->server != NULL) || (bas->port == -1)) { + if (bas->server != NULL) + res->server = xmlMemStrdup(bas->server); + if (bas->user != NULL) + res->user = xmlMemStrdup(bas->user); + res->port = bas->port; + } + + /* + * 5) If the path component begins with a slash character ("/"), then + * the reference is an absolute-path and we skip to step 7. + */ + if ((ref->path != NULL) && (ref->path[0] == '/')) { + res->path = xmlMemStrdup(ref->path); + goto step_7; + } + + + /* + * 6) If this step is reached, then we are resolving a relative-path + * reference. The relative path needs to be merged with the base + * URI's path. Although there are many ways to do this, we will + * describe a simple method using a separate string buffer. + * + * Allocate a buffer large enough for the result string. + */ + len = 2; /* extra / and 0 */ + if (ref->path != NULL) + len += strlen(ref->path); + if (bas->path != NULL) + len += strlen(bas->path); + res->path = (char *) xmlMallocAtomic(len); + if (res->path == NULL) { + xmlURIErrMemory("resolving URI against base\n"); + goto done; + } + res->path[0] = 0; + + /* + * a) All but the last segment of the base URI's path component is + * copied to the buffer. In other words, any characters after the + * last (right-most) slash character, if any, are excluded. + */ + cur = 0; + out = 0; + if (bas->path != NULL) { + while (bas->path[cur] != 0) { + while ((bas->path[cur] != 0) && (bas->path[cur] != '/')) + cur++; + if (bas->path[cur] == 0) + break; + + cur++; + while (out < cur) { + res->path[out] = bas->path[out]; + out++; + } + } + } + res->path[out] = 0; + + /* + * b) The reference's path component is appended to the buffer + * string. + */ + if (ref->path != NULL && ref->path[0] != 0) { + indx = 0; + /* + * Ensure the path includes a '/' + */ + if ((out == 0) && (bas->server != NULL)) + res->path[out++] = '/'; + while (ref->path[indx] != 0) { + res->path[out++] = ref->path[indx++]; + } + } + res->path[out] = 0; + + /* + * Steps c) to h) are really path normalization steps + */ + xmlNormalizeURIPath(res->path); + +step_7: + + /* + * 7) The resulting URI components, including any inherited from the + * base URI, are recombined to give the absolute form of the URI + * reference. + */ + val = xmlSaveUri(res); + +done: + if (ref != NULL) + xmlFreeURI(ref); + if (bas != NULL) + xmlFreeURI(bas); + if (res != NULL) + xmlFreeURI(res); + return(val); +} + +/** + * xmlBuildRelativeURI: + * @URI: the URI reference under consideration + * @base: the base value + * + * Expresses the URI of the reference in terms relative to the + * base. Some examples of this operation include: + * base = "http://site1.com/docs/book1.html" + * URI input URI returned + * docs/pic1.gif pic1.gif + * docs/img/pic1.gif img/pic1.gif + * img/pic1.gif ../img/pic1.gif + * http://site1.com/docs/pic1.gif pic1.gif + * http://site2.com/docs/pic1.gif http://site2.com/docs/pic1.gif + * + * base = "docs/book1.html" + * URI input URI returned + * docs/pic1.gif pic1.gif + * docs/img/pic1.gif img/pic1.gif + * img/pic1.gif ../img/pic1.gif + * http://site1.com/docs/pic1.gif http://site1.com/docs/pic1.gif + * + * + * Note: if the URI reference is really weird or complicated, it may be + * worthwhile to first convert it into a "nice" one by calling + * xmlBuildURI (using 'base') before calling this routine, + * since this routine (for reasonable efficiency) assumes URI has + * already been through some validation. + * + * Returns a new URI string (to be freed by the caller) or NULL in case + * error. + */ +xmlChar * +xmlBuildRelativeURI (const xmlChar * URI, const xmlChar * base) +{ + xmlChar *val = NULL; + int ret; + int ix; + int nbslash = 0; + int len; + xmlURIPtr ref = NULL; + xmlURIPtr bas = NULL; + xmlChar *bptr, *uptr, *vptr; + int remove_path = 0; + + if ((URI == NULL) || (*URI == 0)) + return NULL; + + /* + * First parse URI into a standard form + */ + ref = xmlCreateURI (); + if (ref == NULL) + return NULL; + /* If URI not already in "relative" form */ + if (URI[0] != '.') { + ret = xmlParseURIReference (ref, (const char *) URI); + if (ret != 0) + goto done; /* Error in URI, return NULL */ + } else + ref->path = (char *)xmlStrdup(URI); + + /* + * Next parse base into the same standard form + */ + if ((base == NULL) || (*base == 0)) { + val = xmlStrdup (URI); + goto done; + } + bas = xmlCreateURI (); + if (bas == NULL) + goto done; + if (base[0] != '.') { + ret = xmlParseURIReference (bas, (const char *) base); + if (ret != 0) + goto done; /* Error in base, return NULL */ + } else + bas->path = (char *)xmlStrdup(base); + + /* + * If the scheme / server on the URI differs from the base, + * just return the URI + */ + if ((ref->scheme != NULL) && + ((bas->scheme == NULL) || + (xmlStrcmp ((xmlChar *)bas->scheme, (xmlChar *)ref->scheme)) || + (xmlStrcmp ((xmlChar *)bas->server, (xmlChar *)ref->server)))) { + val = xmlStrdup (URI); + goto done; + } + if (xmlStrEqual((xmlChar *)bas->path, (xmlChar *)ref->path)) { + val = xmlStrdup(BAD_CAST ""); + goto done; + } + if (bas->path == NULL) { + val = xmlStrdup((xmlChar *)ref->path); + goto done; + } + if (ref->path == NULL) { + ref->path = (char *) "/"; + remove_path = 1; + } + + /* + * At this point (at last!) we can compare the two paths + * + * First we take care of the special case where either of the + * two path components may be missing (bug 316224) + */ + bptr = (xmlChar *)bas->path; + { + xmlChar *rptr = (xmlChar *) ref->path; + int pos = 0; + + /* + * Next we compare the two strings and find where they first differ + */ + if ((*rptr == '.') && (rptr[1] == '/')) + rptr += 2; + if ((*bptr == '.') && (bptr[1] == '/')) + bptr += 2; + else if ((*bptr == '/') && (*rptr != '/')) + bptr++; + while ((bptr[pos] == rptr[pos]) && (bptr[pos] != 0)) + pos++; + + if (bptr[pos] == rptr[pos]) { + val = xmlStrdup(BAD_CAST ""); + goto done; /* (I can't imagine why anyone would do this) */ + } + + /* + * In URI, "back up" to the last '/' encountered. This will be the + * beginning of the "unique" suffix of URI + */ + ix = pos; + for (; ix > 0; ix--) { + if (rptr[ix - 1] == '/') + break; + } + uptr = (xmlChar *)&rptr[ix]; + + /* + * In base, count the number of '/' from the differing point + */ + for (; bptr[ix] != 0; ix++) { + if (bptr[ix] == '/') + nbslash++; + } + + /* + * e.g: URI="foo/" base="foo/bar" -> "./" + */ + if (nbslash == 0 && !uptr[0]) { + val = xmlStrdup(BAD_CAST "./"); + goto done; + } + + len = xmlStrlen (uptr) + 1; + } + + if (nbslash == 0) { + if (uptr != NULL) + /* exception characters from xmlSaveUri */ + val = xmlURIEscapeStr(uptr, BAD_CAST "/;&=+$,"); + goto done; + } + + /* + * Allocate just enough space for the returned string - + * length of the remainder of the URI, plus enough space + * for the "../" groups, plus one for the terminator + */ + val = (xmlChar *) xmlMalloc (len + 3 * nbslash); + if (val == NULL) { + xmlURIErrMemory("building relative URI\n"); + goto done; + } + vptr = val; + /* + * Put in as many "../" as needed + */ + for (; nbslash>0; nbslash--) { + *vptr++ = '.'; + *vptr++ = '.'; + *vptr++ = '/'; + } + /* + * Finish up with the end of the URI + */ + if (uptr != NULL) { + if ((vptr > val) && (len > 0) && + (uptr[0] == '/') && (vptr[-1] == '/')) { + memcpy (vptr, uptr + 1, len - 1); + vptr[len - 2] = 0; + } else { + memcpy (vptr, uptr, len); + vptr[len - 1] = 0; + } + } else { + vptr[len - 1] = 0; + } + + /* escape the freshly-built path */ + vptr = val; + /* exception characters from xmlSaveUri */ + val = xmlURIEscapeStr(vptr, BAD_CAST "/;&=+$,"); + xmlFree(vptr); + +done: + /* + * Free the working variables + */ + if (remove_path != 0) + ref->path = NULL; + if (ref != NULL) + xmlFreeURI (ref); + if (bas != NULL) + xmlFreeURI (bas); + + return val; +} + +/** + * xmlCanonicPath: + * @path: the resource locator in a filesystem notation + * + * Constructs a canonic path from the specified path. + * + * Returns a new canonic path, or a duplicate of the path parameter if the + * construction fails. The caller is responsible for freeing the memory occupied + * by the returned string. If there is insufficient memory available, or the + * argument is NULL, the function returns NULL. + */ +#define IS_WINDOWS_PATH(p) \ + ((p != NULL) && \ + (((p[0] >= 'a') && (p[0] <= 'z')) || \ + ((p[0] >= 'A') && (p[0] <= 'Z'))) && \ + (p[1] == ':') && ((p[2] == '/') || (p[2] == '\\'))) +xmlChar * +xmlCanonicPath(const xmlChar *path) +{ +/* + * For Windows implementations, additional work needs to be done to + * replace backslashes in pathnames with "forward slashes" + */ +#if defined(_WIN32) && !defined(__CYGWIN__) + int len = 0; + char *p = NULL; +#endif + xmlURIPtr uri; + xmlChar *ret; + const xmlChar *absuri; + + if (path == NULL) + return(NULL); + +#if defined(_WIN32) + /* + * We must not change the backslashes to slashes if the the path + * starts with \\?\ + * Those paths can be up to 32k characters long. + * Was added specifically for OpenOffice, those paths can't be converted + * to URIs anyway. + */ + if ((path[0] == '\\') && (path[1] == '\\') && (path[2] == '?') && + (path[3] == '\\') ) + return xmlStrdup((const xmlChar *) path); +#endif + + /* sanitize filename starting with // so it can be used as URI */ + if ((path[0] == '/') && (path[1] == '/') && (path[2] != '/')) + path++; + + if ((uri = xmlParseURI((const char *) path)) != NULL) { + xmlFreeURI(uri); + return xmlStrdup(path); + } + + /* Check if this is an "absolute uri" */ + absuri = xmlStrstr(path, BAD_CAST "://"); + if (absuri != NULL) { + int l, j; + unsigned char c; + xmlChar *escURI; + + /* + * this looks like an URI where some parts have not been + * escaped leading to a parsing problem. Check that the first + * part matches a protocol. + */ + l = absuri - path; + /* Bypass if first part (part before the '://') is > 20 chars */ + if ((l <= 0) || (l > 20)) + goto path_processing; + /* Bypass if any non-alpha characters are present in first part */ + for (j = 0;j < l;j++) { + c = path[j]; + if (!(((c >= 'a') && (c <= 'z')) || ((c >= 'A') && (c <= 'Z')))) + goto path_processing; + } + + /* Escape all except the characters specified in the supplied path */ + escURI = xmlURIEscapeStr(path, BAD_CAST ":/?_.#&;="); + if (escURI != NULL) { + /* Try parsing the escaped path */ + uri = xmlParseURI((const char *) escURI); + /* If successful, return the escaped string */ + if (uri != NULL) { + xmlFreeURI(uri); + return escURI; + } + xmlFree(escURI); + } + } + +path_processing: +/* For Windows implementations, replace backslashes with 'forward slashes' */ +#if defined(_WIN32) && !defined(__CYGWIN__) + /* + * Create a URI structure + */ + uri = xmlCreateURI(); + if (uri == NULL) { /* Guard against 'out of memory' */ + return(NULL); + } + + len = xmlStrlen(path); + if ((len > 2) && IS_WINDOWS_PATH(path)) { + /* make the scheme 'file' */ + uri->scheme = (char *) xmlStrdup(BAD_CAST "file"); + /* allocate space for leading '/' + path + string terminator */ + uri->path = xmlMallocAtomic(len + 2); + if (uri->path == NULL) { + xmlFreeURI(uri); /* Guard against 'out of memory' */ + return(NULL); + } + /* Put in leading '/' plus path */ + uri->path[0] = '/'; + p = uri->path + 1; + strncpy(p, (char *) path, len + 1); + } else { + uri->path = (char *) xmlStrdup(path); + if (uri->path == NULL) { + xmlFreeURI(uri); + return(NULL); + } + p = uri->path; + } + /* Now change all occurrences of '\' to '/' */ + while (*p != '\0') { + if (*p == '\\') + *p = '/'; + p++; + } + + if (uri->scheme == NULL) { + ret = xmlStrdup((const xmlChar *) uri->path); + } else { + ret = xmlSaveUri(uri); + } + + xmlFreeURI(uri); +#else + ret = xmlStrdup((const xmlChar *) path); +#endif + return(ret); +} + +/** + * xmlPathToURI: + * @path: the resource locator in a filesystem notation + * + * Constructs an URI expressing the existing path + * + * Returns a new URI, or a duplicate of the path parameter if the + * construction fails. The caller is responsible for freeing the memory + * occupied by the returned string. If there is insufficient memory available, + * or the argument is NULL, the function returns NULL. + */ +xmlChar * +xmlPathToURI(const xmlChar *path) +{ + xmlURIPtr uri; + xmlURI temp; + xmlChar *ret, *cal; + + if (path == NULL) + return(NULL); + + if ((uri = xmlParseURI((const char *) path)) != NULL) { + xmlFreeURI(uri); + return xmlStrdup(path); + } + cal = xmlCanonicPath(path); + if (cal == NULL) + return(NULL); +#if defined(_WIN32) && !defined(__CYGWIN__) + /* xmlCanonicPath can return an URI on Windows (is that the intended behaviour?) + If 'cal' is a valid URI already then we are done here, as continuing would make + it invalid. */ + if ((uri = xmlParseURI((const char *) cal)) != NULL) { + xmlFreeURI(uri); + return cal; + } + /* 'cal' can contain a relative path with backslashes. If that is processed + by xmlSaveURI, they will be escaped and the external entity loader machinery + will fail. So convert them to slashes. Misuse 'ret' for walking. */ + ret = cal; + while (*ret != '\0') { + if (*ret == '\\') + *ret = '/'; + ret++; + } +#endif + memset(&temp, 0, sizeof(temp)); + temp.path = (char *) cal; + ret = xmlSaveUri(&temp); + xmlFree(cal); + return(ret); +} +#define bottom_uri +#include "elfgcchack.h" diff --git a/valid.c b/valid.c new file mode 100644 index 0000000..07963e7 --- /dev/null +++ b/valid.c @@ -0,0 +1,7139 @@ +/* + * valid.c : part of the code use to do the DTD handling and the validity + * checking + * + * See Copyright for the status of this software. + * + * daniel@veillard.com + */ + +#define IN_LIBXML +#include "libxml.h" + +#include + +#ifdef HAVE_STDLIB_H +#include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static xmlElementPtr xmlGetDtdElementDesc2(xmlDtdPtr dtd, const xmlChar *name, + int create); +/* #define DEBUG_VALID_ALGO */ +/* #define DEBUG_REGEXP_ALGO */ + +#define TODO \ + xmlGenericError(xmlGenericErrorContext, \ + "Unimplemented block at %s:%d\n", \ + __FILE__, __LINE__); + +#ifdef LIBXML_VALID_ENABLED +static int +xmlValidateAttributeValueInternal(xmlDocPtr doc, xmlAttributeType type, + const xmlChar *value); +#endif +/************************************************************************ + * * + * Error handling routines * + * * + ************************************************************************/ + +/** + * xmlVErrMemory: + * @ctxt: an XML validation parser context + * @extra: extra informations + * + * Handle an out of memory error + */ +static void +xmlVErrMemory(xmlValidCtxtPtr ctxt, const char *extra) +{ + xmlGenericErrorFunc channel = NULL; + xmlParserCtxtPtr pctxt = NULL; + void *data = NULL; + + if (ctxt != NULL) { + channel = ctxt->error; + data = ctxt->userData; + /* Use the special values to detect if it is part of a parsing + context */ + if ((ctxt->finishDtd == XML_CTXT_FINISH_DTD_0) || + (ctxt->finishDtd == XML_CTXT_FINISH_DTD_1)) { + long delta = (char *) ctxt - (char *) ctxt->userData; + if ((delta > 0) && (delta < 250)) + pctxt = ctxt->userData; + } + } + if (extra) + __xmlRaiseError(NULL, channel, data, + pctxt, NULL, XML_FROM_VALID, XML_ERR_NO_MEMORY, + XML_ERR_FATAL, NULL, 0, extra, NULL, NULL, 0, 0, + "Memory allocation failed : %s\n", extra); + else + __xmlRaiseError(NULL, channel, data, + pctxt, NULL, XML_FROM_VALID, XML_ERR_NO_MEMORY, + XML_ERR_FATAL, NULL, 0, NULL, NULL, NULL, 0, 0, + "Memory allocation failed\n"); +} + +/** + * xmlErrValid: + * @ctxt: an XML validation parser context + * @error: the error number + * @extra: extra informations + * + * Handle a validation error + */ +static void LIBXML_ATTR_FORMAT(3,0) +xmlErrValid(xmlValidCtxtPtr ctxt, xmlParserErrors error, + const char *msg, const char *extra) +{ + xmlGenericErrorFunc channel = NULL; + xmlParserCtxtPtr pctxt = NULL; + void *data = NULL; + + if (ctxt != NULL) { + channel = ctxt->error; + data = ctxt->userData; + /* Use the special values to detect if it is part of a parsing + context */ + if ((ctxt->finishDtd == XML_CTXT_FINISH_DTD_0) || + (ctxt->finishDtd == XML_CTXT_FINISH_DTD_1)) { + long delta = (char *) ctxt - (char *) ctxt->userData; + if ((delta > 0) && (delta < 250)) + pctxt = ctxt->userData; + } + } + if (extra) + __xmlRaiseError(NULL, channel, data, + pctxt, NULL, XML_FROM_VALID, error, + XML_ERR_ERROR, NULL, 0, extra, NULL, NULL, 0, 0, + msg, extra); + else + __xmlRaiseError(NULL, channel, data, + pctxt, NULL, XML_FROM_VALID, error, + XML_ERR_ERROR, NULL, 0, NULL, NULL, NULL, 0, 0, + "%s", msg); +} + +#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +/** + * xmlErrValidNode: + * @ctxt: an XML validation parser context + * @node: the node raising the error + * @error: the error number + * @str1: extra informations + * @str2: extra informations + * @str3: extra informations + * + * Handle a validation error, provide contextual informations + */ +static void LIBXML_ATTR_FORMAT(4,0) +xmlErrValidNode(xmlValidCtxtPtr ctxt, + xmlNodePtr node, xmlParserErrors error, + const char *msg, const xmlChar * str1, + const xmlChar * str2, const xmlChar * str3) +{ + xmlStructuredErrorFunc schannel = NULL; + xmlGenericErrorFunc channel = NULL; + xmlParserCtxtPtr pctxt = NULL; + void *data = NULL; + + if (ctxt != NULL) { + channel = ctxt->error; + data = ctxt->userData; + /* Use the special values to detect if it is part of a parsing + context */ + if ((ctxt->finishDtd == XML_CTXT_FINISH_DTD_0) || + (ctxt->finishDtd == XML_CTXT_FINISH_DTD_1)) { + long delta = (char *) ctxt - (char *) ctxt->userData; + if ((delta > 0) && (delta < 250)) + pctxt = ctxt->userData; + } + } + __xmlRaiseError(schannel, channel, data, pctxt, node, XML_FROM_VALID, error, + XML_ERR_ERROR, NULL, 0, + (const char *) str1, + (const char *) str2, + (const char *) str3, 0, 0, msg, str1, str2, str3); +} +#endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */ + +#ifdef LIBXML_VALID_ENABLED +/** + * xmlErrValidNodeNr: + * @ctxt: an XML validation parser context + * @node: the node raising the error + * @error: the error number + * @str1: extra informations + * @int2: extra informations + * @str3: extra informations + * + * Handle a validation error, provide contextual informations + */ +static void LIBXML_ATTR_FORMAT(4,0) +xmlErrValidNodeNr(xmlValidCtxtPtr ctxt, + xmlNodePtr node, xmlParserErrors error, + const char *msg, const xmlChar * str1, + int int2, const xmlChar * str3) +{ + xmlStructuredErrorFunc schannel = NULL; + xmlGenericErrorFunc channel = NULL; + xmlParserCtxtPtr pctxt = NULL; + void *data = NULL; + + if (ctxt != NULL) { + channel = ctxt->error; + data = ctxt->userData; + /* Use the special values to detect if it is part of a parsing + context */ + if ((ctxt->finishDtd == XML_CTXT_FINISH_DTD_0) || + (ctxt->finishDtd == XML_CTXT_FINISH_DTD_1)) { + long delta = (char *) ctxt - (char *) ctxt->userData; + if ((delta > 0) && (delta < 250)) + pctxt = ctxt->userData; + } + } + __xmlRaiseError(schannel, channel, data, pctxt, node, XML_FROM_VALID, error, + XML_ERR_ERROR, NULL, 0, + (const char *) str1, + (const char *) str3, + NULL, int2, 0, msg, str1, int2, str3); +} + +/** + * xmlErrValidWarning: + * @ctxt: an XML validation parser context + * @node: the node raising the error + * @error: the error number + * @str1: extra information + * @str2: extra information + * @str3: extra information + * + * Handle a validation error, provide contextual information + */ +static void LIBXML_ATTR_FORMAT(4,0) +xmlErrValidWarning(xmlValidCtxtPtr ctxt, + xmlNodePtr node, xmlParserErrors error, + const char *msg, const xmlChar * str1, + const xmlChar * str2, const xmlChar * str3) +{ + xmlStructuredErrorFunc schannel = NULL; + xmlGenericErrorFunc channel = NULL; + xmlParserCtxtPtr pctxt = NULL; + void *data = NULL; + + if (ctxt != NULL) { + channel = ctxt->warning; + data = ctxt->userData; + /* Use the special values to detect if it is part of a parsing + context */ + if ((ctxt->finishDtd == XML_CTXT_FINISH_DTD_0) || + (ctxt->finishDtd == XML_CTXT_FINISH_DTD_1)) { + long delta = (char *) ctxt - (char *) ctxt->userData; + if ((delta > 0) && (delta < 250)) + pctxt = ctxt->userData; + } + } + __xmlRaiseError(schannel, channel, data, pctxt, node, XML_FROM_VALID, error, + XML_ERR_WARNING, NULL, 0, + (const char *) str1, + (const char *) str2, + (const char *) str3, 0, 0, msg, str1, str2, str3); +} + + + +#ifdef LIBXML_REGEXP_ENABLED +/* + * If regexp are enabled we can do continuous validation without the + * need of a tree to validate the content model. this is done in each + * callbacks. + * Each xmlValidState represent the validation state associated to the + * set of nodes currently open from the document root to the current element. + */ + + +typedef struct _xmlValidState { + xmlElementPtr elemDecl; /* pointer to the content model */ + xmlNodePtr node; /* pointer to the current node */ + xmlRegExecCtxtPtr exec; /* regexp runtime */ +} _xmlValidState; + + +static int +vstateVPush(xmlValidCtxtPtr ctxt, xmlElementPtr elemDecl, xmlNodePtr node) { + if ((ctxt->vstateMax == 0) || (ctxt->vstateTab == NULL)) { + ctxt->vstateMax = 10; + ctxt->vstateTab = (xmlValidState *) xmlMalloc(ctxt->vstateMax * + sizeof(ctxt->vstateTab[0])); + if (ctxt->vstateTab == NULL) { + xmlVErrMemory(ctxt, "malloc failed"); + return(-1); + } + } + + if (ctxt->vstateNr >= ctxt->vstateMax) { + xmlValidState *tmp; + + tmp = (xmlValidState *) xmlRealloc(ctxt->vstateTab, + 2 * ctxt->vstateMax * sizeof(ctxt->vstateTab[0])); + if (tmp == NULL) { + xmlVErrMemory(ctxt, "realloc failed"); + return(-1); + } + ctxt->vstateMax *= 2; + ctxt->vstateTab = tmp; + } + ctxt->vstate = &ctxt->vstateTab[ctxt->vstateNr]; + ctxt->vstateTab[ctxt->vstateNr].elemDecl = elemDecl; + ctxt->vstateTab[ctxt->vstateNr].node = node; + if ((elemDecl != NULL) && (elemDecl->etype == XML_ELEMENT_TYPE_ELEMENT)) { + if (elemDecl->contModel == NULL) + xmlValidBuildContentModel(ctxt, elemDecl); + if (elemDecl->contModel != NULL) { + ctxt->vstateTab[ctxt->vstateNr].exec = + xmlRegNewExecCtxt(elemDecl->contModel, NULL, NULL); + } else { + ctxt->vstateTab[ctxt->vstateNr].exec = NULL; + xmlErrValidNode(ctxt, (xmlNodePtr) elemDecl, + XML_ERR_INTERNAL_ERROR, + "Failed to build content model regexp for %s\n", + node->name, NULL, NULL); + } + } + return(ctxt->vstateNr++); +} + +static int +vstateVPop(xmlValidCtxtPtr ctxt) { + xmlElementPtr elemDecl; + + if (ctxt->vstateNr < 1) return(-1); + ctxt->vstateNr--; + elemDecl = ctxt->vstateTab[ctxt->vstateNr].elemDecl; + ctxt->vstateTab[ctxt->vstateNr].elemDecl = NULL; + ctxt->vstateTab[ctxt->vstateNr].node = NULL; + if ((elemDecl != NULL) && (elemDecl->etype == XML_ELEMENT_TYPE_ELEMENT)) { + xmlRegFreeExecCtxt(ctxt->vstateTab[ctxt->vstateNr].exec); + } + ctxt->vstateTab[ctxt->vstateNr].exec = NULL; + if (ctxt->vstateNr >= 1) + ctxt->vstate = &ctxt->vstateTab[ctxt->vstateNr - 1]; + else + ctxt->vstate = NULL; + return(ctxt->vstateNr); +} + +#else /* not LIBXML_REGEXP_ENABLED */ +/* + * If regexp are not enabled, it uses a home made algorithm less + * complex and easier to + * debug/maintain than a generic NFA -> DFA state based algo. The + * only restriction is on the deepness of the tree limited by the + * size of the occurs bitfield + * + * this is the content of a saved state for rollbacks + */ + +#define ROLLBACK_OR 0 +#define ROLLBACK_PARENT 1 + +typedef struct _xmlValidState { + xmlElementContentPtr cont; /* pointer to the content model subtree */ + xmlNodePtr node; /* pointer to the current node in the list */ + long occurs;/* bitfield for multiple occurrences */ + unsigned char depth; /* current depth in the overall tree */ + unsigned char state; /* ROLLBACK_XXX */ +} _xmlValidState; + +#define MAX_RECURSE 25000 +#define MAX_DEPTH ((sizeof(_xmlValidState.occurs)) * 8) +#define CONT ctxt->vstate->cont +#define NODE ctxt->vstate->node +#define DEPTH ctxt->vstate->depth +#define OCCURS ctxt->vstate->occurs +#define STATE ctxt->vstate->state + +#define OCCURRENCE (ctxt->vstate->occurs & (1 << DEPTH)) +#define PARENT_OCCURRENCE (ctxt->vstate->occurs & ((1 << DEPTH) - 1)) + +#define SET_OCCURRENCE ctxt->vstate->occurs |= (1 << DEPTH) +#define RESET_OCCURRENCE ctxt->vstate->occurs &= ((1 << DEPTH) - 1) + +static int +vstateVPush(xmlValidCtxtPtr ctxt, xmlElementContentPtr cont, + xmlNodePtr node, unsigned char depth, long occurs, + unsigned char state) { + int i = ctxt->vstateNr - 1; + + if (ctxt->vstateNr > MAX_RECURSE) { + return(-1); + } + if (ctxt->vstateTab == NULL) { + ctxt->vstateMax = 8; + ctxt->vstateTab = (xmlValidState *) xmlMalloc( + ctxt->vstateMax * sizeof(ctxt->vstateTab[0])); + if (ctxt->vstateTab == NULL) { + xmlVErrMemory(ctxt, "malloc failed"); + return(-1); + } + } + if (ctxt->vstateNr >= ctxt->vstateMax) { + xmlValidState *tmp; + + tmp = (xmlValidState *) xmlRealloc(ctxt->vstateTab, + 2 * ctxt->vstateMax * sizeof(ctxt->vstateTab[0])); + if (tmp == NULL) { + xmlVErrMemory(ctxt, "malloc failed"); + return(-1); + } + ctxt->vstateMax *= 2; + ctxt->vstateTab = tmp; + ctxt->vstate = &ctxt->vstateTab[0]; + } + /* + * Don't push on the stack a state already here + */ + if ((i >= 0) && (ctxt->vstateTab[i].cont == cont) && + (ctxt->vstateTab[i].node == node) && + (ctxt->vstateTab[i].depth == depth) && + (ctxt->vstateTab[i].occurs == occurs) && + (ctxt->vstateTab[i].state == state)) + return(ctxt->vstateNr); + ctxt->vstateTab[ctxt->vstateNr].cont = cont; + ctxt->vstateTab[ctxt->vstateNr].node = node; + ctxt->vstateTab[ctxt->vstateNr].depth = depth; + ctxt->vstateTab[ctxt->vstateNr].occurs = occurs; + ctxt->vstateTab[ctxt->vstateNr].state = state; + return(ctxt->vstateNr++); +} + +static int +vstateVPop(xmlValidCtxtPtr ctxt) { + if (ctxt->vstateNr <= 1) return(-1); + ctxt->vstateNr--; + ctxt->vstate = &ctxt->vstateTab[0]; + ctxt->vstate->cont = ctxt->vstateTab[ctxt->vstateNr].cont; + ctxt->vstate->node = ctxt->vstateTab[ctxt->vstateNr].node; + ctxt->vstate->depth = ctxt->vstateTab[ctxt->vstateNr].depth; + ctxt->vstate->occurs = ctxt->vstateTab[ctxt->vstateNr].occurs; + ctxt->vstate->state = ctxt->vstateTab[ctxt->vstateNr].state; + return(ctxt->vstateNr); +} + +#endif /* LIBXML_REGEXP_ENABLED */ + +static int +nodeVPush(xmlValidCtxtPtr ctxt, xmlNodePtr value) +{ + if (ctxt->nodeMax <= 0) { + ctxt->nodeMax = 4; + ctxt->nodeTab = + (xmlNodePtr *) xmlMalloc(ctxt->nodeMax * + sizeof(ctxt->nodeTab[0])); + if (ctxt->nodeTab == NULL) { + xmlVErrMemory(ctxt, "malloc failed"); + ctxt->nodeMax = 0; + return (0); + } + } + if (ctxt->nodeNr >= ctxt->nodeMax) { + xmlNodePtr *tmp; + tmp = (xmlNodePtr *) xmlRealloc(ctxt->nodeTab, + ctxt->nodeMax * 2 * sizeof(ctxt->nodeTab[0])); + if (tmp == NULL) { + xmlVErrMemory(ctxt, "realloc failed"); + return (0); + } + ctxt->nodeMax *= 2; + ctxt->nodeTab = tmp; + } + ctxt->nodeTab[ctxt->nodeNr] = value; + ctxt->node = value; + return (ctxt->nodeNr++); +} +static xmlNodePtr +nodeVPop(xmlValidCtxtPtr ctxt) +{ + xmlNodePtr ret; + + if (ctxt->nodeNr <= 0) + return (NULL); + ctxt->nodeNr--; + if (ctxt->nodeNr > 0) + ctxt->node = ctxt->nodeTab[ctxt->nodeNr - 1]; + else + ctxt->node = NULL; + ret = ctxt->nodeTab[ctxt->nodeNr]; + ctxt->nodeTab[ctxt->nodeNr] = NULL; + return (ret); +} + +#ifdef DEBUG_VALID_ALGO +static void +xmlValidPrintNode(xmlNodePtr cur) { + if (cur == NULL) { + xmlGenericError(xmlGenericErrorContext, "null"); + return; + } + switch (cur->type) { + case XML_ELEMENT_NODE: + xmlGenericError(xmlGenericErrorContext, "%s ", cur->name); + break; + case XML_TEXT_NODE: + xmlGenericError(xmlGenericErrorContext, "text "); + break; + case XML_CDATA_SECTION_NODE: + xmlGenericError(xmlGenericErrorContext, "cdata "); + break; + case XML_ENTITY_REF_NODE: + xmlGenericError(xmlGenericErrorContext, "&%s; ", cur->name); + break; + case XML_PI_NODE: + xmlGenericError(xmlGenericErrorContext, "pi(%s) ", cur->name); + break; + case XML_COMMENT_NODE: + xmlGenericError(xmlGenericErrorContext, "comment "); + break; + case XML_ATTRIBUTE_NODE: + xmlGenericError(xmlGenericErrorContext, "?attr? "); + break; + case XML_ENTITY_NODE: + xmlGenericError(xmlGenericErrorContext, "?ent? "); + break; + case XML_DOCUMENT_NODE: + xmlGenericError(xmlGenericErrorContext, "?doc? "); + break; + case XML_DOCUMENT_TYPE_NODE: + xmlGenericError(xmlGenericErrorContext, "?doctype? "); + break; + case XML_DOCUMENT_FRAG_NODE: + xmlGenericError(xmlGenericErrorContext, "?frag? "); + break; + case XML_NOTATION_NODE: + xmlGenericError(xmlGenericErrorContext, "?nota? "); + break; + case XML_HTML_DOCUMENT_NODE: + xmlGenericError(xmlGenericErrorContext, "?html? "); + break; +#ifdef LIBXML_DOCB_ENABLED + case XML_DOCB_DOCUMENT_NODE: + xmlGenericError(xmlGenericErrorContext, "?docb? "); + break; +#endif + case XML_DTD_NODE: + xmlGenericError(xmlGenericErrorContext, "?dtd? "); + break; + case XML_ELEMENT_DECL: + xmlGenericError(xmlGenericErrorContext, "?edecl? "); + break; + case XML_ATTRIBUTE_DECL: + xmlGenericError(xmlGenericErrorContext, "?adecl? "); + break; + case XML_ENTITY_DECL: + xmlGenericError(xmlGenericErrorContext, "?entdecl? "); + break; + case XML_NAMESPACE_DECL: + xmlGenericError(xmlGenericErrorContext, "?nsdecl? "); + break; + case XML_XINCLUDE_START: + xmlGenericError(xmlGenericErrorContext, "incstart "); + break; + case XML_XINCLUDE_END: + xmlGenericError(xmlGenericErrorContext, "incend "); + break; + } +} + +static void +xmlValidPrintNodeList(xmlNodePtr cur) { + if (cur == NULL) + xmlGenericError(xmlGenericErrorContext, "null "); + while (cur != NULL) { + xmlValidPrintNode(cur); + cur = cur->next; + } +} + +static void +xmlValidDebug(xmlNodePtr cur, xmlElementContentPtr cont) { + char expr[5000]; + + expr[0] = 0; + xmlGenericError(xmlGenericErrorContext, "valid: "); + xmlValidPrintNodeList(cur); + xmlGenericError(xmlGenericErrorContext, "against "); + xmlSnprintfElementContent(expr, 5000, cont, 1); + xmlGenericError(xmlGenericErrorContext, "%s\n", expr); +} + +static void +xmlValidDebugState(xmlValidStatePtr state) { + xmlGenericError(xmlGenericErrorContext, "("); + if (state->cont == NULL) + xmlGenericError(xmlGenericErrorContext, "null,"); + else + switch (state->cont->type) { + case XML_ELEMENT_CONTENT_PCDATA: + xmlGenericError(xmlGenericErrorContext, "pcdata,"); + break; + case XML_ELEMENT_CONTENT_ELEMENT: + xmlGenericError(xmlGenericErrorContext, "%s,", + state->cont->name); + break; + case XML_ELEMENT_CONTENT_SEQ: + xmlGenericError(xmlGenericErrorContext, "seq,"); + break; + case XML_ELEMENT_CONTENT_OR: + xmlGenericError(xmlGenericErrorContext, "or,"); + break; + } + xmlValidPrintNode(state->node); + xmlGenericError(xmlGenericErrorContext, ",%d,%X,%d)", + state->depth, state->occurs, state->state); +} + +static void +xmlValidStateDebug(xmlValidCtxtPtr ctxt) { + int i, j; + + xmlGenericError(xmlGenericErrorContext, "state: "); + xmlValidDebugState(ctxt->vstate); + xmlGenericError(xmlGenericErrorContext, " stack: %d ", + ctxt->vstateNr - 1); + for (i = 0, j = ctxt->vstateNr - 1;(i < 3) && (j > 0);i++,j--) + xmlValidDebugState(&ctxt->vstateTab[j]); + xmlGenericError(xmlGenericErrorContext, "\n"); +} + +/***** +#define DEBUG_VALID_STATE(n,c) xmlValidDebug(n,c); + *****/ + +#define DEBUG_VALID_STATE(n,c) xmlValidStateDebug(ctxt); +#define DEBUG_VALID_MSG(m) \ + xmlGenericError(xmlGenericErrorContext, "%s\n", m); + +#else +#define DEBUG_VALID_STATE(n,c) +#define DEBUG_VALID_MSG(m) +#endif + +/* TODO: use hash table for accesses to elem and attribute definitions */ + + +#define CHECK_DTD \ + if (doc == NULL) return(0); \ + else if ((doc->intSubset == NULL) && \ + (doc->extSubset == NULL)) return(0) + +#ifdef LIBXML_REGEXP_ENABLED + +/************************************************************************ + * * + * Content model validation based on the regexps * + * * + ************************************************************************/ + +/** + * xmlValidBuildAContentModel: + * @content: the content model + * @ctxt: the schema parser context + * @name: the element name whose content is being built + * + * Generate the automata sequence needed for that type + * + * Returns 1 if successful or 0 in case of error. + */ +static int +xmlValidBuildAContentModel(xmlElementContentPtr content, + xmlValidCtxtPtr ctxt, + const xmlChar *name) { + if (content == NULL) { + xmlErrValidNode(ctxt, NULL, XML_ERR_INTERNAL_ERROR, + "Found NULL content in content model of %s\n", + name, NULL, NULL); + return(0); + } + switch (content->type) { + case XML_ELEMENT_CONTENT_PCDATA: + xmlErrValidNode(ctxt, NULL, XML_ERR_INTERNAL_ERROR, + "Found PCDATA in content model of %s\n", + name, NULL, NULL); + return(0); + break; + case XML_ELEMENT_CONTENT_ELEMENT: { + xmlAutomataStatePtr oldstate = ctxt->state; + xmlChar fn[50]; + xmlChar *fullname; + + fullname = xmlBuildQName(content->name, content->prefix, fn, 50); + if (fullname == NULL) { + xmlVErrMemory(ctxt, "Building content model"); + return(0); + } + + switch (content->ocur) { + case XML_ELEMENT_CONTENT_ONCE: + ctxt->state = xmlAutomataNewTransition(ctxt->am, + ctxt->state, NULL, fullname, NULL); + break; + case XML_ELEMENT_CONTENT_OPT: + ctxt->state = xmlAutomataNewTransition(ctxt->am, + ctxt->state, NULL, fullname, NULL); + xmlAutomataNewEpsilon(ctxt->am, oldstate, ctxt->state); + break; + case XML_ELEMENT_CONTENT_PLUS: + ctxt->state = xmlAutomataNewTransition(ctxt->am, + ctxt->state, NULL, fullname, NULL); + xmlAutomataNewTransition(ctxt->am, ctxt->state, + ctxt->state, fullname, NULL); + break; + case XML_ELEMENT_CONTENT_MULT: + ctxt->state = xmlAutomataNewEpsilon(ctxt->am, + ctxt->state, NULL); + xmlAutomataNewTransition(ctxt->am, + ctxt->state, ctxt->state, fullname, NULL); + break; + } + if ((fullname != fn) && (fullname != content->name)) + xmlFree(fullname); + break; + } + case XML_ELEMENT_CONTENT_SEQ: { + xmlAutomataStatePtr oldstate, oldend; + xmlElementContentOccur ocur; + + /* + * Simply iterate over the content + */ + oldstate = ctxt->state; + ocur = content->ocur; + if (ocur != XML_ELEMENT_CONTENT_ONCE) { + ctxt->state = xmlAutomataNewEpsilon(ctxt->am, oldstate, NULL); + oldstate = ctxt->state; + } + do { + xmlValidBuildAContentModel(content->c1, ctxt, name); + content = content->c2; + } while ((content->type == XML_ELEMENT_CONTENT_SEQ) && + (content->ocur == XML_ELEMENT_CONTENT_ONCE)); + xmlValidBuildAContentModel(content, ctxt, name); + oldend = ctxt->state; + ctxt->state = xmlAutomataNewEpsilon(ctxt->am, oldend, NULL); + switch (ocur) { + case XML_ELEMENT_CONTENT_ONCE: + break; + case XML_ELEMENT_CONTENT_OPT: + xmlAutomataNewEpsilon(ctxt->am, oldstate, ctxt->state); + break; + case XML_ELEMENT_CONTENT_MULT: + xmlAutomataNewEpsilon(ctxt->am, oldstate, ctxt->state); + xmlAutomataNewEpsilon(ctxt->am, oldend, oldstate); + break; + case XML_ELEMENT_CONTENT_PLUS: + xmlAutomataNewEpsilon(ctxt->am, oldend, oldstate); + break; + } + break; + } + case XML_ELEMENT_CONTENT_OR: { + xmlAutomataStatePtr oldstate, oldend; + xmlElementContentOccur ocur; + + ocur = content->ocur; + if ((ocur == XML_ELEMENT_CONTENT_PLUS) || + (ocur == XML_ELEMENT_CONTENT_MULT)) { + ctxt->state = xmlAutomataNewEpsilon(ctxt->am, + ctxt->state, NULL); + } + oldstate = ctxt->state; + oldend = xmlAutomataNewState(ctxt->am); + + /* + * iterate over the subtypes and remerge the end with an + * epsilon transition + */ + do { + ctxt->state = oldstate; + xmlValidBuildAContentModel(content->c1, ctxt, name); + xmlAutomataNewEpsilon(ctxt->am, ctxt->state, oldend); + content = content->c2; + } while ((content->type == XML_ELEMENT_CONTENT_OR) && + (content->ocur == XML_ELEMENT_CONTENT_ONCE)); + ctxt->state = oldstate; + xmlValidBuildAContentModel(content, ctxt, name); + xmlAutomataNewEpsilon(ctxt->am, ctxt->state, oldend); + ctxt->state = xmlAutomataNewEpsilon(ctxt->am, oldend, NULL); + switch (ocur) { + case XML_ELEMENT_CONTENT_ONCE: + break; + case XML_ELEMENT_CONTENT_OPT: + xmlAutomataNewEpsilon(ctxt->am, oldstate, ctxt->state); + break; + case XML_ELEMENT_CONTENT_MULT: + xmlAutomataNewEpsilon(ctxt->am, oldstate, ctxt->state); + xmlAutomataNewEpsilon(ctxt->am, oldend, oldstate); + break; + case XML_ELEMENT_CONTENT_PLUS: + xmlAutomataNewEpsilon(ctxt->am, oldend, oldstate); + break; + } + break; + } + default: + xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR, + "ContentModel broken for element %s\n", + (const char *) name); + return(0); + } + return(1); +} +/** + * xmlValidBuildContentModel: + * @ctxt: a validation context + * @elem: an element declaration node + * + * (Re)Build the automata associated to the content model of this + * element + * + * Returns 1 in case of success, 0 in case of error + */ +int +xmlValidBuildContentModel(xmlValidCtxtPtr ctxt, xmlElementPtr elem) { + + if ((ctxt == NULL) || (elem == NULL)) + return(0); + if (elem->type != XML_ELEMENT_DECL) + return(0); + if (elem->etype != XML_ELEMENT_TYPE_ELEMENT) + return(1); + /* TODO: should we rebuild in this case ? */ + if (elem->contModel != NULL) { + if (!xmlRegexpIsDeterminist(elem->contModel)) { + ctxt->valid = 0; + return(0); + } + return(1); + } + + ctxt->am = xmlNewAutomata(); + if (ctxt->am == NULL) { + xmlErrValidNode(ctxt, (xmlNodePtr) elem, + XML_ERR_INTERNAL_ERROR, + "Cannot create automata for element %s\n", + elem->name, NULL, NULL); + return(0); + } + ctxt->state = xmlAutomataGetInitState(ctxt->am); + xmlValidBuildAContentModel(elem->content, ctxt, elem->name); + xmlAutomataSetFinalState(ctxt->am, ctxt->state); + elem->contModel = xmlAutomataCompile(ctxt->am); + if (xmlRegexpIsDeterminist(elem->contModel) != 1) { + char expr[5000]; + expr[0] = 0; + xmlSnprintfElementContent(expr, 5000, elem->content, 1); + xmlErrValidNode(ctxt, (xmlNodePtr) elem, + XML_DTD_CONTENT_NOT_DETERMINIST, + "Content model of %s is not determinist: %s\n", + elem->name, BAD_CAST expr, NULL); +#ifdef DEBUG_REGEXP_ALGO + xmlRegexpPrint(stderr, elem->contModel); +#endif + ctxt->valid = 0; + ctxt->state = NULL; + xmlFreeAutomata(ctxt->am); + ctxt->am = NULL; + return(0); + } + ctxt->state = NULL; + xmlFreeAutomata(ctxt->am); + ctxt->am = NULL; + return(1); +} + +#endif /* LIBXML_REGEXP_ENABLED */ + +/**************************************************************** + * * + * Util functions for data allocation/deallocation * + * * + ****************************************************************/ + +/** + * xmlNewValidCtxt: + * + * Allocate a validation context structure. + * + * Returns NULL if not, otherwise the new validation context structure + */ +xmlValidCtxtPtr xmlNewValidCtxt(void) { + xmlValidCtxtPtr ret; + + if ((ret = xmlMalloc(sizeof (xmlValidCtxt))) == NULL) { + xmlVErrMemory(NULL, "malloc failed"); + return (NULL); + } + + (void) memset(ret, 0, sizeof (xmlValidCtxt)); + + return (ret); +} + +/** + * xmlFreeValidCtxt: + * @cur: the validation context to free + * + * Free a validation context structure. + */ +void +xmlFreeValidCtxt(xmlValidCtxtPtr cur) { + if (cur->vstateTab != NULL) + xmlFree(cur->vstateTab); + if (cur->nodeTab != NULL) + xmlFree(cur->nodeTab); + xmlFree(cur); +} + +#endif /* LIBXML_VALID_ENABLED */ + +/** + * xmlNewDocElementContent: + * @doc: the document + * @name: the subelement name or NULL + * @type: the type of element content decl + * + * Allocate an element content structure for the document. + * + * Returns NULL if not, otherwise the new element content structure + */ +xmlElementContentPtr +xmlNewDocElementContent(xmlDocPtr doc, const xmlChar *name, + xmlElementContentType type) { + xmlElementContentPtr ret; + xmlDictPtr dict = NULL; + + if (doc != NULL) + dict = doc->dict; + + switch(type) { + case XML_ELEMENT_CONTENT_ELEMENT: + if (name == NULL) { + xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR, + "xmlNewElementContent : name == NULL !\n", + NULL); + } + break; + case XML_ELEMENT_CONTENT_PCDATA: + case XML_ELEMENT_CONTENT_SEQ: + case XML_ELEMENT_CONTENT_OR: + if (name != NULL) { + xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR, + "xmlNewElementContent : name != NULL !\n", + NULL); + } + break; + default: + xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR, + "Internal: ELEMENT content corrupted invalid type\n", + NULL); + return(NULL); + } + ret = (xmlElementContentPtr) xmlMalloc(sizeof(xmlElementContent)); + if (ret == NULL) { + xmlVErrMemory(NULL, "malloc failed"); + return(NULL); + } + memset(ret, 0, sizeof(xmlElementContent)); + ret->type = type; + ret->ocur = XML_ELEMENT_CONTENT_ONCE; + if (name != NULL) { + int l; + const xmlChar *tmp; + + tmp = xmlSplitQName3(name, &l); + if (tmp == NULL) { + if (dict == NULL) + ret->name = xmlStrdup(name); + else + ret->name = xmlDictLookup(dict, name, -1); + } else { + if (dict == NULL) { + ret->prefix = xmlStrndup(name, l); + ret->name = xmlStrdup(tmp); + } else { + ret->prefix = xmlDictLookup(dict, name, l); + ret->name = xmlDictLookup(dict, tmp, -1); + } + } + } + return(ret); +} + +/** + * xmlNewElementContent: + * @name: the subelement name or NULL + * @type: the type of element content decl + * + * Allocate an element content structure. + * Deprecated in favor of xmlNewDocElementContent + * + * Returns NULL if not, otherwise the new element content structure + */ +xmlElementContentPtr +xmlNewElementContent(const xmlChar *name, xmlElementContentType type) { + return(xmlNewDocElementContent(NULL, name, type)); +} + +/** + * xmlCopyDocElementContent: + * @doc: the document owning the element declaration + * @cur: An element content pointer. + * + * Build a copy of an element content description. + * + * Returns the new xmlElementContentPtr or NULL in case of error. + */ +xmlElementContentPtr +xmlCopyDocElementContent(xmlDocPtr doc, xmlElementContentPtr cur) { + xmlElementContentPtr ret = NULL, prev = NULL, tmp; + xmlDictPtr dict = NULL; + + if (cur == NULL) return(NULL); + + if (doc != NULL) + dict = doc->dict; + + ret = (xmlElementContentPtr) xmlMalloc(sizeof(xmlElementContent)); + if (ret == NULL) { + xmlVErrMemory(NULL, "malloc failed"); + return(NULL); + } + memset(ret, 0, sizeof(xmlElementContent)); + ret->type = cur->type; + ret->ocur = cur->ocur; + if (cur->name != NULL) { + if (dict) + ret->name = xmlDictLookup(dict, cur->name, -1); + else + ret->name = xmlStrdup(cur->name); + } + + if (cur->prefix != NULL) { + if (dict) + ret->prefix = xmlDictLookup(dict, cur->prefix, -1); + else + ret->prefix = xmlStrdup(cur->prefix); + } + if (cur->c1 != NULL) + ret->c1 = xmlCopyDocElementContent(doc, cur->c1); + if (ret->c1 != NULL) + ret->c1->parent = ret; + if (cur->c2 != NULL) { + prev = ret; + cur = cur->c2; + while (cur != NULL) { + tmp = (xmlElementContentPtr) xmlMalloc(sizeof(xmlElementContent)); + if (tmp == NULL) { + xmlVErrMemory(NULL, "malloc failed"); + return(ret); + } + memset(tmp, 0, sizeof(xmlElementContent)); + tmp->type = cur->type; + tmp->ocur = cur->ocur; + prev->c2 = tmp; + if (cur->name != NULL) { + if (dict) + tmp->name = xmlDictLookup(dict, cur->name, -1); + else + tmp->name = xmlStrdup(cur->name); + } + + if (cur->prefix != NULL) { + if (dict) + tmp->prefix = xmlDictLookup(dict, cur->prefix, -1); + else + tmp->prefix = xmlStrdup(cur->prefix); + } + if (cur->c1 != NULL) + tmp->c1 = xmlCopyDocElementContent(doc,cur->c1); + if (tmp->c1 != NULL) + tmp->c1->parent = ret; + prev = tmp; + cur = cur->c2; + } + } + return(ret); +} + +/** + * xmlCopyElementContent: + * @cur: An element content pointer. + * + * Build a copy of an element content description. + * Deprecated, use xmlCopyDocElementContent instead + * + * Returns the new xmlElementContentPtr or NULL in case of error. + */ +xmlElementContentPtr +xmlCopyElementContent(xmlElementContentPtr cur) { + return(xmlCopyDocElementContent(NULL, cur)); +} + +/** + * xmlFreeDocElementContent: + * @doc: the document owning the element declaration + * @cur: the element content tree to free + * + * Free an element content structure. The whole subtree is removed. + */ +void +xmlFreeDocElementContent(xmlDocPtr doc, xmlElementContentPtr cur) { + xmlDictPtr dict = NULL; + size_t depth = 0; + + if (cur == NULL) + return; + if (doc != NULL) + dict = doc->dict; + + while (1) { + xmlElementContentPtr parent; + + while ((cur->c1 != NULL) || (cur->c2 != NULL)) { + cur = (cur->c1 != NULL) ? cur->c1 : cur->c2; + depth += 1; + } + + switch (cur->type) { + case XML_ELEMENT_CONTENT_PCDATA: + case XML_ELEMENT_CONTENT_ELEMENT: + case XML_ELEMENT_CONTENT_SEQ: + case XML_ELEMENT_CONTENT_OR: + break; + default: + xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR, + "Internal: ELEMENT content corrupted invalid type\n", + NULL); + return; + } + if (dict) { + if ((cur->name != NULL) && (!xmlDictOwns(dict, cur->name))) + xmlFree((xmlChar *) cur->name); + if ((cur->prefix != NULL) && (!xmlDictOwns(dict, cur->prefix))) + xmlFree((xmlChar *) cur->prefix); + } else { + if (cur->name != NULL) xmlFree((xmlChar *) cur->name); + if (cur->prefix != NULL) xmlFree((xmlChar *) cur->prefix); + } + parent = cur->parent; + if ((depth == 0) || (parent == NULL)) { + xmlFree(cur); + break; + } + if (cur == parent->c1) + parent->c1 = NULL; + else + parent->c2 = NULL; + xmlFree(cur); + + if (parent->c2 != NULL) { + cur = parent->c2; + } else { + depth -= 1; + cur = parent; + } + } +} + +/** + * xmlFreeElementContent: + * @cur: the element content tree to free + * + * Free an element content structure. The whole subtree is removed. + * Deprecated, use xmlFreeDocElementContent instead + */ +void +xmlFreeElementContent(xmlElementContentPtr cur) { + xmlFreeDocElementContent(NULL, cur); +} + +#ifdef LIBXML_OUTPUT_ENABLED +/** + * xmlDumpElementOccur: + * @buf: An XML buffer + * @cur: An element table + * + * Dump the occurence operator of an element. + */ +static void +xmlDumpElementOccur(xmlBufferPtr buf, xmlElementContentPtr cur) { + switch (cur->ocur) { + case XML_ELEMENT_CONTENT_ONCE: + break; + case XML_ELEMENT_CONTENT_OPT: + xmlBufferWriteChar(buf, "?"); + break; + case XML_ELEMENT_CONTENT_MULT: + xmlBufferWriteChar(buf, "*"); + break; + case XML_ELEMENT_CONTENT_PLUS: + xmlBufferWriteChar(buf, "+"); + break; + } +} + +/** + * xmlDumpElementContent: + * @buf: An XML buffer + * @content: An element table + * + * This will dump the content of the element table as an XML DTD definition + */ +static void +xmlDumpElementContent(xmlBufferPtr buf, xmlElementContentPtr content) { + xmlElementContentPtr cur; + + if (content == NULL) return; + + xmlBufferWriteChar(buf, "("); + cur = content; + + do { + if (cur == NULL) return; + + switch (cur->type) { + case XML_ELEMENT_CONTENT_PCDATA: + xmlBufferWriteChar(buf, "#PCDATA"); + break; + case XML_ELEMENT_CONTENT_ELEMENT: + if (cur->prefix != NULL) { + xmlBufferWriteCHAR(buf, cur->prefix); + xmlBufferWriteChar(buf, ":"); + } + xmlBufferWriteCHAR(buf, cur->name); + break; + case XML_ELEMENT_CONTENT_SEQ: + case XML_ELEMENT_CONTENT_OR: + if ((cur != content) && + (cur->parent != NULL) && + ((cur->type != cur->parent->type) || + (cur->ocur != XML_ELEMENT_CONTENT_ONCE))) + xmlBufferWriteChar(buf, "("); + cur = cur->c1; + continue; + default: + xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR, + "Internal: ELEMENT cur corrupted invalid type\n", + NULL); + } + + while (cur != content) { + xmlElementContentPtr parent = cur->parent; + + if (parent == NULL) return; + + if (((cur->type == XML_ELEMENT_CONTENT_OR) || + (cur->type == XML_ELEMENT_CONTENT_SEQ)) && + ((cur->type != parent->type) || + (cur->ocur != XML_ELEMENT_CONTENT_ONCE))) + xmlBufferWriteChar(buf, ")"); + xmlDumpElementOccur(buf, cur); + + if (cur == parent->c1) { + if (parent->type == XML_ELEMENT_CONTENT_SEQ) + xmlBufferWriteChar(buf, " , "); + else if (parent->type == XML_ELEMENT_CONTENT_OR) + xmlBufferWriteChar(buf, " | "); + + cur = parent->c2; + break; + } + + cur = parent; + } + } while (cur != content); + + xmlBufferWriteChar(buf, ")"); + xmlDumpElementOccur(buf, content); +} + +/** + * xmlSprintfElementContent: + * @buf: an output buffer + * @content: An element table + * @englob: 1 if one must print the englobing parenthesis, 0 otherwise + * + * Deprecated, unsafe, use xmlSnprintfElementContent + */ +void +xmlSprintfElementContent(char *buf ATTRIBUTE_UNUSED, + xmlElementContentPtr content ATTRIBUTE_UNUSED, + int englob ATTRIBUTE_UNUSED) { +} +#endif /* LIBXML_OUTPUT_ENABLED */ + +/** + * xmlSnprintfElementContent: + * @buf: an output buffer + * @size: the buffer size + * @content: An element table + * @englob: 1 if one must print the englobing parenthesis, 0 otherwise + * + * This will dump the content of the element content definition + * Intended just for the debug routine + */ +void +xmlSnprintfElementContent(char *buf, int size, xmlElementContentPtr content, int englob) { + int len; + + if (content == NULL) return; + len = strlen(buf); + if (size - len < 50) { + if ((size - len > 4) && (buf[len - 1] != '.')) + strcat(buf, " ..."); + return; + } + if (englob) strcat(buf, "("); + switch (content->type) { + case XML_ELEMENT_CONTENT_PCDATA: + strcat(buf, "#PCDATA"); + break; + case XML_ELEMENT_CONTENT_ELEMENT: { + int qnameLen = xmlStrlen(content->name); + + if (content->prefix != NULL) + qnameLen += xmlStrlen(content->prefix) + 1; + if (size - len < qnameLen + 10) { + strcat(buf, " ..."); + return; + } + if (content->prefix != NULL) { + strcat(buf, (char *) content->prefix); + strcat(buf, ":"); + } + if (content->name != NULL) + strcat(buf, (char *) content->name); + break; + } + case XML_ELEMENT_CONTENT_SEQ: + if ((content->c1->type == XML_ELEMENT_CONTENT_OR) || + (content->c1->type == XML_ELEMENT_CONTENT_SEQ)) + xmlSnprintfElementContent(buf, size, content->c1, 1); + else + xmlSnprintfElementContent(buf, size, content->c1, 0); + len = strlen(buf); + if (size - len < 50) { + if ((size - len > 4) && (buf[len - 1] != '.')) + strcat(buf, " ..."); + return; + } + strcat(buf, " , "); + if (((content->c2->type == XML_ELEMENT_CONTENT_OR) || + (content->c2->ocur != XML_ELEMENT_CONTENT_ONCE)) && + (content->c2->type != XML_ELEMENT_CONTENT_ELEMENT)) + xmlSnprintfElementContent(buf, size, content->c2, 1); + else + xmlSnprintfElementContent(buf, size, content->c2, 0); + break; + case XML_ELEMENT_CONTENT_OR: + if ((content->c1->type == XML_ELEMENT_CONTENT_OR) || + (content->c1->type == XML_ELEMENT_CONTENT_SEQ)) + xmlSnprintfElementContent(buf, size, content->c1, 1); + else + xmlSnprintfElementContent(buf, size, content->c1, 0); + len = strlen(buf); + if (size - len < 50) { + if ((size - len > 4) && (buf[len - 1] != '.')) + strcat(buf, " ..."); + return; + } + strcat(buf, " | "); + if (((content->c2->type == XML_ELEMENT_CONTENT_SEQ) || + (content->c2->ocur != XML_ELEMENT_CONTENT_ONCE)) && + (content->c2->type != XML_ELEMENT_CONTENT_ELEMENT)) + xmlSnprintfElementContent(buf, size, content->c2, 1); + else + xmlSnprintfElementContent(buf, size, content->c2, 0); + break; + } + if (size - strlen(buf) <= 2) return; + if (englob) + strcat(buf, ")"); + switch (content->ocur) { + case XML_ELEMENT_CONTENT_ONCE: + break; + case XML_ELEMENT_CONTENT_OPT: + strcat(buf, "?"); + break; + case XML_ELEMENT_CONTENT_MULT: + strcat(buf, "*"); + break; + case XML_ELEMENT_CONTENT_PLUS: + strcat(buf, "+"); + break; + } +} + +/**************************************************************** + * * + * Registration of DTD declarations * + * * + ****************************************************************/ + +/** + * xmlFreeElement: + * @elem: An element + * + * Deallocate the memory used by an element definition + */ +static void +xmlFreeElement(xmlElementPtr elem) { + if (elem == NULL) return; + xmlUnlinkNode((xmlNodePtr) elem); + xmlFreeDocElementContent(elem->doc, elem->content); + if (elem->name != NULL) + xmlFree((xmlChar *) elem->name); + if (elem->prefix != NULL) + xmlFree((xmlChar *) elem->prefix); +#ifdef LIBXML_REGEXP_ENABLED + if (elem->contModel != NULL) + xmlRegFreeRegexp(elem->contModel); +#endif + xmlFree(elem); +} + + +/** + * xmlAddElementDecl: + * @ctxt: the validation context + * @dtd: pointer to the DTD + * @name: the entity name + * @type: the element type + * @content: the element content tree or NULL + * + * Register a new element declaration + * + * Returns NULL if not, otherwise the entity + */ +xmlElementPtr +xmlAddElementDecl(xmlValidCtxtPtr ctxt, + xmlDtdPtr dtd, const xmlChar *name, + xmlElementTypeVal type, + xmlElementContentPtr content) { + xmlElementPtr ret; + xmlElementTablePtr table; + xmlAttributePtr oldAttributes = NULL; + xmlChar *ns, *uqname; + + if (dtd == NULL) { + return(NULL); + } + if (name == NULL) { + return(NULL); + } + + switch (type) { + case XML_ELEMENT_TYPE_EMPTY: + if (content != NULL) { + xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR, + "xmlAddElementDecl: content != NULL for EMPTY\n", + NULL); + return(NULL); + } + break; + case XML_ELEMENT_TYPE_ANY: + if (content != NULL) { + xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR, + "xmlAddElementDecl: content != NULL for ANY\n", + NULL); + return(NULL); + } + break; + case XML_ELEMENT_TYPE_MIXED: + if (content == NULL) { + xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR, + "xmlAddElementDecl: content == NULL for MIXED\n", + NULL); + return(NULL); + } + break; + case XML_ELEMENT_TYPE_ELEMENT: + if (content == NULL) { + xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR, + "xmlAddElementDecl: content == NULL for ELEMENT\n", + NULL); + return(NULL); + } + break; + default: + xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR, + "Internal: ELEMENT decl corrupted invalid type\n", + NULL); + return(NULL); + } + + /* + * check if name is a QName + */ + uqname = xmlSplitQName2(name, &ns); + if (uqname != NULL) + name = uqname; + + /* + * Create the Element table if needed. + */ + table = (xmlElementTablePtr) dtd->elements; + if (table == NULL) { + xmlDictPtr dict = NULL; + + if (dtd->doc != NULL) + dict = dtd->doc->dict; + table = xmlHashCreateDict(0, dict); + dtd->elements = (void *) table; + } + if (table == NULL) { + xmlVErrMemory(ctxt, + "xmlAddElementDecl: Table creation failed!\n"); + if (uqname != NULL) + xmlFree(uqname); + if (ns != NULL) + xmlFree(ns); + return(NULL); + } + + /* + * lookup old attributes inserted on an undefined element in the + * internal subset. + */ + if ((dtd->doc != NULL) && (dtd->doc->intSubset != NULL)) { + ret = xmlHashLookup2(dtd->doc->intSubset->elements, name, ns); + if ((ret != NULL) && (ret->etype == XML_ELEMENT_TYPE_UNDEFINED)) { + oldAttributes = ret->attributes; + ret->attributes = NULL; + xmlHashRemoveEntry2(dtd->doc->intSubset->elements, name, ns, NULL); + xmlFreeElement(ret); + } + } + + /* + * The element may already be present if one of its attribute + * was registered first + */ + ret = xmlHashLookup2(table, name, ns); + if (ret != NULL) { + if (ret->etype != XML_ELEMENT_TYPE_UNDEFINED) { +#ifdef LIBXML_VALID_ENABLED + /* + * The element is already defined in this DTD. + */ + xmlErrValidNode(ctxt, (xmlNodePtr) dtd, XML_DTD_ELEM_REDEFINED, + "Redefinition of element %s\n", + name, NULL, NULL); +#endif /* LIBXML_VALID_ENABLED */ + if (uqname != NULL) + xmlFree(uqname); + if (ns != NULL) + xmlFree(ns); + return(NULL); + } + if (ns != NULL) { + xmlFree(ns); + ns = NULL; + } + } else { + ret = (xmlElementPtr) xmlMalloc(sizeof(xmlElement)); + if (ret == NULL) { + xmlVErrMemory(ctxt, "malloc failed"); + if (uqname != NULL) + xmlFree(uqname); + if (ns != NULL) + xmlFree(ns); + return(NULL); + } + memset(ret, 0, sizeof(xmlElement)); + ret->type = XML_ELEMENT_DECL; + + /* + * fill the structure. + */ + ret->name = xmlStrdup(name); + if (ret->name == NULL) { + xmlVErrMemory(ctxt, "malloc failed"); + if (uqname != NULL) + xmlFree(uqname); + if (ns != NULL) + xmlFree(ns); + xmlFree(ret); + return(NULL); + } + ret->prefix = ns; + + /* + * Validity Check: + * Insertion must not fail + */ + if (xmlHashAddEntry2(table, name, ns, ret)) { +#ifdef LIBXML_VALID_ENABLED + /* + * The element is already defined in this DTD. + */ + xmlErrValidNode(ctxt, (xmlNodePtr) dtd, XML_DTD_ELEM_REDEFINED, + "Redefinition of element %s\n", + name, NULL, NULL); +#endif /* LIBXML_VALID_ENABLED */ + xmlFreeElement(ret); + if (uqname != NULL) + xmlFree(uqname); + return(NULL); + } + /* + * For new element, may have attributes from earlier + * definition in internal subset + */ + ret->attributes = oldAttributes; + } + + /* + * Finish to fill the structure. + */ + ret->etype = type; + /* + * Avoid a stupid copy when called by the parser + * and flag it by setting a special parent value + * so the parser doesn't unallocate it. + */ + if ((ctxt != NULL) && + ((ctxt->finishDtd == XML_CTXT_FINISH_DTD_0) || + (ctxt->finishDtd == XML_CTXT_FINISH_DTD_1))) { + ret->content = content; + if (content != NULL) + content->parent = (xmlElementContentPtr) 1; + } else { + ret->content = xmlCopyDocElementContent(dtd->doc, content); + } + + /* + * Link it to the DTD + */ + ret->parent = dtd; + ret->doc = dtd->doc; + if (dtd->last == NULL) { + dtd->children = dtd->last = (xmlNodePtr) ret; + } else { + dtd->last->next = (xmlNodePtr) ret; + ret->prev = dtd->last; + dtd->last = (xmlNodePtr) ret; + } + if (uqname != NULL) + xmlFree(uqname); + return(ret); +} + +static void +xmlFreeElementTableEntry(void *elem, const xmlChar *name ATTRIBUTE_UNUSED) { + xmlFreeElement((xmlElementPtr) elem); +} + +/** + * xmlFreeElementTable: + * @table: An element table + * + * Deallocate the memory used by an element hash table. + */ +void +xmlFreeElementTable(xmlElementTablePtr table) { + xmlHashFree(table, xmlFreeElementTableEntry); +} + +#ifdef LIBXML_TREE_ENABLED +/** + * xmlCopyElement: + * @elem: An element + * + * Build a copy of an element. + * + * Returns the new xmlElementPtr or NULL in case of error. + */ +static void * +xmlCopyElement(void *payload, const xmlChar *name ATTRIBUTE_UNUSED) { + xmlElementPtr elem = (xmlElementPtr) payload; + xmlElementPtr cur; + + cur = (xmlElementPtr) xmlMalloc(sizeof(xmlElement)); + if (cur == NULL) { + xmlVErrMemory(NULL, "malloc failed"); + return(NULL); + } + memset(cur, 0, sizeof(xmlElement)); + cur->type = XML_ELEMENT_DECL; + cur->etype = elem->etype; + if (elem->name != NULL) + cur->name = xmlStrdup(elem->name); + else + cur->name = NULL; + if (elem->prefix != NULL) + cur->prefix = xmlStrdup(elem->prefix); + else + cur->prefix = NULL; + cur->content = xmlCopyElementContent(elem->content); + /* TODO : rebuild the attribute list on the copy */ + cur->attributes = NULL; + return(cur); +} + +/** + * xmlCopyElementTable: + * @table: An element table + * + * Build a copy of an element table. + * + * Returns the new xmlElementTablePtr or NULL in case of error. + */ +xmlElementTablePtr +xmlCopyElementTable(xmlElementTablePtr table) { + return((xmlElementTablePtr) xmlHashCopy(table, xmlCopyElement)); +} +#endif /* LIBXML_TREE_ENABLED */ + +#ifdef LIBXML_OUTPUT_ENABLED +/** + * xmlDumpElementDecl: + * @buf: the XML buffer output + * @elem: An element table + * + * This will dump the content of the element declaration as an XML + * DTD definition + */ +void +xmlDumpElementDecl(xmlBufferPtr buf, xmlElementPtr elem) { + if ((buf == NULL) || (elem == NULL)) + return; + switch (elem->etype) { + case XML_ELEMENT_TYPE_EMPTY: + xmlBufferWriteChar(buf, "prefix != NULL) { + xmlBufferWriteCHAR(buf, elem->prefix); + xmlBufferWriteChar(buf, ":"); + } + xmlBufferWriteCHAR(buf, elem->name); + xmlBufferWriteChar(buf, " EMPTY>\n"); + break; + case XML_ELEMENT_TYPE_ANY: + xmlBufferWriteChar(buf, "prefix != NULL) { + xmlBufferWriteCHAR(buf, elem->prefix); + xmlBufferWriteChar(buf, ":"); + } + xmlBufferWriteCHAR(buf, elem->name); + xmlBufferWriteChar(buf, " ANY>\n"); + break; + case XML_ELEMENT_TYPE_MIXED: + xmlBufferWriteChar(buf, "prefix != NULL) { + xmlBufferWriteCHAR(buf, elem->prefix); + xmlBufferWriteChar(buf, ":"); + } + xmlBufferWriteCHAR(buf, elem->name); + xmlBufferWriteChar(buf, " "); + xmlDumpElementContent(buf, elem->content); + xmlBufferWriteChar(buf, ">\n"); + break; + case XML_ELEMENT_TYPE_ELEMENT: + xmlBufferWriteChar(buf, "prefix != NULL) { + xmlBufferWriteCHAR(buf, elem->prefix); + xmlBufferWriteChar(buf, ":"); + } + xmlBufferWriteCHAR(buf, elem->name); + xmlBufferWriteChar(buf, " "); + xmlDumpElementContent(buf, elem->content); + xmlBufferWriteChar(buf, ">\n"); + break; + default: + xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR, + "Internal: ELEMENT struct corrupted invalid type\n", + NULL); + } +} + +/** + * xmlDumpElementDeclScan: + * @elem: An element table + * @buf: the XML buffer output + * + * This routine is used by the hash scan function. It just reverses + * the arguments. + */ +static void +xmlDumpElementDeclScan(void *elem, void *buf, + const xmlChar *name ATTRIBUTE_UNUSED) { + xmlDumpElementDecl((xmlBufferPtr) buf, (xmlElementPtr) elem); +} + +/** + * xmlDumpElementTable: + * @buf: the XML buffer output + * @table: An element table + * + * This will dump the content of the element table as an XML DTD definition + */ +void +xmlDumpElementTable(xmlBufferPtr buf, xmlElementTablePtr table) { + if ((buf == NULL) || (table == NULL)) + return; + xmlHashScan(table, xmlDumpElementDeclScan, buf); +} +#endif /* LIBXML_OUTPUT_ENABLED */ + +/** + * xmlCreateEnumeration: + * @name: the enumeration name or NULL + * + * create and initialize an enumeration attribute node. + * + * Returns the xmlEnumerationPtr just created or NULL in case + * of error. + */ +xmlEnumerationPtr +xmlCreateEnumeration(const xmlChar *name) { + xmlEnumerationPtr ret; + + ret = (xmlEnumerationPtr) xmlMalloc(sizeof(xmlEnumeration)); + if (ret == NULL) { + xmlVErrMemory(NULL, "malloc failed"); + return(NULL); + } + memset(ret, 0, sizeof(xmlEnumeration)); + + if (name != NULL) + ret->name = xmlStrdup(name); + return(ret); +} + +/** + * xmlFreeEnumeration: + * @cur: the tree to free. + * + * free an enumeration attribute node (recursive). + */ +void +xmlFreeEnumeration(xmlEnumerationPtr cur) { + if (cur == NULL) return; + + if (cur->next != NULL) xmlFreeEnumeration(cur->next); + + if (cur->name != NULL) xmlFree((xmlChar *) cur->name); + xmlFree(cur); +} + +#ifdef LIBXML_TREE_ENABLED +/** + * xmlCopyEnumeration: + * @cur: the tree to copy. + * + * Copy an enumeration attribute node (recursive). + * + * Returns the xmlEnumerationPtr just created or NULL in case + * of error. + */ +xmlEnumerationPtr +xmlCopyEnumeration(xmlEnumerationPtr cur) { + xmlEnumerationPtr ret; + + if (cur == NULL) return(NULL); + ret = xmlCreateEnumeration((xmlChar *) cur->name); + if (ret == NULL) return(NULL); + + if (cur->next != NULL) ret->next = xmlCopyEnumeration(cur->next); + else ret->next = NULL; + + return(ret); +} +#endif /* LIBXML_TREE_ENABLED */ + +#ifdef LIBXML_OUTPUT_ENABLED +/** + * xmlDumpEnumeration: + * @buf: the XML buffer output + * @enum: An enumeration + * + * This will dump the content of the enumeration + */ +static void +xmlDumpEnumeration(xmlBufferPtr buf, xmlEnumerationPtr cur) { + if ((buf == NULL) || (cur == NULL)) + return; + + xmlBufferWriteCHAR(buf, cur->name); + if (cur->next == NULL) + xmlBufferWriteChar(buf, ")"); + else { + xmlBufferWriteChar(buf, " | "); + xmlDumpEnumeration(buf, cur->next); + } +} +#endif /* LIBXML_OUTPUT_ENABLED */ + +#ifdef LIBXML_VALID_ENABLED +/** + * xmlScanIDAttributeDecl: + * @ctxt: the validation context + * @elem: the element name + * @err: whether to raise errors here + * + * Verify that the element don't have too many ID attributes + * declared. + * + * Returns the number of ID attributes found. + */ +static int +xmlScanIDAttributeDecl(xmlValidCtxtPtr ctxt, xmlElementPtr elem, int err) { + xmlAttributePtr cur; + int ret = 0; + + if (elem == NULL) return(0); + cur = elem->attributes; + while (cur != NULL) { + if (cur->atype == XML_ATTRIBUTE_ID) { + ret ++; + if ((ret > 1) && (err)) + xmlErrValidNode(ctxt, (xmlNodePtr) elem, XML_DTD_MULTIPLE_ID, + "Element %s has too many ID attributes defined : %s\n", + elem->name, cur->name, NULL); + } + cur = cur->nexth; + } + return(ret); +} +#endif /* LIBXML_VALID_ENABLED */ + +/** + * xmlFreeAttribute: + * @elem: An attribute + * + * Deallocate the memory used by an attribute definition + */ +static void +xmlFreeAttribute(xmlAttributePtr attr) { + xmlDictPtr dict; + + if (attr == NULL) return; + if (attr->doc != NULL) + dict = attr->doc->dict; + else + dict = NULL; + xmlUnlinkNode((xmlNodePtr) attr); + if (attr->tree != NULL) + xmlFreeEnumeration(attr->tree); + if (dict) { + if ((attr->elem != NULL) && (!xmlDictOwns(dict, attr->elem))) + xmlFree((xmlChar *) attr->elem); + if ((attr->name != NULL) && (!xmlDictOwns(dict, attr->name))) + xmlFree((xmlChar *) attr->name); + if ((attr->prefix != NULL) && (!xmlDictOwns(dict, attr->prefix))) + xmlFree((xmlChar *) attr->prefix); + if ((attr->defaultValue != NULL) && + (!xmlDictOwns(dict, attr->defaultValue))) + xmlFree((xmlChar *) attr->defaultValue); + } else { + if (attr->elem != NULL) + xmlFree((xmlChar *) attr->elem); + if (attr->name != NULL) + xmlFree((xmlChar *) attr->name); + if (attr->defaultValue != NULL) + xmlFree((xmlChar *) attr->defaultValue); + if (attr->prefix != NULL) + xmlFree((xmlChar *) attr->prefix); + } + xmlFree(attr); +} + + +/** + * xmlAddAttributeDecl: + * @ctxt: the validation context + * @dtd: pointer to the DTD + * @elem: the element name + * @name: the attribute name + * @ns: the attribute namespace prefix + * @type: the attribute type + * @def: the attribute default type + * @defaultValue: the attribute default value + * @tree: if it's an enumeration, the associated list + * + * Register a new attribute declaration + * Note that @tree becomes the ownership of the DTD + * + * Returns NULL if not new, otherwise the attribute decl + */ +xmlAttributePtr +xmlAddAttributeDecl(xmlValidCtxtPtr ctxt, + xmlDtdPtr dtd, const xmlChar *elem, + const xmlChar *name, const xmlChar *ns, + xmlAttributeType type, xmlAttributeDefault def, + const xmlChar *defaultValue, xmlEnumerationPtr tree) { + xmlAttributePtr ret; + xmlAttributeTablePtr table; + xmlElementPtr elemDef; + xmlDictPtr dict = NULL; + + if (dtd == NULL) { + xmlFreeEnumeration(tree); + return(NULL); + } + if (name == NULL) { + xmlFreeEnumeration(tree); + return(NULL); + } + if (elem == NULL) { + xmlFreeEnumeration(tree); + return(NULL); + } + if (dtd->doc != NULL) + dict = dtd->doc->dict; + +#ifdef LIBXML_VALID_ENABLED + /* + * Check the type and possibly the default value. + */ + switch (type) { + case XML_ATTRIBUTE_CDATA: + break; + case XML_ATTRIBUTE_ID: + break; + case XML_ATTRIBUTE_IDREF: + break; + case XML_ATTRIBUTE_IDREFS: + break; + case XML_ATTRIBUTE_ENTITY: + break; + case XML_ATTRIBUTE_ENTITIES: + break; + case XML_ATTRIBUTE_NMTOKEN: + break; + case XML_ATTRIBUTE_NMTOKENS: + break; + case XML_ATTRIBUTE_ENUMERATION: + break; + case XML_ATTRIBUTE_NOTATION: + break; + default: + xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR, + "Internal: ATTRIBUTE struct corrupted invalid type\n", + NULL); + xmlFreeEnumeration(tree); + return(NULL); + } + if ((defaultValue != NULL) && + (!xmlValidateAttributeValueInternal(dtd->doc, type, defaultValue))) { + xmlErrValidNode(ctxt, (xmlNodePtr) dtd, XML_DTD_ATTRIBUTE_DEFAULT, + "Attribute %s of %s: invalid default value\n", + elem, name, defaultValue); + defaultValue = NULL; + if (ctxt != NULL) + ctxt->valid = 0; + } +#endif /* LIBXML_VALID_ENABLED */ + + /* + * Check first that an attribute defined in the external subset wasn't + * already defined in the internal subset + */ + if ((dtd->doc != NULL) && (dtd->doc->extSubset == dtd) && + (dtd->doc->intSubset != NULL) && + (dtd->doc->intSubset->attributes != NULL)) { + ret = xmlHashLookup3(dtd->doc->intSubset->attributes, name, ns, elem); + if (ret != NULL) { + xmlFreeEnumeration(tree); + return(NULL); + } + } + + /* + * Create the Attribute table if needed. + */ + table = (xmlAttributeTablePtr) dtd->attributes; + if (table == NULL) { + table = xmlHashCreateDict(0, dict); + dtd->attributes = (void *) table; + } + if (table == NULL) { + xmlVErrMemory(ctxt, + "xmlAddAttributeDecl: Table creation failed!\n"); + xmlFreeEnumeration(tree); + return(NULL); + } + + + ret = (xmlAttributePtr) xmlMalloc(sizeof(xmlAttribute)); + if (ret == NULL) { + xmlVErrMemory(ctxt, "malloc failed"); + xmlFreeEnumeration(tree); + return(NULL); + } + memset(ret, 0, sizeof(xmlAttribute)); + ret->type = XML_ATTRIBUTE_DECL; + + /* + * fill the structure. + */ + ret->atype = type; + /* + * doc must be set before possible error causes call + * to xmlFreeAttribute (because it's used to check on + * dict use) + */ + ret->doc = dtd->doc; + if (dict) { + ret->name = xmlDictLookup(dict, name, -1); + ret->prefix = xmlDictLookup(dict, ns, -1); + ret->elem = xmlDictLookup(dict, elem, -1); + } else { + ret->name = xmlStrdup(name); + ret->prefix = xmlStrdup(ns); + ret->elem = xmlStrdup(elem); + } + ret->def = def; + ret->tree = tree; + if (defaultValue != NULL) { + if (dict) + ret->defaultValue = xmlDictLookup(dict, defaultValue, -1); + else + ret->defaultValue = xmlStrdup(defaultValue); + } + + /* + * Validity Check: + * Search the DTD for previous declarations of the ATTLIST + */ + if (xmlHashAddEntry3(table, ret->name, ret->prefix, ret->elem, ret) < 0) { +#ifdef LIBXML_VALID_ENABLED + /* + * The attribute is already defined in this DTD. + */ + xmlErrValidWarning(ctxt, (xmlNodePtr) dtd, XML_DTD_ATTRIBUTE_REDEFINED, + "Attribute %s of element %s: already defined\n", + name, elem, NULL); +#endif /* LIBXML_VALID_ENABLED */ + xmlFreeAttribute(ret); + return(NULL); + } + + /* + * Validity Check: + * Multiple ID per element + */ + elemDef = xmlGetDtdElementDesc2(dtd, elem, 1); + if (elemDef != NULL) { + +#ifdef LIBXML_VALID_ENABLED + if ((type == XML_ATTRIBUTE_ID) && + (xmlScanIDAttributeDecl(NULL, elemDef, 1) != 0)) { + xmlErrValidNode(ctxt, (xmlNodePtr) dtd, XML_DTD_MULTIPLE_ID, + "Element %s has too may ID attributes defined : %s\n", + elem, name, NULL); + if (ctxt != NULL) + ctxt->valid = 0; + } +#endif /* LIBXML_VALID_ENABLED */ + + /* + * Insert namespace default def first they need to be + * processed first. + */ + if ((xmlStrEqual(ret->name, BAD_CAST "xmlns")) || + ((ret->prefix != NULL && + (xmlStrEqual(ret->prefix, BAD_CAST "xmlns"))))) { + ret->nexth = elemDef->attributes; + elemDef->attributes = ret; + } else { + xmlAttributePtr tmp = elemDef->attributes; + + while ((tmp != NULL) && + ((xmlStrEqual(tmp->name, BAD_CAST "xmlns")) || + ((ret->prefix != NULL && + (xmlStrEqual(ret->prefix, BAD_CAST "xmlns")))))) { + if (tmp->nexth == NULL) + break; + tmp = tmp->nexth; + } + if (tmp != NULL) { + ret->nexth = tmp->nexth; + tmp->nexth = ret; + } else { + ret->nexth = elemDef->attributes; + elemDef->attributes = ret; + } + } + } + + /* + * Link it to the DTD + */ + ret->parent = dtd; + if (dtd->last == NULL) { + dtd->children = dtd->last = (xmlNodePtr) ret; + } else { + dtd->last->next = (xmlNodePtr) ret; + ret->prev = dtd->last; + dtd->last = (xmlNodePtr) ret; + } + return(ret); +} + +static void +xmlFreeAttributeTableEntry(void *attr, const xmlChar *name ATTRIBUTE_UNUSED) { + xmlFreeAttribute((xmlAttributePtr) attr); +} + +/** + * xmlFreeAttributeTable: + * @table: An attribute table + * + * Deallocate the memory used by an entities hash table. + */ +void +xmlFreeAttributeTable(xmlAttributeTablePtr table) { + xmlHashFree(table, xmlFreeAttributeTableEntry); +} + +#ifdef LIBXML_TREE_ENABLED +/** + * xmlCopyAttribute: + * @attr: An attribute + * + * Build a copy of an attribute. + * + * Returns the new xmlAttributePtr or NULL in case of error. + */ +static void * +xmlCopyAttribute(void *payload, const xmlChar *name ATTRIBUTE_UNUSED) { + xmlAttributePtr attr = (xmlAttributePtr) payload; + xmlAttributePtr cur; + + cur = (xmlAttributePtr) xmlMalloc(sizeof(xmlAttribute)); + if (cur == NULL) { + xmlVErrMemory(NULL, "malloc failed"); + return(NULL); + } + memset(cur, 0, sizeof(xmlAttribute)); + cur->type = XML_ATTRIBUTE_DECL; + cur->atype = attr->atype; + cur->def = attr->def; + cur->tree = xmlCopyEnumeration(attr->tree); + if (attr->elem != NULL) + cur->elem = xmlStrdup(attr->elem); + if (attr->name != NULL) + cur->name = xmlStrdup(attr->name); + if (attr->prefix != NULL) + cur->prefix = xmlStrdup(attr->prefix); + if (attr->defaultValue != NULL) + cur->defaultValue = xmlStrdup(attr->defaultValue); + return(cur); +} + +/** + * xmlCopyAttributeTable: + * @table: An attribute table + * + * Build a copy of an attribute table. + * + * Returns the new xmlAttributeTablePtr or NULL in case of error. + */ +xmlAttributeTablePtr +xmlCopyAttributeTable(xmlAttributeTablePtr table) { + return((xmlAttributeTablePtr) xmlHashCopy(table, xmlCopyAttribute)); +} +#endif /* LIBXML_TREE_ENABLED */ + +#ifdef LIBXML_OUTPUT_ENABLED +/** + * xmlDumpAttributeDecl: + * @buf: the XML buffer output + * @attr: An attribute declaration + * + * This will dump the content of the attribute declaration as an XML + * DTD definition + */ +void +xmlDumpAttributeDecl(xmlBufferPtr buf, xmlAttributePtr attr) { + if ((buf == NULL) || (attr == NULL)) + return; + xmlBufferWriteChar(buf, "elem); + xmlBufferWriteChar(buf, " "); + if (attr->prefix != NULL) { + xmlBufferWriteCHAR(buf, attr->prefix); + xmlBufferWriteChar(buf, ":"); + } + xmlBufferWriteCHAR(buf, attr->name); + switch (attr->atype) { + case XML_ATTRIBUTE_CDATA: + xmlBufferWriteChar(buf, " CDATA"); + break; + case XML_ATTRIBUTE_ID: + xmlBufferWriteChar(buf, " ID"); + break; + case XML_ATTRIBUTE_IDREF: + xmlBufferWriteChar(buf, " IDREF"); + break; + case XML_ATTRIBUTE_IDREFS: + xmlBufferWriteChar(buf, " IDREFS"); + break; + case XML_ATTRIBUTE_ENTITY: + xmlBufferWriteChar(buf, " ENTITY"); + break; + case XML_ATTRIBUTE_ENTITIES: + xmlBufferWriteChar(buf, " ENTITIES"); + break; + case XML_ATTRIBUTE_NMTOKEN: + xmlBufferWriteChar(buf, " NMTOKEN"); + break; + case XML_ATTRIBUTE_NMTOKENS: + xmlBufferWriteChar(buf, " NMTOKENS"); + break; + case XML_ATTRIBUTE_ENUMERATION: + xmlBufferWriteChar(buf, " ("); + xmlDumpEnumeration(buf, attr->tree); + break; + case XML_ATTRIBUTE_NOTATION: + xmlBufferWriteChar(buf, " NOTATION ("); + xmlDumpEnumeration(buf, attr->tree); + break; + default: + xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR, + "Internal: ATTRIBUTE struct corrupted invalid type\n", + NULL); + } + switch (attr->def) { + case XML_ATTRIBUTE_NONE: + break; + case XML_ATTRIBUTE_REQUIRED: + xmlBufferWriteChar(buf, " #REQUIRED"); + break; + case XML_ATTRIBUTE_IMPLIED: + xmlBufferWriteChar(buf, " #IMPLIED"); + break; + case XML_ATTRIBUTE_FIXED: + xmlBufferWriteChar(buf, " #FIXED"); + break; + default: + xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR, + "Internal: ATTRIBUTE struct corrupted invalid def\n", + NULL); + } + if (attr->defaultValue != NULL) { + xmlBufferWriteChar(buf, " "); + xmlBufferWriteQuotedString(buf, attr->defaultValue); + } + xmlBufferWriteChar(buf, ">\n"); +} + +/** + * xmlDumpAttributeDeclScan: + * @attr: An attribute declaration + * @buf: the XML buffer output + * + * This is used with the hash scan function - just reverses arguments + */ +static void +xmlDumpAttributeDeclScan(void *attr, void *buf, + const xmlChar *name ATTRIBUTE_UNUSED) { + xmlDumpAttributeDecl((xmlBufferPtr) buf, (xmlAttributePtr) attr); +} + +/** + * xmlDumpAttributeTable: + * @buf: the XML buffer output + * @table: An attribute table + * + * This will dump the content of the attribute table as an XML DTD definition + */ +void +xmlDumpAttributeTable(xmlBufferPtr buf, xmlAttributeTablePtr table) { + if ((buf == NULL) || (table == NULL)) + return; + xmlHashScan(table, xmlDumpAttributeDeclScan, buf); +} +#endif /* LIBXML_OUTPUT_ENABLED */ + +/************************************************************************ + * * + * NOTATIONs * + * * + ************************************************************************/ +/** + * xmlFreeNotation: + * @not: A notation + * + * Deallocate the memory used by an notation definition + */ +static void +xmlFreeNotation(xmlNotationPtr nota) { + if (nota == NULL) return; + if (nota->name != NULL) + xmlFree((xmlChar *) nota->name); + if (nota->PublicID != NULL) + xmlFree((xmlChar *) nota->PublicID); + if (nota->SystemID != NULL) + xmlFree((xmlChar *) nota->SystemID); + xmlFree(nota); +} + + +/** + * xmlAddNotationDecl: + * @dtd: pointer to the DTD + * @ctxt: the validation context + * @name: the entity name + * @PublicID: the public identifier or NULL + * @SystemID: the system identifier or NULL + * + * Register a new notation declaration + * + * Returns NULL if not, otherwise the entity + */ +xmlNotationPtr +xmlAddNotationDecl(xmlValidCtxtPtr ctxt, xmlDtdPtr dtd, + const xmlChar *name, + const xmlChar *PublicID, const xmlChar *SystemID) { + xmlNotationPtr ret; + xmlNotationTablePtr table; + + if (dtd == NULL) { + return(NULL); + } + if (name == NULL) { + return(NULL); + } + if ((PublicID == NULL) && (SystemID == NULL)) { + return(NULL); + } + + /* + * Create the Notation table if needed. + */ + table = (xmlNotationTablePtr) dtd->notations; + if (table == NULL) { + xmlDictPtr dict = NULL; + if (dtd->doc != NULL) + dict = dtd->doc->dict; + + dtd->notations = table = xmlHashCreateDict(0, dict); + } + if (table == NULL) { + xmlVErrMemory(ctxt, + "xmlAddNotationDecl: Table creation failed!\n"); + return(NULL); + } + + ret = (xmlNotationPtr) xmlMalloc(sizeof(xmlNotation)); + if (ret == NULL) { + xmlVErrMemory(ctxt, "malloc failed"); + return(NULL); + } + memset(ret, 0, sizeof(xmlNotation)); + + /* + * fill the structure. + */ + ret->name = xmlStrdup(name); + if (SystemID != NULL) + ret->SystemID = xmlStrdup(SystemID); + if (PublicID != NULL) + ret->PublicID = xmlStrdup(PublicID); + + /* + * Validity Check: + * Check the DTD for previous declarations of the ATTLIST + */ + if (xmlHashAddEntry(table, name, ret)) { +#ifdef LIBXML_VALID_ENABLED + xmlErrValid(NULL, XML_DTD_NOTATION_REDEFINED, + "xmlAddNotationDecl: %s already defined\n", + (const char *) name); +#endif /* LIBXML_VALID_ENABLED */ + xmlFreeNotation(ret); + return(NULL); + } + return(ret); +} + +static void +xmlFreeNotationTableEntry(void *nota, const xmlChar *name ATTRIBUTE_UNUSED) { + xmlFreeNotation((xmlNotationPtr) nota); +} + +/** + * xmlFreeNotationTable: + * @table: An notation table + * + * Deallocate the memory used by an entities hash table. + */ +void +xmlFreeNotationTable(xmlNotationTablePtr table) { + xmlHashFree(table, xmlFreeNotationTableEntry); +} + +#ifdef LIBXML_TREE_ENABLED +/** + * xmlCopyNotation: + * @nota: A notation + * + * Build a copy of a notation. + * + * Returns the new xmlNotationPtr or NULL in case of error. + */ +static void * +xmlCopyNotation(void *payload, const xmlChar *name ATTRIBUTE_UNUSED) { + xmlNotationPtr nota = (xmlNotationPtr) payload; + xmlNotationPtr cur; + + cur = (xmlNotationPtr) xmlMalloc(sizeof(xmlNotation)); + if (cur == NULL) { + xmlVErrMemory(NULL, "malloc failed"); + return(NULL); + } + if (nota->name != NULL) + cur->name = xmlStrdup(nota->name); + else + cur->name = NULL; + if (nota->PublicID != NULL) + cur->PublicID = xmlStrdup(nota->PublicID); + else + cur->PublicID = NULL; + if (nota->SystemID != NULL) + cur->SystemID = xmlStrdup(nota->SystemID); + else + cur->SystemID = NULL; + return(cur); +} + +/** + * xmlCopyNotationTable: + * @table: A notation table + * + * Build a copy of a notation table. + * + * Returns the new xmlNotationTablePtr or NULL in case of error. + */ +xmlNotationTablePtr +xmlCopyNotationTable(xmlNotationTablePtr table) { + return((xmlNotationTablePtr) xmlHashCopy(table, xmlCopyNotation)); +} +#endif /* LIBXML_TREE_ENABLED */ + +#ifdef LIBXML_OUTPUT_ENABLED +/** + * xmlDumpNotationDecl: + * @buf: the XML buffer output + * @nota: A notation declaration + * + * This will dump the content the notation declaration as an XML DTD definition + */ +void +xmlDumpNotationDecl(xmlBufferPtr buf, xmlNotationPtr nota) { + if ((buf == NULL) || (nota == NULL)) + return; + xmlBufferWriteChar(buf, "name); + if (nota->PublicID != NULL) { + xmlBufferWriteChar(buf, " PUBLIC "); + xmlBufferWriteQuotedString(buf, nota->PublicID); + if (nota->SystemID != NULL) { + xmlBufferWriteChar(buf, " "); + xmlBufferWriteQuotedString(buf, nota->SystemID); + } + } else { + xmlBufferWriteChar(buf, " SYSTEM "); + xmlBufferWriteQuotedString(buf, nota->SystemID); + } + xmlBufferWriteChar(buf, " >\n"); +} + +/** + * xmlDumpNotationDeclScan: + * @nota: A notation declaration + * @buf: the XML buffer output + * + * This is called with the hash scan function, and just reverses args + */ +static void +xmlDumpNotationDeclScan(void *nota, void *buf, + const xmlChar *name ATTRIBUTE_UNUSED) { + xmlDumpNotationDecl((xmlBufferPtr) buf, (xmlNotationPtr) nota); +} + +/** + * xmlDumpNotationTable: + * @buf: the XML buffer output + * @table: A notation table + * + * This will dump the content of the notation table as an XML DTD definition + */ +void +xmlDumpNotationTable(xmlBufferPtr buf, xmlNotationTablePtr table) { + if ((buf == NULL) || (table == NULL)) + return; + xmlHashScan(table, xmlDumpNotationDeclScan, buf); +} +#endif /* LIBXML_OUTPUT_ENABLED */ + +/************************************************************************ + * * + * IDs * + * * + ************************************************************************/ +/** + * DICT_FREE: + * @str: a string + * + * Free a string if it is not owned by the "dict" dictionary in the + * current scope + */ +#define DICT_FREE(str) \ + if ((str) && ((!dict) || \ + (xmlDictOwns(dict, (const xmlChar *)(str)) == 0))) \ + xmlFree((char *)(str)); + +/** + * xmlFreeID: + * @not: A id + * + * Deallocate the memory used by an id definition + */ +static void +xmlFreeID(xmlIDPtr id) { + xmlDictPtr dict = NULL; + + if (id == NULL) return; + + if (id->doc != NULL) + dict = id->doc->dict; + + if (id->value != NULL) + DICT_FREE(id->value) + if (id->name != NULL) + DICT_FREE(id->name) + xmlFree(id); +} + + +/** + * xmlAddID: + * @ctxt: the validation context + * @doc: pointer to the document + * @value: the value name + * @attr: the attribute holding the ID + * + * Register a new id declaration + * + * Returns NULL if not, otherwise the new xmlIDPtr + */ +xmlIDPtr +xmlAddID(xmlValidCtxtPtr ctxt, xmlDocPtr doc, const xmlChar *value, + xmlAttrPtr attr) { + xmlIDPtr ret; + xmlIDTablePtr table; + + if (doc == NULL) { + return(NULL); + } + if (value == NULL) { + return(NULL); + } + if (attr == NULL) { + return(NULL); + } + + /* + * Create the ID table if needed. + */ + table = (xmlIDTablePtr) doc->ids; + if (table == NULL) { + doc->ids = table = xmlHashCreateDict(0, doc->dict); + } + if (table == NULL) { + xmlVErrMemory(ctxt, + "xmlAddID: Table creation failed!\n"); + return(NULL); + } + + ret = (xmlIDPtr) xmlMalloc(sizeof(xmlID)); + if (ret == NULL) { + xmlVErrMemory(ctxt, "malloc failed"); + return(NULL); + } + + /* + * fill the structure. + */ + ret->value = xmlStrdup(value); + ret->doc = doc; + if ((ctxt != NULL) && (ctxt->vstateNr != 0)) { + /* + * Operating in streaming mode, attr is gonna disappear + */ + if (doc->dict != NULL) + ret->name = xmlDictLookup(doc->dict, attr->name, -1); + else + ret->name = xmlStrdup(attr->name); + ret->attr = NULL; + } else { + ret->attr = attr; + ret->name = NULL; + } + ret->lineno = xmlGetLineNo(attr->parent); + + if (xmlHashAddEntry(table, value, ret) < 0) { +#ifdef LIBXML_VALID_ENABLED + /* + * The id is already defined in this DTD. + */ + if (ctxt != NULL) { + xmlErrValidNode(ctxt, attr->parent, XML_DTD_ID_REDEFINED, + "ID %s already defined\n", value, NULL, NULL); + } +#endif /* LIBXML_VALID_ENABLED */ + xmlFreeID(ret); + return(NULL); + } + if (attr != NULL) + attr->atype = XML_ATTRIBUTE_ID; + return(ret); +} + +static void +xmlFreeIDTableEntry(void *id, const xmlChar *name ATTRIBUTE_UNUSED) { + xmlFreeID((xmlIDPtr) id); +} + +/** + * xmlFreeIDTable: + * @table: An id table + * + * Deallocate the memory used by an ID hash table. + */ +void +xmlFreeIDTable(xmlIDTablePtr table) { + xmlHashFree(table, xmlFreeIDTableEntry); +} + +/** + * xmlIsID: + * @doc: the document + * @elem: the element carrying the attribute + * @attr: the attribute + * + * Determine whether an attribute is of type ID. In case we have DTD(s) + * then this is done if DTD loading has been requested. In the case + * of HTML documents parsed with the HTML parser, then ID detection is + * done systematically. + * + * Returns 0 or 1 depending on the lookup result + */ +int +xmlIsID(xmlDocPtr doc, xmlNodePtr elem, xmlAttrPtr attr) { + if ((attr == NULL) || (attr->name == NULL)) return(0); + if ((attr->ns != NULL) && (attr->ns->prefix != NULL) && + (!strcmp((char *) attr->name, "id")) && + (!strcmp((char *) attr->ns->prefix, "xml"))) + return(1); + if (doc == NULL) return(0); + if ((doc->intSubset == NULL) && (doc->extSubset == NULL) && + (doc->type != XML_HTML_DOCUMENT_NODE)) { + return(0); + } else if (doc->type == XML_HTML_DOCUMENT_NODE) { + if ((xmlStrEqual(BAD_CAST "id", attr->name)) || + ((xmlStrEqual(BAD_CAST "name", attr->name)) && + ((elem == NULL) || (xmlStrEqual(elem->name, BAD_CAST "a"))))) + return(1); + return(0); + } else if (elem == NULL) { + return(0); + } else { + xmlAttributePtr attrDecl = NULL; + + xmlChar felem[50], fattr[50]; + xmlChar *fullelemname, *fullattrname; + + fullelemname = (elem->ns != NULL && elem->ns->prefix != NULL) ? + xmlBuildQName(elem->name, elem->ns->prefix, felem, 50) : + (xmlChar *)elem->name; + + fullattrname = (attr->ns != NULL && attr->ns->prefix != NULL) ? + xmlBuildQName(attr->name, attr->ns->prefix, fattr, 50) : + (xmlChar *)attr->name; + + if (fullelemname != NULL && fullattrname != NULL) { + attrDecl = xmlGetDtdAttrDesc(doc->intSubset, fullelemname, + fullattrname); + if ((attrDecl == NULL) && (doc->extSubset != NULL)) + attrDecl = xmlGetDtdAttrDesc(doc->extSubset, fullelemname, + fullattrname); + } + + if ((fullattrname != fattr) && (fullattrname != attr->name)) + xmlFree(fullattrname); + if ((fullelemname != felem) && (fullelemname != elem->name)) + xmlFree(fullelemname); + + if ((attrDecl != NULL) && (attrDecl->atype == XML_ATTRIBUTE_ID)) + return(1); + } + return(0); +} + +/** + * xmlRemoveID: + * @doc: the document + * @attr: the attribute + * + * Remove the given attribute from the ID table maintained internally. + * + * Returns -1 if the lookup failed and 0 otherwise + */ +int +xmlRemoveID(xmlDocPtr doc, xmlAttrPtr attr) { + xmlIDTablePtr table; + xmlIDPtr id; + xmlChar *ID; + + if (doc == NULL) return(-1); + if (attr == NULL) return(-1); + + table = (xmlIDTablePtr) doc->ids; + if (table == NULL) + return(-1); + + ID = xmlNodeListGetString(doc, attr->children, 1); + if (ID == NULL) + return(-1); + + id = xmlHashLookup(table, ID); + if (id == NULL || id->attr != attr) { + xmlFree(ID); + return(-1); + } + + xmlHashRemoveEntry(table, ID, xmlFreeIDTableEntry); + xmlFree(ID); + attr->atype = 0; + return(0); +} + +/** + * xmlGetID: + * @doc: pointer to the document + * @ID: the ID value + * + * Search the attribute declaring the given ID + * + * Returns NULL if not found, otherwise the xmlAttrPtr defining the ID + */ +xmlAttrPtr +xmlGetID(xmlDocPtr doc, const xmlChar *ID) { + xmlIDTablePtr table; + xmlIDPtr id; + + if (doc == NULL) { + return(NULL); + } + + if (ID == NULL) { + return(NULL); + } + + table = (xmlIDTablePtr) doc->ids; + if (table == NULL) + return(NULL); + + id = xmlHashLookup(table, ID); + if (id == NULL) + return(NULL); + if (id->attr == NULL) { + /* + * We are operating on a stream, return a well known reference + * since the attribute node doesn't exist anymore + */ + return((xmlAttrPtr) doc); + } + return(id->attr); +} + +/************************************************************************ + * * + * Refs * + * * + ************************************************************************/ +typedef struct xmlRemoveMemo_t +{ + xmlListPtr l; + xmlAttrPtr ap; +} xmlRemoveMemo; + +typedef xmlRemoveMemo *xmlRemoveMemoPtr; + +typedef struct xmlValidateMemo_t +{ + xmlValidCtxtPtr ctxt; + const xmlChar *name; +} xmlValidateMemo; + +typedef xmlValidateMemo *xmlValidateMemoPtr; + +/** + * xmlFreeRef: + * @lk: A list link + * + * Deallocate the memory used by a ref definition + */ +static void +xmlFreeRef(xmlLinkPtr lk) { + xmlRefPtr ref = (xmlRefPtr)xmlLinkGetData(lk); + if (ref == NULL) return; + if (ref->value != NULL) + xmlFree((xmlChar *)ref->value); + if (ref->name != NULL) + xmlFree((xmlChar *)ref->name); + xmlFree(ref); +} + +/** + * xmlFreeRefTableEntry: + * @list_ref: A list of references. + * + * Deallocate the memory used by a list of references + */ +static void +xmlFreeRefTableEntry(void *payload, const xmlChar *name ATTRIBUTE_UNUSED) { + xmlListPtr list_ref = (xmlListPtr) payload; + if (list_ref == NULL) return; + xmlListDelete(list_ref); +} + +/** + * xmlWalkRemoveRef: + * @data: Contents of current link + * @user: Value supplied by the user + * + * Returns 0 to abort the walk or 1 to continue + */ +static int +xmlWalkRemoveRef(const void *data, void *user) +{ + xmlAttrPtr attr0 = ((xmlRefPtr)data)->attr; + xmlAttrPtr attr1 = ((xmlRemoveMemoPtr)user)->ap; + xmlListPtr ref_list = ((xmlRemoveMemoPtr)user)->l; + + if (attr0 == attr1) { /* Matched: remove and terminate walk */ + xmlListRemoveFirst(ref_list, (void *)data); + return 0; + } + return 1; +} + +/** + * xmlDummyCompare + * @data0: Value supplied by the user + * @data1: Value supplied by the user + * + * Do nothing, return 0. Used to create unordered lists. + */ +static int +xmlDummyCompare(const void *data0 ATTRIBUTE_UNUSED, + const void *data1 ATTRIBUTE_UNUSED) +{ + return (0); +} + +/** + * xmlAddRef: + * @ctxt: the validation context + * @doc: pointer to the document + * @value: the value name + * @attr: the attribute holding the Ref + * + * Register a new ref declaration + * + * Returns NULL if not, otherwise the new xmlRefPtr + */ +xmlRefPtr +xmlAddRef(xmlValidCtxtPtr ctxt, xmlDocPtr doc, const xmlChar *value, + xmlAttrPtr attr) { + xmlRefPtr ret; + xmlRefTablePtr table; + xmlListPtr ref_list; + + if (doc == NULL) { + return(NULL); + } + if (value == NULL) { + return(NULL); + } + if (attr == NULL) { + return(NULL); + } + + /* + * Create the Ref table if needed. + */ + table = (xmlRefTablePtr) doc->refs; + if (table == NULL) { + doc->refs = table = xmlHashCreateDict(0, doc->dict); + } + if (table == NULL) { + xmlVErrMemory(ctxt, + "xmlAddRef: Table creation failed!\n"); + return(NULL); + } + + ret = (xmlRefPtr) xmlMalloc(sizeof(xmlRef)); + if (ret == NULL) { + xmlVErrMemory(ctxt, "malloc failed"); + return(NULL); + } + + /* + * fill the structure. + */ + ret->value = xmlStrdup(value); + if ((ctxt != NULL) && (ctxt->vstateNr != 0)) { + /* + * Operating in streaming mode, attr is gonna disappear + */ + ret->name = xmlStrdup(attr->name); + ret->attr = NULL; + } else { + ret->name = NULL; + ret->attr = attr; + } + ret->lineno = xmlGetLineNo(attr->parent); + + /* To add a reference :- + * References are maintained as a list of references, + * Lookup the entry, if no entry create new nodelist + * Add the owning node to the NodeList + * Return the ref + */ + + if (NULL == (ref_list = xmlHashLookup(table, value))) { + if (NULL == (ref_list = xmlListCreate(xmlFreeRef, xmlDummyCompare))) { + xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR, + "xmlAddRef: Reference list creation failed!\n", + NULL); + goto failed; + } + if (xmlHashAddEntry(table, value, ref_list) < 0) { + xmlListDelete(ref_list); + xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR, + "xmlAddRef: Reference list insertion failed!\n", + NULL); + goto failed; + } + } + if (xmlListAppend(ref_list, ret) != 0) { + xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR, + "xmlAddRef: Reference list insertion failed!\n", + NULL); + goto failed; + } + return(ret); +failed: + if (ret != NULL) { + if (ret->value != NULL) + xmlFree((char *)ret->value); + if (ret->name != NULL) + xmlFree((char *)ret->name); + xmlFree(ret); + } + return(NULL); +} + +/** + * xmlFreeRefTable: + * @table: An ref table + * + * Deallocate the memory used by an Ref hash table. + */ +void +xmlFreeRefTable(xmlRefTablePtr table) { + xmlHashFree(table, xmlFreeRefTableEntry); +} + +/** + * xmlIsRef: + * @doc: the document + * @elem: the element carrying the attribute + * @attr: the attribute + * + * Determine whether an attribute is of type Ref. In case we have DTD(s) + * then this is simple, otherwise we use an heuristic: name Ref (upper + * or lowercase). + * + * Returns 0 or 1 depending on the lookup result + */ +int +xmlIsRef(xmlDocPtr doc, xmlNodePtr elem, xmlAttrPtr attr) { + if (attr == NULL) + return(0); + if (doc == NULL) { + doc = attr->doc; + if (doc == NULL) return(0); + } + + if ((doc->intSubset == NULL) && (doc->extSubset == NULL)) { + return(0); + } else if (doc->type == XML_HTML_DOCUMENT_NODE) { + /* TODO @@@ */ + return(0); + } else { + xmlAttributePtr attrDecl; + + if (elem == NULL) return(0); + attrDecl = xmlGetDtdAttrDesc(doc->intSubset, elem->name, attr->name); + if ((attrDecl == NULL) && (doc->extSubset != NULL)) + attrDecl = xmlGetDtdAttrDesc(doc->extSubset, + elem->name, attr->name); + + if ((attrDecl != NULL) && + (attrDecl->atype == XML_ATTRIBUTE_IDREF || + attrDecl->atype == XML_ATTRIBUTE_IDREFS)) + return(1); + } + return(0); +} + +/** + * xmlRemoveRef: + * @doc: the document + * @attr: the attribute + * + * Remove the given attribute from the Ref table maintained internally. + * + * Returns -1 if the lookup failed and 0 otherwise + */ +int +xmlRemoveRef(xmlDocPtr doc, xmlAttrPtr attr) { + xmlListPtr ref_list; + xmlRefTablePtr table; + xmlChar *ID; + xmlRemoveMemo target; + + if (doc == NULL) return(-1); + if (attr == NULL) return(-1); + + table = (xmlRefTablePtr) doc->refs; + if (table == NULL) + return(-1); + + ID = xmlNodeListGetString(doc, attr->children, 1); + if (ID == NULL) + return(-1); + + ref_list = xmlHashLookup(table, ID); + if(ref_list == NULL) { + xmlFree(ID); + return (-1); + } + + /* At this point, ref_list refers to a list of references which + * have the same key as the supplied attr. Our list of references + * is ordered by reference address and we don't have that information + * here to use when removing. We'll have to walk the list and + * check for a matching attribute, when we find one stop the walk + * and remove the entry. + * The list is ordered by reference, so that means we don't have the + * key. Passing the list and the reference to the walker means we + * will have enough data to be able to remove the entry. + */ + target.l = ref_list; + target.ap = attr; + + /* Remove the supplied attr from our list */ + xmlListWalk(ref_list, xmlWalkRemoveRef, &target); + + /*If the list is empty then remove the list entry in the hash */ + if (xmlListEmpty(ref_list)) + xmlHashUpdateEntry(table, ID, NULL, xmlFreeRefTableEntry); + xmlFree(ID); + return(0); +} + +/** + * xmlGetRefs: + * @doc: pointer to the document + * @ID: the ID value + * + * Find the set of references for the supplied ID. + * + * Returns NULL if not found, otherwise node set for the ID. + */ +xmlListPtr +xmlGetRefs(xmlDocPtr doc, const xmlChar *ID) { + xmlRefTablePtr table; + + if (doc == NULL) { + return(NULL); + } + + if (ID == NULL) { + return(NULL); + } + + table = (xmlRefTablePtr) doc->refs; + if (table == NULL) + return(NULL); + + return (xmlHashLookup(table, ID)); +} + +/************************************************************************ + * * + * Routines for validity checking * + * * + ************************************************************************/ + +/** + * xmlGetDtdElementDesc: + * @dtd: a pointer to the DtD to search + * @name: the element name + * + * Search the DTD for the description of this element + * + * returns the xmlElementPtr if found or NULL + */ + +xmlElementPtr +xmlGetDtdElementDesc(xmlDtdPtr dtd, const xmlChar *name) { + xmlElementTablePtr table; + xmlElementPtr cur; + xmlChar *uqname = NULL, *prefix = NULL; + + if ((dtd == NULL) || (name == NULL)) return(NULL); + if (dtd->elements == NULL) + return(NULL); + table = (xmlElementTablePtr) dtd->elements; + + uqname = xmlSplitQName2(name, &prefix); + if (uqname != NULL) + name = uqname; + cur = xmlHashLookup2(table, name, prefix); + if (prefix != NULL) xmlFree(prefix); + if (uqname != NULL) xmlFree(uqname); + return(cur); +} +/** + * xmlGetDtdElementDesc2: + * @dtd: a pointer to the DtD to search + * @name: the element name + * @create: create an empty description if not found + * + * Search the DTD for the description of this element + * + * returns the xmlElementPtr if found or NULL + */ + +static xmlElementPtr +xmlGetDtdElementDesc2(xmlDtdPtr dtd, const xmlChar *name, int create) { + xmlElementTablePtr table; + xmlElementPtr cur; + xmlChar *uqname = NULL, *prefix = NULL; + + if (dtd == NULL) return(NULL); + if (dtd->elements == NULL) { + xmlDictPtr dict = NULL; + + if (dtd->doc != NULL) + dict = dtd->doc->dict; + + if (!create) + return(NULL); + /* + * Create the Element table if needed. + */ + table = (xmlElementTablePtr) dtd->elements; + if (table == NULL) { + table = xmlHashCreateDict(0, dict); + dtd->elements = (void *) table; + } + if (table == NULL) { + xmlVErrMemory(NULL, "element table allocation failed"); + return(NULL); + } + } + table = (xmlElementTablePtr) dtd->elements; + + uqname = xmlSplitQName2(name, &prefix); + if (uqname != NULL) + name = uqname; + cur = xmlHashLookup2(table, name, prefix); + if ((cur == NULL) && (create)) { + cur = (xmlElementPtr) xmlMalloc(sizeof(xmlElement)); + if (cur == NULL) { + xmlVErrMemory(NULL, "malloc failed"); + return(NULL); + } + memset(cur, 0, sizeof(xmlElement)); + cur->type = XML_ELEMENT_DECL; + + /* + * fill the structure. + */ + cur->name = xmlStrdup(name); + cur->prefix = xmlStrdup(prefix); + cur->etype = XML_ELEMENT_TYPE_UNDEFINED; + + xmlHashAddEntry2(table, name, prefix, cur); + } + if (prefix != NULL) xmlFree(prefix); + if (uqname != NULL) xmlFree(uqname); + return(cur); +} + +/** + * xmlGetDtdQElementDesc: + * @dtd: a pointer to the DtD to search + * @name: the element name + * @prefix: the element namespace prefix + * + * Search the DTD for the description of this element + * + * returns the xmlElementPtr if found or NULL + */ + +xmlElementPtr +xmlGetDtdQElementDesc(xmlDtdPtr dtd, const xmlChar *name, + const xmlChar *prefix) { + xmlElementTablePtr table; + + if (dtd == NULL) return(NULL); + if (dtd->elements == NULL) return(NULL); + table = (xmlElementTablePtr) dtd->elements; + + return(xmlHashLookup2(table, name, prefix)); +} + +/** + * xmlGetDtdAttrDesc: + * @dtd: a pointer to the DtD to search + * @elem: the element name + * @name: the attribute name + * + * Search the DTD for the description of this attribute on + * this element. + * + * returns the xmlAttributePtr if found or NULL + */ + +xmlAttributePtr +xmlGetDtdAttrDesc(xmlDtdPtr dtd, const xmlChar *elem, const xmlChar *name) { + xmlAttributeTablePtr table; + xmlAttributePtr cur; + xmlChar *uqname = NULL, *prefix = NULL; + + if (dtd == NULL) return(NULL); + if (dtd->attributes == NULL) return(NULL); + + table = (xmlAttributeTablePtr) dtd->attributes; + if (table == NULL) + return(NULL); + + uqname = xmlSplitQName2(name, &prefix); + + if (uqname != NULL) { + cur = xmlHashLookup3(table, uqname, prefix, elem); + if (prefix != NULL) xmlFree(prefix); + if (uqname != NULL) xmlFree(uqname); + } else + cur = xmlHashLookup3(table, name, NULL, elem); + return(cur); +} + +/** + * xmlGetDtdQAttrDesc: + * @dtd: a pointer to the DtD to search + * @elem: the element name + * @name: the attribute name + * @prefix: the attribute namespace prefix + * + * Search the DTD for the description of this qualified attribute on + * this element. + * + * returns the xmlAttributePtr if found or NULL + */ + +xmlAttributePtr +xmlGetDtdQAttrDesc(xmlDtdPtr dtd, const xmlChar *elem, const xmlChar *name, + const xmlChar *prefix) { + xmlAttributeTablePtr table; + + if (dtd == NULL) return(NULL); + if (dtd->attributes == NULL) return(NULL); + table = (xmlAttributeTablePtr) dtd->attributes; + + return(xmlHashLookup3(table, name, prefix, elem)); +} + +/** + * xmlGetDtdNotationDesc: + * @dtd: a pointer to the DtD to search + * @name: the notation name + * + * Search the DTD for the description of this notation + * + * returns the xmlNotationPtr if found or NULL + */ + +xmlNotationPtr +xmlGetDtdNotationDesc(xmlDtdPtr dtd, const xmlChar *name) { + xmlNotationTablePtr table; + + if (dtd == NULL) return(NULL); + if (dtd->notations == NULL) return(NULL); + table = (xmlNotationTablePtr) dtd->notations; + + return(xmlHashLookup(table, name)); +} + +#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +/** + * xmlValidateNotationUse: + * @ctxt: the validation context + * @doc: the document + * @notationName: the notation name to check + * + * Validate that the given name match a notation declaration. + * - [ VC: Notation Declared ] + * + * returns 1 if valid or 0 otherwise + */ + +int +xmlValidateNotationUse(xmlValidCtxtPtr ctxt, xmlDocPtr doc, + const xmlChar *notationName) { + xmlNotationPtr notaDecl; + if ((doc == NULL) || (doc->intSubset == NULL) || + (notationName == NULL)) return(-1); + + notaDecl = xmlGetDtdNotationDesc(doc->intSubset, notationName); + if ((notaDecl == NULL) && (doc->extSubset != NULL)) + notaDecl = xmlGetDtdNotationDesc(doc->extSubset, notationName); + + if ((notaDecl == NULL) && (ctxt != NULL)) { + xmlErrValidNode(ctxt, (xmlNodePtr) doc, XML_DTD_UNKNOWN_NOTATION, + "NOTATION %s is not declared\n", + notationName, NULL, NULL); + return(0); + } + return(1); +} +#endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */ + +/** + * xmlIsMixedElement: + * @doc: the document + * @name: the element name + * + * Search in the DtDs whether an element accept Mixed content (or ANY) + * basically if it is supposed to accept text childs + * + * returns 0 if no, 1 if yes, and -1 if no element description is available + */ + +int +xmlIsMixedElement(xmlDocPtr doc, const xmlChar *name) { + xmlElementPtr elemDecl; + + if ((doc == NULL) || (doc->intSubset == NULL)) return(-1); + + elemDecl = xmlGetDtdElementDesc(doc->intSubset, name); + if ((elemDecl == NULL) && (doc->extSubset != NULL)) + elemDecl = xmlGetDtdElementDesc(doc->extSubset, name); + if (elemDecl == NULL) return(-1); + switch (elemDecl->etype) { + case XML_ELEMENT_TYPE_UNDEFINED: + return(-1); + case XML_ELEMENT_TYPE_ELEMENT: + return(0); + case XML_ELEMENT_TYPE_EMPTY: + /* + * return 1 for EMPTY since we want VC error to pop up + * on for example + */ + case XML_ELEMENT_TYPE_ANY: + case XML_ELEMENT_TYPE_MIXED: + return(1); + } + return(1); +} + +#ifdef LIBXML_VALID_ENABLED + +static int +xmlIsDocNameStartChar(xmlDocPtr doc, int c) { + if ((doc == NULL) || (doc->properties & XML_DOC_OLD10) == 0) { + /* + * Use the new checks of production [4] [4a] amd [5] of the + * Update 5 of XML-1.0 + */ + if (((c >= 'a') && (c <= 'z')) || + ((c >= 'A') && (c <= 'Z')) || + (c == '_') || (c == ':') || + ((c >= 0xC0) && (c <= 0xD6)) || + ((c >= 0xD8) && (c <= 0xF6)) || + ((c >= 0xF8) && (c <= 0x2FF)) || + ((c >= 0x370) && (c <= 0x37D)) || + ((c >= 0x37F) && (c <= 0x1FFF)) || + ((c >= 0x200C) && (c <= 0x200D)) || + ((c >= 0x2070) && (c <= 0x218F)) || + ((c >= 0x2C00) && (c <= 0x2FEF)) || + ((c >= 0x3001) && (c <= 0xD7FF)) || + ((c >= 0xF900) && (c <= 0xFDCF)) || + ((c >= 0xFDF0) && (c <= 0xFFFD)) || + ((c >= 0x10000) && (c <= 0xEFFFF))) + return(1); + } else { + if (IS_LETTER(c) || (c == '_') || (c == ':')) + return(1); + } + return(0); +} + +static int +xmlIsDocNameChar(xmlDocPtr doc, int c) { + if ((doc == NULL) || (doc->properties & XML_DOC_OLD10) == 0) { + /* + * Use the new checks of production [4] [4a] amd [5] of the + * Update 5 of XML-1.0 + */ + if (((c >= 'a') && (c <= 'z')) || + ((c >= 'A') && (c <= 'Z')) || + ((c >= '0') && (c <= '9')) || /* !start */ + (c == '_') || (c == ':') || + (c == '-') || (c == '.') || (c == 0xB7) || /* !start */ + ((c >= 0xC0) && (c <= 0xD6)) || + ((c >= 0xD8) && (c <= 0xF6)) || + ((c >= 0xF8) && (c <= 0x2FF)) || + ((c >= 0x300) && (c <= 0x36F)) || /* !start */ + ((c >= 0x370) && (c <= 0x37D)) || + ((c >= 0x37F) && (c <= 0x1FFF)) || + ((c >= 0x200C) && (c <= 0x200D)) || + ((c >= 0x203F) && (c <= 0x2040)) || /* !start */ + ((c >= 0x2070) && (c <= 0x218F)) || + ((c >= 0x2C00) && (c <= 0x2FEF)) || + ((c >= 0x3001) && (c <= 0xD7FF)) || + ((c >= 0xF900) && (c <= 0xFDCF)) || + ((c >= 0xFDF0) && (c <= 0xFFFD)) || + ((c >= 0x10000) && (c <= 0xEFFFF))) + return(1); + } else { + if ((IS_LETTER(c)) || (IS_DIGIT(c)) || + (c == '.') || (c == '-') || + (c == '_') || (c == ':') || + (IS_COMBINING(c)) || + (IS_EXTENDER(c))) + return(1); + } + return(0); +} + +/** + * xmlValidateNameValue: + * @doc: pointer to the document or NULL + * @value: an Name value + * + * Validate that the given value match Name production + * + * returns 1 if valid or 0 otherwise + */ + +static int +xmlValidateNameValueInternal(xmlDocPtr doc, const xmlChar *value) { + const xmlChar *cur; + int val, len; + + if (value == NULL) return(0); + cur = value; + val = xmlStringCurrentChar(NULL, cur, &len); + cur += len; + if (!xmlIsDocNameStartChar(doc, val)) + return(0); + + val = xmlStringCurrentChar(NULL, cur, &len); + cur += len; + while (xmlIsDocNameChar(doc, val)) { + val = xmlStringCurrentChar(NULL, cur, &len); + cur += len; + } + + if (val != 0) return(0); + + return(1); +} + +/** + * xmlValidateNameValue: + * @value: an Name value + * + * Validate that the given value match Name production + * + * returns 1 if valid or 0 otherwise + */ + +int +xmlValidateNameValue(const xmlChar *value) { + return(xmlValidateNameValueInternal(NULL, value)); +} + +/** + * xmlValidateNamesValueInternal: + * @doc: pointer to the document or NULL + * @value: an Names value + * + * Validate that the given value match Names production + * + * returns 1 if valid or 0 otherwise + */ + +static int +xmlValidateNamesValueInternal(xmlDocPtr doc, const xmlChar *value) { + const xmlChar *cur; + int val, len; + + if (value == NULL) return(0); + cur = value; + val = xmlStringCurrentChar(NULL, cur, &len); + cur += len; + + if (!xmlIsDocNameStartChar(doc, val)) + return(0); + + val = xmlStringCurrentChar(NULL, cur, &len); + cur += len; + while (xmlIsDocNameChar(doc, val)) { + val = xmlStringCurrentChar(NULL, cur, &len); + cur += len; + } + + /* Should not test IS_BLANK(val) here -- see erratum E20*/ + while (val == 0x20) { + while (val == 0x20) { + val = xmlStringCurrentChar(NULL, cur, &len); + cur += len; + } + + if (!xmlIsDocNameStartChar(doc, val)) + return(0); + + val = xmlStringCurrentChar(NULL, cur, &len); + cur += len; + + while (xmlIsDocNameChar(doc, val)) { + val = xmlStringCurrentChar(NULL, cur, &len); + cur += len; + } + } + + if (val != 0) return(0); + + return(1); +} + +/** + * xmlValidateNamesValue: + * @value: an Names value + * + * Validate that the given value match Names production + * + * returns 1 if valid or 0 otherwise + */ + +int +xmlValidateNamesValue(const xmlChar *value) { + return(xmlValidateNamesValueInternal(NULL, value)); +} + +/** + * xmlValidateNmtokenValueInternal: + * @doc: pointer to the document or NULL + * @value: an Nmtoken value + * + * Validate that the given value match Nmtoken production + * + * [ VC: Name Token ] + * + * returns 1 if valid or 0 otherwise + */ + +static int +xmlValidateNmtokenValueInternal(xmlDocPtr doc, const xmlChar *value) { + const xmlChar *cur; + int val, len; + + if (value == NULL) return(0); + cur = value; + val = xmlStringCurrentChar(NULL, cur, &len); + cur += len; + + if (!xmlIsDocNameChar(doc, val)) + return(0); + + val = xmlStringCurrentChar(NULL, cur, &len); + cur += len; + while (xmlIsDocNameChar(doc, val)) { + val = xmlStringCurrentChar(NULL, cur, &len); + cur += len; + } + + if (val != 0) return(0); + + return(1); +} + +/** + * xmlValidateNmtokenValue: + * @value: an Nmtoken value + * + * Validate that the given value match Nmtoken production + * + * [ VC: Name Token ] + * + * returns 1 if valid or 0 otherwise + */ + +int +xmlValidateNmtokenValue(const xmlChar *value) { + return(xmlValidateNmtokenValueInternal(NULL, value)); +} + +/** + * xmlValidateNmtokensValueInternal: + * @doc: pointer to the document or NULL + * @value: an Nmtokens value + * + * Validate that the given value match Nmtokens production + * + * [ VC: Name Token ] + * + * returns 1 if valid or 0 otherwise + */ + +static int +xmlValidateNmtokensValueInternal(xmlDocPtr doc, const xmlChar *value) { + const xmlChar *cur; + int val, len; + + if (value == NULL) return(0); + cur = value; + val = xmlStringCurrentChar(NULL, cur, &len); + cur += len; + + while (IS_BLANK(val)) { + val = xmlStringCurrentChar(NULL, cur, &len); + cur += len; + } + + if (!xmlIsDocNameChar(doc, val)) + return(0); + + while (xmlIsDocNameChar(doc, val)) { + val = xmlStringCurrentChar(NULL, cur, &len); + cur += len; + } + + /* Should not test IS_BLANK(val) here -- see erratum E20*/ + while (val == 0x20) { + while (val == 0x20) { + val = xmlStringCurrentChar(NULL, cur, &len); + cur += len; + } + if (val == 0) return(1); + + if (!xmlIsDocNameChar(doc, val)) + return(0); + + val = xmlStringCurrentChar(NULL, cur, &len); + cur += len; + + while (xmlIsDocNameChar(doc, val)) { + val = xmlStringCurrentChar(NULL, cur, &len); + cur += len; + } + } + + if (val != 0) return(0); + + return(1); +} + +/** + * xmlValidateNmtokensValue: + * @value: an Nmtokens value + * + * Validate that the given value match Nmtokens production + * + * [ VC: Name Token ] + * + * returns 1 if valid or 0 otherwise + */ + +int +xmlValidateNmtokensValue(const xmlChar *value) { + return(xmlValidateNmtokensValueInternal(NULL, value)); +} + +/** + * xmlValidateNotationDecl: + * @ctxt: the validation context + * @doc: a document instance + * @nota: a notation definition + * + * Try to validate a single notation definition + * basically it does the following checks as described by the + * XML-1.0 recommendation: + * - it seems that no validity constraint exists on notation declarations + * But this function get called anyway ... + * + * returns 1 if valid or 0 otherwise + */ + +int +xmlValidateNotationDecl(xmlValidCtxtPtr ctxt ATTRIBUTE_UNUSED, xmlDocPtr doc ATTRIBUTE_UNUSED, + xmlNotationPtr nota ATTRIBUTE_UNUSED) { + int ret = 1; + + return(ret); +} + +/** + * xmlValidateAttributeValueInternal: + * @doc: the document + * @type: an attribute type + * @value: an attribute value + * + * Validate that the given attribute value match the proper production + * + * returns 1 if valid or 0 otherwise + */ + +static int +xmlValidateAttributeValueInternal(xmlDocPtr doc, xmlAttributeType type, + const xmlChar *value) { + switch (type) { + case XML_ATTRIBUTE_ENTITIES: + case XML_ATTRIBUTE_IDREFS: + return(xmlValidateNamesValueInternal(doc, value)); + case XML_ATTRIBUTE_ENTITY: + case XML_ATTRIBUTE_IDREF: + case XML_ATTRIBUTE_ID: + case XML_ATTRIBUTE_NOTATION: + return(xmlValidateNameValueInternal(doc, value)); + case XML_ATTRIBUTE_NMTOKENS: + case XML_ATTRIBUTE_ENUMERATION: + return(xmlValidateNmtokensValueInternal(doc, value)); + case XML_ATTRIBUTE_NMTOKEN: + return(xmlValidateNmtokenValueInternal(doc, value)); + case XML_ATTRIBUTE_CDATA: + break; + } + return(1); +} + +/** + * xmlValidateAttributeValue: + * @type: an attribute type + * @value: an attribute value + * + * Validate that the given attribute value match the proper production + * + * [ VC: ID ] + * Values of type ID must match the Name production.... + * + * [ VC: IDREF ] + * Values of type IDREF must match the Name production, and values + * of type IDREFS must match Names ... + * + * [ VC: Entity Name ] + * Values of type ENTITY must match the Name production, values + * of type ENTITIES must match Names ... + * + * [ VC: Name Token ] + * Values of type NMTOKEN must match the Nmtoken production; values + * of type NMTOKENS must match Nmtokens. + * + * returns 1 if valid or 0 otherwise + */ +int +xmlValidateAttributeValue(xmlAttributeType type, const xmlChar *value) { + return(xmlValidateAttributeValueInternal(NULL, type, value)); +} + +/** + * xmlValidateAttributeValue2: + * @ctxt: the validation context + * @doc: the document + * @name: the attribute name (used for error reporting only) + * @type: the attribute type + * @value: the attribute value + * + * Validate that the given attribute value match a given type. + * This typically cannot be done before having finished parsing + * the subsets. + * + * [ VC: IDREF ] + * Values of type IDREF must match one of the declared IDs + * Values of type IDREFS must match a sequence of the declared IDs + * each Name must match the value of an ID attribute on some element + * in the XML document; i.e. IDREF values must match the value of + * some ID attribute + * + * [ VC: Entity Name ] + * Values of type ENTITY must match one declared entity + * Values of type ENTITIES must match a sequence of declared entities + * + * [ VC: Notation Attributes ] + * all notation names in the declaration must be declared. + * + * returns 1 if valid or 0 otherwise + */ + +static int +xmlValidateAttributeValue2(xmlValidCtxtPtr ctxt, xmlDocPtr doc, + const xmlChar *name, xmlAttributeType type, const xmlChar *value) { + int ret = 1; + switch (type) { + case XML_ATTRIBUTE_IDREFS: + case XML_ATTRIBUTE_IDREF: + case XML_ATTRIBUTE_ID: + case XML_ATTRIBUTE_NMTOKENS: + case XML_ATTRIBUTE_ENUMERATION: + case XML_ATTRIBUTE_NMTOKEN: + case XML_ATTRIBUTE_CDATA: + break; + case XML_ATTRIBUTE_ENTITY: { + xmlEntityPtr ent; + + ent = xmlGetDocEntity(doc, value); + /* yeah it's a bit messy... */ + if ((ent == NULL) && (doc->standalone == 1)) { + doc->standalone = 0; + ent = xmlGetDocEntity(doc, value); + } + if (ent == NULL) { + xmlErrValidNode(ctxt, (xmlNodePtr) doc, + XML_DTD_UNKNOWN_ENTITY, + "ENTITY attribute %s reference an unknown entity \"%s\"\n", + name, value, NULL); + ret = 0; + } else if (ent->etype != XML_EXTERNAL_GENERAL_UNPARSED_ENTITY) { + xmlErrValidNode(ctxt, (xmlNodePtr) doc, + XML_DTD_ENTITY_TYPE, + "ENTITY attribute %s reference an entity \"%s\" of wrong type\n", + name, value, NULL); + ret = 0; + } + break; + } + case XML_ATTRIBUTE_ENTITIES: { + xmlChar *dup, *nam = NULL, *cur, save; + xmlEntityPtr ent; + + dup = xmlStrdup(value); + if (dup == NULL) + return(0); + cur = dup; + while (*cur != 0) { + nam = cur; + while ((*cur != 0) && (!IS_BLANK_CH(*cur))) cur++; + save = *cur; + *cur = 0; + ent = xmlGetDocEntity(doc, nam); + if (ent == NULL) { + xmlErrValidNode(ctxt, (xmlNodePtr) doc, + XML_DTD_UNKNOWN_ENTITY, + "ENTITIES attribute %s reference an unknown entity \"%s\"\n", + name, nam, NULL); + ret = 0; + } else if (ent->etype != XML_EXTERNAL_GENERAL_UNPARSED_ENTITY) { + xmlErrValidNode(ctxt, (xmlNodePtr) doc, + XML_DTD_ENTITY_TYPE, + "ENTITIES attribute %s reference an entity \"%s\" of wrong type\n", + name, nam, NULL); + ret = 0; + } + if (save == 0) + break; + *cur = save; + while (IS_BLANK_CH(*cur)) cur++; + } + xmlFree(dup); + break; + } + case XML_ATTRIBUTE_NOTATION: { + xmlNotationPtr nota; + + nota = xmlGetDtdNotationDesc(doc->intSubset, value); + if ((nota == NULL) && (doc->extSubset != NULL)) + nota = xmlGetDtdNotationDesc(doc->extSubset, value); + + if (nota == NULL) { + xmlErrValidNode(ctxt, (xmlNodePtr) doc, + XML_DTD_UNKNOWN_NOTATION, + "NOTATION attribute %s reference an unknown notation \"%s\"\n", + name, value, NULL); + ret = 0; + } + break; + } + } + return(ret); +} + +/** + * xmlValidCtxtNormalizeAttributeValue: + * @ctxt: the validation context + * @doc: the document + * @elem: the parent + * @name: the attribute name + * @value: the attribute value + * @ctxt: the validation context or NULL + * + * Does the validation related extra step of the normalization of attribute + * values: + * + * If the declared value is not CDATA, then the XML processor must further + * process the normalized attribute value by discarding any leading and + * trailing space (#x20) characters, and by replacing sequences of space + * (#x20) characters by single space (#x20) character. + * + * Also check VC: Standalone Document Declaration in P32, and update + * ctxt->valid accordingly + * + * returns a new normalized string if normalization is needed, NULL otherwise + * the caller must free the returned value. + */ + +xmlChar * +xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt, xmlDocPtr doc, + xmlNodePtr elem, const xmlChar *name, const xmlChar *value) { + xmlChar *ret, *dst; + const xmlChar *src; + xmlAttributePtr attrDecl = NULL; + int extsubset = 0; + + if (doc == NULL) return(NULL); + if (elem == NULL) return(NULL); + if (name == NULL) return(NULL); + if (value == NULL) return(NULL); + + if ((elem->ns != NULL) && (elem->ns->prefix != NULL)) { + xmlChar fn[50]; + xmlChar *fullname; + + fullname = xmlBuildQName(elem->name, elem->ns->prefix, fn, 50); + if (fullname == NULL) + return(NULL); + attrDecl = xmlGetDtdAttrDesc(doc->intSubset, fullname, name); + if ((attrDecl == NULL) && (doc->extSubset != NULL)) { + attrDecl = xmlGetDtdAttrDesc(doc->extSubset, fullname, name); + if (attrDecl != NULL) + extsubset = 1; + } + if ((fullname != fn) && (fullname != elem->name)) + xmlFree(fullname); + } + if ((attrDecl == NULL) && (doc->intSubset != NULL)) + attrDecl = xmlGetDtdAttrDesc(doc->intSubset, elem->name, name); + if ((attrDecl == NULL) && (doc->extSubset != NULL)) { + attrDecl = xmlGetDtdAttrDesc(doc->extSubset, elem->name, name); + if (attrDecl != NULL) + extsubset = 1; + } + + if (attrDecl == NULL) + return(NULL); + if (attrDecl->atype == XML_ATTRIBUTE_CDATA) + return(NULL); + + ret = xmlStrdup(value); + if (ret == NULL) + return(NULL); + src = value; + dst = ret; + while (*src == 0x20) src++; + while (*src != 0) { + if (*src == 0x20) { + while (*src == 0x20) src++; + if (*src != 0) + *dst++ = 0x20; + } else { + *dst++ = *src++; + } + } + *dst = 0; + if ((doc->standalone) && (extsubset == 1) && (!xmlStrEqual(value, ret))) { + xmlErrValidNode(ctxt, elem, XML_DTD_NOT_STANDALONE, +"standalone: %s on %s value had to be normalized based on external subset declaration\n", + name, elem->name, NULL); + ctxt->valid = 0; + } + return(ret); +} + +/** + * xmlValidNormalizeAttributeValue: + * @doc: the document + * @elem: the parent + * @name: the attribute name + * @value: the attribute value + * + * Does the validation related extra step of the normalization of attribute + * values: + * + * If the declared value is not CDATA, then the XML processor must further + * process the normalized attribute value by discarding any leading and + * trailing space (#x20) characters, and by replacing sequences of space + * (#x20) characters by single space (#x20) character. + * + * Returns a new normalized string if normalization is needed, NULL otherwise + * the caller must free the returned value. + */ + +xmlChar * +xmlValidNormalizeAttributeValue(xmlDocPtr doc, xmlNodePtr elem, + const xmlChar *name, const xmlChar *value) { + xmlChar *ret, *dst; + const xmlChar *src; + xmlAttributePtr attrDecl = NULL; + + if (doc == NULL) return(NULL); + if (elem == NULL) return(NULL); + if (name == NULL) return(NULL); + if (value == NULL) return(NULL); + + if ((elem->ns != NULL) && (elem->ns->prefix != NULL)) { + xmlChar fn[50]; + xmlChar *fullname; + + fullname = xmlBuildQName(elem->name, elem->ns->prefix, fn, 50); + if (fullname == NULL) + return(NULL); + if ((fullname != fn) && (fullname != elem->name)) + xmlFree(fullname); + } + attrDecl = xmlGetDtdAttrDesc(doc->intSubset, elem->name, name); + if ((attrDecl == NULL) && (doc->extSubset != NULL)) + attrDecl = xmlGetDtdAttrDesc(doc->extSubset, elem->name, name); + + if (attrDecl == NULL) + return(NULL); + if (attrDecl->atype == XML_ATTRIBUTE_CDATA) + return(NULL); + + ret = xmlStrdup(value); + if (ret == NULL) + return(NULL); + src = value; + dst = ret; + while (*src == 0x20) src++; + while (*src != 0) { + if (*src == 0x20) { + while (*src == 0x20) src++; + if (*src != 0) + *dst++ = 0x20; + } else { + *dst++ = *src++; + } + } + *dst = 0; + return(ret); +} + +static void +xmlValidateAttributeIdCallback(void *payload, void *data, + const xmlChar *name ATTRIBUTE_UNUSED) { + xmlAttributePtr attr = (xmlAttributePtr) payload; + int *count = (int *) data; + if (attr->atype == XML_ATTRIBUTE_ID) (*count)++; +} + +/** + * xmlValidateAttributeDecl: + * @ctxt: the validation context + * @doc: a document instance + * @attr: an attribute definition + * + * Try to validate a single attribute definition + * basically it does the following checks as described by the + * XML-1.0 recommendation: + * - [ VC: Attribute Default Legal ] + * - [ VC: Enumeration ] + * - [ VC: ID Attribute Default ] + * + * The ID/IDREF uniqueness and matching are done separately + * + * returns 1 if valid or 0 otherwise + */ + +int +xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt, xmlDocPtr doc, + xmlAttributePtr attr) { + int ret = 1; + int val; + CHECK_DTD; + if(attr == NULL) return(1); + + /* Attribute Default Legal */ + /* Enumeration */ + if (attr->defaultValue != NULL) { + val = xmlValidateAttributeValueInternal(doc, attr->atype, + attr->defaultValue); + if (val == 0) { + xmlErrValidNode(ctxt, (xmlNodePtr) attr, XML_DTD_ATTRIBUTE_DEFAULT, + "Syntax of default value for attribute %s of %s is not valid\n", + attr->name, attr->elem, NULL); + } + ret &= val; + } + + /* ID Attribute Default */ + if ((attr->atype == XML_ATTRIBUTE_ID)&& + (attr->def != XML_ATTRIBUTE_IMPLIED) && + (attr->def != XML_ATTRIBUTE_REQUIRED)) { + xmlErrValidNode(ctxt, (xmlNodePtr) attr, XML_DTD_ID_FIXED, + "ID attribute %s of %s is not valid must be #IMPLIED or #REQUIRED\n", + attr->name, attr->elem, NULL); + ret = 0; + } + + /* One ID per Element Type */ + if (attr->atype == XML_ATTRIBUTE_ID) { + int nbId; + + /* the trick is that we parse DtD as their own internal subset */ + xmlElementPtr elem = xmlGetDtdElementDesc(doc->intSubset, + attr->elem); + if (elem != NULL) { + nbId = xmlScanIDAttributeDecl(NULL, elem, 0); + } else { + xmlAttributeTablePtr table; + + /* + * The attribute may be declared in the internal subset and the + * element in the external subset. + */ + nbId = 0; + if (doc->intSubset != NULL) { + table = (xmlAttributeTablePtr) doc->intSubset->attributes; + xmlHashScan3(table, NULL, NULL, attr->elem, + xmlValidateAttributeIdCallback, &nbId); + } + } + if (nbId > 1) { + + xmlErrValidNodeNr(ctxt, (xmlNodePtr) attr, XML_DTD_ID_SUBSET, + "Element %s has %d ID attribute defined in the internal subset : %s\n", + attr->elem, nbId, attr->name); + } else if (doc->extSubset != NULL) { + int extId = 0; + elem = xmlGetDtdElementDesc(doc->extSubset, attr->elem); + if (elem != NULL) { + extId = xmlScanIDAttributeDecl(NULL, elem, 0); + } + if (extId > 1) { + xmlErrValidNodeNr(ctxt, (xmlNodePtr) attr, XML_DTD_ID_SUBSET, + "Element %s has %d ID attribute defined in the external subset : %s\n", + attr->elem, extId, attr->name); + } else if (extId + nbId > 1) { + xmlErrValidNode(ctxt, (xmlNodePtr) attr, XML_DTD_ID_SUBSET, +"Element %s has ID attributes defined in the internal and external subset : %s\n", + attr->elem, attr->name, NULL); + } + } + } + + /* Validity Constraint: Enumeration */ + if ((attr->defaultValue != NULL) && (attr->tree != NULL)) { + xmlEnumerationPtr tree = attr->tree; + while (tree != NULL) { + if (xmlStrEqual(tree->name, attr->defaultValue)) break; + tree = tree->next; + } + if (tree == NULL) { + xmlErrValidNode(ctxt, (xmlNodePtr) attr, XML_DTD_ATTRIBUTE_VALUE, +"Default value \"%s\" for attribute %s of %s is not among the enumerated set\n", + attr->defaultValue, attr->name, attr->elem); + ret = 0; + } + } + + return(ret); +} + +/** + * xmlValidateElementDecl: + * @ctxt: the validation context + * @doc: a document instance + * @elem: an element definition + * + * Try to validate a single element definition + * basically it does the following checks as described by the + * XML-1.0 recommendation: + * - [ VC: One ID per Element Type ] + * - [ VC: No Duplicate Types ] + * - [ VC: Unique Element Type Declaration ] + * + * returns 1 if valid or 0 otherwise + */ + +int +xmlValidateElementDecl(xmlValidCtxtPtr ctxt, xmlDocPtr doc, + xmlElementPtr elem) { + int ret = 1; + xmlElementPtr tst; + + CHECK_DTD; + + if (elem == NULL) return(1); + +#if 0 +#ifdef LIBXML_REGEXP_ENABLED + /* Build the regexp associated to the content model */ + ret = xmlValidBuildContentModel(ctxt, elem); +#endif +#endif + + /* No Duplicate Types */ + if (elem->etype == XML_ELEMENT_TYPE_MIXED) { + xmlElementContentPtr cur, next; + const xmlChar *name; + + cur = elem->content; + while (cur != NULL) { + if (cur->type != XML_ELEMENT_CONTENT_OR) break; + if (cur->c1 == NULL) break; + if (cur->c1->type == XML_ELEMENT_CONTENT_ELEMENT) { + name = cur->c1->name; + next = cur->c2; + while (next != NULL) { + if (next->type == XML_ELEMENT_CONTENT_ELEMENT) { + if ((xmlStrEqual(next->name, name)) && + (xmlStrEqual(next->prefix, cur->c1->prefix))) { + if (cur->c1->prefix == NULL) { + xmlErrValidNode(ctxt, (xmlNodePtr) elem, XML_DTD_CONTENT_ERROR, + "Definition of %s has duplicate references of %s\n", + elem->name, name, NULL); + } else { + xmlErrValidNode(ctxt, (xmlNodePtr) elem, XML_DTD_CONTENT_ERROR, + "Definition of %s has duplicate references of %s:%s\n", + elem->name, cur->c1->prefix, name); + } + ret = 0; + } + break; + } + if (next->c1 == NULL) break; + if (next->c1->type != XML_ELEMENT_CONTENT_ELEMENT) break; + if ((xmlStrEqual(next->c1->name, name)) && + (xmlStrEqual(next->c1->prefix, cur->c1->prefix))) { + if (cur->c1->prefix == NULL) { + xmlErrValidNode(ctxt, (xmlNodePtr) elem, XML_DTD_CONTENT_ERROR, + "Definition of %s has duplicate references to %s\n", + elem->name, name, NULL); + } else { + xmlErrValidNode(ctxt, (xmlNodePtr) elem, XML_DTD_CONTENT_ERROR, + "Definition of %s has duplicate references to %s:%s\n", + elem->name, cur->c1->prefix, name); + } + ret = 0; + } + next = next->c2; + } + } + cur = cur->c2; + } + } + + /* VC: Unique Element Type Declaration */ + tst = xmlGetDtdElementDesc(doc->intSubset, elem->name); + if ((tst != NULL ) && (tst != elem) && + ((tst->prefix == elem->prefix) || + (xmlStrEqual(tst->prefix, elem->prefix))) && + (tst->etype != XML_ELEMENT_TYPE_UNDEFINED)) { + xmlErrValidNode(ctxt, (xmlNodePtr) elem, XML_DTD_ELEM_REDEFINED, + "Redefinition of element %s\n", + elem->name, NULL, NULL); + ret = 0; + } + tst = xmlGetDtdElementDesc(doc->extSubset, elem->name); + if ((tst != NULL ) && (tst != elem) && + ((tst->prefix == elem->prefix) || + (xmlStrEqual(tst->prefix, elem->prefix))) && + (tst->etype != XML_ELEMENT_TYPE_UNDEFINED)) { + xmlErrValidNode(ctxt, (xmlNodePtr) elem, XML_DTD_ELEM_REDEFINED, + "Redefinition of element %s\n", + elem->name, NULL, NULL); + ret = 0; + } + /* One ID per Element Type + * already done when registering the attribute + if (xmlScanIDAttributeDecl(ctxt, elem) > 1) { + ret = 0; + } */ + return(ret); +} + +/** + * xmlValidateOneAttribute: + * @ctxt: the validation context + * @doc: a document instance + * @elem: an element instance + * @attr: an attribute instance + * @value: the attribute value (without entities processing) + * + * Try to validate a single attribute for an element + * basically it does the following checks as described by the + * XML-1.0 recommendation: + * - [ VC: Attribute Value Type ] + * - [ VC: Fixed Attribute Default ] + * - [ VC: Entity Name ] + * - [ VC: Name Token ] + * - [ VC: ID ] + * - [ VC: IDREF ] + * - [ VC: Entity Name ] + * - [ VC: Notation Attributes ] + * + * The ID/IDREF uniqueness and matching are done separately + * + * returns 1 if valid or 0 otherwise + */ + +int +xmlValidateOneAttribute(xmlValidCtxtPtr ctxt, xmlDocPtr doc, + xmlNodePtr elem, xmlAttrPtr attr, const xmlChar *value) +{ + xmlAttributePtr attrDecl = NULL; + int val; + int ret = 1; + + CHECK_DTD; + if ((elem == NULL) || (elem->name == NULL)) return(0); + if ((attr == NULL) || (attr->name == NULL)) return(0); + + if ((elem->ns != NULL) && (elem->ns->prefix != NULL)) { + xmlChar fn[50]; + xmlChar *fullname; + + fullname = xmlBuildQName(elem->name, elem->ns->prefix, fn, 50); + if (fullname == NULL) + return(0); + if (attr->ns != NULL) { + attrDecl = xmlGetDtdQAttrDesc(doc->intSubset, fullname, + attr->name, attr->ns->prefix); + if ((attrDecl == NULL) && (doc->extSubset != NULL)) + attrDecl = xmlGetDtdQAttrDesc(doc->extSubset, fullname, + attr->name, attr->ns->prefix); + } else { + attrDecl = xmlGetDtdAttrDesc(doc->intSubset, fullname, attr->name); + if ((attrDecl == NULL) && (doc->extSubset != NULL)) + attrDecl = xmlGetDtdAttrDesc(doc->extSubset, + fullname, attr->name); + } + if ((fullname != fn) && (fullname != elem->name)) + xmlFree(fullname); + } + if (attrDecl == NULL) { + if (attr->ns != NULL) { + attrDecl = xmlGetDtdQAttrDesc(doc->intSubset, elem->name, + attr->name, attr->ns->prefix); + if ((attrDecl == NULL) && (doc->extSubset != NULL)) + attrDecl = xmlGetDtdQAttrDesc(doc->extSubset, elem->name, + attr->name, attr->ns->prefix); + } else { + attrDecl = xmlGetDtdAttrDesc(doc->intSubset, + elem->name, attr->name); + if ((attrDecl == NULL) && (doc->extSubset != NULL)) + attrDecl = xmlGetDtdAttrDesc(doc->extSubset, + elem->name, attr->name); + } + } + + + /* Validity Constraint: Attribute Value Type */ + if (attrDecl == NULL) { + xmlErrValidNode(ctxt, elem, XML_DTD_UNKNOWN_ATTRIBUTE, + "No declaration for attribute %s of element %s\n", + attr->name, elem->name, NULL); + return(0); + } + attr->atype = attrDecl->atype; + + val = xmlValidateAttributeValueInternal(doc, attrDecl->atype, value); + if (val == 0) { + xmlErrValidNode(ctxt, elem, XML_DTD_ATTRIBUTE_VALUE, + "Syntax of value for attribute %s of %s is not valid\n", + attr->name, elem->name, NULL); + ret = 0; + } + + /* Validity constraint: Fixed Attribute Default */ + if (attrDecl->def == XML_ATTRIBUTE_FIXED) { + if (!xmlStrEqual(value, attrDecl->defaultValue)) { + xmlErrValidNode(ctxt, elem, XML_DTD_ATTRIBUTE_DEFAULT, + "Value for attribute %s of %s is different from default \"%s\"\n", + attr->name, elem->name, attrDecl->defaultValue); + ret = 0; + } + } + + /* Validity Constraint: ID uniqueness */ + if (attrDecl->atype == XML_ATTRIBUTE_ID) { + if (xmlAddID(ctxt, doc, value, attr) == NULL) + ret = 0; + } + + if ((attrDecl->atype == XML_ATTRIBUTE_IDREF) || + (attrDecl->atype == XML_ATTRIBUTE_IDREFS)) { + if (xmlAddRef(ctxt, doc, value, attr) == NULL) + ret = 0; + } + + /* Validity Constraint: Notation Attributes */ + if (attrDecl->atype == XML_ATTRIBUTE_NOTATION) { + xmlEnumerationPtr tree = attrDecl->tree; + xmlNotationPtr nota; + + /* First check that the given NOTATION was declared */ + nota = xmlGetDtdNotationDesc(doc->intSubset, value); + if (nota == NULL) + nota = xmlGetDtdNotationDesc(doc->extSubset, value); + + if (nota == NULL) { + xmlErrValidNode(ctxt, elem, XML_DTD_UNKNOWN_NOTATION, + "Value \"%s\" for attribute %s of %s is not a declared Notation\n", + value, attr->name, elem->name); + ret = 0; + } + + /* Second, verify that it's among the list */ + while (tree != NULL) { + if (xmlStrEqual(tree->name, value)) break; + tree = tree->next; + } + if (tree == NULL) { + xmlErrValidNode(ctxt, elem, XML_DTD_NOTATION_VALUE, +"Value \"%s\" for attribute %s of %s is not among the enumerated notations\n", + value, attr->name, elem->name); + ret = 0; + } + } + + /* Validity Constraint: Enumeration */ + if (attrDecl->atype == XML_ATTRIBUTE_ENUMERATION) { + xmlEnumerationPtr tree = attrDecl->tree; + while (tree != NULL) { + if (xmlStrEqual(tree->name, value)) break; + tree = tree->next; + } + if (tree == NULL) { + xmlErrValidNode(ctxt, elem, XML_DTD_ATTRIBUTE_VALUE, + "Value \"%s\" for attribute %s of %s is not among the enumerated set\n", + value, attr->name, elem->name); + ret = 0; + } + } + + /* Fixed Attribute Default */ + if ((attrDecl->def == XML_ATTRIBUTE_FIXED) && + (!xmlStrEqual(attrDecl->defaultValue, value))) { + xmlErrValidNode(ctxt, elem, XML_DTD_ATTRIBUTE_VALUE, + "Value for attribute %s of %s must be \"%s\"\n", + attr->name, elem->name, attrDecl->defaultValue); + ret = 0; + } + + /* Extra check for the attribute value */ + ret &= xmlValidateAttributeValue2(ctxt, doc, attr->name, + attrDecl->atype, value); + + return(ret); +} + +/** + * xmlValidateOneNamespace: + * @ctxt: the validation context + * @doc: a document instance + * @elem: an element instance + * @prefix: the namespace prefix + * @ns: an namespace declaration instance + * @value: the attribute value (without entities processing) + * + * Try to validate a single namespace declaration for an element + * basically it does the following checks as described by the + * XML-1.0 recommendation: + * - [ VC: Attribute Value Type ] + * - [ VC: Fixed Attribute Default ] + * - [ VC: Entity Name ] + * - [ VC: Name Token ] + * - [ VC: ID ] + * - [ VC: IDREF ] + * - [ VC: Entity Name ] + * - [ VC: Notation Attributes ] + * + * The ID/IDREF uniqueness and matching are done separately + * + * returns 1 if valid or 0 otherwise + */ + +int +xmlValidateOneNamespace(xmlValidCtxtPtr ctxt, xmlDocPtr doc, +xmlNodePtr elem, const xmlChar *prefix, xmlNsPtr ns, const xmlChar *value) { + /* xmlElementPtr elemDecl; */ + xmlAttributePtr attrDecl = NULL; + int val; + int ret = 1; + + CHECK_DTD; + if ((elem == NULL) || (elem->name == NULL)) return(0); + if ((ns == NULL) || (ns->href == NULL)) return(0); + + if (prefix != NULL) { + xmlChar fn[50]; + xmlChar *fullname; + + fullname = xmlBuildQName(elem->name, prefix, fn, 50); + if (fullname == NULL) { + xmlVErrMemory(ctxt, "Validating namespace"); + return(0); + } + if (ns->prefix != NULL) { + attrDecl = xmlGetDtdQAttrDesc(doc->intSubset, fullname, + ns->prefix, BAD_CAST "xmlns"); + if ((attrDecl == NULL) && (doc->extSubset != NULL)) + attrDecl = xmlGetDtdQAttrDesc(doc->extSubset, fullname, + ns->prefix, BAD_CAST "xmlns"); + } else { + attrDecl = xmlGetDtdAttrDesc(doc->intSubset, fullname, + BAD_CAST "xmlns"); + if ((attrDecl == NULL) && (doc->extSubset != NULL)) + attrDecl = xmlGetDtdAttrDesc(doc->extSubset, fullname, + BAD_CAST "xmlns"); + } + if ((fullname != fn) && (fullname != elem->name)) + xmlFree(fullname); + } + if (attrDecl == NULL) { + if (ns->prefix != NULL) { + attrDecl = xmlGetDtdQAttrDesc(doc->intSubset, elem->name, + ns->prefix, BAD_CAST "xmlns"); + if ((attrDecl == NULL) && (doc->extSubset != NULL)) + attrDecl = xmlGetDtdQAttrDesc(doc->extSubset, elem->name, + ns->prefix, BAD_CAST "xmlns"); + } else { + attrDecl = xmlGetDtdAttrDesc(doc->intSubset, + elem->name, BAD_CAST "xmlns"); + if ((attrDecl == NULL) && (doc->extSubset != NULL)) + attrDecl = xmlGetDtdAttrDesc(doc->extSubset, + elem->name, BAD_CAST "xmlns"); + } + } + + + /* Validity Constraint: Attribute Value Type */ + if (attrDecl == NULL) { + if (ns->prefix != NULL) { + xmlErrValidNode(ctxt, elem, XML_DTD_UNKNOWN_ATTRIBUTE, + "No declaration for attribute xmlns:%s of element %s\n", + ns->prefix, elem->name, NULL); + } else { + xmlErrValidNode(ctxt, elem, XML_DTD_UNKNOWN_ATTRIBUTE, + "No declaration for attribute xmlns of element %s\n", + elem->name, NULL, NULL); + } + return(0); + } + + val = xmlValidateAttributeValueInternal(doc, attrDecl->atype, value); + if (val == 0) { + if (ns->prefix != NULL) { + xmlErrValidNode(ctxt, elem, XML_DTD_INVALID_DEFAULT, + "Syntax of value for attribute xmlns:%s of %s is not valid\n", + ns->prefix, elem->name, NULL); + } else { + xmlErrValidNode(ctxt, elem, XML_DTD_INVALID_DEFAULT, + "Syntax of value for attribute xmlns of %s is not valid\n", + elem->name, NULL, NULL); + } + ret = 0; + } + + /* Validity constraint: Fixed Attribute Default */ + if (attrDecl->def == XML_ATTRIBUTE_FIXED) { + if (!xmlStrEqual(value, attrDecl->defaultValue)) { + if (ns->prefix != NULL) { + xmlErrValidNode(ctxt, elem, XML_DTD_ATTRIBUTE_DEFAULT, + "Value for attribute xmlns:%s of %s is different from default \"%s\"\n", + ns->prefix, elem->name, attrDecl->defaultValue); + } else { + xmlErrValidNode(ctxt, elem, XML_DTD_ATTRIBUTE_DEFAULT, + "Value for attribute xmlns of %s is different from default \"%s\"\n", + elem->name, attrDecl->defaultValue, NULL); + } + ret = 0; + } + } + + /* + * Casting ns to xmlAttrPtr is wrong. We'd need separate functions + * xmlAddID and xmlAddRef for namespace declarations, but it makes + * no practical sense to use ID types anyway. + */ +#if 0 + /* Validity Constraint: ID uniqueness */ + if (attrDecl->atype == XML_ATTRIBUTE_ID) { + if (xmlAddID(ctxt, doc, value, (xmlAttrPtr) ns) == NULL) + ret = 0; + } + + if ((attrDecl->atype == XML_ATTRIBUTE_IDREF) || + (attrDecl->atype == XML_ATTRIBUTE_IDREFS)) { + if (xmlAddRef(ctxt, doc, value, (xmlAttrPtr) ns) == NULL) + ret = 0; + } +#endif + + /* Validity Constraint: Notation Attributes */ + if (attrDecl->atype == XML_ATTRIBUTE_NOTATION) { + xmlEnumerationPtr tree = attrDecl->tree; + xmlNotationPtr nota; + + /* First check that the given NOTATION was declared */ + nota = xmlGetDtdNotationDesc(doc->intSubset, value); + if (nota == NULL) + nota = xmlGetDtdNotationDesc(doc->extSubset, value); + + if (nota == NULL) { + if (ns->prefix != NULL) { + xmlErrValidNode(ctxt, elem, XML_DTD_UNKNOWN_NOTATION, + "Value \"%s\" for attribute xmlns:%s of %s is not a declared Notation\n", + value, ns->prefix, elem->name); + } else { + xmlErrValidNode(ctxt, elem, XML_DTD_UNKNOWN_NOTATION, + "Value \"%s\" for attribute xmlns of %s is not a declared Notation\n", + value, elem->name, NULL); + } + ret = 0; + } + + /* Second, verify that it's among the list */ + while (tree != NULL) { + if (xmlStrEqual(tree->name, value)) break; + tree = tree->next; + } + if (tree == NULL) { + if (ns->prefix != NULL) { + xmlErrValidNode(ctxt, elem, XML_DTD_NOTATION_VALUE, +"Value \"%s\" for attribute xmlns:%s of %s is not among the enumerated notations\n", + value, ns->prefix, elem->name); + } else { + xmlErrValidNode(ctxt, elem, XML_DTD_NOTATION_VALUE, +"Value \"%s\" for attribute xmlns of %s is not among the enumerated notations\n", + value, elem->name, NULL); + } + ret = 0; + } + } + + /* Validity Constraint: Enumeration */ + if (attrDecl->atype == XML_ATTRIBUTE_ENUMERATION) { + xmlEnumerationPtr tree = attrDecl->tree; + while (tree != NULL) { + if (xmlStrEqual(tree->name, value)) break; + tree = tree->next; + } + if (tree == NULL) { + if (ns->prefix != NULL) { + xmlErrValidNode(ctxt, elem, XML_DTD_ATTRIBUTE_VALUE, +"Value \"%s\" for attribute xmlns:%s of %s is not among the enumerated set\n", + value, ns->prefix, elem->name); + } else { + xmlErrValidNode(ctxt, elem, XML_DTD_ATTRIBUTE_VALUE, +"Value \"%s\" for attribute xmlns of %s is not among the enumerated set\n", + value, elem->name, NULL); + } + ret = 0; + } + } + + /* Fixed Attribute Default */ + if ((attrDecl->def == XML_ATTRIBUTE_FIXED) && + (!xmlStrEqual(attrDecl->defaultValue, value))) { + if (ns->prefix != NULL) { + xmlErrValidNode(ctxt, elem, XML_DTD_ELEM_NAMESPACE, + "Value for attribute xmlns:%s of %s must be \"%s\"\n", + ns->prefix, elem->name, attrDecl->defaultValue); + } else { + xmlErrValidNode(ctxt, elem, XML_DTD_ELEM_NAMESPACE, + "Value for attribute xmlns of %s must be \"%s\"\n", + elem->name, attrDecl->defaultValue, NULL); + } + ret = 0; + } + + /* Extra check for the attribute value */ + if (ns->prefix != NULL) { + ret &= xmlValidateAttributeValue2(ctxt, doc, ns->prefix, + attrDecl->atype, value); + } else { + ret &= xmlValidateAttributeValue2(ctxt, doc, BAD_CAST "xmlns", + attrDecl->atype, value); + } + + return(ret); +} + +#ifndef LIBXML_REGEXP_ENABLED +/** + * xmlValidateSkipIgnorable: + * @ctxt: the validation context + * @child: the child list + * + * Skip ignorable elements w.r.t. the validation process + * + * returns the first element to consider for validation of the content model + */ + +static xmlNodePtr +xmlValidateSkipIgnorable(xmlNodePtr child) { + while (child != NULL) { + switch (child->type) { + /* These things are ignored (skipped) during validation. */ + case XML_PI_NODE: + case XML_COMMENT_NODE: + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: + child = child->next; + break; + case XML_TEXT_NODE: + if (xmlIsBlankNode(child)) + child = child->next; + else + return(child); + break; + /* keep current node */ + default: + return(child); + } + } + return(child); +} + +/** + * xmlValidateElementType: + * @ctxt: the validation context + * + * Try to validate the content model of an element internal function + * + * returns 1 if valid or 0 ,-1 in case of error, -2 if an entity + * reference is found and -3 if the validation succeeded but + * the content model is not determinist. + */ + +static int +xmlValidateElementType(xmlValidCtxtPtr ctxt) { + int ret = -1; + int determinist = 1; + + NODE = xmlValidateSkipIgnorable(NODE); + if ((NODE == NULL) && (CONT == NULL)) + return(1); + if ((NODE == NULL) && + ((CONT->ocur == XML_ELEMENT_CONTENT_MULT) || + (CONT->ocur == XML_ELEMENT_CONTENT_OPT))) { + return(1); + } + if (CONT == NULL) return(-1); + if ((NODE != NULL) && (NODE->type == XML_ENTITY_REF_NODE)) + return(-2); + + /* + * We arrive here when more states need to be examined + */ +cont: + + /* + * We just recovered from a rollback generated by a possible + * epsilon transition, go directly to the analysis phase + */ + if (STATE == ROLLBACK_PARENT) { + DEBUG_VALID_MSG("restored parent branch"); + DEBUG_VALID_STATE(NODE, CONT) + ret = 1; + goto analyze; + } + + DEBUG_VALID_STATE(NODE, CONT) + /* + * we may have to save a backup state here. This is the equivalent + * of handling epsilon transition in NFAs. + */ + if ((CONT != NULL) && + ((CONT->parent == NULL) || + (CONT->parent->type != XML_ELEMENT_CONTENT_OR)) && + ((CONT->ocur == XML_ELEMENT_CONTENT_MULT) || + (CONT->ocur == XML_ELEMENT_CONTENT_OPT) || + ((CONT->ocur == XML_ELEMENT_CONTENT_PLUS) && (OCCURRENCE)))) { + DEBUG_VALID_MSG("saving parent branch"); + if (vstateVPush(ctxt, CONT, NODE, DEPTH, OCCURS, ROLLBACK_PARENT) < 0) + return(0); + } + + + /* + * Check first if the content matches + */ + switch (CONT->type) { + case XML_ELEMENT_CONTENT_PCDATA: + if (NODE == NULL) { + DEBUG_VALID_MSG("pcdata failed no node"); + ret = 0; + break; + } + if (NODE->type == XML_TEXT_NODE) { + DEBUG_VALID_MSG("pcdata found, skip to next"); + /* + * go to next element in the content model + * skipping ignorable elems + */ + do { + NODE = NODE->next; + NODE = xmlValidateSkipIgnorable(NODE); + if ((NODE != NULL) && + (NODE->type == XML_ENTITY_REF_NODE)) + return(-2); + } while ((NODE != NULL) && + ((NODE->type != XML_ELEMENT_NODE) && + (NODE->type != XML_TEXT_NODE) && + (NODE->type != XML_CDATA_SECTION_NODE))); + ret = 1; + break; + } else { + DEBUG_VALID_MSG("pcdata failed"); + ret = 0; + break; + } + break; + case XML_ELEMENT_CONTENT_ELEMENT: + if (NODE == NULL) { + DEBUG_VALID_MSG("element failed no node"); + ret = 0; + break; + } + ret = ((NODE->type == XML_ELEMENT_NODE) && + (xmlStrEqual(NODE->name, CONT->name))); + if (ret == 1) { + if ((NODE->ns == NULL) || (NODE->ns->prefix == NULL)) { + ret = (CONT->prefix == NULL); + } else if (CONT->prefix == NULL) { + ret = 0; + } else { + ret = xmlStrEqual(NODE->ns->prefix, CONT->prefix); + } + } + if (ret == 1) { + DEBUG_VALID_MSG("element found, skip to next"); + /* + * go to next element in the content model + * skipping ignorable elems + */ + do { + NODE = NODE->next; + NODE = xmlValidateSkipIgnorable(NODE); + if ((NODE != NULL) && + (NODE->type == XML_ENTITY_REF_NODE)) + return(-2); + } while ((NODE != NULL) && + ((NODE->type != XML_ELEMENT_NODE) && + (NODE->type != XML_TEXT_NODE) && + (NODE->type != XML_CDATA_SECTION_NODE))); + } else { + DEBUG_VALID_MSG("element failed"); + ret = 0; + break; + } + break; + case XML_ELEMENT_CONTENT_OR: + /* + * Small optimization. + */ + if (CONT->c1->type == XML_ELEMENT_CONTENT_ELEMENT) { + if ((NODE == NULL) || + (!xmlStrEqual(NODE->name, CONT->c1->name))) { + DEPTH++; + CONT = CONT->c2; + goto cont; + } + if ((NODE->ns == NULL) || (NODE->ns->prefix == NULL)) { + ret = (CONT->c1->prefix == NULL); + } else if (CONT->c1->prefix == NULL) { + ret = 0; + } else { + ret = xmlStrEqual(NODE->ns->prefix, CONT->c1->prefix); + } + if (ret == 0) { + DEPTH++; + CONT = CONT->c2; + goto cont; + } + } + + /* + * save the second branch 'or' branch + */ + DEBUG_VALID_MSG("saving 'or' branch"); + if (vstateVPush(ctxt, CONT->c2, NODE, (unsigned char)(DEPTH + 1), + OCCURS, ROLLBACK_OR) < 0) + return(-1); + DEPTH++; + CONT = CONT->c1; + goto cont; + case XML_ELEMENT_CONTENT_SEQ: + /* + * Small optimization. + */ + if ((CONT->c1->type == XML_ELEMENT_CONTENT_ELEMENT) && + ((CONT->c1->ocur == XML_ELEMENT_CONTENT_OPT) || + (CONT->c1->ocur == XML_ELEMENT_CONTENT_MULT))) { + if ((NODE == NULL) || + (!xmlStrEqual(NODE->name, CONT->c1->name))) { + DEPTH++; + CONT = CONT->c2; + goto cont; + } + if ((NODE->ns == NULL) || (NODE->ns->prefix == NULL)) { + ret = (CONT->c1->prefix == NULL); + } else if (CONT->c1->prefix == NULL) { + ret = 0; + } else { + ret = xmlStrEqual(NODE->ns->prefix, CONT->c1->prefix); + } + if (ret == 0) { + DEPTH++; + CONT = CONT->c2; + goto cont; + } + } + DEPTH++; + CONT = CONT->c1; + goto cont; + } + + /* + * At this point handle going up in the tree + */ + if (ret == -1) { + DEBUG_VALID_MSG("error found returning"); + return(ret); + } +analyze: + while (CONT != NULL) { + /* + * First do the analysis depending on the occurrence model at + * this level. + */ + if (ret == 0) { + switch (CONT->ocur) { + xmlNodePtr cur; + + case XML_ELEMENT_CONTENT_ONCE: + cur = ctxt->vstate->node; + DEBUG_VALID_MSG("Once branch failed, rollback"); + if (vstateVPop(ctxt) < 0 ) { + DEBUG_VALID_MSG("exhaustion, failed"); + return(0); + } + if (cur != ctxt->vstate->node) + determinist = -3; + goto cont; + case XML_ELEMENT_CONTENT_PLUS: + if (OCCURRENCE == 0) { + cur = ctxt->vstate->node; + DEBUG_VALID_MSG("Plus branch failed, rollback"); + if (vstateVPop(ctxt) < 0 ) { + DEBUG_VALID_MSG("exhaustion, failed"); + return(0); + } + if (cur != ctxt->vstate->node) + determinist = -3; + goto cont; + } + DEBUG_VALID_MSG("Plus branch found"); + ret = 1; + break; + case XML_ELEMENT_CONTENT_MULT: +#ifdef DEBUG_VALID_ALGO + if (OCCURRENCE == 0) { + DEBUG_VALID_MSG("Mult branch failed"); + } else { + DEBUG_VALID_MSG("Mult branch found"); + } +#endif + ret = 1; + break; + case XML_ELEMENT_CONTENT_OPT: + DEBUG_VALID_MSG("Option branch failed"); + ret = 1; + break; + } + } else { + switch (CONT->ocur) { + case XML_ELEMENT_CONTENT_OPT: + DEBUG_VALID_MSG("Option branch succeeded"); + ret = 1; + break; + case XML_ELEMENT_CONTENT_ONCE: + DEBUG_VALID_MSG("Once branch succeeded"); + ret = 1; + break; + case XML_ELEMENT_CONTENT_PLUS: + if (STATE == ROLLBACK_PARENT) { + DEBUG_VALID_MSG("Plus branch rollback"); + ret = 1; + break; + } + if (NODE == NULL) { + DEBUG_VALID_MSG("Plus branch exhausted"); + ret = 1; + break; + } + DEBUG_VALID_MSG("Plus branch succeeded, continuing"); + SET_OCCURRENCE; + goto cont; + case XML_ELEMENT_CONTENT_MULT: + if (STATE == ROLLBACK_PARENT) { + DEBUG_VALID_MSG("Mult branch rollback"); + ret = 1; + break; + } + if (NODE == NULL) { + DEBUG_VALID_MSG("Mult branch exhausted"); + ret = 1; + break; + } + DEBUG_VALID_MSG("Mult branch succeeded, continuing"); + /* SET_OCCURRENCE; */ + goto cont; + } + } + STATE = 0; + + /* + * Then act accordingly at the parent level + */ + RESET_OCCURRENCE; + if (CONT->parent == NULL) + break; + + switch (CONT->parent->type) { + case XML_ELEMENT_CONTENT_PCDATA: + DEBUG_VALID_MSG("Error: parent pcdata"); + return(-1); + case XML_ELEMENT_CONTENT_ELEMENT: + DEBUG_VALID_MSG("Error: parent element"); + return(-1); + case XML_ELEMENT_CONTENT_OR: + if (ret == 1) { + DEBUG_VALID_MSG("Or succeeded"); + CONT = CONT->parent; + DEPTH--; + } else { + DEBUG_VALID_MSG("Or failed"); + CONT = CONT->parent; + DEPTH--; + } + break; + case XML_ELEMENT_CONTENT_SEQ: + if (ret == 0) { + DEBUG_VALID_MSG("Sequence failed"); + CONT = CONT->parent; + DEPTH--; + } else if (CONT == CONT->parent->c1) { + DEBUG_VALID_MSG("Sequence testing 2nd branch"); + CONT = CONT->parent->c2; + goto cont; + } else { + DEBUG_VALID_MSG("Sequence succeeded"); + CONT = CONT->parent; + DEPTH--; + } + } + } + if (NODE != NULL) { + xmlNodePtr cur; + + cur = ctxt->vstate->node; + DEBUG_VALID_MSG("Failed, remaining input, rollback"); + if (vstateVPop(ctxt) < 0 ) { + DEBUG_VALID_MSG("exhaustion, failed"); + return(0); + } + if (cur != ctxt->vstate->node) + determinist = -3; + goto cont; + } + if (ret == 0) { + xmlNodePtr cur; + + cur = ctxt->vstate->node; + DEBUG_VALID_MSG("Failure, rollback"); + if (vstateVPop(ctxt) < 0 ) { + DEBUG_VALID_MSG("exhaustion, failed"); + return(0); + } + if (cur != ctxt->vstate->node) + determinist = -3; + goto cont; + } + return(determinist); +} +#endif + +/** + * xmlSnprintfElements: + * @buf: an output buffer + * @size: the size of the buffer + * @content: An element + * @glob: 1 if one must print the englobing parenthesis, 0 otherwise + * + * This will dump the list of elements to the buffer + * Intended just for the debug routine + */ +static void +xmlSnprintfElements(char *buf, int size, xmlNodePtr node, int glob) { + xmlNodePtr cur; + int len; + + if (node == NULL) return; + if (glob) strcat(buf, "("); + cur = node; + while (cur != NULL) { + len = strlen(buf); + if (size - len < 50) { + if ((size - len > 4) && (buf[len - 1] != '.')) + strcat(buf, " ..."); + return; + } + switch (cur->type) { + case XML_ELEMENT_NODE: + if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { + if (size - len < xmlStrlen(cur->ns->prefix) + 10) { + if ((size - len > 4) && (buf[len - 1] != '.')) + strcat(buf, " ..."); + return; + } + strcat(buf, (char *) cur->ns->prefix); + strcat(buf, ":"); + } + if (size - len < xmlStrlen(cur->name) + 10) { + if ((size - len > 4) && (buf[len - 1] != '.')) + strcat(buf, " ..."); + return; + } + strcat(buf, (char *) cur->name); + if (cur->next != NULL) + strcat(buf, " "); + break; + case XML_TEXT_NODE: + if (xmlIsBlankNode(cur)) + break; + /* Falls through. */ + case XML_CDATA_SECTION_NODE: + case XML_ENTITY_REF_NODE: + strcat(buf, "CDATA"); + if (cur->next != NULL) + strcat(buf, " "); + break; + case XML_ATTRIBUTE_NODE: + case XML_DOCUMENT_NODE: +#ifdef LIBXML_DOCB_ENABLED + case XML_DOCB_DOCUMENT_NODE: +#endif + case XML_HTML_DOCUMENT_NODE: + case XML_DOCUMENT_TYPE_NODE: + case XML_DOCUMENT_FRAG_NODE: + case XML_NOTATION_NODE: + case XML_NAMESPACE_DECL: + strcat(buf, "???"); + if (cur->next != NULL) + strcat(buf, " "); + break; + case XML_ENTITY_NODE: + case XML_PI_NODE: + case XML_DTD_NODE: + case XML_COMMENT_NODE: + case XML_ELEMENT_DECL: + case XML_ATTRIBUTE_DECL: + case XML_ENTITY_DECL: + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: + break; + } + cur = cur->next; + } + if (glob) strcat(buf, ")"); +} + +/** + * xmlValidateElementContent: + * @ctxt: the validation context + * @child: the child list + * @elemDecl: pointer to the element declaration + * @warn: emit the error message + * @parent: the parent element (for error reporting) + * + * Try to validate the content model of an element + * + * returns 1 if valid or 0 if not and -1 in case of error + */ + +static int +xmlValidateElementContent(xmlValidCtxtPtr ctxt, xmlNodePtr child, + xmlElementPtr elemDecl, int warn, xmlNodePtr parent) { + int ret = 1; +#ifndef LIBXML_REGEXP_ENABLED + xmlNodePtr repl = NULL, last = NULL, tmp; +#endif + xmlNodePtr cur; + xmlElementContentPtr cont; + const xmlChar *name; + + if ((elemDecl == NULL) || (parent == NULL) || (ctxt == NULL)) + return(-1); + cont = elemDecl->content; + name = elemDecl->name; + +#ifdef LIBXML_REGEXP_ENABLED + /* Build the regexp associated to the content model */ + if (elemDecl->contModel == NULL) + ret = xmlValidBuildContentModel(ctxt, elemDecl); + if (elemDecl->contModel == NULL) { + return(-1); + } else { + xmlRegExecCtxtPtr exec; + + if (!xmlRegexpIsDeterminist(elemDecl->contModel)) { + return(-1); + } + ctxt->nodeMax = 0; + ctxt->nodeNr = 0; + ctxt->nodeTab = NULL; + exec = xmlRegNewExecCtxt(elemDecl->contModel, NULL, NULL); + if (exec != NULL) { + cur = child; + while (cur != NULL) { + switch (cur->type) { + case XML_ENTITY_REF_NODE: + /* + * Push the current node to be able to roll back + * and process within the entity + */ + if ((cur->children != NULL) && + (cur->children->children != NULL)) { + nodeVPush(ctxt, cur); + cur = cur->children->children; + continue; + } + break; + case XML_TEXT_NODE: + if (xmlIsBlankNode(cur)) + break; + ret = 0; + goto fail; + case XML_CDATA_SECTION_NODE: + /* TODO */ + ret = 0; + goto fail; + case XML_ELEMENT_NODE: + if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { + xmlChar fn[50]; + xmlChar *fullname; + + fullname = xmlBuildQName(cur->name, + cur->ns->prefix, fn, 50); + if (fullname == NULL) { + ret = -1; + goto fail; + } + ret = xmlRegExecPushString(exec, fullname, NULL); + if ((fullname != fn) && (fullname != cur->name)) + xmlFree(fullname); + } else { + ret = xmlRegExecPushString(exec, cur->name, NULL); + } + break; + default: + break; + } + /* + * Switch to next element + */ + cur = cur->next; + while (cur == NULL) { + cur = nodeVPop(ctxt); + if (cur == NULL) + break; + cur = cur->next; + } + } + ret = xmlRegExecPushString(exec, NULL, NULL); +fail: + xmlRegFreeExecCtxt(exec); + } + } +#else /* LIBXML_REGEXP_ENABLED */ + /* + * Allocate the stack + */ + ctxt->vstateMax = 8; + ctxt->vstateTab = (xmlValidState *) xmlMalloc( + ctxt->vstateMax * sizeof(ctxt->vstateTab[0])); + if (ctxt->vstateTab == NULL) { + xmlVErrMemory(ctxt, "malloc failed"); + return(-1); + } + /* + * The first entry in the stack is reserved to the current state + */ + ctxt->nodeMax = 0; + ctxt->nodeNr = 0; + ctxt->nodeTab = NULL; + ctxt->vstate = &ctxt->vstateTab[0]; + ctxt->vstateNr = 1; + CONT = cont; + NODE = child; + DEPTH = 0; + OCCURS = 0; + STATE = 0; + ret = xmlValidateElementType(ctxt); + if ((ret == -3) && (warn)) { + xmlErrValidWarning(ctxt, child, XML_DTD_CONTENT_NOT_DETERMINIST, + "Content model for Element %s is ambiguous\n", + name, NULL, NULL); + } else if (ret == -2) { + /* + * An entities reference appeared at this level. + * Buid a minimal representation of this node content + * sufficient to run the validation process on it + */ + DEBUG_VALID_MSG("Found an entity reference, linearizing"); + cur = child; + while (cur != NULL) { + switch (cur->type) { + case XML_ENTITY_REF_NODE: + /* + * Push the current node to be able to roll back + * and process within the entity + */ + if ((cur->children != NULL) && + (cur->children->children != NULL)) { + nodeVPush(ctxt, cur); + cur = cur->children->children; + continue; + } + break; + case XML_TEXT_NODE: + if (xmlIsBlankNode(cur)) + break; + /* no break on purpose */ + case XML_CDATA_SECTION_NODE: + /* no break on purpose */ + case XML_ELEMENT_NODE: + /* + * Allocate a new node and minimally fills in + * what's required + */ + tmp = (xmlNodePtr) xmlMalloc(sizeof(xmlNode)); + if (tmp == NULL) { + xmlVErrMemory(ctxt, "malloc failed"); + xmlFreeNodeList(repl); + ret = -1; + goto done; + } + tmp->type = cur->type; + tmp->name = cur->name; + tmp->ns = cur->ns; + tmp->next = NULL; + tmp->content = NULL; + if (repl == NULL) + repl = last = tmp; + else { + last->next = tmp; + last = tmp; + } + if (cur->type == XML_CDATA_SECTION_NODE) { + /* + * E59 spaces in CDATA does not match the + * nonterminal S + */ + tmp->content = xmlStrdup(BAD_CAST "CDATA"); + } + break; + default: + break; + } + /* + * Switch to next element + */ + cur = cur->next; + while (cur == NULL) { + cur = nodeVPop(ctxt); + if (cur == NULL) + break; + cur = cur->next; + } + } + + /* + * Relaunch the validation + */ + ctxt->vstate = &ctxt->vstateTab[0]; + ctxt->vstateNr = 1; + CONT = cont; + NODE = repl; + DEPTH = 0; + OCCURS = 0; + STATE = 0; + ret = xmlValidateElementType(ctxt); + } +#endif /* LIBXML_REGEXP_ENABLED */ + if ((warn) && ((ret != 1) && (ret != -3))) { + if (ctxt != NULL) { + char expr[5000]; + char list[5000]; + + expr[0] = 0; + xmlSnprintfElementContent(&expr[0], 5000, cont, 1); + list[0] = 0; +#ifndef LIBXML_REGEXP_ENABLED + if (repl != NULL) + xmlSnprintfElements(&list[0], 5000, repl, 1); + else +#endif /* LIBXML_REGEXP_ENABLED */ + xmlSnprintfElements(&list[0], 5000, child, 1); + + if (name != NULL) { + xmlErrValidNode(ctxt, parent, XML_DTD_CONTENT_MODEL, + "Element %s content does not follow the DTD, expecting %s, got %s\n", + name, BAD_CAST expr, BAD_CAST list); + } else { + xmlErrValidNode(ctxt, parent, XML_DTD_CONTENT_MODEL, + "Element content does not follow the DTD, expecting %s, got %s\n", + BAD_CAST expr, BAD_CAST list, NULL); + } + } else { + if (name != NULL) { + xmlErrValidNode(ctxt, parent, XML_DTD_CONTENT_MODEL, + "Element %s content does not follow the DTD\n", + name, NULL, NULL); + } else { + xmlErrValidNode(ctxt, parent, XML_DTD_CONTENT_MODEL, + "Element content does not follow the DTD\n", + NULL, NULL, NULL); + } + } + ret = 0; + } + if (ret == -3) + ret = 1; + +#ifndef LIBXML_REGEXP_ENABLED +done: + /* + * Deallocate the copy if done, and free up the validation stack + */ + while (repl != NULL) { + tmp = repl->next; + xmlFree(repl); + repl = tmp; + } + ctxt->vstateMax = 0; + if (ctxt->vstateTab != NULL) { + xmlFree(ctxt->vstateTab); + ctxt->vstateTab = NULL; + } +#endif + ctxt->nodeMax = 0; + ctxt->nodeNr = 0; + if (ctxt->nodeTab != NULL) { + xmlFree(ctxt->nodeTab); + ctxt->nodeTab = NULL; + } + return(ret); + +} + +/** + * xmlValidateCdataElement: + * @ctxt: the validation context + * @doc: a document instance + * @elem: an element instance + * + * Check that an element follows #CDATA + * + * returns 1 if valid or 0 otherwise + */ +static int +xmlValidateOneCdataElement(xmlValidCtxtPtr ctxt, xmlDocPtr doc, + xmlNodePtr elem) { + int ret = 1; + xmlNodePtr cur, child; + + if ((ctxt == NULL) || (doc == NULL) || (elem == NULL) || + (elem->type != XML_ELEMENT_NODE)) + return(0); + + child = elem->children; + + cur = child; + while (cur != NULL) { + switch (cur->type) { + case XML_ENTITY_REF_NODE: + /* + * Push the current node to be able to roll back + * and process within the entity + */ + if ((cur->children != NULL) && + (cur->children->children != NULL)) { + nodeVPush(ctxt, cur); + cur = cur->children->children; + continue; + } + break; + case XML_COMMENT_NODE: + case XML_PI_NODE: + case XML_TEXT_NODE: + case XML_CDATA_SECTION_NODE: + break; + default: + ret = 0; + goto done; + } + /* + * Switch to next element + */ + cur = cur->next; + while (cur == NULL) { + cur = nodeVPop(ctxt); + if (cur == NULL) + break; + cur = cur->next; + } + } +done: + ctxt->nodeMax = 0; + ctxt->nodeNr = 0; + if (ctxt->nodeTab != NULL) { + xmlFree(ctxt->nodeTab); + ctxt->nodeTab = NULL; + } + return(ret); +} + +/** + * xmlValidateCheckMixed: + * @ctxt: the validation context + * @cont: the mixed content model + * @qname: the qualified name as appearing in the serialization + * + * Check if the given node is part of the content model. + * + * Returns 1 if yes, 0 if no, -1 in case of error + */ +static int +xmlValidateCheckMixed(xmlValidCtxtPtr ctxt, + xmlElementContentPtr cont, const xmlChar *qname) { + const xmlChar *name; + int plen; + name = xmlSplitQName3(qname, &plen); + + if (name == NULL) { + while (cont != NULL) { + if (cont->type == XML_ELEMENT_CONTENT_ELEMENT) { + if ((cont->prefix == NULL) && (xmlStrEqual(cont->name, qname))) + return(1); + } else if ((cont->type == XML_ELEMENT_CONTENT_OR) && + (cont->c1 != NULL) && + (cont->c1->type == XML_ELEMENT_CONTENT_ELEMENT)){ + if ((cont->c1->prefix == NULL) && + (xmlStrEqual(cont->c1->name, qname))) + return(1); + } else if ((cont->type != XML_ELEMENT_CONTENT_OR) || + (cont->c1 == NULL) || + (cont->c1->type != XML_ELEMENT_CONTENT_PCDATA)){ + xmlErrValid(NULL, XML_DTD_MIXED_CORRUPT, + "Internal: MIXED struct corrupted\n", + NULL); + break; + } + cont = cont->c2; + } + } else { + while (cont != NULL) { + if (cont->type == XML_ELEMENT_CONTENT_ELEMENT) { + if ((cont->prefix != NULL) && + (xmlStrncmp(cont->prefix, qname, plen) == 0) && + (xmlStrEqual(cont->name, name))) + return(1); + } else if ((cont->type == XML_ELEMENT_CONTENT_OR) && + (cont->c1 != NULL) && + (cont->c1->type == XML_ELEMENT_CONTENT_ELEMENT)){ + if ((cont->c1->prefix != NULL) && + (xmlStrncmp(cont->c1->prefix, qname, plen) == 0) && + (xmlStrEqual(cont->c1->name, name))) + return(1); + } else if ((cont->type != XML_ELEMENT_CONTENT_OR) || + (cont->c1 == NULL) || + (cont->c1->type != XML_ELEMENT_CONTENT_PCDATA)){ + xmlErrValid(ctxt, XML_DTD_MIXED_CORRUPT, + "Internal: MIXED struct corrupted\n", + NULL); + break; + } + cont = cont->c2; + } + } + return(0); +} + +/** + * xmlValidGetElemDecl: + * @ctxt: the validation context + * @doc: a document instance + * @elem: an element instance + * @extsubset: pointer, (out) indicate if the declaration was found + * in the external subset. + * + * Finds a declaration associated to an element in the document. + * + * returns the pointer to the declaration or NULL if not found. + */ +static xmlElementPtr +xmlValidGetElemDecl(xmlValidCtxtPtr ctxt, xmlDocPtr doc, + xmlNodePtr elem, int *extsubset) { + xmlElementPtr elemDecl = NULL; + const xmlChar *prefix = NULL; + + if ((ctxt == NULL) || (doc == NULL) || + (elem == NULL) || (elem->name == NULL)) + return(NULL); + if (extsubset != NULL) + *extsubset = 0; + + /* + * Fetch the declaration for the qualified name + */ + if ((elem->ns != NULL) && (elem->ns->prefix != NULL)) + prefix = elem->ns->prefix; + + if (prefix != NULL) { + elemDecl = xmlGetDtdQElementDesc(doc->intSubset, + elem->name, prefix); + if ((elemDecl == NULL) && (doc->extSubset != NULL)) { + elemDecl = xmlGetDtdQElementDesc(doc->extSubset, + elem->name, prefix); + if ((elemDecl != NULL) && (extsubset != NULL)) + *extsubset = 1; + } + } + + /* + * Fetch the declaration for the non qualified name + * This is "non-strict" validation should be done on the + * full QName but in that case being flexible makes sense. + */ + if (elemDecl == NULL) { + elemDecl = xmlGetDtdElementDesc(doc->intSubset, elem->name); + if ((elemDecl == NULL) && (doc->extSubset != NULL)) { + elemDecl = xmlGetDtdElementDesc(doc->extSubset, elem->name); + if ((elemDecl != NULL) && (extsubset != NULL)) + *extsubset = 1; + } + } + if (elemDecl == NULL) { + xmlErrValidNode(ctxt, elem, + XML_DTD_UNKNOWN_ELEM, + "No declaration for element %s\n", + elem->name, NULL, NULL); + } + return(elemDecl); +} + +#ifdef LIBXML_REGEXP_ENABLED +/** + * xmlValidatePushElement: + * @ctxt: the validation context + * @doc: a document instance + * @elem: an element instance + * @qname: the qualified name as appearing in the serialization + * + * Push a new element start on the validation stack. + * + * returns 1 if no validation problem was found or 0 otherwise + */ +int +xmlValidatePushElement(xmlValidCtxtPtr ctxt, xmlDocPtr doc, + xmlNodePtr elem, const xmlChar *qname) { + int ret = 1; + xmlElementPtr eDecl; + int extsubset = 0; + + if (ctxt == NULL) + return(0); +/* printf("PushElem %s\n", qname); */ + if ((ctxt->vstateNr > 0) && (ctxt->vstate != NULL)) { + xmlValidStatePtr state = ctxt->vstate; + xmlElementPtr elemDecl; + + /* + * Check the new element against the content model of the new elem. + */ + if (state->elemDecl != NULL) { + elemDecl = state->elemDecl; + + switch(elemDecl->etype) { + case XML_ELEMENT_TYPE_UNDEFINED: + ret = 0; + break; + case XML_ELEMENT_TYPE_EMPTY: + xmlErrValidNode(ctxt, state->node, + XML_DTD_NOT_EMPTY, + "Element %s was declared EMPTY this one has content\n", + state->node->name, NULL, NULL); + ret = 0; + break; + case XML_ELEMENT_TYPE_ANY: + /* I don't think anything is required then */ + break; + case XML_ELEMENT_TYPE_MIXED: + /* simple case of declared as #PCDATA */ + if ((elemDecl->content != NULL) && + (elemDecl->content->type == + XML_ELEMENT_CONTENT_PCDATA)) { + xmlErrValidNode(ctxt, state->node, + XML_DTD_NOT_PCDATA, + "Element %s was declared #PCDATA but contains non text nodes\n", + state->node->name, NULL, NULL); + ret = 0; + } else { + ret = xmlValidateCheckMixed(ctxt, elemDecl->content, + qname); + if (ret != 1) { + xmlErrValidNode(ctxt, state->node, + XML_DTD_INVALID_CHILD, + "Element %s is not declared in %s list of possible children\n", + qname, state->node->name, NULL); + } + } + break; + case XML_ELEMENT_TYPE_ELEMENT: + /* + * TODO: + * VC: Standalone Document Declaration + * - element types with element content, if white space + * occurs directly within any instance of those types. + */ + if (state->exec != NULL) { + ret = xmlRegExecPushString(state->exec, qname, NULL); + if (ret < 0) { + xmlErrValidNode(ctxt, state->node, + XML_DTD_CONTENT_MODEL, + "Element %s content does not follow the DTD, Misplaced %s\n", + state->node->name, qname, NULL); + ret = 0; + } else { + ret = 1; + } + } + break; + } + } + } + eDecl = xmlValidGetElemDecl(ctxt, doc, elem, &extsubset); + vstateVPush(ctxt, eDecl, elem); + return(ret); +} + +/** + * xmlValidatePushCData: + * @ctxt: the validation context + * @data: some character data read + * @len: the length of the data + * + * check the CData parsed for validation in the current stack + * + * returns 1 if no validation problem was found or 0 otherwise + */ +int +xmlValidatePushCData(xmlValidCtxtPtr ctxt, const xmlChar *data, int len) { + int ret = 1; + +/* printf("CDATA %s %d\n", data, len); */ + if (ctxt == NULL) + return(0); + if (len <= 0) + return(ret); + if ((ctxt->vstateNr > 0) && (ctxt->vstate != NULL)) { + xmlValidStatePtr state = ctxt->vstate; + xmlElementPtr elemDecl; + + /* + * Check the new element against the content model of the new elem. + */ + if (state->elemDecl != NULL) { + elemDecl = state->elemDecl; + + switch(elemDecl->etype) { + case XML_ELEMENT_TYPE_UNDEFINED: + ret = 0; + break; + case XML_ELEMENT_TYPE_EMPTY: + xmlErrValidNode(ctxt, state->node, + XML_DTD_NOT_EMPTY, + "Element %s was declared EMPTY this one has content\n", + state->node->name, NULL, NULL); + ret = 0; + break; + case XML_ELEMENT_TYPE_ANY: + break; + case XML_ELEMENT_TYPE_MIXED: + break; + case XML_ELEMENT_TYPE_ELEMENT: + if (len > 0) { + int i; + + for (i = 0;i < len;i++) { + if (!IS_BLANK_CH(data[i])) { + xmlErrValidNode(ctxt, state->node, + XML_DTD_CONTENT_MODEL, + "Element %s content does not follow the DTD, Text not allowed\n", + state->node->name, NULL, NULL); + ret = 0; + goto done; + } + } + /* + * TODO: + * VC: Standalone Document Declaration + * element types with element content, if white space + * occurs directly within any instance of those types. + */ + } + break; + } + } + } +done: + return(ret); +} + +/** + * xmlValidatePopElement: + * @ctxt: the validation context + * @doc: a document instance + * @elem: an element instance + * @qname: the qualified name as appearing in the serialization + * + * Pop the element end from the validation stack. + * + * returns 1 if no validation problem was found or 0 otherwise + */ +int +xmlValidatePopElement(xmlValidCtxtPtr ctxt, xmlDocPtr doc ATTRIBUTE_UNUSED, + xmlNodePtr elem ATTRIBUTE_UNUSED, + const xmlChar *qname ATTRIBUTE_UNUSED) { + int ret = 1; + + if (ctxt == NULL) + return(0); +/* printf("PopElem %s\n", qname); */ + if ((ctxt->vstateNr > 0) && (ctxt->vstate != NULL)) { + xmlValidStatePtr state = ctxt->vstate; + xmlElementPtr elemDecl; + + /* + * Check the new element against the content model of the new elem. + */ + if (state->elemDecl != NULL) { + elemDecl = state->elemDecl; + + if (elemDecl->etype == XML_ELEMENT_TYPE_ELEMENT) { + if (state->exec != NULL) { + ret = xmlRegExecPushString(state->exec, NULL, NULL); + if (ret == 0) { + xmlErrValidNode(ctxt, state->node, + XML_DTD_CONTENT_MODEL, + "Element %s content does not follow the DTD, Expecting more child\n", + state->node->name, NULL,NULL); + } else { + /* + * previous validation errors should not generate + * a new one here + */ + ret = 1; + } + } + } + } + vstateVPop(ctxt); + } + return(ret); +} +#endif /* LIBXML_REGEXP_ENABLED */ + +/** + * xmlValidateOneElement: + * @ctxt: the validation context + * @doc: a document instance + * @elem: an element instance + * + * Try to validate a single element and it's attributes, + * basically it does the following checks as described by the + * XML-1.0 recommendation: + * - [ VC: Element Valid ] + * - [ VC: Required Attribute ] + * Then call xmlValidateOneAttribute() for each attribute present. + * + * The ID/IDREF checkings are done separately + * + * returns 1 if valid or 0 otherwise + */ + +int +xmlValidateOneElement(xmlValidCtxtPtr ctxt, xmlDocPtr doc, + xmlNodePtr elem) { + xmlElementPtr elemDecl = NULL; + xmlElementContentPtr cont; + xmlAttributePtr attr; + xmlNodePtr child; + int ret = 1, tmp; + const xmlChar *name; + int extsubset = 0; + + CHECK_DTD; + + if (elem == NULL) return(0); + switch (elem->type) { + case XML_ATTRIBUTE_NODE: + xmlErrValidNode(ctxt, elem, XML_ERR_INTERNAL_ERROR, + "Attribute element not expected\n", NULL, NULL ,NULL); + return(0); + case XML_TEXT_NODE: + if (elem->children != NULL) { + xmlErrValidNode(ctxt, elem, XML_ERR_INTERNAL_ERROR, + "Text element has children !\n", + NULL,NULL,NULL); + return(0); + } + if (elem->ns != NULL) { + xmlErrValidNode(ctxt, elem, XML_ERR_INTERNAL_ERROR, + "Text element has namespace !\n", + NULL,NULL,NULL); + return(0); + } + if (elem->content == NULL) { + xmlErrValidNode(ctxt, elem, XML_ERR_INTERNAL_ERROR, + "Text element has no content !\n", + NULL,NULL,NULL); + return(0); + } + return(1); + case XML_XINCLUDE_START: + case XML_XINCLUDE_END: + return(1); + case XML_CDATA_SECTION_NODE: + case XML_ENTITY_REF_NODE: + case XML_PI_NODE: + case XML_COMMENT_NODE: + return(1); + case XML_ENTITY_NODE: + xmlErrValidNode(ctxt, elem, XML_ERR_INTERNAL_ERROR, + "Entity element not expected\n", NULL, NULL ,NULL); + return(0); + case XML_NOTATION_NODE: + xmlErrValidNode(ctxt, elem, XML_ERR_INTERNAL_ERROR, + "Notation element not expected\n", NULL, NULL ,NULL); + return(0); + case XML_DOCUMENT_NODE: + case XML_DOCUMENT_TYPE_NODE: + case XML_DOCUMENT_FRAG_NODE: + xmlErrValidNode(ctxt, elem, XML_ERR_INTERNAL_ERROR, + "Document element not expected\n", NULL, NULL ,NULL); + return(0); + case XML_HTML_DOCUMENT_NODE: + xmlErrValidNode(ctxt, elem, XML_ERR_INTERNAL_ERROR, + "HTML Document not expected\n", NULL, NULL ,NULL); + return(0); + case XML_ELEMENT_NODE: + break; + default: + xmlErrValidNode(ctxt, elem, XML_ERR_INTERNAL_ERROR, + "unknown element type\n", NULL, NULL ,NULL); + return(0); + } + + /* + * Fetch the declaration + */ + elemDecl = xmlValidGetElemDecl(ctxt, doc, elem, &extsubset); + if (elemDecl == NULL) + return(0); + + /* + * If vstateNr is not zero that means continuous validation is + * activated, do not try to check the content model at that level. + */ + if (ctxt->vstateNr == 0) { + /* Check that the element content matches the definition */ + switch (elemDecl->etype) { + case XML_ELEMENT_TYPE_UNDEFINED: + xmlErrValidNode(ctxt, elem, XML_DTD_UNKNOWN_ELEM, + "No declaration for element %s\n", + elem->name, NULL, NULL); + return(0); + case XML_ELEMENT_TYPE_EMPTY: + if (elem->children != NULL) { + xmlErrValidNode(ctxt, elem, XML_DTD_NOT_EMPTY, + "Element %s was declared EMPTY this one has content\n", + elem->name, NULL, NULL); + ret = 0; + } + break; + case XML_ELEMENT_TYPE_ANY: + /* I don't think anything is required then */ + break; + case XML_ELEMENT_TYPE_MIXED: + + /* simple case of declared as #PCDATA */ + if ((elemDecl->content != NULL) && + (elemDecl->content->type == XML_ELEMENT_CONTENT_PCDATA)) { + ret = xmlValidateOneCdataElement(ctxt, doc, elem); + if (!ret) { + xmlErrValidNode(ctxt, elem, XML_DTD_NOT_PCDATA, + "Element %s was declared #PCDATA but contains non text nodes\n", + elem->name, NULL, NULL); + } + break; + } + child = elem->children; + /* Hum, this start to get messy */ + while (child != NULL) { + if (child->type == XML_ELEMENT_NODE) { + name = child->name; + if ((child->ns != NULL) && (child->ns->prefix != NULL)) { + xmlChar fn[50]; + xmlChar *fullname; + + fullname = xmlBuildQName(child->name, child->ns->prefix, + fn, 50); + if (fullname == NULL) + return(0); + cont = elemDecl->content; + while (cont != NULL) { + if (cont->type == XML_ELEMENT_CONTENT_ELEMENT) { + if (xmlStrEqual(cont->name, fullname)) + break; + } else if ((cont->type == XML_ELEMENT_CONTENT_OR) && + (cont->c1 != NULL) && + (cont->c1->type == XML_ELEMENT_CONTENT_ELEMENT)){ + if (xmlStrEqual(cont->c1->name, fullname)) + break; + } else if ((cont->type != XML_ELEMENT_CONTENT_OR) || + (cont->c1 == NULL) || + (cont->c1->type != XML_ELEMENT_CONTENT_PCDATA)){ + xmlErrValid(NULL, XML_DTD_MIXED_CORRUPT, + "Internal: MIXED struct corrupted\n", + NULL); + break; + } + cont = cont->c2; + } + if ((fullname != fn) && (fullname != child->name)) + xmlFree(fullname); + if (cont != NULL) + goto child_ok; + } + cont = elemDecl->content; + while (cont != NULL) { + if (cont->type == XML_ELEMENT_CONTENT_ELEMENT) { + if (xmlStrEqual(cont->name, name)) break; + } else if ((cont->type == XML_ELEMENT_CONTENT_OR) && + (cont->c1 != NULL) && + (cont->c1->type == XML_ELEMENT_CONTENT_ELEMENT)) { + if (xmlStrEqual(cont->c1->name, name)) break; + } else if ((cont->type != XML_ELEMENT_CONTENT_OR) || + (cont->c1 == NULL) || + (cont->c1->type != XML_ELEMENT_CONTENT_PCDATA)) { + xmlErrValid(ctxt, XML_DTD_MIXED_CORRUPT, + "Internal: MIXED struct corrupted\n", + NULL); + break; + } + cont = cont->c2; + } + if (cont == NULL) { + xmlErrValidNode(ctxt, elem, XML_DTD_INVALID_CHILD, + "Element %s is not declared in %s list of possible children\n", + name, elem->name, NULL); + ret = 0; + } + } +child_ok: + child = child->next; + } + break; + case XML_ELEMENT_TYPE_ELEMENT: + if ((doc->standalone == 1) && (extsubset == 1)) { + /* + * VC: Standalone Document Declaration + * - element types with element content, if white space + * occurs directly within any instance of those types. + */ + child = elem->children; + while (child != NULL) { + if (child->type == XML_TEXT_NODE) { + const xmlChar *content = child->content; + + while (IS_BLANK_CH(*content)) + content++; + if (*content == 0) { + xmlErrValidNode(ctxt, elem, + XML_DTD_STANDALONE_WHITE_SPACE, +"standalone: %s declared in the external subset contains white spaces nodes\n", + elem->name, NULL, NULL); + ret = 0; + break; + } + } + child =child->next; + } + } + child = elem->children; + cont = elemDecl->content; + tmp = xmlValidateElementContent(ctxt, child, elemDecl, 1, elem); + if (tmp <= 0) + ret = tmp; + break; + } + } /* not continuous */ + + /* [ VC: Required Attribute ] */ + attr = elemDecl->attributes; + while (attr != NULL) { + if (attr->def == XML_ATTRIBUTE_REQUIRED) { + int qualified = -1; + + if ((attr->prefix == NULL) && + (xmlStrEqual(attr->name, BAD_CAST "xmlns"))) { + xmlNsPtr ns; + + ns = elem->nsDef; + while (ns != NULL) { + if (ns->prefix == NULL) + goto found; + ns = ns->next; + } + } else if (xmlStrEqual(attr->prefix, BAD_CAST "xmlns")) { + xmlNsPtr ns; + + ns = elem->nsDef; + while (ns != NULL) { + if (xmlStrEqual(attr->name, ns->prefix)) + goto found; + ns = ns->next; + } + } else { + xmlAttrPtr attrib; + + attrib = elem->properties; + while (attrib != NULL) { + if (xmlStrEqual(attrib->name, attr->name)) { + if (attr->prefix != NULL) { + xmlNsPtr nameSpace = attrib->ns; + + if (nameSpace == NULL) + nameSpace = elem->ns; + /* + * qualified names handling is problematic, having a + * different prefix should be possible but DTDs don't + * allow to define the URI instead of the prefix :-( + */ + if (nameSpace == NULL) { + if (qualified < 0) + qualified = 0; + } else if (!xmlStrEqual(nameSpace->prefix, + attr->prefix)) { + if (qualified < 1) + qualified = 1; + } else + goto found; + } else { + /* + * We should allow applications to define namespaces + * for their application even if the DTD doesn't + * carry one, otherwise, basically we would always + * break. + */ + goto found; + } + } + attrib = attrib->next; + } + } + if (qualified == -1) { + if (attr->prefix == NULL) { + xmlErrValidNode(ctxt, elem, XML_DTD_MISSING_ATTRIBUTE, + "Element %s does not carry attribute %s\n", + elem->name, attr->name, NULL); + ret = 0; + } else { + xmlErrValidNode(ctxt, elem, XML_DTD_MISSING_ATTRIBUTE, + "Element %s does not carry attribute %s:%s\n", + elem->name, attr->prefix,attr->name); + ret = 0; + } + } else if (qualified == 0) { + xmlErrValidWarning(ctxt, elem, XML_DTD_NO_PREFIX, + "Element %s required attribute %s:%s has no prefix\n", + elem->name, attr->prefix, attr->name); + } else if (qualified == 1) { + xmlErrValidWarning(ctxt, elem, XML_DTD_DIFFERENT_PREFIX, + "Element %s required attribute %s:%s has different prefix\n", + elem->name, attr->prefix, attr->name); + } + } else if (attr->def == XML_ATTRIBUTE_FIXED) { + /* + * Special tests checking #FIXED namespace declarations + * have the right value since this is not done as an + * attribute checking + */ + if ((attr->prefix == NULL) && + (xmlStrEqual(attr->name, BAD_CAST "xmlns"))) { + xmlNsPtr ns; + + ns = elem->nsDef; + while (ns != NULL) { + if (ns->prefix == NULL) { + if (!xmlStrEqual(attr->defaultValue, ns->href)) { + xmlErrValidNode(ctxt, elem, + XML_DTD_ELEM_DEFAULT_NAMESPACE, + "Element %s namespace name for default namespace does not match the DTD\n", + elem->name, NULL, NULL); + ret = 0; + } + goto found; + } + ns = ns->next; + } + } else if (xmlStrEqual(attr->prefix, BAD_CAST "xmlns")) { + xmlNsPtr ns; + + ns = elem->nsDef; + while (ns != NULL) { + if (xmlStrEqual(attr->name, ns->prefix)) { + if (!xmlStrEqual(attr->defaultValue, ns->href)) { + xmlErrValidNode(ctxt, elem, XML_DTD_ELEM_NAMESPACE, + "Element %s namespace name for %s does not match the DTD\n", + elem->name, ns->prefix, NULL); + ret = 0; + } + goto found; + } + ns = ns->next; + } + } + } +found: + attr = attr->nexth; + } + return(ret); +} + +/** + * xmlValidateRoot: + * @ctxt: the validation context + * @doc: a document instance + * + * Try to validate a the root element + * basically it does the following check as described by the + * XML-1.0 recommendation: + * - [ VC: Root Element Type ] + * it doesn't try to recurse or apply other check to the element + * + * returns 1 if valid or 0 otherwise + */ + +int +xmlValidateRoot(xmlValidCtxtPtr ctxt, xmlDocPtr doc) { + xmlNodePtr root; + int ret; + + if (doc == NULL) return(0); + + root = xmlDocGetRootElement(doc); + if ((root == NULL) || (root->name == NULL)) { + xmlErrValid(ctxt, XML_DTD_NO_ROOT, + "no root element\n", NULL); + return(0); + } + + /* + * When doing post validation against a separate DTD, those may + * no internal subset has been generated + */ + if ((doc->intSubset != NULL) && + (doc->intSubset->name != NULL)) { + /* + * Check first the document root against the NQName + */ + if (!xmlStrEqual(doc->intSubset->name, root->name)) { + if ((root->ns != NULL) && (root->ns->prefix != NULL)) { + xmlChar fn[50]; + xmlChar *fullname; + + fullname = xmlBuildQName(root->name, root->ns->prefix, fn, 50); + if (fullname == NULL) { + xmlVErrMemory(ctxt, NULL); + return(0); + } + ret = xmlStrEqual(doc->intSubset->name, fullname); + if ((fullname != fn) && (fullname != root->name)) + xmlFree(fullname); + if (ret == 1) + goto name_ok; + } + if ((xmlStrEqual(doc->intSubset->name, BAD_CAST "HTML")) && + (xmlStrEqual(root->name, BAD_CAST "html"))) + goto name_ok; + xmlErrValidNode(ctxt, root, XML_DTD_ROOT_NAME, + "root and DTD name do not match '%s' and '%s'\n", + root->name, doc->intSubset->name, NULL); + return(0); + } + } +name_ok: + return(1); +} + + +/** + * xmlValidateElement: + * @ctxt: the validation context + * @doc: a document instance + * @elem: an element instance + * + * Try to validate the subtree under an element + * + * returns 1 if valid or 0 otherwise + */ + +int +xmlValidateElement(xmlValidCtxtPtr ctxt, xmlDocPtr doc, xmlNodePtr elem) { + xmlNodePtr child; + xmlAttrPtr attr; + xmlNsPtr ns; + const xmlChar *value; + int ret = 1; + + if (elem == NULL) return(0); + + /* + * XInclude elements were added after parsing in the infoset, + * they don't really mean anything validation wise. + */ + if ((elem->type == XML_XINCLUDE_START) || + (elem->type == XML_XINCLUDE_END) || + (elem->type == XML_NAMESPACE_DECL)) + return(1); + + CHECK_DTD; + + /* + * Entities references have to be handled separately + */ + if (elem->type == XML_ENTITY_REF_NODE) { + return(1); + } + + ret &= xmlValidateOneElement(ctxt, doc, elem); + if (elem->type == XML_ELEMENT_NODE) { + attr = elem->properties; + while (attr != NULL) { + value = xmlNodeListGetString(doc, attr->children, 0); + ret &= xmlValidateOneAttribute(ctxt, doc, elem, attr, value); + if (value != NULL) + xmlFree((char *)value); + attr= attr->next; + } + ns = elem->nsDef; + while (ns != NULL) { + if (elem->ns == NULL) + ret &= xmlValidateOneNamespace(ctxt, doc, elem, NULL, + ns, ns->href); + else + ret &= xmlValidateOneNamespace(ctxt, doc, elem, + elem->ns->prefix, ns, ns->href); + ns = ns->next; + } + } + child = elem->children; + while (child != NULL) { + ret &= xmlValidateElement(ctxt, doc, child); + child = child->next; + } + + return(ret); +} + +/** + * xmlValidateRef: + * @ref: A reference to be validated + * @ctxt: Validation context + * @name: Name of ID we are searching for + * + */ +static void +xmlValidateRef(xmlRefPtr ref, xmlValidCtxtPtr ctxt, + const xmlChar *name) { + xmlAttrPtr id; + xmlAttrPtr attr; + + if (ref == NULL) + return; + if ((ref->attr == NULL) && (ref->name == NULL)) + return; + attr = ref->attr; + if (attr == NULL) { + xmlChar *dup, *str = NULL, *cur, save; + + dup = xmlStrdup(name); + if (dup == NULL) { + ctxt->valid = 0; + return; + } + cur = dup; + while (*cur != 0) { + str = cur; + while ((*cur != 0) && (!IS_BLANK_CH(*cur))) cur++; + save = *cur; + *cur = 0; + id = xmlGetID(ctxt->doc, str); + if (id == NULL) { + xmlErrValidNodeNr(ctxt, NULL, XML_DTD_UNKNOWN_ID, + "attribute %s line %d references an unknown ID \"%s\"\n", + ref->name, ref->lineno, str); + ctxt->valid = 0; + } + if (save == 0) + break; + *cur = save; + while (IS_BLANK_CH(*cur)) cur++; + } + xmlFree(dup); + } else if (attr->atype == XML_ATTRIBUTE_IDREF) { + id = xmlGetID(ctxt->doc, name); + if (id == NULL) { + xmlErrValidNode(ctxt, attr->parent, XML_DTD_UNKNOWN_ID, + "IDREF attribute %s references an unknown ID \"%s\"\n", + attr->name, name, NULL); + ctxt->valid = 0; + } + } else if (attr->atype == XML_ATTRIBUTE_IDREFS) { + xmlChar *dup, *str = NULL, *cur, save; + + dup = xmlStrdup(name); + if (dup == NULL) { + xmlVErrMemory(ctxt, "IDREFS split"); + ctxt->valid = 0; + return; + } + cur = dup; + while (*cur != 0) { + str = cur; + while ((*cur != 0) && (!IS_BLANK_CH(*cur))) cur++; + save = *cur; + *cur = 0; + id = xmlGetID(ctxt->doc, str); + if (id == NULL) { + xmlErrValidNode(ctxt, attr->parent, XML_DTD_UNKNOWN_ID, + "IDREFS attribute %s references an unknown ID \"%s\"\n", + attr->name, str, NULL); + ctxt->valid = 0; + } + if (save == 0) + break; + *cur = save; + while (IS_BLANK_CH(*cur)) cur++; + } + xmlFree(dup); + } +} + +/** + * xmlWalkValidateList: + * @data: Contents of current link + * @user: Value supplied by the user + * + * Returns 0 to abort the walk or 1 to continue + */ +static int +xmlWalkValidateList(const void *data, void *user) +{ + xmlValidateMemoPtr memo = (xmlValidateMemoPtr)user; + xmlValidateRef((xmlRefPtr)data, memo->ctxt, memo->name); + return 1; +} + +/** + * xmlValidateCheckRefCallback: + * @ref_list: List of references + * @ctxt: Validation context + * @name: Name of ID we are searching for + * + */ +static void +xmlValidateCheckRefCallback(void *payload, void *data, const xmlChar *name) { + xmlListPtr ref_list = (xmlListPtr) payload; + xmlValidCtxtPtr ctxt = (xmlValidCtxtPtr) data; + xmlValidateMemo memo; + + if (ref_list == NULL) + return; + memo.ctxt = ctxt; + memo.name = name; + + xmlListWalk(ref_list, xmlWalkValidateList, &memo); + +} + +/** + * xmlValidateDocumentFinal: + * @ctxt: the validation context + * @doc: a document instance + * + * Does the final step for the document validation once all the + * incremental validation steps have been completed + * + * basically it does the following checks described by the XML Rec + * + * Check all the IDREF/IDREFS attributes definition for validity + * + * returns 1 if valid or 0 otherwise + */ + +int +xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt, xmlDocPtr doc) { + xmlRefTablePtr table; + unsigned int save; + + if (ctxt == NULL) + return(0); + if (doc == NULL) { + xmlErrValid(ctxt, XML_DTD_NO_DOC, + "xmlValidateDocumentFinal: doc == NULL\n", NULL); + return(0); + } + + /* trick to get correct line id report */ + save = ctxt->finishDtd; + ctxt->finishDtd = 0; + + /* + * Check all the NOTATION/NOTATIONS attributes + */ + /* + * Check all the ENTITY/ENTITIES attributes definition for validity + */ + /* + * Check all the IDREF/IDREFS attributes definition for validity + */ + table = (xmlRefTablePtr) doc->refs; + ctxt->doc = doc; + ctxt->valid = 1; + xmlHashScan(table, xmlValidateCheckRefCallback, ctxt); + + ctxt->finishDtd = save; + return(ctxt->valid); +} + +/** + * xmlValidateDtd: + * @ctxt: the validation context + * @doc: a document instance + * @dtd: a dtd instance + * + * Try to validate the document against the dtd instance + * + * Basically it does check all the definitions in the DtD. + * Note the the internal subset (if present) is de-coupled + * (i.e. not used), which could give problems if ID or IDREF + * is present. + * + * returns 1 if valid or 0 otherwise + */ + +int +xmlValidateDtd(xmlValidCtxtPtr ctxt, xmlDocPtr doc, xmlDtdPtr dtd) { + int ret; + xmlDtdPtr oldExt, oldInt; + xmlNodePtr root; + + if (dtd == NULL) return(0); + if (doc == NULL) return(0); + oldExt = doc->extSubset; + oldInt = doc->intSubset; + doc->extSubset = dtd; + doc->intSubset = NULL; + ret = xmlValidateRoot(ctxt, doc); + if (ret == 0) { + doc->extSubset = oldExt; + doc->intSubset = oldInt; + return(ret); + } + if (doc->ids != NULL) { + xmlFreeIDTable(doc->ids); + doc->ids = NULL; + } + if (doc->refs != NULL) { + xmlFreeRefTable(doc->refs); + doc->refs = NULL; + } + root = xmlDocGetRootElement(doc); + ret = xmlValidateElement(ctxt, doc, root); + ret &= xmlValidateDocumentFinal(ctxt, doc); + doc->extSubset = oldExt; + doc->intSubset = oldInt; + return(ret); +} + +static void +xmlValidateNotationCallback(void *payload, void *data, + const xmlChar *name ATTRIBUTE_UNUSED) { + xmlEntityPtr cur = (xmlEntityPtr) payload; + xmlValidCtxtPtr ctxt = (xmlValidCtxtPtr) data; + if (cur == NULL) + return; + if (cur->etype == XML_EXTERNAL_GENERAL_UNPARSED_ENTITY) { + xmlChar *notation = cur->content; + + if (notation != NULL) { + int ret; + + ret = xmlValidateNotationUse(ctxt, cur->doc, notation); + if (ret != 1) { + ctxt->valid = 0; + } + } + } +} + +static void +xmlValidateAttributeCallback(void *payload, void *data, + const xmlChar *name ATTRIBUTE_UNUSED) { + xmlAttributePtr cur = (xmlAttributePtr) payload; + xmlValidCtxtPtr ctxt = (xmlValidCtxtPtr) data; + int ret; + xmlDocPtr doc; + xmlElementPtr elem = NULL; + + if (cur == NULL) + return; + switch (cur->atype) { + case XML_ATTRIBUTE_CDATA: + case XML_ATTRIBUTE_ID: + case XML_ATTRIBUTE_IDREF : + case XML_ATTRIBUTE_IDREFS: + case XML_ATTRIBUTE_NMTOKEN: + case XML_ATTRIBUTE_NMTOKENS: + case XML_ATTRIBUTE_ENUMERATION: + break; + case XML_ATTRIBUTE_ENTITY: + case XML_ATTRIBUTE_ENTITIES: + case XML_ATTRIBUTE_NOTATION: + if (cur->defaultValue != NULL) { + + ret = xmlValidateAttributeValue2(ctxt, ctxt->doc, cur->name, + cur->atype, cur->defaultValue); + if ((ret == 0) && (ctxt->valid == 1)) + ctxt->valid = 0; + } + if (cur->tree != NULL) { + xmlEnumerationPtr tree = cur->tree; + while (tree != NULL) { + ret = xmlValidateAttributeValue2(ctxt, ctxt->doc, + cur->name, cur->atype, tree->name); + if ((ret == 0) && (ctxt->valid == 1)) + ctxt->valid = 0; + tree = tree->next; + } + } + } + if (cur->atype == XML_ATTRIBUTE_NOTATION) { + doc = cur->doc; + if (cur->elem == NULL) { + xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR, + "xmlValidateAttributeCallback(%s): internal error\n", + (const char *) cur->name); + return; + } + + if (doc != NULL) + elem = xmlGetDtdElementDesc(doc->intSubset, cur->elem); + if ((elem == NULL) && (doc != NULL)) + elem = xmlGetDtdElementDesc(doc->extSubset, cur->elem); + if ((elem == NULL) && (cur->parent != NULL) && + (cur->parent->type == XML_DTD_NODE)) + elem = xmlGetDtdElementDesc((xmlDtdPtr) cur->parent, cur->elem); + if (elem == NULL) { + xmlErrValidNode(ctxt, NULL, XML_DTD_UNKNOWN_ELEM, + "attribute %s: could not find decl for element %s\n", + cur->name, cur->elem, NULL); + return; + } + if (elem->etype == XML_ELEMENT_TYPE_EMPTY) { + xmlErrValidNode(ctxt, NULL, XML_DTD_EMPTY_NOTATION, + "NOTATION attribute %s declared for EMPTY element %s\n", + cur->name, cur->elem, NULL); + ctxt->valid = 0; + } + } +} + +/** + * xmlValidateDtdFinal: + * @ctxt: the validation context + * @doc: a document instance + * + * Does the final step for the dtds validation once all the + * subsets have been parsed + * + * basically it does the following checks described by the XML Rec + * - check that ENTITY and ENTITIES type attributes default or + * possible values matches one of the defined entities. + * - check that NOTATION type attributes default or + * possible values matches one of the defined notations. + * + * returns 1 if valid or 0 if invalid and -1 if not well-formed + */ + +int +xmlValidateDtdFinal(xmlValidCtxtPtr ctxt, xmlDocPtr doc) { + xmlDtdPtr dtd; + xmlAttributeTablePtr table; + xmlEntitiesTablePtr entities; + + if ((doc == NULL) || (ctxt == NULL)) return(0); + if ((doc->intSubset == NULL) && (doc->extSubset == NULL)) + return(0); + ctxt->doc = doc; + ctxt->valid = 1; + dtd = doc->intSubset; + if ((dtd != NULL) && (dtd->attributes != NULL)) { + table = (xmlAttributeTablePtr) dtd->attributes; + xmlHashScan(table, xmlValidateAttributeCallback, ctxt); + } + if ((dtd != NULL) && (dtd->entities != NULL)) { + entities = (xmlEntitiesTablePtr) dtd->entities; + xmlHashScan(entities, xmlValidateNotationCallback, ctxt); + } + dtd = doc->extSubset; + if ((dtd != NULL) && (dtd->attributes != NULL)) { + table = (xmlAttributeTablePtr) dtd->attributes; + xmlHashScan(table, xmlValidateAttributeCallback, ctxt); + } + if ((dtd != NULL) && (dtd->entities != NULL)) { + entities = (xmlEntitiesTablePtr) dtd->entities; + xmlHashScan(entities, xmlValidateNotationCallback, ctxt); + } + return(ctxt->valid); +} + +/** + * xmlValidateDocument: + * @ctxt: the validation context + * @doc: a document instance + * + * Try to validate the document instance + * + * basically it does the all the checks described by the XML Rec + * i.e. validates the internal and external subset (if present) + * and validate the document tree. + * + * returns 1 if valid or 0 otherwise + */ + +int +xmlValidateDocument(xmlValidCtxtPtr ctxt, xmlDocPtr doc) { + int ret; + xmlNodePtr root; + + if (doc == NULL) + return(0); + if ((doc->intSubset == NULL) && (doc->extSubset == NULL)) { + xmlErrValid(ctxt, XML_DTD_NO_DTD, + "no DTD found!\n", NULL); + return(0); + } + if ((doc->intSubset != NULL) && ((doc->intSubset->SystemID != NULL) || + (doc->intSubset->ExternalID != NULL)) && (doc->extSubset == NULL)) { + xmlChar *sysID; + if (doc->intSubset->SystemID != NULL) { + sysID = xmlBuildURI(doc->intSubset->SystemID, + doc->URL); + if (sysID == NULL) { + xmlErrValid(ctxt, XML_DTD_LOAD_ERROR, + "Could not build URI for external subset \"%s\"\n", + (const char *) doc->intSubset->SystemID); + return 0; + } + } else + sysID = NULL; + doc->extSubset = xmlParseDTD(doc->intSubset->ExternalID, + (const xmlChar *)sysID); + if (sysID != NULL) + xmlFree(sysID); + if (doc->extSubset == NULL) { + if (doc->intSubset->SystemID != NULL) { + xmlErrValid(ctxt, XML_DTD_LOAD_ERROR, + "Could not load the external subset \"%s\"\n", + (const char *) doc->intSubset->SystemID); + } else { + xmlErrValid(ctxt, XML_DTD_LOAD_ERROR, + "Could not load the external subset \"%s\"\n", + (const char *) doc->intSubset->ExternalID); + } + return(0); + } + } + + if (doc->ids != NULL) { + xmlFreeIDTable(doc->ids); + doc->ids = NULL; + } + if (doc->refs != NULL) { + xmlFreeRefTable(doc->refs); + doc->refs = NULL; + } + ret = xmlValidateDtdFinal(ctxt, doc); + if (!xmlValidateRoot(ctxt, doc)) return(0); + + root = xmlDocGetRootElement(doc); + ret &= xmlValidateElement(ctxt, doc, root); + ret &= xmlValidateDocumentFinal(ctxt, doc); + return(ret); +} + +/************************************************************************ + * * + * Routines for dynamic validation editing * + * * + ************************************************************************/ + +/** + * xmlValidGetPotentialChildren: + * @ctree: an element content tree + * @names: an array to store the list of child names + * @len: a pointer to the number of element in the list + * @max: the size of the array + * + * Build/extend a list of potential children allowed by the content tree + * + * returns the number of element in the list, or -1 in case of error. + */ + +int +xmlValidGetPotentialChildren(xmlElementContent *ctree, + const xmlChar **names, + int *len, int max) { + int i; + + if ((ctree == NULL) || (names == NULL) || (len == NULL)) + return(-1); + if (*len >= max) return(*len); + + switch (ctree->type) { + case XML_ELEMENT_CONTENT_PCDATA: + for (i = 0; i < *len;i++) + if (xmlStrEqual(BAD_CAST "#PCDATA", names[i])) return(*len); + names[(*len)++] = BAD_CAST "#PCDATA"; + break; + case XML_ELEMENT_CONTENT_ELEMENT: + for (i = 0; i < *len;i++) + if (xmlStrEqual(ctree->name, names[i])) return(*len); + names[(*len)++] = ctree->name; + break; + case XML_ELEMENT_CONTENT_SEQ: + xmlValidGetPotentialChildren(ctree->c1, names, len, max); + xmlValidGetPotentialChildren(ctree->c2, names, len, max); + break; + case XML_ELEMENT_CONTENT_OR: + xmlValidGetPotentialChildren(ctree->c1, names, len, max); + xmlValidGetPotentialChildren(ctree->c2, names, len, max); + break; + } + + return(*len); +} + +/* + * Dummy function to suppress messages while we try out valid elements + */ +static void XMLCDECL xmlNoValidityErr(void *ctx ATTRIBUTE_UNUSED, + const char *msg ATTRIBUTE_UNUSED, ...) { + return; +} + +/** + * xmlValidGetValidElements: + * @prev: an element to insert after + * @next: an element to insert next + * @names: an array to store the list of child names + * @max: the size of the array + * + * This function returns the list of authorized children to insert + * within an existing tree while respecting the validity constraints + * forced by the Dtd. The insertion point is defined using @prev and + * @next in the following ways: + * to insert before 'node': xmlValidGetValidElements(node->prev, node, ... + * to insert next 'node': xmlValidGetValidElements(node, node->next, ... + * to replace 'node': xmlValidGetValidElements(node->prev, node->next, ... + * to prepend a child to 'node': xmlValidGetValidElements(NULL, node->childs, + * to append a child to 'node': xmlValidGetValidElements(node->last, NULL, ... + * + * pointers to the element names are inserted at the beginning of the array + * and do not need to be freed. + * + * returns the number of element in the list, or -1 in case of error. If + * the function returns the value @max the caller is invited to grow the + * receiving array and retry. + */ + +int +xmlValidGetValidElements(xmlNode *prev, xmlNode *next, const xmlChar **names, + int max) { + xmlValidCtxt vctxt; + int nb_valid_elements = 0; + const xmlChar *elements[256]={0}; + int nb_elements = 0, i; + const xmlChar *name; + + xmlNode *ref_node; + xmlNode *parent; + xmlNode *test_node; + + xmlNode *prev_next; + xmlNode *next_prev; + xmlNode *parent_childs; + xmlNode *parent_last; + + xmlElement *element_desc; + + if (prev == NULL && next == NULL) + return(-1); + + if (names == NULL) return(-1); + if (max <= 0) return(-1); + + memset(&vctxt, 0, sizeof (xmlValidCtxt)); + vctxt.error = xmlNoValidityErr; /* this suppresses err/warn output */ + + nb_valid_elements = 0; + ref_node = prev ? prev : next; + parent = ref_node->parent; + + /* + * Retrieves the parent element declaration + */ + element_desc = xmlGetDtdElementDesc(parent->doc->intSubset, + parent->name); + if ((element_desc == NULL) && (parent->doc->extSubset != NULL)) + element_desc = xmlGetDtdElementDesc(parent->doc->extSubset, + parent->name); + if (element_desc == NULL) return(-1); + + /* + * Do a backup of the current tree structure + */ + prev_next = prev ? prev->next : NULL; + next_prev = next ? next->prev : NULL; + parent_childs = parent->children; + parent_last = parent->last; + + /* + * Creates a dummy node and insert it into the tree + */ + test_node = xmlNewDocNode (ref_node->doc, NULL, BAD_CAST "", NULL); + if (test_node == NULL) + return(-1); + + test_node->parent = parent; + test_node->prev = prev; + test_node->next = next; + name = test_node->name; + + if (prev) prev->next = test_node; + else parent->children = test_node; + + if (next) next->prev = test_node; + else parent->last = test_node; + + /* + * Insert each potential child node and check if the parent is + * still valid + */ + nb_elements = xmlValidGetPotentialChildren(element_desc->content, + elements, &nb_elements, 256); + + for (i = 0;i < nb_elements;i++) { + test_node->name = elements[i]; + if (xmlValidateOneElement(&vctxt, parent->doc, parent)) { + int j; + + for (j = 0; j < nb_valid_elements;j++) + if (xmlStrEqual(elements[i], names[j])) break; + names[nb_valid_elements++] = elements[i]; + if (nb_valid_elements >= max) break; + } + } + + /* + * Restore the tree structure + */ + if (prev) prev->next = prev_next; + if (next) next->prev = next_prev; + parent->children = parent_childs; + parent->last = parent_last; + + /* + * Free up the dummy node + */ + test_node->name = name; + xmlFreeNode(test_node); + + return(nb_valid_elements); +} +#endif /* LIBXML_VALID_ENABLED */ + +#define bottom_valid +#include "elfgcchack.h" diff --git a/vms/build_libxml.com b/vms/build_libxml.com new file mode 100755 index 0000000..1f7936e --- /dev/null +++ b/vms/build_libxml.com @@ -0,0 +1,273 @@ +$! BUILD_LIBXML.COM +$! +$! Build the LIBXML library +$! +$! Arguments: +$! +$! "DEBUG" - build everything in debug +$! +$! This procedure creates an object library XML_LIBDIR:LIBXML.OLB directory. +$! After the library is built, you can link LIBXML routines into +$! your code with the command +$! +$! $ LINK your_modules,XML_LIBDIR:LIBXML.OLB/LIBRARY +$! +$! Change History +$! -------------- +$! Command file author : John A Fotheringham (jaf@jafsoft.com) +$! Update history : 19 March 2008 Tycho Hilhorst +$! - added module schematron.c (prevent xmllint errors) +$! - added /DEF and /INCLUDE options to cc_opts to tell +$! config.h is available, and where to find it +$! : 13 October 2003 Craig Berry (craigberry@mac.com) +$! more new module additions +$! : 25 April 2003 Craig Berry (craigberry@mac.com) +$! added xmlreader.c and relaxng.c to source list +$! : 28 September 2002 Craig Berry (craigberry@mac.com) +$! updated to work with current sources +$! miscellaneous enhancements to build process +$! +$!- configuration ------------------------------------------------------------- +$! +$!- compile command. If p1="nowarn" suppress the expected warning types +$! +$ cc_opts = "/nowarn/DEF=HAVE_CONFIG_H/NAMES=(as_is,SHORTENED)/FLOAT=IEEE/IEEE_MODE=DENORM_RESULTS/INCLUDE=xml_srcdir" +$! +$ if p1.eqs."DEBUG" .or. p2.eqs."DEBUG" +$ then +$ debug = "Y" +$ cc_command = "CC''cc_opts'/DEBUG/NOOPTIMIZE/LIST/SHOW=ALL" +$ else +$ debug = "N" +$ cc_command = "CC''cc_opts'" +$ endif +$! +$!- list of sources to be built into the LIBXML library. Compare this list +$! to the definition of "libxml2_la_SOURCES" in the file MAKEFILE.IN. +$! Currently this definition includes the list WITH_TRIO_SOURCES_TRUE +$! +$ sources = "parser.c SAX.c entities.c encoding.c error.c parserInternals.c" +$ sources = sources + " tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c" +$ sources = sources + " valid.c xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c" +$ sources = sources + " xpointer.c xinclude.c nanohttp.c nanoftp.c DOCBparser.c" +$ sources = sources + " catalog.c globals.c threads.c c14n.c xmlstring.c" +$ sources = sources + " xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c" +$ sources = sources + " triostr.c trio.c xmlreader.c relaxng.c dict.c SAX2.c" +$ sources = sources + " xmlwriter.c legacy.c chvalid.c pattern.c xmlsave.c" +$ sources = sources + " schematron.c xmlmodule.c buf.c" +$! +$!- list of main modules to compile and link. Compare this list to the +$! definition of bin_PROGRAMS in MAKEFILE.IN +$! +$ bin_progs = "xmllint xmlcatalog" +$! +$!- list of test modules to compile and link. Compare this list to the +$! definition of check_PROGRAMS in MAKEFILE. +$! +$ check_PROGRAMS = "testSchemas testRelax testSAX testHTML testXPath testURI " - + + "testThreads testC14N testAutomata testRegexp testReader" +$! +$!- set up build logicals -----------------------------------------------------\ +$! +$! +$!- start from where the procedure is in case it's submitted in batch ----------\ +$! +$ whoami = f$parse(f$environment("PROCEDURE"),,,,"NO_CONCEAL") +$ procdir = f$parse(whoami,,,"DEVICE") + f$parse(whoami,,,"DIRECTORY") +$ set default 'procdir' +$! +$ if f$trnlnm("XML_LIBDIR").eqs."" +$ then +$ if f$search("[-]lib.dir") .eqs. "" +$ then +$ create/directory/log [-.lib] +$ endif +$ xml_libdir = f$parse("[-.lib]",,,"DEVICE") + f$parse("[-.lib]",,,"DIRECTORY") +$ define/process XML_LIBDIR 'xml_libdir' +$ write sys$output "Defining XML_LIBDIR as """ + f$trnlnm("XML_LIBDIR") + """ +$ endif +$! +$ if f$trnlnm("XML_SRCDIR").eqs."" +$ then +$ globfile = f$search("[-...]globals.c") +$ if globfile.eqs."" +$ then +$ write sys$output "Can't locate globals.c. You need to manually define a XML_SRCDIR logical" +$ exit +$ else +$ srcdir = f$parse(globfile,,,"DEVICE") + f$parse(globfile,,,"DIRECTORY") +$ define/process XML_SRCDIR "''srcdir'" +$ write sys$output "Defining XML_SRCDIR as ""''srcdir'""" +$ endif +$ endif +$! +$ copy/log config.vms xml_srcdir:config.h +$! copy/log xmlversion.h [-.include.libxml] +$! +$ if f$trnlnm("libxml").eqs."" +$ then +$ globfile = f$search("[-...]globals.h") +$ if globfile.eqs."" +$ then +$ write sys$output "Can't locate globals.h. You need to manually define a LIBXML logical" +$ exit +$ else +$ includedir = f$parse(globfile,,,"DEVICE") + f$parse(globfile,,,"DIRECTORY") +$ define/process libxml "''includedir'" +$ write sys$output "Defining libxml as ""''includedir'""" +$ endif +$ endif +$! +$!- set up error handling (such as it is) ------------------------------------- +$! +$ exit_status = 1 +$ saved_default = f$environment("default") +$ on error then goto ERROR_OUT +$ on control_y then goto ERROR_OUT +$! +$!- move to the source directory and create any necessary subdirs and the +$! object library +$! +$ set default xml_srcdir +$ if f$search("DEBUG.DIR").eqs."" then create/dir [.DEBUG] +$ if f$search("XML_LIBDIR:LIBXML.OLB").eqs."" +$ then +$ write sys$output "Creating new object library XML_LIBDIR:LIBXML.OLB" +$ library/create XML_LIBDIR:LIBXML.OLB +$ endif +$! +$ goto start_here +$ start_here: ! move this line to debug/rerun parts of this command file +$! +$!- compile modules into the library ------------------------------------------ +$! +$ lib_command = "LIBRARY/REPLACE/LOG XML_LIBDIR:LIBXML.OLB" +$ link_command = "" +$! +$ write sys$output "" +$ write sys$output "Building modules into the LIBXML object library" +$ write sys$output "" +$! +$ s_no = 0 +$ sources = f$edit(sources,"COMPRESS") +$! +$ source_loop: +$! +$ next_source = f$element (S_no," ",sources) +$ if next_source.nes."" .and. next_source.nes." " +$ then +$! +$ on error then goto ERROR_OUT +$ on control_y then goto ERROR_OUT +$ call build 'next_source' +$ s_no = s_no + 1 +$ goto source_loop +$! +$ endif +$! +$!- now build self-test programs ---------------------------------------------- +$! +$! these programs are built as ordinary modules into XML_LIBDIR:LIBXML.OLB. Here they +$! are built a second time with /DEFINE=(STANDALONE) in which case a main() +$! is also compiled into the module +$ +$ lib_command = "" +$ link_command = "LINK" +$! +$ library/compress XML_LIBDIR:LIBXML.OLB +$ purge XML_LIBDIR:LIBXML.OLB +$! +$ write sys$output "" +$ write sys$output "Building STANDALONE self-test programs" +$ write sys$output "" +$! +$ call build NANOFTP.C /DEFINE=(STANDALONE) +$ call build NANOHTTP.C /DEFINE=(STANDALONE) +$ call build TRIONAN.C /DEFINE=(STANDALONE) +$! +$!- now build main and test programs ------------------------------------------ +$! +$! +$ lib_command = "" +$ link_command = "LINK" +$! +$ write sys$output "" +$ write sys$output "Building main programs and test programs" +$ write sys$output "" +$! +$ p_no = 0 +$ all_progs = bin_progs + " " + check_PROGRAMS +$ all_progs = f$edit(all_progs,"COMPRESS") +$! +$ prog_loop: +$! +$ next_prog = f$element (p_no," ",all_progs) +$ if next_prog.nes."" .and. next_prog.nes." " +$ then +$! +$ on error then goto ERROR_OUT +$ on control_y then goto ERROR_OUT +$ call build 'next_prog'.c +$ p_no = p_no + 1 +$ goto prog_loop +$! +$ endif +$! +$!- Th-th-th-th-th-that's all folks! ------------------------------------------ +$! +$ goto exit_here ! move this line to avoid parts of this command file +$ exit_here: +$! +$ exit +$ goto exit_out +$! +$! +$EXIT_OUT: +$! +$ purge/nolog [.debug] +$ set default 'saved_default +$ exit 'exit_status +$! +$ +$ERROR_OUT: +$ exit_status = $status +$ write sys$output "''f$message(exit_status)'" +$ goto EXIT_OUT +$! +$!- the BUILD subroutine. Compile then insert into library or link as required +$! +$BUILD: subroutine +$ on warning then goto EXIT_BUILD +$ source_file = p1 +$ name = f$parse(source_file,,,"NAME") +$ object_file = f$parse("[.debug].OBJ",name,,,"SYNTAX_ONLY") +$! +$!- compile +$! +$ write sys$output "''cc_command'''p2'/object=''object_file' ''source_file'" +$ cc_command'p2' /object='object_file 'source_file' +$! +$!- insert into library if command defined +$! +$ if lib_command.nes."" then lib_command 'object_file' +$! +$!- link module if command defined +$ if link_command.nes."" +$ then +$ opts = "" +$ if debug then opts = "/DEBUG" +$ write sys$output "''link_command'''opts' ''object_file',XML_LIBDIR:libxml.olb/library" +$ if f$search( "sys$library:iconv.olb" ) .eqs. "" +$ then +$ link_command'opts' 'object_file',- + XML_LIBDIR:libxml.olb/library +$ else +$ link_command'opts' 'object_file',- + XML_LIBDIR:libxml.olb/library,sys$library:iconv/lib +$ endif +$ endif +$! +$EXIT_BUILD: +$ exit $status +$! +$endsubroutine diff --git a/vms/config.vms b/vms/config.vms new file mode 100755 index 0000000..375406b --- /dev/null +++ b/vms/config.vms @@ -0,0 +1,171 @@ +/* config.h */ + +#define VMS 1 + +/* Define if you have the strftime function. */ +#define HAVE_STRFTIME 1 + +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +#undef PACKAGE +#undef VERSION +#undef HAVE_LIBZ +#undef HAVE_LIBM +#undef HAVE_ISINF +#if defined(_IEEE_FP) && (__CRTL_VER >= 60200000) +# define HAVE_ISNAN 1 +#endif +#undef HAVE_LIBHISTORY +#undef HAVE_LIBREADLINE + +#define ICONV_CONST + +/* Define if you have the localtime function. */ +#define HAVE_LOCALTIME 1 + +/* Define if you have the snprintf function. */ +#undef HAVE_SNPRINTF + +/* Define if you have the strftime function. */ +#define HAVE_STRFTIME 1 + +/* Define if you have the header file. */ +#undef HAVE_ARPA_INET_H + +/* Define if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define if you have the header file. */ +#define HAVE_DIRENT_H 1 + +/* Define if you have the header file. */ +#define HAVE_ERRNO_H 1 + +/* Define if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define if you have the header file. */ +#undef HAVE_MALLOC_H + +/* Define if you have the header file. */ +#define HAVE_MATH_H 1 + +/* Define if you have the header file. */ +#undef HAVE_NDIR_H + +/* Define if you have the header file. */ +#define HAVE_NETDB_H 1 + +/* Define if you have the header file. */ +#undef HAVE_NETINET_IN_H + +/* Define if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strftime' function. */ +#define HAVE_STRFTIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define if you have the header file. */ +#undef HAVE_SYS_DIR_H + +/* Define if you have the header file. */ +#undef HAVE_SYS_MMAN_H + +/* Define if you have the header file. */ +#undef HAVE_SYS_NDIR_H + +/* Define if you have the header file. */ +#undef HAVE_SYS_SELECT_H + +/* Define if you have the header file. */ +#define HAVE_SYS_SOCKET_H 1 + +/* Define if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define if you have the header file. */ +#undef HAVE_SYS_TIME_H + +/* Define if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Name of package */ +#undef PACKAGE + +/* Version number of package */ +#undef VERSION + +/* Up to this point this is just a hard-wired version of + * config.h. After this will be anything else we need + * that is VMS-specific. + */ + +/* For best results, compile with /NAMES=(SHORTENED), which requires + * DEC C 5.7 or later. For older compilers, the shortened names below + * are the same ones the mangler generates in C 5.7 and later. These may + * work, though there will probably be some conflicts with redefinitions + * in globals.h. + */ + +#if __DECC_VER < 57000000 +/* 0 1 2 3 0 1 2 3 + * 123456789012345678901234567890123456789 1234567890123456789012345678901 + */ +#define __xmlDoValidityCheckingDefaultValue __xmlDoValidityChecking3qad3pq$ +#define __xmlSubstituteEntitiesDefaultValue __xmlSubstituteEntities0pij13u$ +#define trio_locale_set_thousand_separator trio_locale_set_thousan259ikkk$ +#define xmlDoValidityCheckingDefaultValue xmlDoValidityCheckingDe1bcsei4$ +#define xmlParseBalancedChunkMemoryRecover xmlParseBalancedChunkMe1lu1e86$ +#define xmlParseElementChildrenContentDecl xmlParseElementChildren1mp6pcb$ +#define xmlParserInputBufferCreateFilename xmlParserInputBufferCre36lujn2$ +#define xmlRegisterDefaultInputCallbacks xmlRegisterDefaultInput3vin0cp$ +#define xmlRegisterDefaultOutputCallbacks xmlRegisterDefaultOutpu0q443dd$ +#define xmlSubstituteEntitiesDefaultValue xmlSubstituteEntitiesDe28k2c80$ +#define xmlUCSIsAlphabeticPresentationForms xmlUCSIsAlphabeticPrese2qr24s3$ +#define xmlUCSIsArabicPresentationFormsB xmlUCSIsArabicPresentat1gajvg8$ +#define xmlUCSIsArabicPresentationFormsA xmlUCSIsArabicPresentat3sq1bti$ +#define xmlUCSIsCJKCompatibilityIdeographsSupplement xmlUCSIsCJKCompatibilit0or40ki$ +#define xmlUCSIsCJKCompatibilityIdeographs xmlUCSIsCJKCompatibilit2nodmc5$ +#define xmlUCSIsCJKSymbolsandPunctuation xmlUCSIsCJKSymbolsandPu0a3i7ra$ +#define xmlUCSIsCJKUnifiedIdeographsExtensionA xmlUCSIsCJKUnifiedIdeog11ig3fd$ +#define xmlUCSIsCJKUnifiedIdeographsExtensionB xmlUCSIsCJKUnifiedIdeog3d22n2n$ +#define xmlUCSIsCombiningDiacriticalMarks xmlUCSIsCombiningDiacri3tj3nl8$ +#define xmlUCSIsCombiningMarksforSymbols xmlUCSIsCombiningMarksf3ftqd7s$ +#define xmlUCSIsEnclosedCJKLettersandMonths xmlUCSIsEnclosedCJKLett0nq67g4$ +#define xmlUCSIsHalfwidthandFullwidthForms xmlUCSIsHalfwidthandFul047l0a1$ +#define xmlUCSIsHighPrivateUseSurrogates xmlUCSIsHighPrivateUseS071kh83$ +#define xmlUCSIsIdeographicDescriptionCharacters xmlUCSIsIdeographicDesc1rovf8g$ +#define xmlUCSIsMathematicalAlphanumericSymbols xmlUCSIsMathematicalAlp2ag8r44$ +#define xmlUCSIsOpticalCharacterRecognition xmlUCSIsOpticalCharacte1juuh06$ +#define xmlUCSIsSuperscriptsandSubscripts xmlUCSIsSuperscriptsand3fi4eup$ +#define xmlUCSIsUnifiedCanadianAboriginalSyllabics xmlUCSIsUnifiedCanadian0lbvi9b$ +#define xmlValidCtxtNormalizeAttributeValue xmlValidCtxtNormalizeAt0q11n5f$ +#define xmlXPathRegisteredVariablesCleanup xmlXPathRegisteredVaria1uvs4uc$ + +#endif + +#define xmlBufferWriteChar xmlBufferWriteChar2 + +#include + +#define HAVE_DLOPEN 1 +#define HAVE_DLFCN_H 1 diff --git a/vms/diffs.vms b/vms/diffs.vms new file mode 100644 index 0000000..5402910 --- /dev/null +++ b/vms/diffs.vms @@ -0,0 +1,192 @@ +-------------------------------------------------------------------------- +GLOBALS.C + +105a106 +> int xmlDoValidityCheckingDefaultValue = 0; +111,121c112,113 +< #if defined(VMS) || defined(__VMS) +< #define PLATFORM_VMS +< /* int xmlDoValidityCheckingDefaultVal = 0; +< * int xmlSubstituteEntitiesDefaultVal = 0; +< */ +< #define xmlDoValidityCheckingDefaultValue xmlDoValidityCheckingDefaultVal +< #define xmlSubstituteEntitiesDefaultValue xmlSubstituteEntitiesDefaultVal +< #else +< int xmlDoValidityCheckingDefaultValue = 0; +< int xmlSubstituteEntitiesDefaultValue = 0; +< #endif +--- +> int xmlSubstituteEntitiesDefaultValue = 0; +> +289,291d280 +< #ifdef PLATFORM_VMS +< gs->xmlDoValidityCheckingDefaultVal = 0; +< #else +293,294d281 +< #endif +< +316,318d302 +< #ifdef PLATFORM_VMS +< gs->xmlSubstituteEntitiesDefaultVal = 0; +< #else +320d303 +< #endif +404,419c387,390 +< #ifdef PLATFORM_VMS +< extern int xmlDoValidityCheckingDefaultVal; +< #undef xmlDoValidityCheckingDefaultVal +< int * +< __xmlDoValidityCheckingDefVal(void) { +< if (IS_MAIN_THREAD) +< return (&xmlDoValidityCheckingDefaultVal); +< else +< return (&xmlGetGlobalState()->xmlDoValidityCheckingDefaultVal); +< } +< #define __xmlDoValidityCheckingDefaultValue __xmlDoValidityCheckingDefVal +< #else +< extern int xmlDoValidityCheckingDefaultValue; +< #undef xmlDoValidityCheckingDefaultValue +< int * +< __xmlDoValidityCheckingDefaultValue(void) { +--- +> extern int xmlDoValidityCheckingDefaultValue; +> #undef xmlDoValidityCheckingDefaultValue +> int * +> __xmlDoValidityCheckingDefaultValue(void) { +424,425c395 +< } +< #endif +--- +> } +577,592c547,550 +< #ifdef PLATFORM_VMS +< extern int xmlSubstituteEntitiesDefaultVal; +< #undef xmlSubstituteEntitiesDefaultVal +< int * +< __xmlSubsEntitiesDefaultValue(void) { +< if (IS_MAIN_THREAD) +< return (&xmlSubstituteEntitiesDefaultVal); +< else +< return (&xmlGetGlobalState()->xmlSubstituteEntitiesDefaultVal); +< } +< #define __xmlSubstituteEntitiesDefaultValue __xmlSubsEntitiesDefaultValue +< #else +< extern int xmlSubstituteEntitiesDefaultValue; +< #undef xmlSubstituteEntitiesDefaultValue +< int * +< __xmlSubstituteEntitiesDefaultValue(void) { +--- +> extern int xmlSubstituteEntitiesDefaultValue; +> #undef xmlSubstituteEntitiesDefaultValue +> int * +> __xmlSubstituteEntitiesDefaultValue(void) { +597,598c555 +< } +< #endif +--- +> } + + +-------------------------------------------------------------------------- +TRIO.C +113,116d112 +< #if defined(VMS) || defined(__VMS) +< # include +< #endif /* Platform is VMS */ +< +123d118 +< + + +-------------------------------------------------------------------------- +GLOBALS.H +78,86c78,79 +< #if defined(VMS) || defined(__VMS) +< int xmlSubstituteEntitiesDefaultVal; /* 31 character name limit */ +< int xmlDoValidityCheckingDefaultVal; +< #define xmlSubstituteEntitiesDefaultValue xmlSubstituteEntitiesDefaultVal +< #define xmlDoValidityCheckingDefaultValue xmlDoValidityCheckingDefaultVal +< #else +< int xmlSubstituteEntitiesDefaultValue; +< int xmlDoValidityCheckingDefaultValue; +< #endif +--- +> int xmlSubstituteEntitiesDefaultValue; +> int xmlDoValidityCheckingDefaultValue; +211,226c204,209 +< #if defined(VMS) || defined(__VMS) +< #ifdef LIBXML_THREAD_ENABLED +< extern int *__xmlDoValidityCheckingDefaultVal(void); +< #define xmlDoValidityCheckingDefaultVal \ +< (*(__xmlDoValidityCheckingDefaultVal())) +< #else +< LIBXML_DLL_IMPORT extern int xmlDoValidityCheckingDefaultVal; +< #endif +< #else +< #ifdef LIBXML_THREAD_ENABLED +< extern int *__xmlDoValidityCheckingDefaultValue(void); +< #define xmlDoValidityCheckingDefaultValue \ +< (*(__xmlDoValidityCheckingDefaultValue())) +< #else +< LIBXML_DLL_IMPORT extern int xmlDoValidityCheckingDefaultValue; +< #endif +--- +> #ifdef LIBXML_THREAD_ENABLED +> extern int *__xmlDoValidityCheckingDefaultValue(void); +> #define xmlDoValidityCheckingDefaultValue \ +> (*(__xmlDoValidityCheckingDefaultValue())) +> #else +> LIBXML_DLL_IMPORT extern int xmlDoValidityCheckingDefaultValue; +317,332c300,305 +< #if defined(VMS) || defined(__VMS) +< #ifdef LIBXML_THREAD_ENABLED +< extern int *__xmlSubsEntitiesDefaultValue(void); +< #define xmlSubsEntitiesDefaultValue \ +< (*(__xmlSubsEntitiesDefaultValue())) +< #else +< LIBXML_DLL_IMPORT extern int xmlSubsEntitiesDefaultValue; +< #endif +< #else +< #ifdef LIBXML_THREAD_ENABLED +< extern int *__xmlSubstituteEntitiesDefaultValue(void); +< #define xmlSubstituteEntitiesDefaultValue \ +< (*(__xmlSubstituteEntitiesDefaultValue())) +< #else +< LIBXML_DLL_IMPORT extern int xmlSubstituteEntitiesDefaultValue; +< #endif +--- +> #ifdef LIBXML_THREAD_ENABLED +> extern int *__xmlSubstituteEntitiesDefaultValue(void); +> #define xmlSubstituteEntitiesDefaultValue \ +> (*(__xmlSubstituteEntitiesDefaultValue())) +> #else +> LIBXML_DLL_IMPORT extern int xmlSubstituteEntitiesDefaultValue; + + +-------------------------------------------------------------------------- +XMLIO.H +79,82d78 +< #if defined(VMS) || defined(__VMS) +< void xmlRegisterDefInputCallbacks (void); +< #define xmlRegisterDefaultInputCallbacks xmlRegisterDefInputCallbacks +< #else +84d79 +< #endif +130,133d124 +< #if defined(VMS) || defined(__VMS) +< void xmlRegisterDefOutputCallbacks(void); +< #define xmlRegisterDefaultOutputCallbacks xmlRegisterDefOutputCallbacks +< #else +135,136d125 +< #endif +< + +-------------------------------------------------------------------------- +XPATHINTERNALS.H +433,436d432 +< #if defined(VMS) || defined(__VMS) +< void xmlXPathRegisteredVarsCleanup(xmlXPathContextPtr ctxt); +< #define xmlXPathRegisteredVariablesCleanup xmlXPathRegisteredVarsCleanup +< #else +438d433 +< #endif diff --git a/vms/readme.vms b/vms/readme.vms new file mode 100644 index 0000000..91dddeb --- /dev/null +++ b/vms/readme.vms @@ -0,0 +1,143 @@ +Issues in porting libxml to VMS +=============================== + +Here's a summary of the issues I encountered when building LIBXML under +VMS. There was some VMS support in the version I got, but it was a little +out of date with the result that some newer files had problems. + +I present this list "as is" to hopefully act as a guide to anyone having +problems in the future. + +That's it. Good luck! + +John A Fotheringham (jaf@jafsoft.com) +October 2001 + +Updated October 2002 by Craig A Berry (craigberry@mac.com) + +Installation kit +---------------- + +- File attributes. Having downloaded essentially a Unix distribution, some + of the file attributes weren't correct... especially those in the [.VMS] + subdirectory. In EDT you could see line feeds and carriage returns as + etc. To correct this use the command + + $ set file /attr=rfm=stm + + This sets the record format to be "stream". Other variants may be used + instead depending on how you got the files onto your system. Files will + look okay in an EDT editor once the attributes are set. Without + this the command file may not run correctly, since it may be interpreted + as a single line. + +- VMS-specific files are in a [.VMS] directory. If you've found this file + then you already know this :-) This directory contains + + BUILD_LIBXML.COM - a build command file, which I've radically re-worked + CONFIG.VMS - a configuration file to replace config.h + +- Don't execute BUILD_LIBXML.COM until you've done all the following + + - read these notes + - reviewed the configuration section of BUILD_LIBXML.COM, and in particular + updated the module lists in line with MAKEFILE + - identified the location of the include files, so that you can manually + set the LIBXML logical if need be. + - re-read these notes :-p + + instructions for all these steps are below. + +- the file [.vms]config.vms is used in lieu of a Configure-generated config.h. + This file contains a number of define statements that identify the software + options required under VMS + +- The include files are in a [.INCLUDE.LIBXML] subdirectory. You need + a logical "libxml" to point to this so that include statements of the + form + + #include + + will work correctly. The source files are mostly two levels above this + directory, although there are some .h files there as well. + +- The command file BUILD_LIBXML.COM will do the following + + - setup some logicals + - set def to the source directory + - compile modules and place them into a LIBXML.OLB library + - compile and link a number of self-test programs + - compile and link a number of utilities and test programs + - set def back to the original directory (i.e. if it fails you might not be + where you started :-) + + before running this command file review the configuration segment at + the top. In particular compare the lists of modules with those in the + most recent version of the Unix MAKEFILE. Instructions are contained + in the command file itself. + + The command file will attempt to set two logicals + + - xml_srcdir. The directory containing the source files + - libxml. The include file directory. + + It attempts this by looking for modules globals.c and globals.h in + nearby directories. If this logic fails, you'll need to manually define + these logicals. + + +The TRIO package +---------------- +- A sub-package TRIO is used to provide some functions not naturally available + under VMS. These include support for infinite and undefined numbers, + and specialised print functions like "snprintf" + + I had to make several changes to trionan.c in discussion with the author + (hopefully these are now included in the distro, so I won't list them here) + + To build this software we need to add + + /IEEE_MODE=UNDERFLOW_TO_ZERO/FLOAT=IEEE + + to the compile command for xpath.c and trio.c, and to any main program + that uses this functionality. BUILD_LIBXML.COM should do this for you. + +- to build in trio support you need the define WITH_TRIO to be set. This + is done by default for VMS in xmlversion.h + + +Compiler and linker errors +-------------------------- +- the DEC C compiler may produce a number of warnings when compiling the + C code. These include + + - Implicit function warnings. These indicate functions whose type is + not defined in a .h file. This will probably only happen if your + configuration is not correct (e.g. for "snprintf" if you haven't + edited xmlversion.h to set WITH_TRIO + + - uninitialised variables. Not usually a problem. You can solve this + by editing the code to initialise the variables affected + +Changes made to the codebase +---------------------------- +- I changed all dummy declarations in trio.c to be + + va_list dummy = NULL; + + to prevent compiler whinge in TRIO.C about uninitialised variables + +- I had to add the following to nanoftp.c + + #if defined(VMS) || defined(__VMS) + #define SOCKLEN_T unsigned int + #endif + + This matches similar lines already added to nanohttp.c + +- Several variables and function names exceed the 31 character limit + of the VMS linker. The solution adopted has been to use the + /NAMES=SHORTENED compiler option, which requires DEC/Compaq C 5.7 + or later. For a complete list of the names that needed shortening + and the short names generated by the compiler, see [.vms]config.vms. + diff --git a/win32/Makefile.bcb b/win32/Makefile.bcb new file mode 100644 index 0000000..d326fb9 --- /dev/null +++ b/win32/Makefile.bcb @@ -0,0 +1,347 @@ +# Makefile for libxml2, specific for Windows, BCB6 and Borland make. +# +# Take a look at the beginning and modify the variables to suit your +# environment. Having done that, you can do a +# +# make [all] to build the libxml and the accompanying utilities. +# make clean to remove all compiler output files and return to a +# clean state. +# make rebuild to rebuild everything from scratch. This basically does +# a 'nmake clean' and then a 'nmake all'. +# make install to install the library and its header files. +# +# August 2003, Eric Zurcher +# based on the MSVC version of +# March 2002, Igor Zlatkovic +# + +# There should never be a need to modify anything below this line. +# ---------------------------------------------------------------- + +AUTOCONF = .\config.bcb +!include $(AUTOCONF) + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif +.autodepend + +# Names of various input and output components. +XML_NAME = xml2 +XML_BASENAME = lib$(XML_NAME) +XML_SO = $(XML_BASENAME).dll +XML_IMP = $(XML_BASENAME).lib +XML_DEF = $(XML_BASENAME).def +XML_A = $(XML_BASENAME)_a.lib +DUMMY = dir.exists + +# Place where we let the compiler put its intermediate trash. +BINDIR = bin.bcb +XML_INTDIR = int.bcb +XML_INTDIR_A = int.a.bcb +UTILS_INTDIR = int.utils.bcb + +# The preprocessor and its options. +CPP = cpp32.exe -P- -DWIN32 +CPPFLAGS = -I"$(XML_SRCDIR)\include" -DNOLIBTOOL +!if "$(WITH_THREADS)" != "no" +CPPFLAGS = $(CPPFLAGS) -D_REENTRANT -D__MT__ +!endif + +# The compiler and its options. +CC = bcc32.exe +CFLAGS = -q -DWIN32 -D_NO_VCL -D_WINDOWS -D_MBCS -DEILSEQ=2 -DNOLIBTOOL -w- +CFLAGS = $(CFLAGS) -I"$(XML_SRCDIR)" -I"$(XML_SRCDIR)\include" -I"$(INCPREFIX)" -I"$(INCLUDE)" +!if "$(WITH_THREADS)" != "no" +CFLAGS = $(CFLAGS) -D_REENTRANT -tWM +!endif +!if "$(DYNRUNTIME)" == "1" +CFLAGS = $(CFLAGS) -tWR +!endif +!if "$(WITH_THREADS)" == "yes" || "$(WITH_THREADS)" == "ctls" +CFLAGS = $(CFLAGS) -DHAVE_WIN32_THREADS -DHAVE_COMPILER_TLS +!else if "$(WITH_THREADS)" == "native" +CFLAGS = $(CFLAGS) -DHAVE_WIN32_THREADS +!else if "$(WITH_THREADS)" == "posix" +CFLAGS = $(CFLAGS) -DHAVE_PTHREAD_H +!endif + +# The linker and its options. +LD = ilink32.exe +LDFLAGS = -q -U$(LIBXML_MAJOR_VERSION).$(LIBXML_MINOR_VERSION) +LDFLAGS = $(LDFLAGS) -L"$(BINDIR);$(LIBPREFIX);$(LIB);$(BCB)\lib;$(BCB)\lib\PSdk" +LIBS = import32.lib +!if "$(WITH_THREADS)" != "no" && "$(DYNRUNTIME)" == "1" +LIBS = $(LIBS) cw32mti.lib +!elif "$(WITH_THREADS)" != "no" +LIBS = $(LIBS) cw32mt.lib +!elif "$(DYNRUNTIME)" == "1" +LIBS = $(LIBS) cw32i.lib +!else +LIBS = $(LIBS) cw32.lib +!endif +!if "$(WITH_FTP)" == "1" || "$(WITH_HTTP)" == "1" +LIBS = $(LIBS) wsock32.lib ws2_32.lib +!endif +!if "$(WITH_ICONV)" == "1" +LIBS = $(LIBS) iconvomf.lib +!endif +!if "$(WITH_ZLIB)" == "1" +LIBS = $(LIBS) zlibomf.lib +!endif +!if "$(WITH_LZMA)" == "1" +LIBS = $(LIBS) liblzma.lib +!endif +!if "$(WITH_THREADS)" == "posix" +LIBS = $(LIBS) pthreadVC.lib +!endif +!if "$(WITH_MODULES)" == "1" +LIBS = $(LIBS) kernel32.lib +!endif + +# The archiver and its options. +AR = tlib.exe +ARFLAGS = /P64 /0 + +# Optimisation and debug symbols. +!if "$(DEBUG)" == "1" +CFLAGS = $(CFLAGS) -D_DEBUG -Od -v +LDFLAGS = $(LDFLAGS) -v +!else +CFLAGS = $(CFLAGS) -DNDEBUG -O2 +LDFLAGS = $(LDFLAGS) +!endif + +# Libxml object files. +XML_OBJS = $(XML_INTDIR)\buf.obj\ + $(XML_INTDIR)\c14n.obj\ + $(XML_INTDIR)\catalog.obj\ + $(XML_INTDIR)\chvalid.obj\ + $(XML_INTDIR)\debugXML.obj\ + $(XML_INTDIR)\dict.obj\ + $(XML_INTDIR)\DOCBparser.obj\ + $(XML_INTDIR)\encoding.obj\ + $(XML_INTDIR)\entities.obj\ + $(XML_INTDIR)\error.obj\ + $(XML_INTDIR)\globals.obj\ + $(XML_INTDIR)\hash.obj\ + $(XML_INTDIR)\HTMLparser.obj\ + $(XML_INTDIR)\HTMLtree.obj\ + $(XML_INTDIR)\legacy.obj\ + $(XML_INTDIR)\list.obj\ + $(XML_INTDIR)\nanoftp.obj\ + $(XML_INTDIR)\nanohttp.obj\ + $(XML_INTDIR)\parser.obj\ + $(XML_INTDIR)\parserInternals.obj\ + $(XML_INTDIR)\pattern.obj\ + $(XML_INTDIR)\relaxng.obj\ + $(XML_INTDIR)\SAX.obj\ + $(XML_INTDIR)\SAX2.obj\ + $(XML_INTDIR)\schematron.obj\ + $(XML_INTDIR)\threads.obj\ + $(XML_INTDIR)\tree.obj\ + $(XML_INTDIR)\uri.obj\ + $(XML_INTDIR)\valid.obj\ + $(XML_INTDIR)\xinclude.obj\ + $(XML_INTDIR)\xlink.obj\ + $(XML_INTDIR)\xmlIO.obj\ + $(XML_INTDIR)\xmlmemory.obj\ + $(XML_INTDIR)\xmlreader.obj\ + $(XML_INTDIR)\xmlregexp.obj\ + $(XML_INTDIR)\xmlmodule.obj\ + $(XML_INTDIR)\xmlsave.obj\ + $(XML_INTDIR)\xmlschemas.obj\ + $(XML_INTDIR)\xmlschemastypes.obj\ + $(XML_INTDIR)\xmlunicode.obj\ + $(XML_INTDIR)\xmlwriter.obj\ + $(XML_INTDIR)\xpath.obj\ + $(XML_INTDIR)\xpointer.obj\ + $(XML_INTDIR)\xmlstring.obj + +# Static libxml object files. +XML_OBJS_A = $(XML_INTDIR_A)\buf.obj\ + $(XML_INTDIR_A)\c14n.obj\ + $(XML_INTDIR_A)\catalog.obj\ + $(XML_INTDIR_A)\chvalid.obj\ + $(XML_INTDIR_A)\debugXML.obj\ + $(XML_INTDIR_A)\dict.obj\ + $(XML_INTDIR_A)\DOCBparser.obj\ + $(XML_INTDIR_A)\encoding.obj\ + $(XML_INTDIR_A)\entities.obj\ + $(XML_INTDIR_A)\error.obj\ + $(XML_INTDIR_A)\globals.obj\ + $(XML_INTDIR_A)\hash.obj\ + $(XML_INTDIR_A)\HTMLparser.obj\ + $(XML_INTDIR_A)\HTMLtree.obj\ + $(XML_INTDIR_A)\legacy.obj\ + $(XML_INTDIR_A)\list.obj\ + $(XML_INTDIR_A)\nanoftp.obj\ + $(XML_INTDIR_A)\nanohttp.obj\ + $(XML_INTDIR_A)\parser.obj\ + $(XML_INTDIR_A)\parserInternals.obj\ + $(XML_INTDIR_A)\pattern.obj\ + $(XML_INTDIR_A)\relaxng.obj\ + $(XML_INTDIR_A)\SAX.obj\ + $(XML_INTDIR_A)\SAX2.obj\ + $(XML_INTDIR_A)\schematron.obj\ + $(XML_INTDIR_A)\threads.obj\ + $(XML_INTDIR_A)\tree.obj\ + $(XML_INTDIR_A)\uri.obj\ + $(XML_INTDIR_A)\valid.obj\ + $(XML_INTDIR_A)\xinclude.obj\ + $(XML_INTDIR_A)\xlink.obj\ + $(XML_INTDIR_A)\xmlIO.obj\ + $(XML_INTDIR_A)\xmlmemory.obj\ + $(XML_INTDIR_A)\xmlreader.obj\ + $(XML_INTDIR_A)\xmlregexp.obj\ + $(XML_INTDIR_A)\xmlmodule.obj\ + $(XML_INTDIR_A)\xmlsave.obj\ + $(XML_INTDIR_A)\xmlschemas.obj\ + $(XML_INTDIR_A)\xmlschemastypes.obj\ + $(XML_INTDIR_A)\xmlunicode.obj\ + $(XML_INTDIR_A)\xmlwriter.obj\ + $(XML_INTDIR_A)\xpath.obj\ + $(XML_INTDIR_A)\xpointer.obj\ + $(XML_INTDIR_A)\xmlstring.obj + +# Xmllint and friends executables. +UTILS = $(BINDIR)\xmllint.exe\ + $(BINDIR)\xmlcatalog.exe\ + $(BINDIR)\testAutomata.exe\ + $(BINDIR)\testC14N.exe\ + $(BINDIR)\testDocbook.exe\ + $(BINDIR)\testHTML.exe\ + $(BINDIR)\testReader.exe\ + $(BINDIR)\testRelax.exe\ + $(BINDIR)\testRegexp.exe\ + $(BINDIR)\testModule.exe\ + $(BINDIR)\testSAX.exe\ + $(BINDIR)\testSchemas.exe\ + $(BINDIR)\testURI.exe\ + $(BINDIR)\testXPath.exe\ + $(BINDIR)\runtest.exe\ + $(BINDIR)\runsuite.exe\ + $(BINDIR)\testapi.exe\ + $(BINDIR)\testlimits.exe + + +!if "$(WITH_THREADS)" != "no" +UTILS = $(UTILS) $(BINDIR)\testThreads.exe +!endif + + +all : libxml libxmla utils + +libxml : $(BINDIR)\$(XML_SO) + +libxmla : $(BINDIR)\$(XML_A) + +utils : $(UTILS) + +clean : + if exist $(XML_INTDIR) rmdir /S /Q $(XML_INTDIR) + if exist $(XML_INTDIR_A) rmdir /S /Q $(XML_INTDIR_A) + if exist $(UTILS_INTDIR) rmdir /S /Q $(UTILS_INTDIR) + if exist $(BINDIR) rmdir /S /Q $(BINDIR) + +distclean : clean + if exist config.* del config.* + if exist Makefile del Makefile + +rebuild : clean all + +install-libs : all + if not exist "$(INCPREFIX)\libxml2" mkdir "$(INCPREFIX)\libxml2" + if not exist "$(INCPREFIX)\libxml2\libxml" mkdir "$(INCPREFIX)\libxml2\libxml" + if not exist "$(BINPREFIX)" mkdir "$(BINPREFIX)" + if not exist "$(LIBPREFIX)" mkdir "$(LIBPREFIX)" + copy $(XML_SRCDIR)\include\libxml\*.h "$(INCPREFIX)\libxml2\libxml" + copy $(BINDIR)\$(XML_SO) "$(SOPREFIX)" + copy $(BINDIR)\$(XML_A) "$(LIBPREFIX)" + copy $(BINDIR)\$(XML_IMP) "$(LIBPREFIX)" + copy $(BINDIR)\*.exe "$(BINPREFIX)" + +install : install-libs + copy $(BINDIR)\*.exe "$(BINPREFIX)" + +install-dist : install-libs + copy $(BINDIR)\xml*.exe "$(BINPREFIX)" + +# This is a target for me, to make a binary distribution. Not for the public use, +# keep your hands off :-) +BDVERSION = $(LIBXML_MAJOR_VERSION).$(LIBXML_MINOR_VERSION).$(LIBXML_MICRO_VERSION) +BDPREFIX = $(XML_BASENAME)-$(BDVERSION).win32 +bindist : all + $(MAKE) /nologo PREFIX=$(BDPREFIX) SOPREFIX=$(BDPREFIX)\bin install-dist + cscript //NoLogo configure.js genreadme $(XML_BASENAME) $(BDVERSION) $(BDPREFIX)\readme.txt + + +# Makes the output directory. +$(BINDIR)\$(DUMMY) : + if not exist $(BINDIR) mkdir $(BINDIR) + touch $(BINDIR)\$(DUMMY) + +# Makes the libxml intermediate directory. +$(XML_INTDIR)\$(DUMMY) : + if not exist $(XML_INTDIR) mkdir $(XML_INTDIR) + touch $(XML_INTDIR)\$(DUMMY) + +# Makes the static libxml intermediate directory. +$(XML_INTDIR_A)\$(DUMMY) : + if not exist $(XML_INTDIR_A) mkdir $(XML_INTDIR_A) + touch $(XML_INTDIR_A)\$(DUMMY) + +# An implicit rule for libxml compilation. +{$(XML_SRCDIR)}.c{$(XML_INTDIR)}.obj: + $(CC) $(CFLAGS) -n$(XML_INTDIR) -c $< + +# An implicit rule for static libxml compilation. +{$(XML_SRCDIR)}.c{$(XML_INTDIR_A)}.obj: + $(CC) $(CFLAGS) -DLIBXML_STATIC -n$(XML_INTDIR_A)\ -c $< + +# Compiles libxml source. Uses the implicit rule for commands. +$(XML_OBJS) : $(XML_INTDIR)\$(DUMMY) + +# Compiles static libxml source. Uses the implicit rule for commands. +$(XML_OBJS_A) : $(XML_INTDIR_A)\$(DUMMY) + +#def4bcb.exe : def4bcb.c + +# Creates the export definition file (DEF) for libxml. +#$(XML_INTDIR)\$(XML_DEF) : $(XML_INTDIR)\$(DUMMY) $(XML_DEF).src def4bcb.exe +# $(CPP) $(CPPFLAGS) -o $(XML_INTDIR)\$(XML_DEF).tmp $(XML_DEF).src +# def4bcb -msnames < $(XML_INTDIR)\$(XML_DEF).tmp > $(XML_INTDIR)\$(XML_DEF) + +# Creates the libxml shared object. +$(BINDIR)\$(XML_SO) : $(BINDIR)\$(DUMMY) $(XML_OBJS) + $(LD) $(LDFLAGS) -Tpd -Gi c0d32.obj $(XML_OBJS),$(BINDIR)\$(XML_SO),,$(LIBS) + +#$(BINDIR)\$(XML_SO) : $(BINDIR)\$(DUMMY) $(XML_OBJS) $(XML_INTDIR)\$(XML_DEF) +# $(LD) $(LDFLAGS) -Tpd -Gi c0d32.obj $(XML_OBJS),$(BINDIR)\$(XML_SO),,$(LIBS),$(XML_INTDIR)\$(XML_DEF) + +# Creates the libxml archive. +$(BINDIR)\$(XML_A) : $(BINDIR)\$(DUMMY) $(XML_OBJS_A) + $(AR) $(BINDIR)\$(XML_A) $(ARFLAGS) /u $(XML_OBJS_A) + +# Makes the utils intermediate directory. +$(UTILS_INTDIR)\$(DUMMY) : + if not exist $(UTILS_INTDIR) mkdir $(UTILS_INTDIR) + touch $(UTILS_INTDIR)\$(DUMMY) + +# An implicit rule for xmllint and friends. +!if "$(STATIC)" == "1" +{$(UTILS_SRCDIR)}.c{$(BINDIR)}.exe: + $(CC) -DLIBXML_STATIC -w -tWC $(CFLAGS) -o$(UTILS_INTDIR)\$&.obj -c $< + $(LD) $(LDFLAGS) c0x32.obj $(UTILS_INTDIR)\$&.obj,$@,,$(LIBS) $(XML_A) +!else +{$(UTILS_SRCDIR)}.c{$(BINDIR)}.exe: + $(CC) $(CFLAGS) -tWC -o$(UTILS_INTDIR)\$&.obj -c $< + $(LD) $(LDFLAGS) c0x32.obj $(UTILS_INTDIR)\$&.obj $(XML_IMP),$@,,$(LIBS) +!endif + +# Builds xmllint and friends. Uses the implicit rule for commands. +$(UTILS) : $(UTILS_INTDIR)\$(DUMMY) $(BINDIR)\$(DUMMY) $(BINDIR)\$(XML_SO) $(BINDIR)\$(XML_A) + +# Source dependences should be autogenerated somehow here, but how to +# do it? I have no clue. + diff --git a/win32/Makefile.mingw b/win32/Makefile.mingw new file mode 100644 index 0000000..9dfa4ab --- /dev/null +++ b/win32/Makefile.mingw @@ -0,0 +1,337 @@ +# Makefile for libxml2, specific for Windows, GCC (mingw) and GNU make. +# +# Take a look at the beginning and modify the variables to suit your +# environment. Having done that, you can do a +# +# nmake [all] to build the libxml and the accompanying utilities. +# nmake clean to remove all compiler output files and return to a +# clean state. +# nmake rebuild to rebuild everything from scratch. This basically does +# a 'nmake clean' and then a 'nmake all'. +# nmake install to install the library and its header files. +# +# November 2002, Igor Zlatkovic + +# There should never be a need to modify anything below this line. +# ---------------------------------------------------------------- + +AUTOCONF = .\config.mingw +include $(AUTOCONF) + +# Names of various input and output components. +XML_NAME = xml2 +XML_BASENAME = lib$(XML_NAME) +XML_SO = $(XML_BASENAME).dll +XML_IMP = $(XML_BASENAME).lib +XML_A = $(XML_BASENAME).a + +# Place where we let the compiler put its output. +BINDIR = bin.mingw +XML_INTDIR = int.mingw +XML_INTDIR_A = int.a.mingw +UTILS_INTDIR = int.utils.mingw + +# The preprocessor and its options. +CPP = gcc.exe -E +CPPFLAGS += -I$(XML_SRCDIR)/include -DNOLIBTOOL +ifeq ($(WITH_THREADS),1) +CPPFLAGS += -D_REENTRANT +endif + +# The compiler and its options. +CC = gcc.exe +CFLAGS += -DWIN32 -D_WINDOWS -D_MBCS -DNOLIBTOOL +CFLAGS += -I$(XML_SRCDIR) -I$(XML_SRCDIR)/include -I$(INCPREFIX) $(INCLUDE) +ifneq ($(WITH_THREADS),no) +CFLAGS += -D_REENTRANT +endif +ifeq ($(WITH_THREADS),yes) +CFLAGS += -DHAVE_WIN32_THREADS -DHAVE_COMPILER_TLS +endif +ifeq ($(WITH_THREADS),ctls) +CFLAGS += -DHAVE_WIN32_THREADS -DHAVE_COMPILER_TLS +endif +ifeq ($(WITH_THREADS),native) +CFLAGS += -DHAVE_WIN32_THREADS +endif +ifeq ($(WITH_THREADS),posix) +CFLAGS += -DHAVE_PTHREAD_H +endif + +# The linker and its options. +LD = gcc.exe +LDFLAGS += -Wl,--major-image-version,$(LIBXML_MAJOR_VERSION) +LDFLAGS += -Wl,--minor-image-version,$(LIBXML_MINOR_VERSION) +LDFLAGS += -Wl,-L,$(BINDIR) -Wl,-L,$(LIBPREFIX) +LIBS = +ifeq ($(WITH_FTP),1) +LIBS += -lwsock32 -lws2_32 +endif +ifeq ($(WITH_HTTP),1) +LIBS += -lwsock32 -lws2_32 +endif +ifeq ($(WITH_ICONV),1) +LIBS += -liconv +endif +ifeq ($(WITH_ZLIB),1) +# Could be named differently +# LIBS += -lzdll +LIBS += -lz +endif +ifeq ($(WITH_LZMA),1) +LIBS += -llzma +endif +ifeq ($(WITH_THREADS),posix) +LIBS += -lpthreadGC +endif +ifeq ($(WITH_MODULES),1) +LIBS += -lkernel32 +endif + +LIBS += $(LIB) + +# The archiver and its options. +AR = ar.exe +ARFLAGS = -r + +# Optimisation and debug symbols. +ifeq ($(DEBUG),1) +CFLAGS += -D_DEBUG -g +LDFLAGS += +else +CFLAGS += -DNDEBUG -O2 +LDFLAGS += +endif + + +# Libxml object files. +XML_OBJS = $(XML_INTDIR)/buf.o\ + $(XML_INTDIR)/c14n.o\ + $(XML_INTDIR)/catalog.o\ + $(XML_INTDIR)/chvalid.o\ + $(XML_INTDIR)/debugXML.o\ + $(XML_INTDIR)/dict.o\ + $(XML_INTDIR)/DOCBparser.o\ + $(XML_INTDIR)/encoding.o\ + $(XML_INTDIR)/entities.o\ + $(XML_INTDIR)/error.o\ + $(XML_INTDIR)/globals.o\ + $(XML_INTDIR)/hash.o\ + $(XML_INTDIR)/HTMLparser.o\ + $(XML_INTDIR)/HTMLtree.o\ + $(XML_INTDIR)/legacy.o\ + $(XML_INTDIR)/list.o\ + $(XML_INTDIR)/nanoftp.o\ + $(XML_INTDIR)/nanohttp.o\ + $(XML_INTDIR)/parser.o\ + $(XML_INTDIR)/parserInternals.o\ + $(XML_INTDIR)/pattern.o\ + $(XML_INTDIR)/relaxng.o\ + $(XML_INTDIR)/SAX.o\ + $(XML_INTDIR)/SAX2.o\ + $(XML_INTDIR)/schematron.o\ + $(XML_INTDIR)/threads.o\ + $(XML_INTDIR)/tree.o\ + $(XML_INTDIR)/uri.o\ + $(XML_INTDIR)/valid.o\ + $(XML_INTDIR)/xinclude.o\ + $(XML_INTDIR)/xlink.o\ + $(XML_INTDIR)/xmlIO.o\ + $(XML_INTDIR)/xmlmemory.o\ + $(XML_INTDIR)/xmlreader.o\ + $(XML_INTDIR)/xmlregexp.o\ + $(XML_INTDIR)/xmlmodule.o\ + $(XML_INTDIR)/xmlsave.o\ + $(XML_INTDIR)/xmlschemas.o\ + $(XML_INTDIR)/xmlschemastypes.o\ + $(XML_INTDIR)/xmlunicode.o\ + $(XML_INTDIR)/xmlwriter.o\ + $(XML_INTDIR)/xpath.o\ + $(XML_INTDIR)/xpointer.o\ + $(XML_INTDIR)/xmlstring.o + +XML_SRCS = $(subst .o,.c,$(subst $(XML_INTDIR)/,$(XML_SRCDIR)/,$(XML_OBJS))) + +# Static libxml object files. +XML_OBJS_A = $(XML_INTDIR_A)/buf.o\ + $(XML_INTDIR_A)/c14n.o\ + $(XML_INTDIR_A)/catalog.o\ + $(XML_INTDIR_A)/chvalid.o\ + $(XML_INTDIR_A)/debugXML.o\ + $(XML_INTDIR_A)/dict.o\ + $(XML_INTDIR_A)/DOCBparser.o\ + $(XML_INTDIR_A)/encoding.o\ + $(XML_INTDIR_A)/entities.o\ + $(XML_INTDIR_A)/error.o\ + $(XML_INTDIR_A)/globals.o\ + $(XML_INTDIR_A)/hash.o\ + $(XML_INTDIR_A)/HTMLparser.o\ + $(XML_INTDIR_A)/HTMLtree.o\ + $(XML_INTDIR_A)/legacy.o\ + $(XML_INTDIR_A)/list.o\ + $(XML_INTDIR_A)/nanoftp.o\ + $(XML_INTDIR_A)/nanohttp.o\ + $(XML_INTDIR_A)/parser.o\ + $(XML_INTDIR_A)/parserInternals.o\ + $(XML_INTDIR_A)/pattern.o\ + $(XML_INTDIR_A)/relaxng.o\ + $(XML_INTDIR_A)/SAX.o\ + $(XML_INTDIR_A)/SAX2.o\ + $(XML_INTDIR_A)/schematron.o\ + $(XML_INTDIR_A)/threads.o\ + $(XML_INTDIR_A)/tree.o\ + $(XML_INTDIR_A)/uri.o\ + $(XML_INTDIR_A)/valid.o\ + $(XML_INTDIR_A)/xinclude.o\ + $(XML_INTDIR_A)/xlink.o\ + $(XML_INTDIR_A)/xmlIO.o\ + $(XML_INTDIR_A)/xmlmemory.o\ + $(XML_INTDIR_A)/xmlreader.o\ + $(XML_INTDIR_A)/xmlregexp.o\ + $(XML_INTDIR_A)/xmlmodule.o\ + $(XML_INTDIR_A)/xmlsave.o\ + $(XML_INTDIR_A)/xmlschemas.o\ + $(XML_INTDIR_A)/xmlschemastypes.o\ + $(XML_INTDIR_A)/xmlunicode.o\ + $(XML_INTDIR_A)/xmlwriter.o\ + $(XML_INTDIR_A)/xpath.o\ + $(XML_INTDIR_A)/xpointer.o\ + $(XML_INTDIR_A)/xmlstring.o + +XML_SRCS_A = $(subst .o,.c,$(subst $(XML_INTDIR_A)/,$(XML_SRCDIR)/,$(XML_OBJS_A))) + +# Xmllint and friends executables. +UTILS = $(BINDIR)/xmllint.exe\ + $(BINDIR)/xmlcatalog.exe\ + $(BINDIR)/testAutomata.exe\ + $(BINDIR)/testC14N.exe\ + $(BINDIR)/testDocbook.exe\ + $(BINDIR)/testHTML.exe\ + $(BINDIR)/testReader.exe\ + $(BINDIR)/testRegexp.exe\ + $(BINDIR)/testModule.exe\ + $(BINDIR)/testRelax.exe\ + $(BINDIR)/testSAX.exe\ + $(BINDIR)/testSchemas.exe\ + $(BINDIR)/testURI.exe\ + $(BINDIR)/testXPath.exe\ + $(BINDIR)/runtest.exe\ + $(BINDIR)/runsuite.exe\ + $(BINDIR)/testapi.exe\ + $(BINDIR)/testlimits.exe + +ifneq ($(WITH_THREADS),no) +UTILS += $(BINDIR)/testThreads.exe +endif + +all : dep libxml libxmla utils + +libxml : $(BINDIR)/$(XML_SO) + +libxmla : $(BINDIR)/$(XML_A) + +utils : $(UTILS) + +clean : + cmd.exe /C "if exist $(XML_INTDIR) rmdir /S /Q $(XML_INTDIR)" + cmd.exe /C "if exist $(XML_INTDIR_A) rmdir /S /Q $(XML_INTDIR_A)" + cmd.exe /C "if exist $(UTILS_INTDIR) rmdir /S /Q $(UTILS_INTDIR)" + cmd.exe /C "if exist $(BINDIR) rmdir /S /Q $(BINDIR)" + cmd.exe /C "if exist depends.mingw del depends.mingw" + +distclean : clean + cmd.exe /C "if exist config.* del config.*" + cmd.exe /C "if exist Makefile del Makefile" + +rebuild : clean all + +install-libs : all + cmd.exe /C "if not exist $(INCPREFIX)\libxml2 mkdir $(INCPREFIX)\libxml2" + cmd.exe /C "if not exist $(INCPREFIX)\libxml2\libxml mkdir $(INCPREFIX)\libxml2\libxml" + cmd.exe /C "if not exist $(BINPREFIX) mkdir $(BINPREFIX)" + cmd.exe /C "if not exist $(LIBPREFIX) mkdir $(LIBPREFIX)" + cmd.exe /C "copy $(XML_SRCDIR)\include\libxml\*.h $(INCPREFIX)\libxml2\libxml" + cmd.exe /C "copy $(BINDIR)\$(XML_SO) $(SOPREFIX)" + cmd.exe /C "copy $(BINDIR)\$(XML_A) $(LIBPREFIX)" + cmd.exe /C "copy $(BINDIR)\$(XML_IMP) $(LIBPREFIX)" + cmd.exe /C "copy $(BINDIR)\xml*.exe $(BINPREFIX)" + +install : install-libs + cmd.exe /C "copy $(BINDIR)\*.exe $(BINPREFIX)" + +install-dist : install-libs + cmd.exe /C "copy $(BINDIR)\xml*.exe $(BINPREFIX)" + +# This is a target for me, to make a binary distribution. Not for the public use, +# keep your hands off :-) +BDVERSION = $(LIBXML_MAJOR_VERSION).$(LIBXML_MINOR_VERSION).$(LIBXML_MICRO_VERSION) +BDPREFIX = $(XML_BASENAME)-$(BDVERSION).win32 +bindist : all + $(MAKE) PREFIX=$(BDPREFIX) SOPREFIX=$(BDPREFIX)/bin install-dist + cscript //NoLogo configure.js genreadme $(XML_BASENAME) $(BDVERSION) $(BDPREFIX)\readme.txt + + +# Creates the dependency file +dep : + $(CC) $(CFLAGS) -M $(XML_SRCS) > depends.mingw + + +# Makes the output directory. +$(BINDIR) : + cmd.exe /C if not exist $(BINDIR) mkdir $(BINDIR) + + +# Makes the libxml intermediate directory. +$(XML_INTDIR) : + cmd.exe /C if not exist $(XML_INTDIR) mkdir $(XML_INTDIR) + +# Makes the static libxml intermediate directory. +$(XML_INTDIR_A) : + cmd.exe /C if not exist $(XML_INTDIR_A) mkdir $(XML_INTDIR_A) + +# An implicit rule for libxml compilation. +$(XML_INTDIR)/%.o : $(XML_SRCDIR)/%.c + $(CC) $(CFLAGS) -o $@ -c $< + +# An implicit rule for static libxml compilation. +$(XML_INTDIR_A)/%.o : $(XML_SRCDIR)/%.c + $(CC) $(CFLAGS) -DLIBXML_STATIC -o $@ -c $< + + +# Compiles libxml source. Uses the implicit rule for commands. +$(XML_OBJS) : $(XML_INTDIR) + +# Compiles static libxml source. Uses the implicit rule for commands. +$(XML_OBJS_A) : $(XML_INTDIR_A) + +# Creates the libxml shared object. +XMLSO_LDFLAGS = $(LDFLAGS) -shared -Wl,--dll -Wl,--out-implib,$(BINDIR)/$(XML_IMP) +$(BINDIR)/$(XML_SO) : $(BINDIR) $(XML_OBJS) + $(LD) $(XMLSO_LDFLAGS) -o $(BINDIR)/$(XML_SO) $(XML_OBJS) $(LIBS) + +# Creates the libxml archive. +$(BINDIR)/$(XML_A) : $(BINDIR) $(XML_OBJS_A) + $(AR) $(ARFLAGS) $(BINDIR)\$(XML_A) $(XML_OBJS_A) + + +# Makes the utils intermediate directory. +$(UTILS_INTDIR) : + cmd.exe /C if not exist $(UTILS_INTDIR) mkdir $(UTILS_INTDIR) + +# An implicit rule for xmllint and friends. +ifeq ($(STATIC),1) +$(BINDIR)/%.exe : $(UTILS_SRCDIR)/%.c + $(CC) -DLIBXML_STATIC $(CFLAGS) -o $(subst .c,.o,$(UTILS_INTDIR)/$( + +# There should never be a need to modify anything below this line. +# ---------------------------------------------------------------- + +AUTOCONF = .\config.msvc +!include $(AUTOCONF) + +# Names of various input and output components. +XML_NAME = xml2 +XML_BASENAME = lib$(XML_NAME) +XML_SO = $(XML_BASENAME).dll +XML_RES = $(XML_BASENAME).res +XML_IMP = $(XML_BASENAME).lib +XML_DEF = $(XML_BASENAME).def +XML_A = $(XML_BASENAME)_a.lib +XML_A_DLL = $(XML_BASENAME)_a_dll.lib + +# Place where we let the compiler put its output. +BINDIR = bin.msvc +XML_INTDIR = int.msvc +XML_INTDIR_A = int.a.msvc +XML_INTDIR_A_DLL = int.a.dll.msvc +UTILS_INTDIR = int.utils.msvc + +# The preprocessor and its options. +CPP = cl.exe /EP +CPPFLAGS = /nologo /I$(XML_SRCDIR)\include /D "NOLIBTOOL" +!if "$(WITH_THREADS)" != "no" +CPPFLAGS = $(CPPFLAGS) /D "_REENTRANT" +!endif + +# The compiler and its options. +CC = cl.exe +CFLAGS = /nologo /D "_WINDOWS" /D "_MBCS" /D "NOLIBTOOL" /W3 /wd4244 /wd4267 $(CRUNTIME) +CFLAGS = $(CFLAGS) /I$(XML_SRCDIR) /I$(XML_SRCDIR)\include /I$(INCPREFIX) +!if "$(WITH_THREADS)" != "no" +CFLAGS = $(CFLAGS) /D "_REENTRANT" +!endif +!if "$(WITH_THREADS)" == "yes" || "$(WITH_THREADS)" == "ctls" +CFLAGS = $(CFLAGS) /D "HAVE_WIN32_THREADS" /D "HAVE_COMPILER_TLS" +!else if "$(WITH_THREADS)" == "native" +CFLAGS = $(CFLAGS) /D "HAVE_WIN32_THREADS" +!else if "$(WITH_THREADS)" == "posix" +CFLAGS = $(CFLAGS) /D "HAVE_PTHREAD_H" +!endif +CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE + +# The linker and its options. +LD = link.exe +LDFLAGS = /nologo /VERSION:$(LIBXML_MAJOR_VERSION).$(LIBXML_MINOR_VERSION) +LDFLAGS = $(LDFLAGS) /LIBPATH:$(BINDIR) /LIBPATH:$(LIBPREFIX) +LIBS = +!if "$(WITH_FTP)" == "1" || "$(WITH_HTTP)" == "1" +LIBS = $(LIBS) wsock32.lib ws2_32.lib +!endif +!if "$(WITH_ICONV)" == "1" +LIBS = $(LIBS) iconv.lib +!endif +!if "$(WITH_ICU)" == "1" +!if "$(STATIC)" == "1" +LIBS = $(LIBS) advapi32.lib sicuuc.lib sicuin.lib sicudt.lib +!else +LIBS = $(LIBS) icuuc.lib icuin.lib icudt.lib +!endif +!endif +!if "$(WITH_ZLIB)" == "1" +# could be named differently zdll or zlib +# LIBS = $(LIBS) zdll.lib +LIBS = $(LIBS) zlib.lib +!endif +!if "$(WITH_LZMA)" == "1" +LIBS = $(LIBS) liblzma.lib +!endif +!if "$(WITH_THREADS)" == "posix" +LIBS = $(LIBS) pthreadVC.lib +!endif +!if "$(WITH_MODULES)" == "1" +LIBS = $(LIBS) kernel32.lib +!endif + +# The archiver and its options. +AR = lib.exe +ARFLAGS = /nologo + +# Optimisation and debug symbols. +!if "$(DEBUG)" == "1" +CFLAGS = $(CFLAGS) /D "_DEBUG" /Od /Z7 +LDFLAGS = $(LDFLAGS) /DEBUG +!else +CFLAGS = $(CFLAGS) /D "NDEBUG" /O2 +# commented out as this break VC10 c.f. 634846 +# LDFLAGS = $(LDFLAGS) /OPT:NOWIN98 +LDFLAGS = $(LDFLAGS) +!endif + +# Libxml object files. +XML_OBJS = $(XML_INTDIR)\buf.obj\ + $(XML_INTDIR)\c14n.obj\ + $(XML_INTDIR)\catalog.obj\ + $(XML_INTDIR)\chvalid.obj\ + $(XML_INTDIR)\debugXML.obj\ + $(XML_INTDIR)\dict.obj\ + $(XML_INTDIR)\DOCBparser.obj\ + $(XML_INTDIR)\encoding.obj\ + $(XML_INTDIR)\entities.obj\ + $(XML_INTDIR)\error.obj\ + $(XML_INTDIR)\globals.obj\ + $(XML_INTDIR)\hash.obj\ + $(XML_INTDIR)\HTMLparser.obj\ + $(XML_INTDIR)\HTMLtree.obj\ + $(XML_INTDIR)\legacy.obj\ + $(XML_INTDIR)\list.obj\ + $(XML_INTDIR)\nanoftp.obj\ + $(XML_INTDIR)\nanohttp.obj\ + $(XML_INTDIR)\parser.obj\ + $(XML_INTDIR)\parserInternals.obj\ + $(XML_INTDIR)\pattern.obj\ + $(XML_INTDIR)\relaxng.obj\ + $(XML_INTDIR)\SAX2.obj\ + $(XML_INTDIR)\SAX.obj\ + $(XML_INTDIR)\schematron.obj\ + $(XML_INTDIR)\threads.obj\ + $(XML_INTDIR)\tree.obj\ + $(XML_INTDIR)\uri.obj\ + $(XML_INTDIR)\valid.obj\ + $(XML_INTDIR)\xinclude.obj\ + $(XML_INTDIR)\xlink.obj\ + $(XML_INTDIR)\xmlIO.obj\ + $(XML_INTDIR)\xmlmemory.obj\ + $(XML_INTDIR)\xmlreader.obj\ + $(XML_INTDIR)\xmlregexp.obj\ + $(XML_INTDIR)\xmlmodule.obj\ + $(XML_INTDIR)\xmlsave.obj\ + $(XML_INTDIR)\xmlschemas.obj\ + $(XML_INTDIR)\xmlschemastypes.obj\ + $(XML_INTDIR)\xmlunicode.obj\ + $(XML_INTDIR)\xmlwriter.obj\ + $(XML_INTDIR)\xpath.obj\ + $(XML_INTDIR)\xpointer.obj\ + $(XML_INTDIR)\xmlstring.obj + +# Static libxml object files. +XML_OBJS_A = $(XML_INTDIR_A)\buf.obj\ + $(XML_INTDIR_A)\c14n.obj\ + $(XML_INTDIR_A)\catalog.obj\ + $(XML_INTDIR_A)\chvalid.obj\ + $(XML_INTDIR_A)\debugXML.obj\ + $(XML_INTDIR_A)\dict.obj\ + $(XML_INTDIR_A)\DOCBparser.obj\ + $(XML_INTDIR_A)\encoding.obj\ + $(XML_INTDIR_A)\entities.obj\ + $(XML_INTDIR_A)\error.obj\ + $(XML_INTDIR_A)\globals.obj\ + $(XML_INTDIR_A)\hash.obj\ + $(XML_INTDIR_A)\HTMLparser.obj\ + $(XML_INTDIR_A)\HTMLtree.obj\ + $(XML_INTDIR_A)\legacy.obj\ + $(XML_INTDIR_A)\list.obj\ + $(XML_INTDIR_A)\nanoftp.obj\ + $(XML_INTDIR_A)\nanohttp.obj\ + $(XML_INTDIR_A)\parser.obj\ + $(XML_INTDIR_A)\parserInternals.obj\ + $(XML_INTDIR_A)\pattern.obj\ + $(XML_INTDIR_A)\relaxng.obj\ + $(XML_INTDIR_A)\SAX2.obj\ + $(XML_INTDIR_A)\SAX.obj\ + $(XML_INTDIR_A)\schematron.obj\ + $(XML_INTDIR_A)\threads.obj\ + $(XML_INTDIR_A)\tree.obj\ + $(XML_INTDIR_A)\uri.obj\ + $(XML_INTDIR_A)\valid.obj\ + $(XML_INTDIR_A)\xinclude.obj\ + $(XML_INTDIR_A)\xlink.obj\ + $(XML_INTDIR_A)\xmlIO.obj\ + $(XML_INTDIR_A)\xmlmemory.obj\ + $(XML_INTDIR_A)\xmlreader.obj\ + $(XML_INTDIR_A)\xmlregexp.obj\ + $(XML_INTDIR_A)\xmlmodule.obj\ + $(XML_INTDIR_A)\xmlsave.obj\ + $(XML_INTDIR_A)\xmlschemas.obj\ + $(XML_INTDIR_A)\xmlschemastypes.obj\ + $(XML_INTDIR_A)\xmlunicode.obj\ + $(XML_INTDIR_A)\xmlwriter.obj\ + $(XML_INTDIR_A)\xpath.obj\ + $(XML_INTDIR_A)\xpointer.obj\ + $(XML_INTDIR_A)\xmlstring.obj + +# Static libxml object files. +XML_OBJS_A_DLL = $(XML_INTDIR_A_DLL)\buf.obj\ + $(XML_INTDIR_A_DLL)\c14n.obj\ + $(XML_INTDIR_A_DLL)\catalog.obj\ + $(XML_INTDIR_A_DLL)\chvalid.obj\ + $(XML_INTDIR_A_DLL)\debugXML.obj\ + $(XML_INTDIR_A_DLL)\dict.obj\ + $(XML_INTDIR_A_DLL)\DOCBparser.obj\ + $(XML_INTDIR_A_DLL)\encoding.obj\ + $(XML_INTDIR_A_DLL)\entities.obj\ + $(XML_INTDIR_A_DLL)\error.obj\ + $(XML_INTDIR_A_DLL)\globals.obj\ + $(XML_INTDIR_A_DLL)\hash.obj\ + $(XML_INTDIR_A_DLL)\HTMLparser.obj\ + $(XML_INTDIR_A_DLL)\HTMLtree.obj\ + $(XML_INTDIR_A_DLL)\legacy.obj\ + $(XML_INTDIR_A_DLL)\list.obj\ + $(XML_INTDIR_A_DLL)\nanoftp.obj\ + $(XML_INTDIR_A_DLL)\nanohttp.obj\ + $(XML_INTDIR_A_DLL)\parser.obj\ + $(XML_INTDIR_A_DLL)\parserInternals.obj\ + $(XML_INTDIR_A_DLL)\pattern.obj\ + $(XML_INTDIR_A_DLL)\relaxng.obj\ + $(XML_INTDIR_A_DLL)\SAX2.obj\ + $(XML_INTDIR_A_DLL)\SAX.obj\ + $(XML_INTDIR_A_DLL)\schematron.obj\ + $(XML_INTDIR_A_DLL)\threads.obj\ + $(XML_INTDIR_A_DLL)\tree.obj\ + $(XML_INTDIR_A_DLL)\uri.obj\ + $(XML_INTDIR_A_DLL)\valid.obj\ + $(XML_INTDIR_A_DLL)\xinclude.obj\ + $(XML_INTDIR_A_DLL)\xlink.obj\ + $(XML_INTDIR_A_DLL)\xmlIO.obj\ + $(XML_INTDIR_A_DLL)\xmlmemory.obj\ + $(XML_INTDIR_A_DLL)\xmlreader.obj\ + $(XML_INTDIR_A_DLL)\xmlregexp.obj\ + $(XML_INTDIR_A_DLL)\xmlmodule.obj\ + $(XML_INTDIR_A_DLL)\xmlsave.obj\ + $(XML_INTDIR_A_DLL)\xmlschemas.obj\ + $(XML_INTDIR_A_DLL)\xmlschemastypes.obj\ + $(XML_INTDIR_A_DLL)\xmlunicode.obj\ + $(XML_INTDIR_A_DLL)\xmlwriter.obj\ + $(XML_INTDIR_A_DLL)\xpath.obj\ + $(XML_INTDIR_A_DLL)\xpointer.obj\ + $(XML_INTDIR_A_DLL)\xmlstring.obj + +!if "$(WITH_LZMA)" == "1" +XML_OBJS = $(XML_OBJS) $(XML_INTDIR)\xzlib.obj +XML_OBJS_A = $(XML_OBJS_A) $(XML_INTDIR_A)\xzlib.obj +XML_OBJS_A_DLL = $(XML_OBJS_A_DLL) $(XML_INTDIR_A_DLL)\xzlib.obj +!endif + +# Xmllint and friends executables. +UTILS = $(BINDIR)\xmllint.exe\ + $(BINDIR)\xmlcatalog.exe\ + $(BINDIR)\testAutomata.exe\ + $(BINDIR)\testC14N.exe\ + $(BINDIR)\testDocbook.exe\ + $(BINDIR)\testHTML.exe\ + $(BINDIR)\testReader.exe\ + $(BINDIR)\testRelax.exe\ + $(BINDIR)\testRegexp.exe\ + $(BINDIR)\testModule.exe\ + $(BINDIR)\testSAX.exe\ + $(BINDIR)\testSchemas.exe\ + $(BINDIR)\testURI.exe\ + $(BINDIR)\testXPath.exe\ + $(BINDIR)\runtest.exe\ + $(BINDIR)\runsuite.exe\ + $(BINDIR)\runxmlconf.exe\ + $(BINDIR)\testapi.exe\ + $(BINDIR)\testchar.exe\ + $(BINDIR)\testdict.exe\ + $(BINDIR)\testlimits.exe\ + $(BINDIR)\testrecurse.exe + +!if "$(WITH_THREADS)" != "no" +UTILS = $(UTILS) $(BINDIR)\testThreads.exe +!endif + +!if "$(VCMANIFEST)" == "1" +_VC_MANIFEST_EMBED_EXE= if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;1 +_VC_MANIFEST_EMBED_DLL= if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2 +!else +_VC_MANIFEST_EMBED_EXE= +_VC_MANIFEST_EMBED_DLL= +!endif + +all : libxml libxmla libxmladll utils + +libxml : $(BINDIR)\$(XML_SO) + +libxmla : $(BINDIR)\$(XML_A) + +libxmladll : $(BINDIR)\$(XML_A_DLL) + +utils : $(UTILS) + +clean : + if exist $(XML_INTDIR) rmdir /S /Q $(XML_INTDIR) + if exist $(XML_INTDIR_A) rmdir /S /Q $(XML_INTDIR_A) + if exist $(XML_INTDIR_A_DLL) rmdir /S /Q $(XML_INTDIR_A_DLL) + if exist $(UTILS_INTDIR) rmdir /S /Q $(UTILS_INTDIR) + if exist $(BINDIR) rmdir /S /Q $(BINDIR) + +distclean : clean + if exist config.* del config.* + if exist Makefile del Makefile + +rebuild : clean all + +install-libs : all + if not exist $(INCPREFIX)\libxml2 mkdir $(INCPREFIX)\libxml2 + if not exist $(INCPREFIX)\libxml2\libxml mkdir $(INCPREFIX)\libxml2\libxml + if not exist $(BINPREFIX) mkdir $(BINPREFIX) + if not exist $(LIBPREFIX) mkdir $(LIBPREFIX) + if not exist $(SOPREFIX) mkdir $(SOPREFIX) + copy $(XML_SRCDIR)\include\libxml\*.h $(INCPREFIX)\libxml2\libxml + copy $(BINDIR)\$(XML_SO) $(SOPREFIX) + copy $(BINDIR)\$(XML_A) $(LIBPREFIX) + copy $(BINDIR)\$(XML_A_DLL) $(LIBPREFIX) + copy $(BINDIR)\$(XML_IMP) $(LIBPREFIX) + +install : install-libs + copy $(BINDIR)\*.exe $(BINPREFIX) + -copy $(BINDIR)\*.pdb $(BINPREFIX) + +install-dist : install-libs + copy $(BINDIR)\xml*.exe $(BINPREFIX) + -copy $(BINDIR)\xml*.pdb $(BINPREFIX) + +# This is a target for me, to make a binary distribution. Not for the public use, +# keep your hands off :-) +BDVERSION = $(LIBXML_MAJOR_VERSION).$(LIBXML_MINOR_VERSION).$(LIBXML_MICRO_VERSION) +BDPREFIX = $(XML_BASENAME)-$(BDVERSION).win32 +bindist : all + $(MAKE) /nologo PREFIX=$(BDPREFIX) SOPREFIX=$(BDPREFIX)\bin install-dist + cscript //NoLogo configure.js genreadme $(XML_BASENAME) $(BDVERSION) $(BDPREFIX)\readme.txt + + +# Makes the output directory. +$(BINDIR) : + if not exist $(BINDIR) mkdir $(BINDIR) + + +# Makes the libxml intermediate directory. +$(XML_INTDIR) : + if not exist $(XML_INTDIR) mkdir $(XML_INTDIR) + +# Makes the static libxml intermediate directory. +$(XML_INTDIR_A) : + if not exist $(XML_INTDIR_A) mkdir $(XML_INTDIR_A) + +# Makes the static for dll libxml intermediate directory. +$(XML_INTDIR_A_DLL) : + if not exist $(XML_INTDIR_A_DLL) mkdir $(XML_INTDIR_A_DLL) + +# An implicit rule for libxml compilation. +{$(XML_SRCDIR)}.c{$(XML_INTDIR)}.obj:: + $(CC) $(CFLAGS) /Fo$(XML_INTDIR)\ /c $< + +# An implicit rule for static libxml compilation. +{$(XML_SRCDIR)}.c{$(XML_INTDIR_A)}.obj:: + $(CC) $(CFLAGS) /D "LIBXML_STATIC" /Fo$(XML_INTDIR_A)\ /c $< + +# An implicit rule for static for dll libxml compilation. +{$(XML_SRCDIR)}.c{$(XML_INTDIR_A_DLL)}.obj:: + $(CC) $(CFLAGS) /D "LIBXML_STATIC" /D "LIBXML_STATIC_FOR_DLL" /Fo$(XML_INTDIR_A_DLL)\ /c $< + +# Compiles libxml source. Uses the implicit rule for commands. +$(XML_OBJS) : $(XML_INTDIR) + +# Compiles static libxml source. Uses the implicit rule for commands. +$(XML_OBJS_A) : $(XML_INTDIR_A) + +# Compiles static for dll libxml source. Uses the implicit rule for commands. +$(XML_OBJS_A_DLL) : $(XML_INTDIR_A_DLL) + +# Creates the export definition file (DEF) for libxml. +$(XML_INTDIR)\$(XML_DEF) : $(XML_INTDIR) $(XML_DEF).src + $(CPP) $(CPPFLAGS) $(XML_DEF).src > $(XML_INTDIR)\$(XML_DEF) +$(XML_INTDIR)\$(XML_RES) : $(XML_INTDIR) libxml2.rc + rc -Fo $(XML_INTDIR)\$(XML_RES) libxml2.rc + +# Creates the libxml shared object. +$(BINDIR)\$(XML_SO) : $(BINDIR) $(XML_OBJS) $(XML_INTDIR)\$(XML_DEF) $(XML_INTDIR)\$(XML_RES) + $(LD) $(LDFLAGS) /DLL \ + /IMPLIB:$(BINDIR)\$(XML_IMP) /OUT:$(BINDIR)\$(XML_SO) $(XML_OBJS) $(XML_INTDIR)\$(XML_RES) $(LIBS) + @$(_VC_MANIFEST_EMBED_DLL) + +#$(BINDIR)\$(XML_SO) : $(BINDIR) $(XML_OBJS) $(XML_INTDIR)\$(XML_DEF) +# $(LD) $(LDFLAGS) /DLL /DEF:$(XML_INTDIR)\$(XML_DEF) \ +# /IMPLIB:$(BINDIR)\$(XML_IMP) /OUT:$(BINDIR)\$(XML_SO) $(XML_OBJS) $(LIBS) + +# Creates the libxml archive. +$(BINDIR)\$(XML_A) : $(BINDIR) $(XML_OBJS_A) + $(AR) $(ARFLAGS) /OUT:$(BINDIR)\$(XML_A) $(XML_OBJS_A) + +# Creates the libxml static for dll archive. +$(BINDIR)\$(XML_A_DLL) : $(BINDIR) $(XML_OBJS_A_DLL) + $(AR) $(ARFLAGS) /OUT:$(BINDIR)\$(XML_A_DLL) $(XML_OBJS_A_DLL) + +# Makes the utils intermediate directory. +$(UTILS_INTDIR) : + if not exist $(UTILS_INTDIR) mkdir $(UTILS_INTDIR) + +# An implicit rule for xmllint and friends. +!if "$(STATIC)" == "1" +{$(UTILS_SRCDIR)}.c{$(BINDIR)}.exe: + $(CC) /D "LIBXML_STATIC" $(CFLAGS) /Fo$(UTILS_INTDIR)\ /c $< + $(LD) $(LDFLAGS) /OUT:$@ $(XML_A) $(LIBS) $(UTILS_INTDIR)\$( .memdump + @echo ## XPath regression tests + @-$(BINDIR)\testXPath.exe | find /C "support not compiled in" 1>nul + @if %ERRORLEVEL% NEQ 0 @( \ + echo Skipping debug not compiled in\ + @exit 0 \ + ) + @for %%I in ($(XML_SRCDIR)\test\XPath\expr\*.*) do @( \ + @IF NOT EXIST $(XML_SRCDIR)\result\XPath\expr\%%~nxI ( \ + @echo New test %%~nxI &&\ + @echo %%~nxI &&\ + $(BINDIR)\testXPath.exe -f --expr %%I > $(XML_SRCDIR)/result/XPath/expr/%%~nxI &&\ + findstr /C:"MEMORY ALLOCATED : 0" \ + ) ELSE ( \ + $(BINDIR)\testXPath.exe -f --expr %%I 2>&1 > result.%%~nxI &&\ + fc $(XML_SRCDIR)\result\XPath\expr\%%~nxI result.%%~nxI >nul &\ + iF ERRORLEVEL 1 exit 1 & \ + findstr "MEMORY ALLOCATED" .memdump | findstr /C:"MEMORY ALLOCATED : 0" >nul &&\ + del result.%%~nxI \ + ) \ + ) + @for %%I in ($(XML_SRCDIR)\test\XPath\docs\*.*) do @( \ + for %%J in ($(XML_SRCDIR)\test\XPath\tests\%%~nxI*.*) do @( \ + if not exist $(XML_SRCDIR)\result\XPath\tests\%%~nxJ ( \ + $(BINDIR)\testXPath.exe -f -i %%I %%J > $(XML_SRCDIR)\result\XPath\tests\%%~nxJ &&\ + findstr /C:"MEMORY ALLOCATED" .memdump | findstr /C:"MEMORY ALLOCATED : 0" > nul \ + ) ELSE ( \ + $(BINDIR)\testXPAth.exe -f -i %%I %%J 2>&1 > result.%%~nxJ &&\ + findstr /C:"MEMORY ALLOCATED" .memdump | findstr /C:"MEMORY ALLOCATED : 0">null &&\ + fc $(XML_SRCDIR)\result\XPath\tests\%%~nxJ result.%%~nxJ >null & \ + IF ERRORLEVEL 1 (echo Error: %%I %%J & exit 1) & \ + del result.%%~nxJ \ + )\ + )\ + ) + +XMLtests : $(BINDIR)\xmllint.exe + @echo. 2> .memdump + @echo ## XML regression tests + -@for %%I in ($(XML_SRCDIR)\test\*) do @( \ + if not exist $(XML_SRCDIR)\result\%%~nxI ( \ + echo New test file %%~nxI &\ + $(BINDIR)\xmllint.exe %%I > $(XML_SRCDIR)\result\%%~nxI && \ + findstr /C:"MEMORY ALLOCATED" .memdump | findstr /C:"MEMORY ALLOCATED : 0" > null \ + ) ELSE ( \ + $(BINDIR)\xmllint.exe %%I 2>&1 > result.%%~nxI && \ + findstr /C:"MEMORY ALLOC" .memdump | findstr /C:"MEMORY ALLOCATED : 0" > null && \ + fc $(XML_SRCDIR)\result\%%~nxI result.%%~nxI > null && \ + $(BINDIR)\xmllint.exe result.%%~nxI 2>&1 > result2.%%~nxI | findstr /V /C:"failed to load external entity" && \ + fc result.%%~nxI result2.%%~nxI & \ + del result.%%~nxI result2.%%~nxI\ + ) \ + ) + + + + + + diff --git a/win32/Readme.txt b/win32/Readme.txt new file mode 100644 index 0000000..6b3eddd --- /dev/null +++ b/win32/Readme.txt @@ -0,0 +1,226 @@ + + Windows port + ============ + +This directory contains the files required to build this software on the +native Windows platform. This is not a place to look for help if you are +using a POSIX emulator, such as Cygwin. Check the Unix instructions for +that. + + + +CONTENTS +======== + +1. General + 1.1 Building From the Command-Line + 1.2 Configuring The Source + 1.3 Compiling + 1.4 Installing + +2. Compiler Specifics + 2.1 Microsoft Visual C/C++ + 2.1 GNU C/C++, Mingw Edition + 2.2 Borland C++ Builder + 2.2.1 Building with iconv support + 2.2.2 Compatability problems with MSVC (and probably CYGWIN) + 2.2.3 Other caveats + + + + +1. General +========== + + +1.1 Building From The Command-Line +---------------------------------- + +This is the easiest, preferred and currently supported method. It can +be that a subdirectory of the directory where this file resides +contains project files for some IDE. If you want to use that, please +refer to the readme file within that subdirectory. + +In order to build from the command-line you need to make sure that +your compiler works from the command line. This is not always the +case, often the required environment variables are missing. If you are +not sure, test if this works first. If it doesn't, you will first have +to configure your compiler suite to run from the command-line - please +refer to your compiler's documentation regarding that. + +The first thing you want to do is configure the source. You can have +the configuration script do this automatically for you. The +configuration script is written in JScript, a Microsoft's +implementation of the ECMA scripting language. Almost every Windows +machine can execute this through the Windows Scripting Host. If your +system lacks the ability to execute JScript for some reason, you must +perform the configuration manually and you are on your own with that. + +The second step is compiling the source and, optionally, installing it +to the location of your choosing. + + +1.2 Configuring The Source +-------------------------- + +The configuration script accepts numerous options. Some of these +affect features which will be available in the compiled software, +others affect the way the software is built and installed. To see a +full list of options supported by the configuration script, run + + cscript configure.js help + +from the win32 subdirectory. The configuration script will present you +the options it accepts and give a biref explanation of these. In every +case you will have two sets of options. The first set is specific to +the software you are building and the second one is specific to the +Windows port. + +Once you have decided which options suit you, run the script with that +options. Here is an example: + + cscript configure.js compiler=msvc prefix=c:\opt + include=c:\opt\include lib=c:\opt\lib debug=yes + +The previous example will configure the process to use the Microsoft's +compiler, install the library in c:\opt, use c:\opt\include and +c:\opt\lib as additional search paths for the compiler and the linker +and build executables with debug symbols. + +Note: Please do not use path names which contain spaces. This will +fail. Allowing this would require me to put almost everything in the +Makefile in quotas and that looks quite ugly with my +syntax-highlighting engine. If you absolutely must use spaces in paths +send me an email and tell me why. If there are enough of you out there +who need this, or if a single one has a very good reason, I will +modify the Makefile to allow spaces in paths. + + +1.3 Compiling +------------- + +After the configuration stage has been completed, you want to build +the software. You will have to use the make tool which comes with +your compiler. If you, for example, configured the source to build +with Microsoft's MSVC compiler, you would use the NMAKE utility. If +you configured it to build with GNU C compiler, mingw edition, you +would use the GNU make. Assuming you use MSVC, type + + nmake /f Makefile.msvc + +and if you use MinGW, you would type + + make -f Makefile.mingw + +and if you use Borland's compiler, you would type + + bmake -f Makefile.bcb + +in the win32 subdirectory. When the building completes, you will find +the executable files in win32\bin.* directory, where * stands for the +name of the compiler you have used. + + +1.4 Installing +-------------- + +You can install the software into the directory you specified to the +configure script during the configure stage by typing (with MSVC in +this example) + + nmake /f Makefile.msvc install + +That would be it, enjoy. + + + + + +2. Compiler Specifics +===================== + + +2.1 Microsoft Visual C/C++ +-------------------------- + +If you use the compiler which comes with Visual Studio .NET, note that +it will link to its own C-runtime named msvcr70.dll or msvcr71.dll. This +file is not available on any machine which doesn't have Visual Studio +.NET installed. + + +2.2 GNU C/C++, Mingw edition +---------------------------- + +When specifying paths to configure.js, please use slashes instead of +backslashes for directory separation. Sometimes Mingw needs this. If +this is the case, and you specify backslashes, then the compiler will +complain about not finding necessary header files. + + +2.2 Borland C++ Builder +----------------------- + +To compile libxml2 with the BCB6 compiler and associated tools, just follow +the basic instructions found in this file file. Be sure to specify +the "compiler=bcb" option when running the configure script. To compile the +library and test programs, just type + + make -fMakefile.bcb + +That should be all that's required. But there are a few other things to note: + +2.2.1 Building with iconv support + +If you configure libxml2 to include iconv support, you will obviously need to +obtain the iconv library and include files. To get them, just follow the links +at http://www.gnu.org/software/libiconv/ - there are pre-compiled Win32 +versions available, but note that these where built with MSVC. Hence the +supplied import library is in COFF format rather than OMF format. You can +convert this library by using Borland's COFF2OMF utility, or use IMPLIB to +build a new import library from the DLL. Alternatively, it is possible to +obtain the iconv source, and build the DLL using the Borland compiler. + +There is a minor problem with the header files for iconv - they expect a +macro named "EILSEQ" in errno.h, but this is not defined in the Borland +headers, and its absence can cause problems. To circumvent this problem, I +define EILSEQ=2 in Makefile.bcb. The value "2" is the value for ENOFILE (file +not found). This should not have any disastrous side effects beyond possibly +displaying a misleading error message in certain situations. + +2.2.2 Compatability problems with MSVC (and probably CYGWIN) + +A libxml2 DLL generated by BCB is callable from MSVC programs, but there is a +minor problem with the names of the symbols exported from the library. The +Borland compiler, by default, prepends an underscore character to global +identifiers (functions and global variables) when generating object files. +Hence the function "xmlAddChild" is added to the DLL with the name +"_xmlAddChild". The MSVC compiler does not have this behaviour, and looks for +the unadorned name. I currently circumvent this problem by writing a .def file +which causes BOTH the adorned and unadorned names to be exported from the DLL. +This behaviour may not be supported in the future. + +An even worse problem is that of generating an import library for the DLL. The +Borland-generated DLL is in OMF format. MSVC expects libraries in COFF format, +but they don't provide a "OMF2COFF" utility, or even the equivalent of +Borland's IMPLIB utility. But it is possible to create an import lib from the +.def file, using the command: + LIB /DEF:libxml2.def + +If you don't have the .def file, it's possible to create one manually. Use +DUMPBIN /EXPORTS /OUT:libxml2.tmp libxml2.dll to get a list of the exported +names, and edit this into .def file format. + +A similar problem is likely with Cygwin. + +2.2.3 Other caveats + +We have tested this only with BCB6, Professional Edition, and BCB 5.5 free +command-line tools. + + + +Authors: Igor Zlatkovic + Eric Zurcher + + diff --git a/win32/VC10/README.vc10 b/win32/VC10/README.vc10 new file mode 100644 index 0000000..4805bdc --- /dev/null +++ b/win32/VC10/README.vc10 @@ -0,0 +1,27 @@ + +README file for VC10 project files for libxml2 +---------------------------------------------- + +to clarify: This is not the readme file for the whole libxml2 project. +Rather, it's a readme for the VC10 project files, attached to the libxml2 proejct. + +Quick Start +----------- + +1) To use, load the libxml2.sln solution file into visual studio +2) check and correct paths for dependent "iconv" project which most certaily +are wrong on your environment. +3) Compile all projects + + +Background Info +--------------- + +Running of "configure.sh" won't make sense since VS doesn't support +this kind of build system and the environment is pretty much known already +if you're using Visual Studio. Instead, a preconfigured "config.h" file +is provided in the "win32\VC10" directory and referenced by the project +files already. + +The compile process is not completely warning-free: Some warnings will +appear during compile which can be ignored. diff --git a/win32/VC10/RuleSet1.ruleset b/win32/VC10/RuleSet1.ruleset new file mode 100644 index 0000000..9985a6c --- /dev/null +++ b/win32/VC10/RuleSet1.ruleset @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/win32/VC10/config.h b/win32/VC10/config.h new file mode 100644 index 0000000..324b74f --- /dev/null +++ b/win32/VC10/config.h @@ -0,0 +1,121 @@ +#ifndef __LIBXML_WIN32_CONFIG__ +#define __LIBXML_WIN32_CONFIG__ + +#define HAVE_CTYPE_H +#define HAVE_STDARG_H +#define HAVE_MALLOC_H +#define HAVE_ERRNO_H +#define HAVE_STDINT_H + +#if defined(_WIN32_WCE) +#undef HAVE_ERRNO_H +#include "wincecompat.h" +#else +#define HAVE_SYS_STAT_H +#define HAVE_STAT +#define HAVE_STDLIB_H +#define HAVE_TIME_H +#define HAVE_FCNTL_H +#include +#include +#endif + +#include + +#ifndef ICONV_CONST +#define ICONV_CONST const +#endif + +/* + * Windows platforms may define except + */ +#undef except + +#define HAVE_ISINF +#define HAVE_ISNAN +#include +#if defined(_MSC_VER) || defined(__BORLANDC__) +/* MS C-runtime has functions which can be used in order to determine if + a given floating-point variable contains NaN, (+-)INF. These are + preferred, because floating-point technology is considered proprietary + by MS and we can assume that their functions know more about their + oddities than we do. */ +#include +/* Bjorn Reese figured a quite nice construct for isinf() using the _fpclass + function. */ +#ifndef isinf +#define isinf(d) ((_fpclass(d) == _FPCLASS_PINF) ? 1 \ + : ((_fpclass(d) == _FPCLASS_NINF) ? -1 : 0)) +#endif +/* _isnan(x) returns nonzero if (x == NaN) and zero otherwise. */ +#ifndef isnan +#define isnan(d) (_isnan(d)) +#endif +#else /* _MSC_VER */ +#ifndef isinf +static int isinf (double d) { + int expon = 0; + double val = frexp (d, &expon); + if (expon == 1025) { + if (val == 0.5) { + return 1; + } else if (val == -0.5) { + return -1; + } else { + return 0; + } + } else { + return 0; + } +} +#endif +#ifndef isnan +static int isnan (double d) { + int expon = 0; + double val = frexp (d, &expon); + if (expon == 1025) { + if (val == 0.5) { + return 0; + } else if (val == -0.5) { + return 0; + } else { + return 1; + } + } else { + return 0; + } +} +#endif +#endif /* _MSC_VER */ + +#if defined(_MSC_VER) +#define mkdir(p,m) _mkdir(p) +#if _MSC_VER < 1900 // Cannot define this in VS 2015 and above! +#define snprintf _snprintf +#endif +#if _MSC_VER < 1500 +#define vsnprintf(b,c,f,a) _vsnprintf(b,c,f,a) +#endif +#elif defined(__MINGW32__) +#define mkdir(p,m) _mkdir(p) +#endif + +/* Threading API to use should be specified here for compatibility reasons. + This is however best specified on the compiler's command-line. */ +#if defined(LIBXML_THREAD_ENABLED) +#if !defined(HAVE_PTHREAD_H) && !defined(HAVE_WIN32_THREADS) && !defined(_WIN32_WCE) +#define HAVE_WIN32_THREADS +#endif +#endif + +/* Some third-party libraries far from our control assume the following + is defined, which it is not if we don't include windows.h. */ +#if !defined(FALSE) +#define FALSE 0 +#endif +#if !defined(TRUE) +#define TRUE (!(FALSE)) +#endif + +#endif /* __LIBXML_WIN32_CONFIG__ */ + diff --git a/win32/VC10/libxml2-focus.vcxproj b/win32/VC10/libxml2-focus.vcxproj new file mode 100644 index 0000000..914ce25 --- /dev/null +++ b/win32/VC10/libxml2-focus.vcxproj @@ -0,0 +1,184 @@ + + + + + Debug DLL + Win32 + + + Debug + Win32 + + + Release DLL + Win32 + + + Release + Win32 + + + + {7EA50C94-26BD-4893-B773-625CD3D3DEA6} + libxml2 + + + + StaticLibrary + true + Unicode + + + StaticLibrary + true + Unicode + + + StaticLibrary + false + true + Unicode + + + StaticLibrary + Unicode + true + + + + + + + + + + + + + + + + + + + + + + $(ProjectDir)..\..\lib\ + + + $(ProjectDir)..\..\lib\ + + + + + $(ProjectDir)..\..\lib\ + + + $(ProjectDir)..\..\lib\ + + + + Level3 + Disabled + $(ProjectDir);$(ProjectDir)..\..\include;$(ProjectDir)..\..\..\libiconv-1.14\include + 4018; 4996 + /MP %(AdditionalOptions) + false + + + true + + + + + Level3 + Disabled + $(ProjectDir);$(ProjectDir)..\..\include;$(ProjectDir)..\..\..\libiconv-1.14\include + 4018; 4996 + /MP %(AdditionalOptions) + false + + + true + + + + + Level3 + MaxSpeed + true + true + /MP %(AdditionalOptions) + $(ProjectDir);$(ProjectDir)..\..\include;$(ProjectDir)..\..\..\libiconv-1.14\include + 4018; 4996 + + + true + true + true + + + + + /MP %(AdditionalOptions) + $(ProjectDir);$(ProjectDir)..\..\include;$(ProjectDir)..\..\..\libiconv-1.14\include + 4018; 4996 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/win32/VC10/libxml2.sln b/win32/VC10/libxml2.sln new file mode 100644 index 0000000..8485751 --- /dev/null +++ b/win32/VC10/libxml2.sln @@ -0,0 +1,49 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxml2", "libxml2.vcxproj", "{1D6039F6-5078-416F-A3AF-A36EFC7E6A1C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "runsuite", "runsuite.vcxproj", "{D841B4F7-C277-49CB-B379-8B1801C8EE35}" + ProjectSection(ProjectDependencies) = postProject + {BEC03130-A64C-48F8-863C-52DA83CFB3AE} = {BEC03130-A64C-48F8-863C-52DA83CFB3AE} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iconv", "..\..\..\libiconv-1.14.vc10\windows\VC10\iconv.vcxproj", "{BEC03130-A64C-48F8-863C-52DA83CFB3AE}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug DLL|Win32 = Debug DLL|Win32 + Debug|Win32 = Debug|Win32 + Release DLL|Win32 = Release DLL|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1D6039F6-5078-416F-A3AF-A36EFC7E6A1C}.Debug DLL|Win32.ActiveCfg = Debug|Win32 + {1D6039F6-5078-416F-A3AF-A36EFC7E6A1C}.Debug DLL|Win32.Build.0 = Debug|Win32 + {1D6039F6-5078-416F-A3AF-A36EFC7E6A1C}.Debug|Win32.ActiveCfg = Debug|Win32 + {1D6039F6-5078-416F-A3AF-A36EFC7E6A1C}.Debug|Win32.Build.0 = Debug|Win32 + {1D6039F6-5078-416F-A3AF-A36EFC7E6A1C}.Release DLL|Win32.ActiveCfg = Release|Win32 + {1D6039F6-5078-416F-A3AF-A36EFC7E6A1C}.Release DLL|Win32.Build.0 = Release|Win32 + {1D6039F6-5078-416F-A3AF-A36EFC7E6A1C}.Release|Win32.ActiveCfg = Release|Win32 + {1D6039F6-5078-416F-A3AF-A36EFC7E6A1C}.Release|Win32.Build.0 = Release|Win32 + {D841B4F7-C277-49CB-B379-8B1801C8EE35}.Debug DLL|Win32.ActiveCfg = Debug|Win32 + {D841B4F7-C277-49CB-B379-8B1801C8EE35}.Debug DLL|Win32.Build.0 = Debug|Win32 + {D841B4F7-C277-49CB-B379-8B1801C8EE35}.Debug|Win32.ActiveCfg = Debug|Win32 + {D841B4F7-C277-49CB-B379-8B1801C8EE35}.Debug|Win32.Build.0 = Debug|Win32 + {D841B4F7-C277-49CB-B379-8B1801C8EE35}.Release DLL|Win32.ActiveCfg = Release|Win32 + {D841B4F7-C277-49CB-B379-8B1801C8EE35}.Release DLL|Win32.Build.0 = Release|Win32 + {D841B4F7-C277-49CB-B379-8B1801C8EE35}.Release|Win32.ActiveCfg = Release|Win32 + {D841B4F7-C277-49CB-B379-8B1801C8EE35}.Release|Win32.Build.0 = Release|Win32 + {BEC03130-A64C-48F8-863C-52DA83CFB3AE}.Debug DLL|Win32.ActiveCfg = Debug DLL|Win32 + {BEC03130-A64C-48F8-863C-52DA83CFB3AE}.Debug DLL|Win32.Build.0 = Debug DLL|Win32 + {BEC03130-A64C-48F8-863C-52DA83CFB3AE}.Debug|Win32.ActiveCfg = Debug|Win32 + {BEC03130-A64C-48F8-863C-52DA83CFB3AE}.Debug|Win32.Build.0 = Debug|Win32 + {BEC03130-A64C-48F8-863C-52DA83CFB3AE}.Release DLL|Win32.ActiveCfg = Release DLL|Win32 + {BEC03130-A64C-48F8-863C-52DA83CFB3AE}.Release DLL|Win32.Build.0 = Release DLL|Win32 + {BEC03130-A64C-48F8-863C-52DA83CFB3AE}.Release|Win32.ActiveCfg = Release|Win32 + {BEC03130-A64C-48F8-863C-52DA83CFB3AE}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/win32/VC10/libxml2.vcxproj b/win32/VC10/libxml2.vcxproj new file mode 100644 index 0000000..0588fa6 --- /dev/null +++ b/win32/VC10/libxml2.vcxproj @@ -0,0 +1,137 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {1D6039F6-5078-416F-A3AF-A36EFC7E6A1C} + libxml2 + + + + StaticLibrary + true + Unicode + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(ProjectDir)..\..\lib\ + + + build\$(ProjectName)$(Configuration)\ + + + + Level3 + Disabled + $(ProjectDir);$(ProjectDir)..\..\include;$(ProjectDir)..\..\..\libiconv-1.14.vc10\include;%(AdditionalIncludeDirectories) + 4996 + false + true + + + true + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {bec03130-a64c-48f8-863c-52da83cfb3ae} + true + true + false + true + false + + + + + + \ No newline at end of file diff --git a/win32/VC10/libxml2.vcxproj.filters b/win32/VC10/libxml2.vcxproj.filters new file mode 100644 index 0000000..e8e7af3 --- /dev/null +++ b/win32/VC10/libxml2.vcxproj.filters @@ -0,0 +1,171 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {22791c14-7c07-4222-ad58-8c18d3fb10ba} + + + {bfddc99f-05d4-4f06-98d1-346b1be73d6f} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files\windows\VC10 + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/win32/VC10/runsuite.vcxproj b/win32/VC10/runsuite.vcxproj new file mode 100644 index 0000000..83cc991 --- /dev/null +++ b/win32/VC10/runsuite.vcxproj @@ -0,0 +1,85 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {D841B4F7-C277-49CB-B379-8B1801C8EE35} + runsuite + + + + Application + true + Unicode + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(ProjectDir)..\..\lib\ + build\$(ProjectName)$(Configuration)\ + + + + Level3 + Disabled + $(ProjectDir);$(ProjectDir)..\..\include;$(ProjectDir)..\..\..\libiconv-1.14.vc10\include;%(AdditionalIncludeDirectories) + 4996 + _UNICODE;UNICODE;%(PreprocessorDefinitions) + /MP %(AdditionalOptions) + false + + + true + Ws2_32.lib;%(AdditionalDependencies) + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + {bec03130-a64c-48f8-863c-52da83cfb3ae} + + + {1d6039f6-5078-416f-a3af-a36efc7e6a1c} + + + + + + \ No newline at end of file diff --git a/win32/VC10/runsuite.vcxproj.filters b/win32/VC10/runsuite.vcxproj.filters new file mode 100644 index 0000000..d7dce00 --- /dev/null +++ b/win32/VC10/runsuite.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + \ No newline at end of file diff --git a/win32/configure.js b/win32/configure.js new file mode 100644 index 0000000..e8c13ee --- /dev/null +++ b/win32/configure.js @@ -0,0 +1,720 @@ +/* Configure script for libxml, specific for Windows with Scripting Host. + * + * This script will configure the libxml build process and create necessary files. + * Run it with an 'help', or an invalid option and it will tell you what options + * it accepts. + * + * March 2002, Igor Zlatkovic + */ + +/* The source directory, relative to the one where this file resides. */ +var srcDirXml = ".."; +var srcDirUtils = ".."; +/* Base name of what we are building. */ +var baseName = "libxml2"; +/* Configure file which contains the version and the output file where + we can store our build configuration. */ +var configFile = srcDirXml + "\\configure.ac"; +var versionFile = ".\\config.msvc"; +/* Input and output files regarding the libxml features. */ +var optsFileIn = srcDirXml + "\\include\\libxml\\xmlversion.h.in"; +var optsFile = srcDirXml + "\\include\\libxml\\xmlversion.h"; +/* Version strings for the binary distribution. Will be filled later + in the code. */ +var verMajor; +var verMinor; +var verMicro; +var verMicroSuffix; +var verCvs; +var useCvsVer = true; +/* Libxml features. */ +var withTrio = false; +var withThreads = "native"; +var withFtp = true; +var withHttp = true; +var withHtml = true; +var withC14n = true; +var withCatalog = true; +var withDocb = true; +var withXpath = true; +var withXptr = true; +var withXinclude = true; +var withIconv = true; +var withIcu = false; +var withIso8859x = false; +var withZlib = false; +var withLzma = false; +var withDebug = true; +var withMemDebug = false; +var withRunDebug = false; +var withSchemas = true; +var withSchematron = true; +var withRegExps = true; +var withModules = true; +var withTree = true; +var withReader = true; +var withWriter = true; +var withWalker = true; +var withPattern = true; +var withPush = true; +var withValid = true; +var withSax1 = true; +var withLegacy = true; +var withOutput = true; +var withPython = false; +/* Win32 build options. */ +var dirSep = "\\"; +var compiler = "msvc"; +var cruntime = "/MD"; +var dynruntime = true; +var vcmanifest = false; +var buildDebug = 0; +var buildStatic = 0; +var buildPrefix = "."; +var buildBinPrefix = ""; +var buildIncPrefix = ""; +var buildLibPrefix = ""; +var buildSoPrefix = ""; +var buildInclude = "."; +var buildLib = "."; +/* Local stuff */ +var error = 0; + +/* Helper function, transforms the option variable into the 'Enabled' + or 'Disabled' string. */ +function boolToStr(opt) +{ + if (opt == false) + return "no"; + else if (opt == true) + return "yes"; + error = 1; + return "*** undefined ***"; +} + +/* Helper function, transforms the argument string into a boolean + value. */ +function strToBool(opt) +{ + if (opt == 0 || opt == "no") + return false; + else if (opt == 1 || opt == "yes") + return true; + error = 1; + return false; +} + +/* Displays the details about how to use this script. */ +function usage() +{ + var txt; + txt = "Usage:\n"; + txt += " cscript " + WScript.ScriptName + " \n"; + txt += " cscript " + WScript.ScriptName + " help\n\n"; + txt += "Options can be specified in the form